"use strict";
(self["webpackChunkelementor_pro_notes"] = self["webpackChunkelementor_pro_notes"] || []).push([["notes-app"],{
/***/ "../assets/js/app/app.js":
/*!*******************************!*\
!*** ../assets/js/app/app.js ***!
\*******************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ App)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _components_marks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/marks */ "../assets/js/app/components/marks.js");
/* harmony import */ var _components_panel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/panel */ "../assets/js/app/components/panel.js");
/* harmony import */ var _query_client__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./query-client */ "../assets/js/app/query-client.js");
/* harmony import */ var _hooks_use_notes_config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./hooks/use-notes-config */ "../assets/js/app/hooks/use-notes-config.js");
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/es/index.js");
/* harmony import */ var react_query__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-query */ "../../../node_modules/react-query/es/index.js");
/* harmony import */ var react_query_devtools__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-query/devtools */ "../../../node_modules/react-query/devtools/index.js");
/* harmony import */ var _context_elements__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./context/elements */ "../assets/js/app/context/elements.js");
/* harmony import */ var _radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @radix-ui/react-toast */ "../../../node_modules/@radix-ui/react-toast/dist/index.module.js");
/* harmony import */ var _components_ui_toast_toast_viewport__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/ui/toast/toast-viewport */ "../assets/js/app/components/ui/toast/toast-viewport.js");
const store = window.top.$e.store.getReduxStore();
function App() {
const {
is_debug: isDebug
} = (0,_hooks_use_notes_config__WEBPACK_IMPORTED_MODULE_4__["default"])(),
Wrapper = isDebug ? (react__WEBPACK_IMPORTED_MODULE_0___default().StrictMode) : (react__WEBPACK_IMPORTED_MODULE_0___default().Fragment);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Wrapper, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("link", {
rel: "stylesheet",
href: "https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_redux__WEBPACK_IMPORTED_MODULE_5__.Provider, {
store: store
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_context_elements__WEBPACK_IMPORTED_MODULE_8__.ElementsProvider, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_10__.ToastProvider, {
duration: Infinity
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_components_ui_toast_toast_viewport__WEBPACK_IMPORTED_MODULE_9__["default"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_query__WEBPACK_IMPORTED_MODULE_6__.QueryClientProvider, {
client: _query_client__WEBPACK_IMPORTED_MODULE_3__["default"]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_components_marks__WEBPACK_IMPORTED_MODULE_1__["default"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_components_panel__WEBPACK_IMPORTED_MODULE_2__["default"], null), isDebug && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_query_devtools__WEBPACK_IMPORTED_MODULE_7__.ReactQueryDevtools, {
initialIsOpen: false
}))))));
}
/***/ }),
/***/ "../assets/js/app/components/marks-edit-note-form.js":
/*!***********************************************************!*\
!*** ../assets/js/app/components/marks-edit-note-form.js ***!
\***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ MarksEditNoteForm)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _ui_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ui/button */ "../assets/js/app/components/ui/button.js");
/* harmony import */ var _hooks_use_notes_mutations__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../hooks/use-notes-mutations */ "../assets/js/app/hooks/use-notes-mutations.js");
/* harmony import */ var _marks_note_textarea__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./marks-note-textarea */ "../assets/js/app/components/marks-note-textarea.js");
/* harmony import */ var _shared_note_form__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./shared/note-form */ "../assets/js/app/components/shared/note-form.js");
/* harmony import */ var _models_note__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../models/note */ "../assets/js/app/models/note.js");
/* harmony import */ var _hooks_use_forms_in_writing_mode__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../hooks/use-forms-in-writing-mode */ "../assets/js/app/hooks/use-forms-in-writing-mode.js");
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils */ "../assets/js/app/utils.js");
/* harmony import */ var _hooks_use_reverse_html_entities__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../hooks/use-reverse-html-entities */ "../assets/js/app/hooks/use-reverse-html-entities.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
function MarksEditNoteForm(props) {
const formId = `e-notes-edit-${props.note.id}`;
const noteContent = (0,_hooks_use_reverse_html_entities__WEBPACK_IMPORTED_MODULE_8__.useReverseHtmlEntities)(props.note.content);
const updateMutation = (0,_hooks_use_notes_mutations__WEBPACK_IMPORTED_MODULE_2__.useUpdateMutation)(),
{
isInWritingMode
} = (0,_hooks_use_forms_in_writing_mode__WEBPACK_IMPORTED_MODULE_6__["default"])();
const onSubmit = async (e, {
content,
form
}) => {
window.top.$e.run('notes/edit', {
noteId: props.note.id
});
await updateMutation.mutateAsync({
id: props.note.id,
values: {
content
}
});
form.reset();
props.onClose();
};
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_shared_note_form__WEBPACK_IMPORTED_MODULE_4__["default"], {
onSubmit: onSubmit,
id: formId
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_marks_note_textarea__WEBPACK_IMPORTED_MODULE_3__["default"], {
disabled: updateMutation.isLoading,
defaultValue: noteContent,
onMetaAndEnterKeyDown: e => (0,_utils__WEBPACK_IMPORTED_MODULE_7__.submitForm)(e.currentTarget.form),
isReply: props.note.isReply()
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_shared_note_form__WEBPACK_IMPORTED_MODULE_4__["default"].ButtonsContainer, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_button__WEBPACK_IMPORTED_MODULE_1__["default"], {
disabled: updateMutation.isLoading || !isInWritingMode(formId),
type: "submit"
}, __('Save', 'elementor-pro')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_button__WEBPACK_IMPORTED_MODULE_1__["default"], {
disabled: updateMutation.isLoading,
variant: 'outlined',
type: "reset",
onClick: e => {
window.top.$e.run('notes/cancel-edit', {
noteId: props.note.id
});
e.target.form.reset();
props.onClose(e);
}
}, __('Cancel', 'elementor-pro'))));
}
MarksEditNoteForm.propTypes = {
note: PropTypes.instanceOf(_models_note__WEBPACK_IMPORTED_MODULE_5__["default"]).isRequired,
onClose: PropTypes.func.isRequired
};
/***/ }),
/***/ "../assets/js/app/components/marks-element-portal.js":
/*!***********************************************************!*\
!*** ../assets/js/app/components/marks-element-portal.js ***!
\***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ MarksElementPortal)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _radix_ui_react_portal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-portal */ "../../../node_modules/@radix-ui/react-portal/dist/index.module.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _context_elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../context/elements */ "../assets/js/app/context/elements.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const StyledPortal = (0,styled_components__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_radix_ui_react_portal__WEBPACK_IMPORTED_MODULE_3__.Portal)).withConfig({
shouldForwardProp: prop => 'position' !== prop
})`
all: revert;
position: absolute;
z-index: 98; // One under sticky elements & wp-admin-bar.
top: ${({
position
}) => position?.y || 0}%;
left: ${({
position
}) => position?.x || 0}%;
transform: translate( -25%, -100% );
`;
function MarksElementPortal(props) {
const {
elements
} = (0,_context_elements__WEBPACK_IMPORTED_MODULE_1__.useElements)();
const ref = {
current: elements.get(props.elementId)
};
// Don't render marker of a non-existing element.
if (!ref.current) {
return null;
}
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(StyledPortal, {
containerRef: ref,
"data-e-notes-portal": true,
position: props.position
}, props.children);
}
MarksElementPortal.propTypes = {
elementId: PropTypes.string.isRequired,
position: PropTypes.shape({
x: PropTypes.number.isRequired,
y: PropTypes.number.isRequired
}),
children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)])
};
/***/ }),
/***/ "../assets/js/app/components/marks-new-thread-form.js":
/*!************************************************************!*\
!*** ../assets/js/app/components/marks-new-thread-form.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ MarksNewThreadForm)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _ui_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ui/button */ "../assets/js/app/components/ui/button.js");
/* harmony import */ var _hooks_use_notes_mutations__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../hooks/use-notes-mutations */ "../assets/js/app/hooks/use-notes-mutations.js");
/* harmony import */ var _hooks_use_active_thread__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../hooks/use-active-thread */ "../assets/js/app/hooks/use-active-thread.js");
/* harmony import */ var _marks_note_textarea__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./marks-note-textarea */ "../assets/js/app/components/marks-note-textarea.js");
/* harmony import */ var _shared_note_form__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./shared/note-form */ "../assets/js/app/components/shared/note-form.js");
/* harmony import */ var _hooks_use_forms_in_writing_mode__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../hooks/use-forms-in-writing-mode */ "../assets/js/app/hooks/use-forms-in-writing-mode.js");
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils */ "../assets/js/app/utils.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const formId = 'e-notes-new-thread';
function MarksNewThreadForm(props) {
const {
clearActive,
setActive
} = (0,_hooks_use_active_thread__WEBPACK_IMPORTED_MODULE_3__["default"])(),
createMutation = (0,_hooks_use_notes_mutations__WEBPACK_IMPORTED_MODULE_2__.useCreateMutation)(),
{
isInWritingMode
} = (0,_hooks_use_forms_in_writing_mode__WEBPACK_IMPORTED_MODULE_6__["default"])();
const onSubmit = async (e, {
content,
form
}) => {
window.top.$e.run('notes/create');
const createdThread = await createMutation.mutateAsync({
elementId: props.elementId,
parentId: 0,
content,
position: props.position
});
form.reset();
setActive({
type: _hooks_use_active_thread__WEBPACK_IMPORTED_MODULE_3__.THREAD,
data: {
noteId: createdThread.id
}
});
};
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_shared_note_form__WEBPACK_IMPORTED_MODULE_5__["default"], {
onSubmit: onSubmit,
id: formId
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_marks_note_textarea__WEBPACK_IMPORTED_MODULE_4__["default"], {
disabled: createMutation.isLoading,
onMetaAndEnterKeyDown: e => (0,_utils__WEBPACK_IMPORTED_MODULE_7__.submitForm)(e.currentTarget.form)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_shared_note_form__WEBPACK_IMPORTED_MODULE_5__["default"].ButtonsContainer, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_button__WEBPACK_IMPORTED_MODULE_1__["default"], {
disabled: createMutation.isLoading || !isInWritingMode(formId),
type: "submit"
}, __('Leave a Note', 'elementor-pro')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_button__WEBPACK_IMPORTED_MODULE_1__["default"], {
disabled: createMutation.isLoading,
variant: 'outlined',
type: "reset",
onClick: e => {
window.top.$e.run('notes/cancel-create');
e.target.form.reset();
clearActive();
}
}, __('Cancel', 'elementor-pro'))));
}
MarksNewThreadForm.propTypes = {
elementId: PropTypes.string.isRequired,
position: PropTypes.shape({
x: PropTypes.number.isRequired,
y: PropTypes.number.isRequired
})
};
/***/ }),
/***/ "../assets/js/app/components/marks-new-thread.js":
/*!*******************************************************!*\
!*** ../assets/js/app/components/marks-new-thread.js ***!
\*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ MarksNewThread)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _ui_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ui/button */ "../assets/js/app/components/ui/button.js");
/* harmony import */ var _ui_marker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ui/marker */ "../assets/js/app/components/ui/marker.js");
/* harmony import */ var _ui_popover_popover__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ui/popover/popover */ "../assets/js/app/components/ui/popover/popover.js");
/* harmony import */ var _marks_new_thread_form__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./marks-new-thread-form */ "../assets/js/app/components/marks-new-thread-form.js");
/* harmony import */ var _hooks_use_scroll_into_view__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../hooks/use-scroll-into-view */ "../assets/js/app/hooks/use-scroll-into-view.js");
/* harmony import */ var _ui_div_base__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ui/div-base */ "../assets/js/app/components/ui/div-base.js");
/* harmony import */ var _shared_note_popover_content__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./shared/note-popover-content */ "../assets/js/app/components/shared/note-popover-content.js");
/* harmony import */ var _marks_element_portal__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./marks-element-portal */ "../assets/js/app/components/marks-element-portal.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const Container = (0,styled_components__WEBPACK_IMPORTED_MODULE_9__["default"])((0,_ui_div_base__WEBPACK_IMPORTED_MODULE_6__["default"]))`
display: flex !important;
flex-direction: column !important;
gap: 28px !important;
padding: 20px 16px !important;
width: 360px !important;
border-radius: 4px !important;
`;
function MarksNewThread(props) {
const ref = (0,_hooks_use_scroll_into_view__WEBPACK_IMPORTED_MODULE_5__["default"])();
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_marks_element_portal__WEBPACK_IMPORTED_MODULE_8__["default"], {
elementId: props.elementId,
position: props.position
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_popover_popover__WEBPACK_IMPORTED_MODULE_3__["default"], {
defaultOpen: true,
onOpenChange: props.onOpenChange
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_popover_popover__WEBPACK_IMPORTED_MODULE_3__["default"].Trigger, {
asChild: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_button__WEBPACK_IMPORTED_MODULE_1__["default"], {
variant: 'transparent',
ref: ref
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_marker__WEBPACK_IMPORTED_MODULE_2__["default"], {
variant: "active",
size: "md"
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_shared_note_popover_content__WEBPACK_IMPORTED_MODULE_7__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Container, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_marks_new_thread_form__WEBPACK_IMPORTED_MODULE_4__["default"], {
elementId: props.elementId,
position: props.position
})))));
}
MarksNewThread.propTypes = {
elementId: PropTypes.string.isRequired,
position: PropTypes.shape({
x: PropTypes.number.isRequired,
y: PropTypes.number.isRequired
}),
onOpenChange: PropTypes.func.isRequired
};
/***/ }),
/***/ "../assets/js/app/components/marks-note-actions-delete-dialog.js":
/*!***********************************************************************!*\
!*** ../assets/js/app/components/marks-note-actions-delete-dialog.js ***!
\***********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ MarksNoteActionsDeleteDialog)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _ui_alert_dialog_alert_dialog__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ui/alert-dialog/alert-dialog */ "../assets/js/app/components/ui/alert-dialog/alert-dialog.js");
/* harmony import */ var _models_note__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../models/note */ "../assets/js/app/models/note.js");
/* harmony import */ var _hooks_use_watch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../hooks/use-watch */ "../assets/js/app/hooks/use-watch.js");
/* harmony import */ var _hooks_use_notes_mutations__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../hooks/use-notes-mutations */ "../assets/js/app/hooks/use-notes-mutations.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
function MarksNoteActionsDeleteDialog(props) {
const deleteMutation = (0,_hooks_use_notes_mutations__WEBPACK_IMPORTED_MODULE_4__.useDeleteMutation)();
(0,_hooks_use_watch__WEBPACK_IMPORTED_MODULE_3__["default"])(() => {
if (props.onLoadingChange) {
props.onLoadingChange(deleteMutation.isLoading);
}
}, [deleteMutation.isLoading]);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_alert_dialog_alert_dialog__WEBPACK_IMPORTED_MODULE_1__["default"], {
open: props.isOpen,
onOpenChange: props.onOpenChange
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_alert_dialog_alert_dialog__WEBPACK_IMPORTED_MODULE_1__["default"].Content, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_alert_dialog_alert_dialog__WEBPACK_IMPORTED_MODULE_1__["default"].DescriptionContainer, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_alert_dialog_alert_dialog__WEBPACK_IMPORTED_MODULE_1__["default"].Title, null, props.note.isReply() ? __('Delete this reply?', 'elementor-pro') : __('Delete this note?', 'elementor-pro')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_alert_dialog_alert_dialog__WEBPACK_IMPORTED_MODULE_1__["default"].Description, null, props.note.isReply() ? __('Deleted replies can\'t be recovered.', 'elementor-pro') : __('Deleted notes can\'t be recovered.', 'elementor-pro'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_alert_dialog_alert_dialog__WEBPACK_IMPORTED_MODULE_1__["default"].ActionsContainer, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_alert_dialog_alert_dialog__WEBPACK_IMPORTED_MODULE_1__["default"].Cancel, null, __('Cancel', 'elementor-pro')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_alert_dialog_alert_dialog__WEBPACK_IMPORTED_MODULE_1__["default"].Action, {
onClick: () => {
window.top.$e.run('notes/delete', {
noteId: props.note.id
});
deleteMutation.mutateAsync({
id: props.note.id,
parentId: props.note.parentId,
force: true
});
}
}, __('Delete', 'elementor-pro')))));
}
MarksNoteActionsDeleteDialog.propTypes = {
isOpen: PropTypes.bool.isRequired,
onOpenChange: PropTypes.func.isRequired,
note: PropTypes.instanceOf(_models_note__WEBPACK_IMPORTED_MODULE_2__["default"]),
onLoadingChange: PropTypes.func
};
/***/ }),
/***/ "../assets/js/app/components/marks-note-actions-read.js":
/*!**************************************************************!*\
!*** ../assets/js/app/components/marks-note-actions-read.js ***!
\**************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ MarksNoteActionsRead)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _ui_dropdown_dropdown__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ui/dropdown/dropdown */ "../assets/js/app/components/ui/dropdown/dropdown.js");
/* harmony import */ var _hooks_use_notes_mutations__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../hooks/use-notes-mutations */ "../assets/js/app/hooks/use-notes-mutations.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
function MarksNoteActionsRead(props) {
const alreadyRead = props.note.isRead,
readMutation = (0,_hooks_use_notes_mutations__WEBPACK_IMPORTED_MODULE_2__.useReadMutation)();
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_dropdown_dropdown__WEBPACK_IMPORTED_MODULE_1__["default"].Item, {
icon: "eicon-envelope",
disabled: readMutation.isLoading,
onSelect: () => readMutation.mutateAsync({
ids: [props.note.id, props.note.parentId],
isRead: !alreadyRead
})
}, alreadyRead ? __('Mark as unread', 'elementor-pro') : __('Mark as read', 'elementor-pro'));
}
MarksNoteActionsRead.propTypes = {
note: PropTypes.shape({
id: PropTypes.number,
parentId: PropTypes.number,
isRead: PropTypes.bool
}).isRequired
};
/***/ }),
/***/ "../assets/js/app/components/marks-note-actions-resolve.js":
/*!*****************************************************************!*\
!*** ../assets/js/app/components/marks-note-actions-resolve.js ***!
\*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ MarksNoteActionsResolve)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _ui_icon_button_icon_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ui/icon-button/icon-button */ "../assets/js/app/components/ui/icon-button/icon-button.js");
/* harmony import */ var _components_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../components/ui/tooltip/tooltip */ "../assets/js/app/components/ui/tooltip/tooltip.js");
/* harmony import */ var _hooks_use_notes_mutations__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../hooks/use-notes-mutations */ "../assets/js/app/hooks/use-notes-mutations.js");
/* harmony import */ var _hooks_use_watch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../hooks/use-watch */ "../assets/js/app/hooks/use-watch.js");
/* harmony import */ var _hooks_use_active_thread__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../hooks/use-active-thread */ "../assets/js/app/hooks/use-active-thread.js");
/* harmony import */ var _models_note__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../models/note */ "../assets/js/app/models/note.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
function MarksNoteActionsResolve(props) {
const alreadyResolved = props.note.isResolved,
resolveMutation = (0,_hooks_use_notes_mutations__WEBPACK_IMPORTED_MODULE_3__.useResolveMutation)(),
{
clearActive
} = (0,_hooks_use_active_thread__WEBPACK_IMPORTED_MODULE_5__["default"])();
(0,_hooks_use_watch__WEBPACK_IMPORTED_MODULE_4__["default"])(() => {
if (props.onLoadingChange) {
props.onLoadingChange(resolveMutation.isLoading);
}
}, [resolveMutation.isLoading]);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_components_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_2__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_components_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_2__["default"].Trigger, {
asChild: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_icon_button_icon_button__WEBPACK_IMPORTED_MODULE_1__["default"], {
name: alreadyResolved ? 'eicon-check-circle-o' : 'eicon-check',
disabled: resolveMutation.isLoading,
onClick: async () => {
const isResolved = !alreadyResolved;
if (isResolved) {
window.top.$e.run('notes/resolve', {
noteId: props.note.id
});
} else {
window.top.$e.run('notes/re-open', {
noteId: props.note.id
});
}
await resolveMutation.mutateAsync({
id: props.note.id,
isResolved
});
if (isResolved) {
clearActive(props.note.id);
}
}
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_components_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_2__["default"].Content, null, alreadyResolved ? __('Re-open', 'elementor-pro') : __('Resolve', 'elementor-pro'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_components_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_2__["default"].Arrow, null)));
}
MarksNoteActionsResolve.propTypes = {
note: PropTypes.instanceOf(_models_note__WEBPACK_IMPORTED_MODULE_6__["default"]).isRequired,
onLoadingChange: PropTypes.func
};
/***/ }),
/***/ "../assets/js/app/components/marks-note-actions-show-readers.js":
/*!**********************************************************************!*\
!*** ../assets/js/app/components/marks-note-actions-show-readers.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ MarksNoteActionsShowReaders)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _components_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../components/ui/tooltip/tooltip */ "../assets/js/app/components/ui/tooltip/tooltip.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _ui_icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ui/icon */ "../assets/js/app/components/ui/icon.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const TooltipContent = (0,styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])(_components_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_1__["default"].Content)`
max-width: 200px;
`;
const Icon = (0,styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_ui_icon__WEBPACK_IMPORTED_MODULE_2__["default"]))`
padding: 4px !important;
color: #a4afb7 !important;
transition: 0.2s all !important;
display: grid !important;
place-items: center !important;
font-size: 18px !important;
border-radius: 100% !important;
&:hover, &:focus {
color: #6d7882;
outline: none;
background: #f1f3f5;
}
`;
function MarksNoteActionsShowReaders(props) {
if (0 === props.readers.length) {
return null;
}
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_components_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_1__["default"], {
delayDuration: 400
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_components_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_1__["default"].Trigger, {
asChild: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Icon, {
className: "eicon-preview-medium",
tabIndex: 0
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(TooltipContent, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("strong", null, __('Seen by', 'elementor-pro') + ': '), props.readers.map(reader => reader.name).join(', '), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_components_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_1__["default"].Arrow, null)));
}
MarksNoteActionsShowReaders.propTypes = {
readers: PropTypes.arrayOf(PropTypes.shape({
name: PropTypes.string
})).isRequired
};
/***/ }),
/***/ "../assets/js/app/components/marks-note-actions.js":
/*!*********************************************************!*\
!*** ../assets/js/app/components/marks-note-actions.js ***!
\*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ MarksNoteActions)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _ui_dropdown_dropdown__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ui/dropdown/dropdown */ "../assets/js/app/components/ui/dropdown/dropdown.js");
/* harmony import */ var _ui_icon_button_icon_button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ui/icon-button/icon-button */ "../assets/js/app/components/ui/icon-button/icon-button.js");
/* harmony import */ var _marks_note_actions_delete_dialog__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./marks-note-actions-delete-dialog */ "../assets/js/app/components/marks-note-actions-delete-dialog.js");
/* harmony import */ var _marks_note_actions_read__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./marks-note-actions-read */ "../assets/js/app/components/marks-note-actions-read.js");
/* harmony import */ var _marks_note_actions_resolve__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./marks-note-actions-resolve */ "../assets/js/app/components/marks-note-actions-resolve.js");
/* harmony import */ var _marks_note_actions_show_readers__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./marks-note-actions-show-readers */ "../assets/js/app/components/marks-note-actions-show-readers.js");
/* harmony import */ var _hooks_use_notes_config__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../hooks/use-notes-config */ "../assets/js/app/hooks/use-notes-config.js");
/* harmony import */ var _hooks_use_user_can__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../hooks/use-user-can */ "../assets/js/app/hooks/use-user-can.js");
/* harmony import */ var _services_copy_to_clipboard__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../services/copy-to-clipboard */ "../assets/js/services/copy-to-clipboard/index.js");
/* harmony import */ var _marks_thread__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./marks-thread */ "../assets/js/app/components/marks-thread.js");
/* harmony import */ var _models_note__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../models/note */ "../assets/js/app/models/note.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
function MarksNoteActions(props) {
const {
direction
} = (0,_hooks_use_notes_config__WEBPACK_IMPORTED_MODULE_7__["default"])(),
{
setIsDisabled
} = (0,_marks_thread__WEBPACK_IMPORTED_MODULE_10__.useMarksThreadContext)(),
[isDeleteDialogOpen, setIsDeleteDialogOpen] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
canDeleteNote = (0,_hooks_use_user_can__WEBPACK_IMPORTED_MODULE_8__["default"])(_hooks_use_user_can__WEBPACK_IMPORTED_MODULE_8__.CAPABILITY_DELETE, props.note),
canEditNote = (0,_hooks_use_user_can__WEBPACK_IMPORTED_MODULE_8__["default"])(_hooks_use_user_can__WEBPACK_IMPORTED_MODULE_8__.CAPABILITY_EDIT, props.note),
canResolveNote = props.note.isThread() && canEditNote,
shouldRenderDropdown = canEditNote || canDeleteNote || props.note.isThread();
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
return () => setIsDisabled(false);
}, []);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, canResolveNote && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_marks_note_actions_resolve__WEBPACK_IMPORTED_MODULE_5__["default"], {
note: props.note,
onLoadingChange: isLoading => setIsDisabled(isLoading)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_marks_note_actions_show_readers__WEBPACK_IMPORTED_MODULE_6__["default"], {
readers: props.note.readers
}), shouldRenderDropdown && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_dropdown_dropdown__WEBPACK_IMPORTED_MODULE_1__["default"], {
modal: false,
dir: direction,
onOpenChange: isOpen => {
if (isOpen) {
window.top.$e.run('notes/open-note-actions');
} else {
window.top.$e.run('notes/close-note-actions');
}
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_dropdown_dropdown__WEBPACK_IMPORTED_MODULE_1__["default"].Trigger, {
asChild: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_icon_button_icon_button__WEBPACK_IMPORTED_MODULE_2__["default"], {
name: "eicon-ellipsis-h"
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_dropdown_dropdown__WEBPACK_IMPORTED_MODULE_1__["default"].Content, {
align: "end"
}, props.note.isThread() && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_marks_note_actions_read__WEBPACK_IMPORTED_MODULE_4__["default"], {
note: props.note
}), canEditNote && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_dropdown_dropdown__WEBPACK_IMPORTED_MODULE_1__["default"].Item, {
onSelect: () => props.setIsEditMode(true),
icon: "eicon-edit"
}, __('Edit', 'elementor-pro')), props.note.isThread() && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_dropdown_dropdown__WEBPACK_IMPORTED_MODULE_1__["default"].Item, {
onSelect: () => {
window.top.$e.run('notes/copy-link', {
id: props.note.id
});
},
icon: "eicon-copy",
disabled: !(0,_services_copy_to_clipboard__WEBPACK_IMPORTED_MODULE_9__.canCopyToClipboard)(),
tooltip: !(0,_services_copy_to_clipboard__WEBPACK_IMPORTED_MODULE_9__.canCopyToClipboard)() && __('Supported in "https" sites only', 'elementor-pro')
}, __('Copy Link', 'elementor-pro')), canDeleteNote && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_dropdown_dropdown__WEBPACK_IMPORTED_MODULE_1__["default"].Separator, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_dropdown_dropdown__WEBPACK_IMPORTED_MODULE_1__["default"].Item, {
onSelect: () => setIsDeleteDialogOpen(true),
icon: "eicon-trash",
variant: "danger"
}, __('Delete', 'elementor-pro'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_dropdown_dropdown__WEBPACK_IMPORTED_MODULE_1__["default"].Arrow, null))), canDeleteNote && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_marks_note_actions_delete_dialog__WEBPACK_IMPORTED_MODULE_3__["default"], {
note: props.note,
isOpen: isDeleteDialogOpen,
onOpenChange: setIsDeleteDialogOpen,
onLoadingChange: isLoading => setIsDisabled(isLoading)
}));
}
MarksNoteActions.propTypes = {
note: PropTypes.instanceOf(_models_note__WEBPACK_IMPORTED_MODULE_11__["default"]).isRequired,
setIsEditMode: PropTypes.func.isRequired
};
/***/ }),
/***/ "../assets/js/app/components/marks-note-textarea.js":
/*!**********************************************************!*\
!*** ../assets/js/app/components/marks-note-textarea.js ***!
\**********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ MarksNoteTextarea)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _ui_textarea__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ui/textarea */ "../assets/js/app/components/ui/textarea.js");
/* harmony import */ var _hooks_use_auto_focus__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../hooks/use-auto-focus */ "../assets/js/app/hooks/use-auto-focus.js");
/* harmony import */ var _mentions_mentions_user_list__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mentions/mentions-user-list */ "../assets/js/app/components/mentions/mentions-user-list.js");
/* harmony import */ var _ui_typeahead_typeahead__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ui/typeahead/typeahead */ "../assets/js/app/components/ui/typeahead/typeahead.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var react_query__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-query */ "../../../node_modules/react-query/es/index.js");
/* harmony import */ var _query_client__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../query-client */ "../assets/js/app/query-client.js");
/* harmony import */ var _ui_div_base__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ui/div-base */ "../assets/js/app/components/ui/div-base.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const Container = (0,styled_components__WEBPACK_IMPORTED_MODULE_8__["default"])((0,_ui_div_base__WEBPACK_IMPORTED_MODULE_7__["default"]))`
position: relative;
`;
function MarksNoteTextarea(props) {
const ref = (0,_hooks_use_auto_focus__WEBPACK_IMPORTED_MODULE_2__["default"])(props.defaultValue),
placeholder = props.isReply ? __('Type your reply. Use @ to mention...', 'elementor-pro') : __('Type a note. Use @ to mention...', 'elementor-pro');
const fragment = ({
search
}) => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_query__WEBPACK_IMPORTED_MODULE_5__.QueryClientProvider, {
client: _query_client__WEBPACK_IMPORTED_MODULE_6__["default"]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mentions_mentions_user_list__WEBPACK_IMPORTED_MODULE_3__["default"], {
search: search
}));
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Container, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_typeahead_typeahead__WEBPACK_IMPORTED_MODULE_4__["default"], {
debounce: 250,
fragment: fragment,
onSelect: () => window.top.$e.run('notes/choose-mention')
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_textarea__WEBPACK_IMPORTED_MODULE_1__["default"], {
name: "content",
placeholder: placeholder,
onKeyDown: e => {
if (props.onMetaAndEnterKeyDown && (e.metaKey || e.ctrlKey) && 'enter' === e.key.toLowerCase()) {
props.onMetaAndEnterKeyDown(e);
}
},
disabled: props.disabled,
ref: ref,
defaultValue: props.defaultValue,
onChange: props.onChange,
rows: 1,
maxRows: 6,
autoSize: true
})));
}
MarksNoteTextarea.propTypes = {
name: PropTypes.string,
disabled: PropTypes.bool,
onMetaAndEnterKeyDown: PropTypes.func,
defaultValue: PropTypes.string,
onChange: PropTypes.func,
isReply: PropTypes.bool.isRequired
};
MarksNoteTextarea.defaultProps = {
isReply: false
};
/***/ }),
/***/ "../assets/js/app/components/marks-note-view-external-indicator.js":
/*!*************************************************************************!*\
!*** ../assets/js/app/components/marks-note-view-external-indicator.js ***!
\*************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ MarksNoteViewExternalIndicator)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _hooks_use_notes_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hooks/use-notes-config */ "../assets/js/app/hooks/use-notes-config.js");
/* harmony import */ var _models_note__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../models/note */ "../assets/js/app/models/note.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const Text = styled_components__WEBPACK_IMPORTED_MODULE_3__["default"].p`
all: revert;
color: #a4afb6 !important;
margin: 0 !important;
padding: 0 !important;
font-family: Roboto, sans-serif !important;
font-size: 10px !important;
font-weight: normal !important;
text-transform: none !important;
font-style: normal !important;
text-decoration: none !important;
line-height: 1.5 !important;
letter-spacing: normal !important;
word-spacing: normal !important;
`;
const Strong = styled_components__WEBPACK_IMPORTED_MODULE_3__["default"].strong`
font-weight: 500;
`;
// Responsible for showing an indicator if the note was created in another route or post.
function MarksNoteViewExternalIndicator(props) {
const {
route: currentRoute
} = (0,_hooks_use_notes_config__WEBPACK_IMPORTED_MODULE_1__["default"])(),
isSameDocument = props.note.document?.id === currentRoute.post_id,
isSameRoute = props.note.routeUrl === currentRoute.url;
// If the document is not loaded on the note or the route and the document are the same the current route
// and current document, this component should not render anything.
if (!props.note.document || isSameDocument && isSameRoute) {
return null;
}
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Text, null, __('Noted on:', 'elementor-pro'), ' ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Strong, null, isSameDocument ? props.note.routeTitle : props.note.document.typeTitle));
}
MarksNoteViewExternalIndicator.propTypes = {
note: PropTypes.instanceOf(_models_note__WEBPACK_IMPORTED_MODULE_2__["default"]).isRequired
};
/***/ }),
/***/ "../assets/js/app/components/marks-note-view.js":
/*!******************************************************!*\
!*** ../assets/js/app/components/marks-note-view.js ***!
\******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ MarksNoteView)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _ui_avatar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ui/avatar */ "../assets/js/app/components/ui/avatar.js");
/* harmony import */ var _marks_note_actions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./marks-note-actions */ "../assets/js/app/components/marks-note-actions.js");
/* harmony import */ var _marks_edit_note_form__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./marks-edit-note-form */ "../assets/js/app/components/marks-edit-note-form.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _models_note__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../models/note */ "../assets/js/app/models/note.js");
/* harmony import */ var _shared_note_content__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./shared/note-content */ "../assets/js/app/components/shared/note-content/index.js");
/* harmony import */ var _marks_note_view_external_indicator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./marks-note-view-external-indicator */ "../assets/js/app/components/marks-note-view-external-indicator.js");
/* harmony import */ var _ui_div_base__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ui/div-base */ "../assets/js/app/components/ui/div-base.js");
/* harmony import */ var _hooks_use_reverse_html_entities__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../hooks/use-reverse-html-entities */ "../assets/js/app/hooks/use-reverse-html-entities.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const sizesMap = {
sm: {
text: 9
},
md: {
text: 12
}
};
const Container = (0,styled_components__WEBPACK_IMPORTED_MODULE_9__["default"])((0,_ui_div_base__WEBPACK_IMPORTED_MODULE_7__["default"]))`
--color-gray-500: #a4afb6;
--color-gray-600: #6d7882;
display: flex !important;
align-items: start !important;
gap: 12px !important;
&, & *:not( [class*="eicon"] ) {
font-family: Roboto, sans-serif !important;
}
`;
const Body = (0,styled_components__WEBPACK_IMPORTED_MODULE_9__["default"])((0,_ui_div_base__WEBPACK_IMPORTED_MODULE_7__["default"]))`
display: flex !important;
flex-direction: column !important;
gap: 12px !important;
flex-grow: 1 !important;
line-height: 1 !important;
`;
const Header = (0,styled_components__WEBPACK_IMPORTED_MODULE_9__["default"])((0,_ui_div_base__WEBPACK_IMPORTED_MODULE_7__["default"]))`
display: flex !important;
gap: 10px !important;
padding-top: 4px !important;
line-height: 1 !important;
`;
const HeaderMeta = (0,styled_components__WEBPACK_IMPORTED_MODULE_9__["default"])((0,_ui_div_base__WEBPACK_IMPORTED_MODULE_7__["default"]))`
display: flex !important;
flex-direction: column !important;
gap: 5px !important;
flex-grow: 1 !important;
line-height: 1 !important;
`;
const HeaderActions = (0,styled_components__WEBPACK_IMPORTED_MODULE_9__["default"])((0,_ui_div_base__WEBPACK_IMPORTED_MODULE_7__["default"]))`
display: flex !important;
gap: 5px !important;
flex-shrink: 0 !important;
align-items: center !important;
line-height: 1 !important;
`;
const Text = styled_components__WEBPACK_IMPORTED_MODULE_9__["default"].span`
color: var(${({
muted
}) => muted ? '--color-gray-500' : '--color-gray-600'}) !important;
margin: 0 !important;
padding: 0 !important;
${({
size
}) => size && (0,styled_components__WEBPACK_IMPORTED_MODULE_9__.css)`
font-size: ${sizesMap[size].text}px !important;
`};
${({
weight
}) => weight && (0,styled_components__WEBPACK_IMPORTED_MODULE_9__.css)`
font-weight: ${weight} !important;
`};
${({
lineHeight
}) => (0,styled_components__WEBPACK_IMPORTED_MODULE_9__.css)`
line-height: ${lineHeight || 1} !important;
`};
`;
function MarksNoteView(props) {
const [isEditMode, setIsEditMode] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
noteContent = (0,_hooks_use_reverse_html_entities__WEBPACK_IMPORTED_MODULE_8__.useReverseHtmlEntities)(props.note.content);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Container, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_avatar__WEBPACK_IMPORTED_MODULE_1__["default"], {
size: 'md',
src: props.note.author.avatarUrls['48']
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Body, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Header, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(HeaderMeta, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Text, {
size: 'md',
weight: 500
}, props.note.author.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Text, {
size: 'sm',
lineHeight: 1.5,
muted: true
}, props.note.getFormattedCreatedAt())), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(HeaderActions, null, !isEditMode && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_marks_note_actions__WEBPACK_IMPORTED_MODULE_2__["default"], {
note: props.note,
setIsEditMode: setIsEditMode
}))), !isEditMode && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_shared_note_content__WEBPACK_IMPORTED_MODULE_5__["default"], null, noteContent), isEditMode && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_marks_edit_note_form__WEBPACK_IMPORTED_MODULE_3__["default"], {
note: props.note,
onClose: () => setIsEditMode(false)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_marks_note_view_external_indicator__WEBPACK_IMPORTED_MODULE_6__["default"], {
note: props.note
})));
}
MarksNoteView.propTypes = {
note: PropTypes.instanceOf(_models_note__WEBPACK_IMPORTED_MODULE_4__["default"]).isRequired
};
/***/ }),
/***/ "../assets/js/app/components/marks-reply-form.js":
/*!*******************************************************!*\
!*** ../assets/js/app/components/marks-reply-form.js ***!
\*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ MarksReplyForm)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _ui_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ui/button */ "../assets/js/app/components/ui/button.js");
/* harmony import */ var _hooks_use_notes_mutations__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../hooks/use-notes-mutations */ "../assets/js/app/hooks/use-notes-mutations.js");
/* harmony import */ var _marks_note_textarea__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./marks-note-textarea */ "../assets/js/app/components/marks-note-textarea.js");
/* harmony import */ var _shared_note_form__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./shared/note-form */ "../assets/js/app/components/shared/note-form.js");
/* harmony import */ var _hooks_use_active_thread__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../hooks/use-active-thread */ "../assets/js/app/hooks/use-active-thread.js");
/* harmony import */ var _hooks_use_forms_in_writing_mode__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../hooks/use-forms-in-writing-mode */ "../assets/js/app/hooks/use-forms-in-writing-mode.js");
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils */ "../assets/js/app/utils.js");
/* harmony import */ var _models_note__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../models/note */ "../assets/js/app/models/note.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
function MarksReplyForm(props) {
const formId = `e-notes-new-reply-for-${props.thread.id}`;
const createMutation = (0,_hooks_use_notes_mutations__WEBPACK_IMPORTED_MODULE_2__.useCreateMutation)(),
{
clearActive
} = (0,_hooks_use_active_thread__WEBPACK_IMPORTED_MODULE_5__["default"])(),
{
isInWritingMode
} = (0,_hooks_use_forms_in_writing_mode__WEBPACK_IMPORTED_MODULE_6__["default"])();
const onSubmit = async (e, {
content,
form
}) => {
window.top.$e.run('notes/reply', {
parentId: props.thread.id
});
await createMutation.mutateAsync({
elementId: props.thread.elementId,
parentId: props.thread.id,
content
});
form.reset();
};
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_shared_note_form__WEBPACK_IMPORTED_MODULE_4__["default"], {
id: formId,
onSubmit: onSubmit
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_marks_note_textarea__WEBPACK_IMPORTED_MODULE_3__["default"], {
disabled: createMutation.isLoading,
onMetaAndEnterKeyDown: e => (0,_utils__WEBPACK_IMPORTED_MODULE_7__.submitForm)(e.currentTarget.form),
isReply: true
}), isInWritingMode(formId) && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_shared_note_form__WEBPACK_IMPORTED_MODULE_4__["default"].ButtonsContainer, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_button__WEBPACK_IMPORTED_MODULE_1__["default"], {
disabled: createMutation.isLoading,
type: "submit"
}, __('Reply', 'elementor-pro')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_button__WEBPACK_IMPORTED_MODULE_1__["default"], {
disabled: createMutation.isLoading,
variant: 'outlined',
type: "reset",
onClick: e => {
window.top.$e.run('notes/cancel-reply', {
parentId: props.thread.id
});
e.target.form.reset();
clearActive();
}
}, __('Cancel', 'elementor-pro'))));
}
MarksReplyForm.propTypes = {
thread: PropTypes.instanceOf(_models_note__WEBPACK_IMPORTED_MODULE_8__["default"])
};
/***/ }),
/***/ "../assets/js/app/components/marks-thread-view.js":
/*!********************************************************!*\
!*** ../assets/js/app/components/marks-thread-view.js ***!
\********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ MarksThreadView)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _marks_note_view__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./marks-note-view */ "../assets/js/app/components/marks-note-view.js");
/* harmony import */ var _hooks_use_note__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../hooks/use-note */ "../assets/js/app/hooks/use-note.js");
/* harmony import */ var _hooks_use_notes_mutations__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../hooks/use-notes-mutations */ "../assets/js/app/hooks/use-notes-mutations.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _marks_reply_form__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./marks-reply-form */ "../assets/js/app/components/marks-reply-form.js");
/* harmony import */ var _ui_icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ui/icon */ "../assets/js/app/components/ui/icon.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const Loader = (0,styled_components__WEBPACK_IMPORTED_MODULE_6__["default"])((0,_ui_icon__WEBPACK_IMPORTED_MODULE_5__["default"])).attrs({
className: 'eicon-loading eicon-animation-spin'
})`
align-self: center !important;
color: #a4afb6 !important;
`;
const Error = styled_components__WEBPACK_IMPORTED_MODULE_6__["default"].p`
all: revert;
font-family: Roboto, sans-serif !important;
font-size: 12px !important;
font-weight: normal !important;
text-transform: none !important;
font-style: normal !important;
text-decoration: none !important;
line-height: normal !important;
letter-spacing: normal !important;
word-spacing: normal !important;
color: #6d7882 !important;
margin: 0 !important;
padding: 0 !important;
`;
function MarksThreadView(props) {
const {
isLoading,
isPlaceholderData,
isFetching,
data: thread,
isSuccess,
isError
} = (0,_hooks_use_note__WEBPACK_IMPORTED_MODULE_2__["default"])(props.threadId),
hasReplies = 0 !== thread.repliesCount;
// Set read status.
useSetReadStatus({
thread,
shouldTrigger: isSuccess && !isPlaceholderData && !isFetching
});
if (isLoading) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Loader, null);
}
if (isError) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Error, null, __('Something went wrong.', 'elementor-pro'));
}
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_marks_note_view__WEBPACK_IMPORTED_MODULE_1__["default"], {
note: thread,
key: thread.id
}),
// Show a loader until the replies are loaded.
hasReplies && isPlaceholderData && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Loader, null), thread.replies.map(reply => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_marks_note_view__WEBPACK_IMPORTED_MODULE_1__["default"], {
key: reply.id,
note: reply
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_marks_reply_form__WEBPACK_IMPORTED_MODULE_4__["default"], {
thread: thread
}));
}
// Hook to set Thread (& replies) read status.
function useSetReadStatus({
thread,
shouldTrigger
}) {
// Flag to run the hook action once and prevent unnecessary calculations / requests.
const didRunOnce = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false),
readMutation = (0,_hooks_use_notes_mutations__WEBPACK_IMPORTED_MODULE_3__.useReadMutation)();
// Set thread as read.
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
if (didRunOnce.current || !shouldTrigger) {
return;
}
const ids = [thread, ...(thread.replies || [])].filter(note => !note.isRead).map(note => note.id);
if (0 !== ids.length) {
readMutation.mutate({
ids,
isRead: true
});
}
didRunOnce.current = true;
}, [thread, shouldTrigger]);
}
MarksThreadView.propTypes = {
threadId: PropTypes.number.isRequired
};
/***/ }),
/***/ "../assets/js/app/components/marks-thread.js":
/*!***************************************************!*\
!*** ../assets/js/app/components/marks-thread.js ***!
\***************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ Context: () => (/* binding */ Context),
/* harmony export */ "default": () => (/* binding */ MarksThread),
/* harmony export */ useMarksThreadContext: () => (/* binding */ useMarksThreadContext)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _ui_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ui/button */ "../assets/js/app/components/ui/button.js");
/* harmony import */ var _ui_marker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ui/marker */ "../assets/js/app/components/ui/marker.js");
/* harmony import */ var _ui_popover_popover__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ui/popover/popover */ "../assets/js/app/components/ui/popover/popover.js");
/* harmony import */ var _marks_thread_view__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./marks-thread-view */ "../assets/js/app/components/marks-thread-view.js");
/* harmony import */ var _hooks_use_new_thread_events__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../hooks/use-new-thread-events */ "../assets/js/app/hooks/use-new-thread-events.js");
/* harmony import */ var _hooks_use_scroll_into_view__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../hooks/use-scroll-into-view */ "../assets/js/app/hooks/use-scroll-into-view.js");
/* harmony import */ var _models_note__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../models/note */ "../assets/js/app/models/note.js");
/* harmony import */ var _ui_div_base__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./ui/div-base */ "../assets/js/app/components/ui/div-base.js");
/* harmony import */ var _shared_note_popover_content__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./shared/note-popover-content */ "../assets/js/app/components/shared/note-popover-content.js");
/* harmony import */ var _marks_element_portal__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./marks-element-portal */ "../assets/js/app/components/marks-element-portal.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const Container = (0,styled_components__WEBPACK_IMPORTED_MODULE_11__["default"])((0,_ui_div_base__WEBPACK_IMPORTED_MODULE_8__["default"]))`
display: flex !important;
flex-direction: column !important;
gap: 28px !important;
padding: 20px 16px !important;
width: 360px !important;
border-radius: 4px !important;
transition: 0.3s all !important;
${({
disabled
}) => disabled && (0,styled_components__WEBPACK_IMPORTED_MODULE_11__.css)`
opacity: 0.5;
pointer-events: none;
`}
`;
const Context = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)();
function useMarksThreadContext() {
return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(Context);
}
function MarksThread(props) {
const [isDisabled, setIsDisabled] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
ref = (0,_hooks_use_scroll_into_view__WEBPACK_IMPORTED_MODULE_6__["default"])(props.isActive);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_marks_element_portal__WEBPACK_IMPORTED_MODULE_10__["default"], {
elementId: props.note.elementId,
position: props.note.position
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_popover_popover__WEBPACK_IMPORTED_MODULE_3__["default"], {
open: props.isActive,
onOpenChange: props.onOpenChange
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_popover_popover__WEBPACK_IMPORTED_MODULE_3__["default"].Trigger, {
asChild: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_button__WEBPACK_IMPORTED_MODULE_1__["default"], {
variant: 'transparent',
className: _hooks_use_new_thread_events__WEBPACK_IMPORTED_MODULE_5__.DISABLE_NEW_THREAD
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_marker__WEBPACK_IMPORTED_MODULE_2__["default"], {
ref: ref,
variant: props.isActive || props.note.isUnreadThread() ? 'solid' : 'ghost',
size: 'md',
muted: props.note.isResolved
}, props.note.id))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_shared_note_popover_content__WEBPACK_IMPORTED_MODULE_9__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Container, {
disabled: isDisabled
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Context.Provider, {
value: {
isDisabled,
setIsDisabled
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_marks_thread_view__WEBPACK_IMPORTED_MODULE_4__["default"], {
threadId: props.note.id
}))))));
}
MarksThread.propTypes = {
note: PropTypes.instanceOf(_models_note__WEBPACK_IMPORTED_MODULE_7__["default"]).isRequired,
onOpenChange: PropTypes.func.isRequired,
isActive: PropTypes.bool.isRequired
};
/***/ }),
/***/ "../assets/js/app/components/marks.js":
/*!********************************************!*\
!*** ../assets/js/app/components/marks.js ***!
\********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ Marks)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _marks_thread__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./marks-thread */ "../assets/js/app/components/marks-thread.js");
/* harmony import */ var _marks_new_thread__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./marks-new-thread */ "../assets/js/app/components/marks-new-thread.js");
/* harmony import */ var _hooks_use_active_thread__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../hooks/use-active-thread */ "../assets/js/app/hooks/use-active-thread.js");
/* harmony import */ var _hooks_use_notes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../hooks/use-notes */ "../assets/js/app/hooks/use-notes.js");
/* harmony import */ var _hooks_use_new_thread_events__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../hooks/use-new-thread-events */ "../assets/js/app/hooks/use-new-thread-events.js");
function Marks() {
const {
data: notes = []
} = (0,_hooks_use_notes__WEBPACK_IMPORTED_MODULE_4__["default"])(),
{
activeThread,
clearActive,
setActive,
isThreadActive
} = (0,_hooks_use_active_thread__WEBPACK_IMPORTED_MODULE_3__["default"])();
(0,_hooks_use_new_thread_events__WEBPACK_IMPORTED_MODULE_5__["default"])();
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, notes.map(note => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_marks_thread__WEBPACK_IMPORTED_MODULE_1__["default"], {
key: note.id,
note: note,
isActive: isThreadActive(note.id),
onOpenChange: isOpen => {
if (!isOpen) {
clearActive(note.id);
return;
}
setActive({
type: _hooks_use_active_thread__WEBPACK_IMPORTED_MODULE_3__.THREAD,
data: {
noteId: note.id
}
});
}
})), _hooks_use_active_thread__WEBPACK_IMPORTED_MODULE_3__.NEW_THREAD === activeThread?.type && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_marks_new_thread__WEBPACK_IMPORTED_MODULE_2__["default"], {
elementId: activeThread.data.elementId,
position: activeThread.data.position,
onOpenChange: isOpen => {
if (!isOpen) {
clearActive();
}
}
}));
}
/***/ }),
/***/ "../assets/js/app/components/mentions/mentions-user-disabled.js":
/*!**********************************************************************!*\
!*** ../assets/js/app/components/mentions/mentions-user-disabled.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ MentionsUserDisabled)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _models_user__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../models/user */ "../assets/js/app/models/user.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _hooks_use_notes_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../hooks/use-notes-config */ "../assets/js/app/hooks/use-notes-config.js");
/* harmony import */ var _hooks_use_user_can__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../hooks/use-user-can */ "../assets/js/app/hooks/use-user-can.js");
/* harmony import */ var _ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../ui/tooltip/tooltip */ "../assets/js/app/components/ui/tooltip/tooltip.js");
/* harmony import */ var _ui_icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../ui/icon */ "../assets/js/app/components/ui/icon.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const UserDisabledTooltip = styled_components__WEBPACK_IMPORTED_MODULE_6__["default"].div`
display: flex !important;
position: absolute !important;
width: 100% !important;
height: 100% !important;
inset-inline-start: 0 !important;
margin: 0 !important;
padding: 0 !important;
font-size: 11px !important;
// Fixes bug with the position of Popover with portalled=false inside another Popover
// @see https://github.com/radix-ui/primitives/issues/370
[data-radix-popper-content-wrapper] {
transform: translateY(-100%) !important;
top: 10px !important;
inset-inline-start: auto !important;
inset-inline-end: -10px !important;
}
`;
const TooltipShadow = styled_components__WEBPACK_IMPORTED_MODULE_6__["default"].div`
overflow: hidden !important;
position: relative !important;
flex: 1 !important;
height: 100% !important;
&::before {
content: '' !important;
position: absolute !important;
width: 100vw !important;
height: 100vh !important;
top: 50% !important;
transform: translateY(-50%) !important;
inset-inline-end: 0 !important;
box-shadow: inset 0 0 60px 40px #f1f3f5 !important;
}
`;
const TooltipTriggerText = styled_components__WEBPACK_IMPORTED_MODULE_6__["default"].div`
display: inline-flex !important;
align-items: center !important;
white-space: pre-wrap !important;
padding: 10px !important;
background: #f1f3f5 !important;
`;
const SetPermissionsLink = styled_components__WEBPACK_IMPORTED_MODULE_6__["default"].a.attrs(() => ({
target: '_blank',
rel: 'noreferrer'
}))`
color: #6d7882 !important;
background: #f1f3f5 !important;
padding: 10px !important;
display: inline-flex !important;
align-items: center !important;
&:hover,
&:focus {
color: #58d0f5 !important;
text-decoration: none !important;
}
`;
const TooltipContent = (0,styled_components__WEBPACK_IMPORTED_MODULE_6__["default"])(_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_4__["default"].Content)`
background: #ffffff !important;
color: #6d7882 !important;
line-height: 1.3 !important;
font-style: italic !important;
padding: 12px !important;
box-shadow: 0 1px 20px rgba(0, 0, 0, 0.15) !important;
max-width: 262px !important;
box-sizing: border-box !important;
&::after {
content: '' !important;
position: absolute !important;
width: 10px !important;
height: 10px !important;
border: 5px solid transparent !important;
border-top-color: #ffffff !important;
bottom: -9px !important;
inset-inline-end: 20px !important;
}
`;
const LearnMoreLink = styled_components__WEBPACK_IMPORTED_MODULE_6__["default"].a.attrs(() => ({
target: '_blank'
}))`
all: revert;
display: block !important;
text-decoration: none !important;
color: #58d0f5 !important;
&:hover,
&:focus {
text-decoration: underline !important;
}
`;
function MentionsUserDisabled(props) {
const {
urls
} = (0,_hooks_use_notes_config__WEBPACK_IMPORTED_MODULE_2__["default"])(),
mentionedUserCanEditPost = props.user.capabilities.post.edit,
currentUserCanEditUsers = (0,_hooks_use_user_can__WEBPACK_IMPORTED_MODULE_3__["default"])(_hooks_use_user_can__WEBPACK_IMPORTED_MODULE_3__.CAPABILITY_EDIT_USERS),
currentUserCanFixPermissions = currentUserCanEditUsers && mentionedUserCanEditPost;
const tooltipLink = currentUserCanEditUsers ? urls.help_notes_features : '';
const tooltipLabel = currentUserCanFixPermissions ? __('Give access to Notes', 'elementor-pro') : __("Can't mention them", 'elementor-pro');
const tooltipMessage = useTooltipMessage(props.user.capabilities);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(UserDisabledTooltip, {
role: "tooltip",
"aria-label": tooltipLabel
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(TooltipShadow, null), currentUserCanFixPermissions ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(SetPermissionsLink, {
href: `${urls.admin_url_edit_user}?user_id=${props.user.id}#e-notes`,
className: "elementor-clickable"
}, tooltipLabel + ' ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_icon__WEBPACK_IMPORTED_MODULE_5__["default"], {
className: "eicon-editor-external-link"
})) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_4__["default"], {
delayDuration: 0
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_4__["default"].Trigger, {
onMouseDown: e => e.preventDefault(),
asChild: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(TooltipTriggerText, {
"aria-label": tooltipMessage
}, tooltipLabel + ' ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_icon__WEBPACK_IMPORTED_MODULE_5__["default"], {
className: "eicon-help-o"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(TooltipContent, {
portalled: false
}, tooltipMessage, tooltipLink && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(LearnMoreLink, {
href: tooltipLink,
className: "elementor-clickable"
}, __('Learn more', 'elementor-pro')))))));
}
MentionsUserDisabled.propTypes = {
user: PropTypes.instanceOf(_models_user__WEBPACK_IMPORTED_MODULE_1__["default"]).isRequired
};
function useTooltipMessage(capabilities) {
const mentionedUserCanReadNotes = capabilities.notes.read,
mentionedUserCanEditPost = capabilities.post.edit,
currentUserCanEditUsers = (0,_hooks_use_user_can__WEBPACK_IMPORTED_MODULE_3__["default"])(_hooks_use_user_can__WEBPACK_IMPORTED_MODULE_3__.CAPABILITY_EDIT_USERS);
if (!currentUserCanEditUsers) {
return __('Contact the site admin to give this person the right permissions.', 'elementor-pro');
}
if (!mentionedUserCanEditPost) {
if (!mentionedUserCanReadNotes) {
return __('This person needs: (1) permission to view this post, as well as (2) access to use Notes.', 'elementor-pro');
}
return __('They need permission to view this post.', 'elementor-pro');
}
return '';
}
/***/ }),
/***/ "../assets/js/app/components/mentions/mentions-user-list.js":
/*!******************************************************************!*\
!*** ../assets/js/app/components/mentions/mentions-user-list.js ***!
\******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ MentionsUserList)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _hooks_use_users__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../hooks/use-users */ "../assets/js/app/hooks/use-users.js");
/* harmony import */ var _ui_typeahead_typeahead__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ui/typeahead/typeahead */ "../assets/js/app/components/ui/typeahead/typeahead.js");
/* harmony import */ var _ui_avatar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../ui/avatar */ "../assets/js/app/components/ui/avatar.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _hooks_use_notes_config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../hooks/use-notes-config */ "../assets/js/app/hooks/use-notes-config.js");
/* harmony import */ var _hooks_use_user_can__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../hooks/use-user-can */ "../assets/js/app/hooks/use-user-can.js");
/* harmony import */ var _ui_div_base__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../ui/div-base */ "../assets/js/app/components/ui/div-base.js");
/* harmony import */ var _mentions_user_disabled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./mentions-user-disabled */ "../assets/js/app/components/mentions/mentions-user-disabled.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const defaultParams = {
limit: 5,
order_by: 'user_registered',
order: 'desc'
};
const List = (0,styled_components__WEBPACK_IMPORTED_MODULE_8__["default"])(_ui_typeahead_typeahead__WEBPACK_IMPORTED_MODULE_2__["default"].List)`
position: absolute !important;
top: 100% !important;
`;
const UserDetails = (0,styled_components__WEBPACK_IMPORTED_MODULE_8__["default"])((0,_ui_div_base__WEBPACK_IMPORTED_MODULE_6__["default"]))`
display: flex !important;
flex-direction: column !important;
justify-content: space-between !important;
gap: 2px !important;
&::before,
&::after {
display: none !important;
}
`;
const UserContainer = (0,styled_components__WEBPACK_IMPORTED_MODULE_8__["default"])(_ui_typeahead_typeahead__WEBPACK_IMPORTED_MODULE_2__["default"].ListItem)`
display: flex !important;
flex-direction: row !important;
align-items: center !important;
gap: 10px !important;
position: relative !important;
&[aria-disabled='true'] {
opacity: 1 !important;
&:hover {
background-color: #f1f3f5 !important;
}
${UserDetails} {
opacity: .5 !important;
}
&:not(:hover) {
> [role='tooltip'] {
display: none !important;
}
}
}
`;
const UserName = styled_components__WEBPACK_IMPORTED_MODULE_8__["default"].span`
all: revert;
padding: 0 !important;
margin: 0 !important;
font-size: 12px !important;
font-weight: 500 !important;
color: inherit !important;
`;
const UserSlug = styled_components__WEBPACK_IMPORTED_MODULE_8__["default"].span`
font-size: 10px !important;
color: #a4afb6 !important;
`;
const Link = styled_components__WEBPACK_IMPORTED_MODULE_8__["default"].a.attrs(() => ({
target: '_blank',
rel: 'noreferrer'
}))`
all: revert;
color: #58d0f5 !important;
font-family: Roboto, sans-serif !important;
font-size: 1em !important;
font-weight: normal !important;
text-transform: none !important;
font-style: normal !important;
text-decoration: underline !important;
line-height: normal !important;
letter-spacing: normal !important;
word-spacing: normal !important;
&:hover,
&:focus {
color: #6d7882 !important;
text-decoration: underline; // Repeat in order to override theme styles.
}
`;
const FooterTitle = styled_components__WEBPACK_IMPORTED_MODULE_8__["default"].strong`
font-weight: 500 !important;
`;
function MentionsUserList(props) {
var _route$post_id;
const {
route,
urls
} = (0,_hooks_use_notes_config__WEBPACK_IMPORTED_MODULE_4__["default"])(),
canCreateUsers = (0,_hooks_use_user_can__WEBPACK_IMPORTED_MODULE_5__["default"])(_hooks_use_user_can__WEBPACK_IMPORTED_MODULE_5__.CAPABILITY_CREATE_USERS);
const {
data = [],
isSuccess
} = (0,_hooks_use_users__WEBPACK_IMPORTED_MODULE_1__["default"])({
params: {
...defaultParams,
search: props.search,
post_id: (_route$post_id = route.post_id) !== null && _route$post_id !== void 0 ? _route$post_id : null
}
});
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(List, null, data.map(user => {
const isUserDisabled = !user.capabilities.notes.read || !user.capabilities.post.edit;
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(UserContainer, {
key: user.id,
value: user.slug,
disabled: isUserDisabled
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_avatar__WEBPACK_IMPORTED_MODULE_3__["default"], {
size: 'md',
src: user.avatarUrls['48']
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(UserDetails, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(UserName, null, user.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(UserSlug, null, user.slug)), isUserDisabled && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mentions_user_disabled__WEBPACK_IMPORTED_MODULE_7__["default"], {
user: user
}));
}), isSuccess && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_typeahead_typeahead__WEBPACK_IMPORTED_MODULE_2__["default"].ListFooter, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(FooterTitle, null, __("Can't find someone?", 'elementor-pro')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("br", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", null, canCreateUsers ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, __('Add them from the', 'elementor-pro'), ' ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Link, {
href: urls.admin_url_create_user,
className: "elementor-clickable"
}, __('WP Dashboard', 'elementor-pro'))) : __('Ask the site admin to add them', 'elementor-pro'))));
}
MentionsUserList.propTypes = {
search: PropTypes.string
};
/***/ }),
/***/ "../assets/js/app/components/panel-body-current-route.js":
/*!***************************************************************!*\
!*** ../assets/js/app/components/panel-body-current-route.js ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ PanelBodyCurrentRoute)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _panel_note_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./panel-note-item */ "../assets/js/app/components/panel-note-item.js");
/* harmony import */ var _panel_page_title__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./panel-page-title */ "../assets/js/app/components/panel-page-title.js");
/* harmony import */ var _hooks_use_active_thread__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../hooks/use-active-thread */ "../assets/js/app/hooks/use-active-thread.js");
/* harmony import */ var _hooks_use_notes_config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../hooks/use-notes-config */ "../assets/js/app/hooks/use-notes-config.js");
/* harmony import */ var _models_note__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../models/note */ "../assets/js/app/models/note.js");
/* harmony import */ var _panel_empty__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./panel-empty */ "../assets/js/app/components/panel-empty.js");
/* harmony import */ var _ui_toast_toast__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ui/toast/toast */ "../assets/js/app/components/ui/toast/toast.js");
/* harmony import */ var _ui_toast_toast_icon__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./ui/toast/toast-icon */ "../assets/js/app/components/ui/toast/toast-icon.js");
/* harmony import */ var _ui_toast_toast_title__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./ui/toast/toast-title */ "../assets/js/app/components/ui/toast/toast-title.js");
/* harmony import */ var _ui_toast_toast_description__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./ui/toast/toast-description */ "../assets/js/app/components/ui/toast/toast-description.js");
/* harmony import */ var _ui_toast_toast_close__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./ui/toast/toast-close */ "../assets/js/app/components/ui/toast/toast-close.js");
/* harmony import */ var _hooks_use_stoppable_effect__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../hooks/use-stoppable-effect */ "../assets/js/app/hooks/use-stoppable-effect.js");
/* harmony import */ var _hooks_use_viewable_notes__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../hooks/use-viewable-notes */ "../assets/js/app/hooks/use-viewable-notes.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
function PanelBodyCurrentRoute(props) {
const {
route
} = (0,_hooks_use_notes_config__WEBPACK_IMPORTED_MODULE_4__["default"])(),
{
activeThread,
isThreadActive,
setActive,
clearActive
} = (0,_hooks_use_active_thread__WEBPACK_IMPORTED_MODULE_3__["default"])(),
[isToastOpen, setIsToastOpen] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
[viewableNotes, nonViewableNotes] = (0,_hooks_use_viewable_notes__WEBPACK_IMPORTED_MODULE_13__["default"])(props.notes);
// Clear the active thread if it isn't viewable.
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
const {
noteId
} = activeThread?.data || {};
if (noteId) {
const isActiveNoteViewable = !!viewableNotes.find(note => note.id === noteId && note.isThread());
if (!isActiveNoteViewable) {
clearActive(noteId);
}
}
}, [viewableNotes, activeThread]);
// Show toast only once, when there are some non-viewable notes on the page.
(0,_hooks_use_stoppable_effect__WEBPACK_IMPORTED_MODULE_12__["default"])(stop => {
const shouldShowToast = nonViewableNotes.length > 0;
if (shouldShowToast) {
setIsToastOpen(true);
stop();
}
}, [nonViewableNotes]);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, !viewableNotes.length ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_panel_empty__WEBPACK_IMPORTED_MODULE_6__["default"], null) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_panel_page_title__WEBPACK_IMPORTED_MODULE_2__["default"], {
count: viewableNotes.length
}, route.title), viewableNotes.map(note => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_panel_note_item__WEBPACK_IMPORTED_MODULE_1__["default"], {
key: note.id,
note: note,
isActive: isThreadActive(note.id),
onClick: () => setActive({
type: _hooks_use_active_thread__WEBPACK_IMPORTED_MODULE_3__.THREAD,
data: {
noteId: note.id
}
})
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_toast_toast__WEBPACK_IMPORTED_MODULE_7__["default"], {
open: isToastOpen,
onOpenChange: setIsToastOpen,
variant: "info"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_toast_toast_icon__WEBPACK_IMPORTED_MODULE_8__["default"], {
className: "eicon-info-circle"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_toast_toast_title__WEBPACK_IMPORTED_MODULE_9__["default"], null, __('Some notes are not shown.', 'elementor-pro')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_toast_toast_description__WEBPACK_IMPORTED_MODULE_10__["default"], null, __('This page contains notes on elements that are still in draft mode.', 'elementor-pro')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_toast_toast_close__WEBPACK_IMPORTED_MODULE_11__["default"], null)));
}
PanelBodyCurrentRoute.propTypes = {
notes: PropTypes.arrayOf(PropTypes.instanceOf(_models_note__WEBPACK_IMPORTED_MODULE_5__["default"])).isRequired
};
/***/ }),
/***/ "../assets/js/app/components/panel-body-summary.js":
/*!*********************************************************!*\
!*** ../assets/js/app/components/panel-body-summary.js ***!
\*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ PanelBodySummary)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _panel_page_title__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./panel-page-title */ "../assets/js/app/components/panel-page-title.js");
/* harmony import */ var _models_note_summary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../models/note-summary */ "../assets/js/app/models/note-summary.js");
/* harmony import */ var _ui_icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ui/icon */ "../assets/js/app/components/ui/icon.js");
/* harmony import */ var _ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ui/tooltip/tooltip */ "../assets/js/app/components/ui/tooltip/tooltip.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _hooks_use_notes_config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../hooks/use-notes-config */ "../assets/js/app/hooks/use-notes-config.js");
/* harmony import */ var _panel_empty__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./panel-empty */ "../assets/js/app/components/panel-empty.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const StyledLink = styled_components__WEBPACK_IMPORTED_MODULE_7__["default"].a`
position: absolute !important;
font-size: 14px !important;
inset-inline-end: 14px !important;
top: 50% !important;
margin-top: -.5em !important;
color: #a4afb7 !important;
`;
function PanelBodySummary(props) {
const {
route: {
url: currentRouteURL
}
} = (0,_hooks_use_notes_config__WEBPACK_IMPORTED_MODULE_5__["default"])();
if (!props.notesSummary.length) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_panel_empty__WEBPACK_IMPORTED_MODULE_6__["default"], null);
}
return props.notesSummary.map(noteSummary => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_panel_page_title__WEBPACK_IMPORTED_MODULE_1__["default"], {
count: noteSummary.notesCount,
key: noteSummary.url
}, noteSummary.title, noteSummary.url !== currentRouteURL && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_4__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_4__["default"].Trigger, {
asChild: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(StyledLink, {
href: `${noteSummary.fullURL}#e:run:notes/open`,
rel: "noopener noreferrer",
target: "_blank",
className: "elementor-clickable"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_icon__WEBPACK_IMPORTED_MODULE_3__["default"], {
className: "eicon-editor-external-link"
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_4__["default"].Content, null, __('Open page in a new tab', 'elementor-pro'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_4__["default"].Arrow, null)))));
}
PanelBodySummary.propTypes = {
notesSummary: PropTypes.arrayOf(PropTypes.instanceOf(_models_note_summary__WEBPACK_IMPORTED_MODULE_2__["default"])).isRequired
};
/***/ }),
/***/ "../assets/js/app/components/panel-close-button.js":
/*!*********************************************************!*\
!*** ../assets/js/app/components/panel-close-button.js ***!
\*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ PanelCloseButton)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ui/tooltip/tooltip */ "../assets/js/app/components/ui/tooltip/tooltip.js");
/* harmony import */ var _ui_icon_button_icon_button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ui/icon-button/icon-button */ "../assets/js/app/components/ui/icon-button/icon-button.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
function PanelCloseButton() {
const handleClick = () => window.top.$e.run('notes/close');
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_1__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_1__["default"].Trigger, {
asChild: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_icon_button_icon_button__WEBPACK_IMPORTED_MODULE_2__["default"], {
name: "eicon-editor-close",
onClick: handleClick
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_1__["default"].Content, null, __('Close notes mode', 'elementor-pro'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_1__["default"].Arrow, null)));
}
/***/ }),
/***/ "../assets/js/app/components/panel-empty.js":
/*!**************************************************!*\
!*** ../assets/js/app/components/panel-empty.js ***!
\**************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ PanelEmpty)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _ui_div_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ui/div-base */ "../assets/js/app/components/ui/div-base.js");
/* harmony import */ var _ui_icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ui/icon */ "../assets/js/app/components/ui/icon.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
const Container = (0,styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_ui_div_base__WEBPACK_IMPORTED_MODULE_1__["default"]))`
display: flex !important;
align-items: center !important;
justify-content: center !important;
height: 100% !important;
width: 100% !important;
text-align: center !important;
padding: 13px 20px 43px 20px !important;
`;
const IconContainer = (0,styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_ui_div_base__WEBPACK_IMPORTED_MODULE_1__["default"]))`
font-size: 30px !important;
color: #a4afb6 !important;
margin: 0 0 20px 0 !important;
`;
const Heading = styled_components__WEBPACK_IMPORTED_MODULE_3__["default"].h4`
all: revert;
font-family: Roboto, sans-serif !important;
font-size: 16px !important;
font-weight: 700 !important;
text-transform: none !important;
font-style: normal !important;
text-decoration: none !important;
line-height: 1.4 !important;
letter-spacing: normal !important;
word-spacing: normal !important;
color: #6d7882 !important;
margin: 0 0 12px 0 !important;
padding: 0 15px !important;
&::before, &::after {
display: none;
}
`;
const Text = styled_components__WEBPACK_IMPORTED_MODULE_3__["default"].p`
all: revert;
font-family: Roboto, sans-serif !important;
font-size: 11px !important;
font-weight: normal !important;
text-transform: none !important;
font-style: normal !important;
text-decoration: none !important;
line-height: 1.5 !important;
letter-spacing: normal !important;
word-spacing: normal !important;
margin: 0 !important;
color: #6d7882 !important;
`;
const Link = styled_components__WEBPACK_IMPORTED_MODULE_3__["default"].a`
all: revert;
display: inline-flex !important;
justify-content: center !important;
align-item: center !important;
font-family: Roboto, sans-serif !important;
font-size: 12px !important;
font-weight: 500 !important;
text-transform: none !important;
font-style: normal !important;
text-decoration: none !important;
line-height: 1.4 !important;
letter-spacing: normal !important;
word-spacing: normal !important;
margin: 42px 0 0 0 !important;
color: #6d7882 !important;
> i {
color: #a4afb7 !important;
font-size: 18px !important;
margin-inline-start: 4px !important;
}
&:hover {
i::before {
color: #58d0f5;
content: '\\e926'; // eicon-info-circle
}
}
`;
function PanelEmpty() {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Container, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(IconContainer, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_icon__WEBPACK_IMPORTED_MODULE_2__["default"], {
className: "eicon-commenting-o"
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Heading, null, __('Share your thoughts with a Note', 'elementor-pro')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Text, null, __('Select an element on the page to leave a comment, ask a question, etc.', 'elementor-pro')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Link, {
href: "https://go.elementor.com/app-notes/",
target: "_blank",
className: "elementor-clickable"
}, __('Learn More', 'elementor-pro'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_icon__WEBPACK_IMPORTED_MODULE_2__["default"], {
className: "eicon-info"
}))));
}
/***/ }),
/***/ "../assets/js/app/components/panel-error.js":
/*!**************************************************!*\
!*** ../assets/js/app/components/panel-error.js ***!
\**************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ PanelError)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _ui_div_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ui/div-base */ "../assets/js/app/components/ui/div-base.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
const Container = (0,styled_components__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_ui_div_base__WEBPACK_IMPORTED_MODULE_1__["default"]))`
display: flex !important;
align-items: center !important;
justify-content: center !important;
height: 100% !important;
width: 100% !important;
text-align: center !important;
padding: 13px 13px 43px 13px !important;
`;
const Text = styled_components__WEBPACK_IMPORTED_MODULE_2__["default"].p`
all: revert;
font-family: Roboto, sans-serif !important;
font-size: 12px !important;
font-weight: ${({
weight
}) => weight || 400} !important;
text-transform: none !important;
font-style: normal !important;
text-decoration: none !important;
line-height: normal !important;
letter-spacing: normal !important;
word-spacing: normal !important;
margin: 0 !important;
color: #6d7882 !important;
`;
function PanelError() {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Container, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Text, {
weight: 700
}, __('Could not load the panel.', 'elementor-pro')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Text, null, __('Please refresh the page and try again.', 'elementor-pro'))));
}
/***/ }),
/***/ "../assets/js/app/components/panel-fetch-icon.js":
/*!*******************************************************!*\
!*** ../assets/js/app/components/panel-fetch-icon.js ***!
\*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ PanelFetchIcon)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _ui_icon_button_icon_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ui/icon-button/icon-button */ "../assets/js/app/components/ui/icon-button/icon-button.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ui/tooltip/tooltip */ "../assets/js/app/components/ui/tooltip/tooltip.js");
/* harmony import */ var _hooks_use_watch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../hooks/use-watch */ "../assets/js/app/hooks/use-watch.js");
/* harmony import */ var _styles_animation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styles/animation */ "../assets/js/app/styles/animation.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const StyledIconButton = (0,styled_components__WEBPACK_IMPORTED_MODULE_5__["default"])((0,_ui_icon_button_icon_button__WEBPACK_IMPORTED_MODULE_1__["default"]))`
animation-duration: 1.3s;
animation-iteration-count: infinite;
animation-timing-function: linear;
&[data-state="loading"] {
animation-name: ${_styles_animation__WEBPACK_IMPORTED_MODULE_4__.spin};
}
&[data-state="none"] {
animation-name: none;
}
`;
function PanelFetchIcon(props) {
const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(props.isFetching);
(0,_hooks_use_watch__WEBPACK_IMPORTED_MODULE_3__["default"])(() => {
if (props.isFetching) {
setLoading(true);
}
}, [props.isFetching]);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_2__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_2__["default"].Trigger, {
asChild: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(StyledIconButton, {
name: "eicon-sync",
"data-state": loading ? 'loading' : 'none',
onClick: () => {
window.top.$e.run('notes/refresh-panel');
props.refetch();
},
onAnimationIteration: () => {
// Make sure to finish spin only when the animation ends.
if (!props.isFetching) {
setLoading(false);
}
}
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_2__["default"].Content, null, __('Refresh', 'elementor-pro'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_2__["default"].Arrow, null)));
}
PanelFetchIcon.propTypes = {
isFetching: PropTypes.bool.isRequired,
refetch: PropTypes.func.isRequired
};
/***/ }),
/***/ "../assets/js/app/components/panel-note-item.js":
/*!******************************************************!*\
!*** ../assets/js/app/components/panel-note-item.js ***!
\******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ PanelNoteItem)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _models_note__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../models/note */ "../assets/js/app/models/note.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _ui_marker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ui/marker */ "../assets/js/app/components/ui/marker.js");
/* harmony import */ var _hooks_use_scroll_into_view__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../hooks/use-scroll-into-view */ "../assets/js/app/hooks/use-scroll-into-view.js");
/* harmony import */ var _shared_note_content__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./shared/note-content */ "../assets/js/app/components/shared/note-content/index.js");
/* harmony import */ var _ui_div_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ui/div-base */ "../assets/js/app/components/ui/div-base.js");
/* harmony import */ var _ui_button_base__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ui/button-base */ "../assets/js/app/components/ui/button-base.js");
/* harmony import */ var _hooks_use_reverse_html_entities__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../hooks/use-reverse-html-entities */ "../assets/js/app/hooks/use-reverse-html-entities.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const Container = (0,styled_components__WEBPACK_IMPORTED_MODULE_8__["default"])((0,_ui_button_base__WEBPACK_IMPORTED_MODULE_6__["default"]))`
--spacing: 12px;
--background: #fafbfb;
--color: #6d7882;
--padding: var( --spacing );
--font-family: Roboto, sans-serif;
--font-size: 12px;
--font-weight: 400;
--width: 100%;
--display: flex;
gap: var( --spacing );
margin: 1px 0 0 0 !important;
border: none;
text-align: inherit;
border-radius: 0;
transition: 0.2s all;
line-height: 1.5;
cursor: pointer;
white-space: normal;
&:hover,
&:focus {
--background: #f1f1f1;
--color: #6d7882;
}
${({
isActive
}) => {
return isActive && (0,styled_components__WEBPACK_IMPORTED_MODULE_8__.css)`
--background: #e8f4fb;
&:hover,
&:focus {
--background: #e0f2fc;
}
`;
}}
`;
const IconCol = (0,styled_components__WEBPACK_IMPORTED_MODULE_8__["default"])((0,_ui_div_base__WEBPACK_IMPORTED_MODULE_5__["default"]))`
flex-shrink: 0;
&::before,
&::after {
display: none !important;
}
`;
const ContentCol = (0,styled_components__WEBPACK_IMPORTED_MODULE_8__["default"])((0,_ui_div_base__WEBPACK_IMPORTED_MODULE_5__["default"]))`
flex-grow: 1;
&::before,
&::after {
display: none !important;
}
`;
const Title = styled_components__WEBPACK_IMPORTED_MODULE_8__["default"].p`
all: revert;
margin: 0 0 8px 0 !important;
font-family: Roboto, sans-serif !important;
font-size: 10px !important;
font-weight: 500 !important;
text-transform: none !important;
font-style: normal !important;
text-decoration: none !important;
line-height: normal !important;
letter-spacing: normal !important;
word-spacing: normal !important;
`;
const Date = styled_components__WEBPACK_IMPORTED_MODULE_8__["default"].span`
color: #a4afb6;
`;
const RepliesCount = styled_components__WEBPACK_IMPORTED_MODULE_8__["default"].p`
all: revert;
margin: 4px 0 0 0 !important;
color: #a4afb6 !important;
font-family: Roboto, sans-serif !important;
font-size: 10px !important;
font-weight: normal !important;
text-transform: none !important;
font-style: normal !important;
text-decoration: none !important;
line-height: normal !important;
letter-spacing: normal !important;
word-spacing: normal !important;
`;
const NoteContent = (0,styled_components__WEBPACK_IMPORTED_MODULE_8__["default"])((0,_shared_note_content__WEBPACK_IMPORTED_MODULE_4__["default"]))`
--line-height: 1.5;
--max-rows: 6;
display: -webkit-box !important;
-webkit-box-orient: vertical !important;
-webkit-line-clamp: var( --max-rows ) !important;
max-height: calc( ( 1em * var( --line-height ) * var( --max-rows ) ) ) !important;
overflow: hidden !important;
& > p {
margin: 0 !important; // To make the ellipsis look better on multi-paragraph content.
}
`;
function PanelNoteItem(props) {
const ref = (0,_hooks_use_scroll_into_view__WEBPACK_IMPORTED_MODULE_3__["default"])(props.isActive, {
block: 'nearest',
inline: 'nearest'
}),
noteContent = (0,_hooks_use_reverse_html_entities__WEBPACK_IMPORTED_MODULE_7__.useReverseHtmlEntities)(props.note.content);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Container, {
isActive: props.isActive,
onClick: props.onClick,
ref: ref
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(IconCol, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_marker__WEBPACK_IMPORTED_MODULE_2__["default"], {
variant: props.isActive || props.note.isUnreadThread() ? 'solid' : 'ghost',
size: 'sm',
muted: props.note.isResolved
}, props.note.id)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(ContentCol, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Title, null, props.note.author.name, " ", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Date, null, props.note.getFormattedCreatedAt())), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(NoteContent, {
disableInteractions: true
}, noteContent), props.note.repliesCount > 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(RepliesCount, null, __('%s replies', 'elementor-pro').replace('%s', props.note.repliesCount))));
}
PanelNoteItem.propTypes = {
note: PropTypes.instanceOf(_models_note__WEBPACK_IMPORTED_MODULE_1__["default"]).isRequired,
onClick: PropTypes.func,
isActive: PropTypes.bool
};
/***/ }),
/***/ "../assets/js/app/components/panel-page-title.js":
/*!*******************************************************!*\
!*** ../assets/js/app/components/panel-page-title.js ***!
\*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ PanelPageTitle)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const StyledPanelPageTitle = styled_components__WEBPACK_IMPORTED_MODULE_1__["default"].h4`
all: revert;
padding: 10px 12px !important;
background: #fff !important;
font-family: Roboto, sans-serif !important;
font-size: 12px !important;
font-weight: 600 !important;
color: #6d7882 !important;
margin: 1px 0 0 0 !important;
line-height: 1.2 !important;
text-transform: none !important;
font-style: normal !important;
text-decoration: none !important;
letter-spacing: normal !important;
word-spacing: normal !important;
position: relative !important;
&::before, &::after {
display: none !important;
}
`;
const StyledCount = styled_components__WEBPACK_IMPORTED_MODULE_1__["default"].span`
color: #a4afb6;
font-size: 11px;
`;
function PanelPageTitle(props) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(StyledPanelPageTitle, null, props.children, ' ', props.count && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(StyledCount, null, "(", props.count, ")"));
}
PanelPageTitle.propTypes = {
children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),
count: PropTypes.number
};
/***/ }),
/***/ "../assets/js/app/components/panel-popover.js":
/*!****************************************************!*\
!*** ../assets/js/app/components/panel-popover.js ***!
\****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ PanelPopover)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _ui_checkbox_checkbox__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ui/checkbox/checkbox */ "../assets/js/app/components/ui/checkbox/checkbox.js");
/* harmony import */ var _ui_icon_button_icon_button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ui/icon-button/icon-button */ "../assets/js/app/components/ui/icon-button/icon-button.js");
/* harmony import */ var _ui_label_label__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ui/label/label */ "../assets/js/app/components/ui/label/label.js");
/* harmony import */ var _ui_popover_popover__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ui/popover/popover */ "../assets/js/app/components/ui/popover/popover.js");
/* harmony import */ var _ui_radio_radio__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ui/radio/radio */ "../assets/js/app/components/ui/radio/radio.js");
/* harmony import */ var _ui_separator_separator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ui/separator/separator */ "../assets/js/app/components/ui/separator/separator.js");
/* harmony import */ var _hooks_use_notes_filters__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../hooks/use-notes-filters */ "../assets/js/app/hooks/use-notes-filters.js");
/* harmony import */ var _hooks_use_notes_or_notes_summary__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../hooks/use-notes-or-notes-summary */ "../assets/js/app/hooks/use-notes-or-notes-summary.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _hooks_use_notes_config__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../hooks/use-notes-config */ "../assets/js/app/hooks/use-notes-config.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const PopoverContent = (0,styled_components__WEBPACK_IMPORTED_MODULE_10__["default"])(_ui_popover_popover__WEBPACK_IMPORTED_MODULE_4__["default"].Content)`
padding: 16px 16px 10px !important;
`;
function PanelPopover(props) {
const [filters, setFilters] = (0,_hooks_use_notes_filters__WEBPACK_IMPORTED_MODULE_7__["default"])();
const {
direction
} = (0,_hooks_use_notes_config__WEBPACK_IMPORTED_MODULE_9__["default"])();
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_popover_popover__WEBPACK_IMPORTED_MODULE_4__["default"], {
onOpenChange: isOpen => {
if (isOpen) {
window.top.$e.run('notes/open-panel-filters');
} else {
window.top.$e.run('notes/close-panel-filters');
}
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_popover_popover__WEBPACK_IMPORTED_MODULE_4__["default"].Trigger, {
asChild: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_icon_button_icon_button__WEBPACK_IMPORTED_MODULE_2__["default"], {
name: "eicon-ellipsis-h",
size: "sm"
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(PopoverContent, {
align: 'rtl' === direction ? 'end' : 'start',
sideOffset: 5
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_radio_radio__WEBPACK_IMPORTED_MODULE_5__["default"].Group, {
value: props.view,
onValueChange: props.setView,
dir: direction
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_label_label__WEBPACK_IMPORTED_MODULE_3__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_radio_radio__WEBPACK_IMPORTED_MODULE_5__["default"], {
value: _hooks_use_notes_or_notes_summary__WEBPACK_IMPORTED_MODULE_8__.VIEW_NOTES
}), __('Current page', 'elementor-pro'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_label_label__WEBPACK_IMPORTED_MODULE_3__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_radio_radio__WEBPACK_IMPORTED_MODULE_5__["default"], {
value: _hooks_use_notes_or_notes_summary__WEBPACK_IMPORTED_MODULE_8__.VIEW_NOTES_SUMMARY
}), __('All site', 'elementor-pro')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_separator_separator__WEBPACK_IMPORTED_MODULE_6__["default"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_radio_radio__WEBPACK_IMPORTED_MODULE_5__["default"].Group, {
value: filters.only_relevant ? '1' : '0',
onValueChange: value => setFilters({
only_relevant: '1' === value ? true : null
}),
dir: direction
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_label_label__WEBPACK_IMPORTED_MODULE_3__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_radio_radio__WEBPACK_IMPORTED_MODULE_5__["default"], {
value: "0"
}), __('All notes', 'elementor-pro'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_label_label__WEBPACK_IMPORTED_MODULE_3__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_radio_radio__WEBPACK_IMPORTED_MODULE_5__["default"], {
value: "1"
}), __('Only yours', 'elementor-pro')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_separator_separator__WEBPACK_IMPORTED_MODULE_6__["default"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_label_label__WEBPACK_IMPORTED_MODULE_3__["default"], {
htmlFor: "notes-filter-show-resolved"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_checkbox_checkbox__WEBPACK_IMPORTED_MODULE_1__["default"], {
id: "notes-filter-show-resolved",
checked: null === filters.is_resolved,
onCheckedChange: value => setFilters({
is_resolved: value ? null : false
})
}), __('Show resolved', 'elementor-pro'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_label_label__WEBPACK_IMPORTED_MODULE_3__["default"], {
htmlFor: "notes-filter-only-unread"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_checkbox_checkbox__WEBPACK_IMPORTED_MODULE_1__["default"], {
id: "notes-filter-only-unread",
checked: filters.only_unread,
onCheckedChange: value => setFilters({
only_unread: value ? true : null
})
}), __('Show unread only', 'elementor-pro'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_popover_popover__WEBPACK_IMPORTED_MODULE_4__["default"].Arrow, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_popover_popover__WEBPACK_IMPORTED_MODULE_4__["default"].CloseButton, null)));
}
PanelPopover.propTypes = {
view: PropTypes.string.isRequired,
setView: PropTypes.func.isRequired
};
/***/ }),
/***/ "../assets/js/app/components/panel.js":
/*!********************************************!*\
!*** ../assets/js/app/components/panel.js ***!
\********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ Panel)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _panel_body_current_route__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./panel-body-current-route */ "../assets/js/app/components/panel-body-current-route.js");
/* harmony import */ var _panel_body_summary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./panel-body-summary */ "../assets/js/app/components/panel-body-summary.js");
/* harmony import */ var _panel_close_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./panel-close-button */ "../assets/js/app/components/panel-close-button.js");
/* harmony import */ var _panel_error__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./panel-error */ "../assets/js/app/components/panel-error.js");
/* harmony import */ var _panel_popover__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./panel-popover */ "../assets/js/app/components/panel-popover.js");
/* harmony import */ var _ui_panel_panel__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ui/panel/panel */ "../assets/js/app/components/ui/panel/panel.js");
/* harmony import */ var _hooks_use_notes_or_notes_summary__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../hooks/use-notes-or-notes-summary */ "../assets/js/app/hooks/use-notes-or-notes-summary.js");
/* harmony import */ var _hooks_use_notes_config__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../hooks/use-notes-config */ "../assets/js/app/hooks/use-notes-config.js");
/* harmony import */ var _panel_fetch_icon__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./panel-fetch-icon */ "../assets/js/app/components/panel-fetch-icon.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
function Panel() {
const {
direction
} = (0,_hooks_use_notes_config__WEBPACK_IMPORTED_MODULE_8__["default"])(),
{
view,
setView,
data = [],
refetch,
isSuccess,
isLoading,
isFetching,
isError,
isNotesView,
isNotesSummaryView
} = (0,_hooks_use_notes_or_notes_summary__WEBPACK_IMPORTED_MODULE_7__["default"])();
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_panel_panel__WEBPACK_IMPORTED_MODULE_6__["default"], {
isFloating: true,
defaultPosition: {
x: 'rtl' === direction ? -50 : 50,
y: 50
},
defaultSize: {
width: 240,
height: 400
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_panel_panel__WEBPACK_IMPORTED_MODULE_6__["default"].Header, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_panel_panel__WEBPACK_IMPORTED_MODULE_6__["default"].HeaderSideCol, {
align: "start"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_panel_popover__WEBPACK_IMPORTED_MODULE_5__["default"], {
view: view,
setView: setView
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_panel_panel__WEBPACK_IMPORTED_MODULE_6__["default"].HeaderTitle, null, __('Notes Panel', 'elementor-pro')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_panel_panel__WEBPACK_IMPORTED_MODULE_6__["default"].HeaderSideCol, {
align: "end"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_panel_fetch_icon__WEBPACK_IMPORTED_MODULE_9__["default"], {
isFetching: isFetching,
refetch: refetch
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_panel_close_button__WEBPACK_IMPORTED_MODULE_3__["default"], null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_panel_panel__WEBPACK_IMPORTED_MODULE_6__["default"].Body, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_panel_panel__WEBPACK_IMPORTED_MODULE_6__["default"].Loading, {
show: isLoading
}), isError && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_panel_error__WEBPACK_IMPORTED_MODULE_4__["default"], null), isSuccess && isNotesView && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_panel_body_current_route__WEBPACK_IMPORTED_MODULE_1__["default"], {
notes: data
}), isSuccess && isNotesSummaryView && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_panel_body_summary__WEBPACK_IMPORTED_MODULE_2__["default"], {
notesSummary: data
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ui_panel_panel__WEBPACK_IMPORTED_MODULE_6__["default"].Footer, null));
}
/***/ }),
/***/ "../assets/js/app/components/shared/note-content/index.js":
/*!****************************************************************!*\
!*** ../assets/js/app/components/shared/note-content/index.js ***!
\****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _note_content__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./note-content */ "../assets/js/app/components/shared/note-content/note-content.js");
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_note_content__WEBPACK_IMPORTED_MODULE_0__["default"]);
/***/ }),
/***/ "../assets/js/app/components/shared/note-content/note-content-email.js":
/*!*****************************************************************************!*\
!*** ../assets/js/app/components/shared/note-content/note-content-email.js ***!
\*****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ NoteContentEmail)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _note_content_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./note-content-link */ "../assets/js/app/components/shared/note-content/note-content-link.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
function NoteContentEmail(props) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_note_content_link__WEBPACK_IMPORTED_MODULE_1__["default"], {
href: `mailto:${props.token.value}`
}, props.children);
}
NoteContentEmail.propTypes = {
children: PropTypes.node.isRequired,
token: PropTypes.shape({
value: PropTypes.string
}).isRequired
};
/***/ }),
/***/ "../assets/js/app/components/shared/note-content/note-content-link.js":
/*!****************************************************************************!*\
!*** ../assets/js/app/components/shared/note-content/note-content-link.js ***!
\****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
const NoteContentLink = styled_components__WEBPACK_IMPORTED_MODULE_0__["default"].a`
all: revert;
--color-editor-info: #58d0f5;
--color-editor-info-dark: #10bcf2;
font-family: Roboto, sans-serif !important;
font-size: 1em !important;
font-weight: normal !important;
text-transform: none !important;
font-style: normal !important;
text-decoration: none !important;
line-height: normal !important;
letter-spacing: normal !important;
word-spacing: normal !important;
cursor: pointer;
&,
&:visited {
color: var( --color-editor-info ) !important;
}
&:hover,
&:focus {
color: var( --color-editor-info-dark ) !important;
}
`;
NoteContentLink.defaultProps = {
target: '_blank',
rel: 'noopener noreferrer',
className: 'elementor-clickable'
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NoteContentLink);
/***/ }),
/***/ "../assets/js/app/components/shared/note-content/note-content-mention.js":
/*!*******************************************************************************!*\
!*** ../assets/js/app/components/shared/note-content/note-content-mention.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
const NoteContentMention = styled_components__WEBPACK_IMPORTED_MODULE_0__["default"].span`
color: #58d0f5;
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NoteContentMention);
/***/ }),
/***/ "../assets/js/app/components/shared/note-content/note-content-paragraph.js":
/*!*********************************************************************************!*\
!*** ../assets/js/app/components/shared/note-content/note-content-paragraph.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
const NoteContentParagraph = styled_components__WEBPACK_IMPORTED_MODULE_0__["default"].p`
--color-gray-600: #6d7882;
font-family: Roboto, sans-serif !important;
font-size: 12px !important;
font-weight: 400 !important;
text-transform: none !important;
font-style: normal !important;
text-decoration: none !important;
line-height: 1.5 !important;
letter-spacing: normal !important;
word-spacing: normal !important;
color: var(--color-gray-600);
margin: 0 0 .5em 0 !important;
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NoteContentParagraph);
/***/ }),
/***/ "../assets/js/app/components/shared/note-content/note-content-token-renderer.js":
/*!**************************************************************************************!*\
!*** ../assets/js/app/components/shared/note-content/note-content-token-renderer.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ NoteContentTokenRenderer)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _note_content_paragraph__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./note-content-paragraph */ "../assets/js/app/components/shared/note-content/note-content-paragraph.js");
/* harmony import */ var _note_content_mention__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./note-content-mention */ "../assets/js/app/components/shared/note-content/note-content-mention.js");
/* harmony import */ var _note_content_url__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./note-content-url */ "../assets/js/app/components/shared/note-content/note-content-url.js");
/* harmony import */ var _note_content_email__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./note-content-email */ "../assets/js/app/components/shared/note-content/note-content-email.js");
/* harmony import */ var _note_content_wow__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./note-content-wow */ "../assets/js/app/components/shared/note-content/note-content-wow.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const componentMap = {
Paragraph: _note_content_paragraph__WEBPACK_IMPORTED_MODULE_1__["default"],
Mention: _note_content_mention__WEBPACK_IMPORTED_MODULE_2__["default"],
Url: _note_content_url__WEBPACK_IMPORTED_MODULE_3__["default"],
Email: _note_content_email__WEBPACK_IMPORTED_MODULE_4__["default"],
Wow: _note_content_wow__WEBPACK_IMPORTED_MODULE_5__["default"],
default: ({
children
}) => children
};
function NoteContentTokenRenderer(props) {
const Component = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => componentMap[props.token.type] || componentMap.default, [props.token.type]);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Component, {
token: props.token
}, Array.isArray(props.token.value) ? props.token.value.map((childToken, index) => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(NoteContentTokenRenderer, {
token: childToken,
key: index
})) : props.token.value);
}
// Put the token shape outside to allow recursive.
const tokenShape = {};
tokenShape.value = PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.shape(tokenShape))]);
NoteContentTokenRenderer.propTypes = {
token: PropTypes.shape(tokenShape)
};
/***/ }),
/***/ "../assets/js/app/components/shared/note-content/note-content-url.js":
/*!***************************************************************************!*\
!*** ../assets/js/app/components/shared/note-content/note-content-url.js ***!
\***************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ NoteContentUrl)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _note_content_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./note-content-link */ "../assets/js/app/components/shared/note-content/note-content-link.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
function NoteContentUrl(props) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_note_content_link__WEBPACK_IMPORTED_MODULE_1__["default"], {
href: props.token.value
}, props.children);
}
NoteContentUrl.propTypes = {
children: PropTypes.node.isRequired,
token: PropTypes.shape({
value: PropTypes.string
}).isRequired
};
/***/ }),
/***/ "../assets/js/app/components/shared/note-content/note-content-wow.js":
/*!***************************************************************************!*\
!*** ../assets/js/app/components/shared/note-content/note-content-wow.js ***!
\***************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ NoteContentWow)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const confetti = (0,styled_components__WEBPACK_IMPORTED_MODULE_1__.keyframes)`
0% {
opacity: 1;
background-position: 40% 66%, 54% 40%, 32% 36%, 46% 38%, 38% 55%, 60% 32%, 43% 34%, 31% 35%, 53% 63%, 58% 42%, 56% 37%, 40% 50%, 46% 46%, 36% 59%, 43% 50%, 63% 70%, 44% 40%, 51% 30%, 38% 45%, 37% 62%, 46% 34%, 45% 45%, 43% 44%, 43% 53%, 64% 42%, 31% 36%, 38% 54%, 40% 34%, 64% 48%, 43% 47%, 43% 50%, 56% 40%, 35% 68%, 68% 69%, 63% 35%, 32% 61%, 67% 57%, 51% 43%, 53% 45%, 47% 40%, 33% 42%, 35% 65%, 67% 47%, 30% 44%, 67% 52%, 41% 46%, 44% 55%, 38% 40%, 39% 37%, 37% 35%;
}
45% {
opacity: 1;
background-size: var(--radius) var(--radius);
}
100% {
opacity: 0;
background-size: 0 0;
background-position: 8% 105%, 83% 50%, 53% 74%, 44% 9%, 6% 67%, 13% 62%, 88% 47%, 60% 18%, 78% 50%, 105% 11%, 59% 22%, 47% 98%, 77% 84%, 51% 60%, 70% 10%, 91% 103%, 8% 16%, 61% 1%, -5% 52%, 75% 74%, 58% 52%, 74% 30%, 51% 55%, 13% 78%, 28% 86%, 40% 1%, 24% 38%, 58% 6%, 70% 42%, 11% 22%, 73% 59%, 10% 57%, 72% 22%, 48% 26%, 44% -7%, 72% 29%, 50% 74%, 99% 87%, 17% 36%, 4% -8%, -11% 22%, 79% 95%, 19% 60%, 30% 4%, 110% 5%, 0% 71%, 82% 56%, 9% 68%, 69% 41%, 19% 61%;
}
`;
const StyledSurprise = styled_components__WEBPACK_IMPORTED_MODULE_1__["default"].span`
display: inline-block !important;
position: relative !important;
isolation: isolate !important;
box-sizing: border-box !important;
&::before {
--radius: 2px;
--color-1: #d50000;
--color-2: #c51162;
--color-3: #aa00ff;
--color-4: #2962ff;
--color-5: #00c853;
--color-6: #ffd600;
content: '' !important;
position: absolute !important;
inset: -25px !important;
pointer-events: none !important;
opacity: 0;
z-index: -1 !important;
transform: scale(1.5) !important;
background-repeat: no-repeat !important;
background-size: calc(2 * var(--radius)) calc(2 * var(--radius));
background-image: radial-gradient( circle at center, var( --color-6 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-6 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-3 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-4 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-2 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-5 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-1 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-2 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-1 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-1 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-5 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-6 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-5 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-1 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-4 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-1 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-2 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-1 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-3 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-6 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-6 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-4 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-4 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-2 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-3 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-2 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-5 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-5 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-4 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-1 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-6 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-6 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-4 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-3 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-6 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-6 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-4 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-5 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-3 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-3 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-2 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-4 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-2 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-4 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-6 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-4 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-2 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-1 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-6 ) 49%,transparent 50% ), radial-gradient( circle at center, var( --color-5 ) 49%,transparent 50% ) !important;
${({
isAnimated
}) => isAnimated && (0,styled_components__WEBPACK_IMPORTED_MODULE_1__.css)`
animation: ${confetti} ease 1s forwards !important;
`}
}
`;
function NoteContentWow(props) {
const [isAnimated, setIsAnimated] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(StyledSurprise, {
isAnimated: isAnimated,
onMouseEnter: () => setIsAnimated(true),
onAnimationEnd: () => setIsAnimated(false)
}, props.children);
}
NoteContentWow.propTypes = {
children: PropTypes.node.isRequired,
token: PropTypes.shape({
value: PropTypes.string
}).isRequired
};
/***/ }),
/***/ "../assets/js/app/components/shared/note-content/note-content.js":
/*!***********************************************************************!*\
!*** ../assets/js/app/components/shared/note-content/note-content.js ***!
\***********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ NoteContent)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _note_content_token_renderer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./note-content-token-renderer */ "../assets/js/app/components/shared/note-content/note-content-token-renderer.js");
/* harmony import */ var _services_rich_text_parser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../services/rich-text-parser */ "../assets/js/services/rich-text-parser/index.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _ui_div_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../ui/div-base */ "../assets/js/app/components/ui/div-base.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const richTextParser = (0,_services_rich_text_parser__WEBPACK_IMPORTED_MODULE_2__["default"])();
const Wrapper = (0,styled_components__WEBPACK_IMPORTED_MODULE_4__["default"])((0,_ui_div_base__WEBPACK_IMPORTED_MODULE_3__["default"]))`
white-space: normal;
word-break: break-word;
word-wrap: break-word;
${({
disableInteractions
}) => disableInteractions && (0,styled_components__WEBPACK_IMPORTED_MODULE_4__.css)`
pointer-events: none;
`};
`;
function NoteContent(props) {
const contentToken = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => richTextParser.parse(props.children), [props.children]);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Wrapper, {
disableInteractions: props.disableInteractions,
className: props.className
}, contentToken && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_note_content_token_renderer__WEBPACK_IMPORTED_MODULE_1__["default"], {
token: contentToken
}));
}
NoteContent.propTypes = {
children: PropTypes.string.isRequired,
disableInteractions: PropTypes.bool,
className: PropTypes.string
};
NoteContent.defaultProps = {
disableInteractions: false
};
/***/ }),
/***/ "../assets/js/app/components/shared/note-form.js":
/*!*******************************************************!*\
!*** ../assets/js/app/components/shared/note-form.js ***!
\*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ NoteForm)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "../../../node_modules/@babel/runtime/helpers/esm/extends.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _ui_div_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ui/div-base */ "../assets/js/app/components/ui/div-base.js");
/* harmony import */ var _hooks_use_forms_in_writing_mode__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../hooks/use-forms-in-writing-mode */ "../assets/js/app/hooks/use-forms-in-writing-mode.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const StyledForm = styled_components__WEBPACK_IMPORTED_MODULE_4__["default"].form`
all: revert;
display: flex !important;
flex-direction: column !important;
gap: 16px !important;
`;
NoteForm.ButtonsContainer = (0,styled_components__WEBPACK_IMPORTED_MODULE_4__["default"])((0,_ui_div_base__WEBPACK_IMPORTED_MODULE_2__["default"]))`
display: flex !important;
flex-direction: row-reverse !important;
justify-content: end !important;
gap: 8px !important;
`;
function NoteForm({
onReset,
onChange,
onSubmit,
...props
}) {
const {
isInWritingMode,
addToWritingMode,
removeFromWritingMode
} = (0,_hooks_use_forms_in_writing_mode__WEBPACK_IMPORTED_MODULE_3__["default"])();
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(StyledForm, (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, {
onReset: e => {
removeFromWritingMode(props.id);
// Tweak to force emptying of data-value for the textarea container
const contentEl = e.currentTarget.content;
if ('undefined' !== typeof contentEl) {
const event = new Event('input', {
bubbles: true
});
contentEl.value = '';
contentEl.dispatchEvent(event);
}
onReset?.(e);
},
onChange: e => {
const hasChanged = e.target.value.trim() !== e.target.defaultValue,
isCurrentFormInWritingMode = isInWritingMode(props.id);
if (hasChanged && !isCurrentFormInWritingMode) {
addToWritingMode(props.id);
}
if (!hasChanged && isCurrentFormInWritingMode) {
removeFromWritingMode(props.id);
}
onChange?.(e);
},
onSubmit: async e => {
e.preventDefault();
if (!isInWritingMode(props.id)) {
return;
}
const form = e.currentTarget,
content = form.content.value.trim();
await onSubmit?.(e, {
form,
content
});
}
}));
}
NoteForm.propTypes = {
id: PropTypes.string.isRequired,
onChange: PropTypes.func,
onReset: PropTypes.func,
onSubmit: PropTypes.func
};
/***/ }),
/***/ "../assets/js/app/components/shared/note-popover-content.js":
/*!******************************************************************!*\
!*** ../assets/js/app/components/shared/note-popover-content.js ***!
\******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ NotePopoverContent)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "../../../node_modules/@babel/runtime/helpers/esm/extends.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _ui_popover_popover__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ui/popover/popover */ "../assets/js/app/components/ui/popover/popover.js");
/* harmony import */ var _hooks_use_notes_config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../hooks/use-notes-config */ "../assets/js/app/hooks/use-notes-config.js");
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ "../assets/js/app/utils.js");
/* harmony import */ var _hooks_use_forms_in_writing_mode__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../hooks/use-forms-in-writing-mode */ "../assets/js/app/hooks/use-forms-in-writing-mode.js");
const bounce = {
keyframes: [{
transform: 'scale(1)',
opacity: '1'
}, {
transform: 'scale(1.05)',
opacity: '0.85'
}, {
transform: 'scale(1)',
opacity: '1'
}],
options: {
easing: 'ease-in-out',
duration: 500
}
};
function NotePopoverContent(props) {
const {
direction
} = (0,_hooks_use_notes_config__WEBPACK_IMPORTED_MODULE_3__["default"])(),
{
formsInWritingMode
} = (0,_hooks_use_forms_in_writing_mode__WEBPACK_IMPORTED_MODULE_5__["default"])(),
ref = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)();
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_ui_popover_popover__WEBPACK_IMPORTED_MODULE_2__["default"].Content, (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, {
align: 'rtl' === direction ? 'end' : 'start',
alignOffset: 18,
sideOffset: 15,
ref: ref,
onInteractOutside: async e => {
// If there are no forms in writing mode, it should behave normally.
if (0 === formsInWritingMode.length) {
return;
}
e.preventDefault();
if (0 === ref.current.getAnimations().length) {
await (0,_utils__WEBPACK_IMPORTED_MODULE_4__.scrollIntoView)(ref.current);
ref.current.animate(bounce.keyframes, bounce.options);
}
}
}));
}
/***/ }),
/***/ "../assets/js/app/components/ui/alert-dialog/alert-dialog-action.js":
/*!**************************************************************************!*\
!*** ../assets/js/app/components/ui/alert-dialog/alert-dialog-action.js ***!
\**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _radix_ui_react_alert_dialog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-alert-dialog */ "../../../node_modules/@radix-ui/react-alert-dialog/dist/index.module.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _button_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../button-base */ "../assets/js/app/components/ui/button-base.js");
const AlertDialogAction = (0,styled_components__WEBPACK_IMPORTED_MODULE_1__["default"])((0,_button_base__WEBPACK_IMPORTED_MODULE_0__["default"])).attrs(() => ({
as: _radix_ui_react_alert_dialog__WEBPACK_IMPORTED_MODULE_2__.Action
}))`
--font-size: 16px;
--color: #b01b1b;
--padding: 13px;
margin: 0;
flex-grow: 1;
transition: 0.2s all;
border: none;
border-radius: 0;
&:focus, &:hover {
--background: #f1f3f5;
--color: #b01b1b;
}
`;
AlertDialogAction.propTypes = {
..._radix_ui_react_alert_dialog__WEBPACK_IMPORTED_MODULE_2__.Action.propTypes
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AlertDialogAction);
/***/ }),
/***/ "../assets/js/app/components/ui/alert-dialog/alert-dialog-actions-container.js":
/*!*************************************************************************************!*\
!*** ../assets/js/app/components/ui/alert-dialog/alert-dialog-actions-container.js ***!
\*************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _div_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../div-base */ "../assets/js/app/components/ui/div-base.js");
const AlertDialogActionsContainer = (0,styled_components__WEBPACK_IMPORTED_MODULE_1__["default"])((0,_div_base__WEBPACK_IMPORTED_MODULE_0__["default"]))`
display: flex;
align-items: center;
border-top: 1px solid #d5dadf;
& > button:not(:first-child) {
/**
* will create a divider between the buttons,
* not matter how much buttons exists in the container.
*/
border-inline-start: 1px solid #d5dadf;
}
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AlertDialogActionsContainer);
/***/ }),
/***/ "../assets/js/app/components/ui/alert-dialog/alert-dialog-cancel.js":
/*!**************************************************************************!*\
!*** ../assets/js/app/components/ui/alert-dialog/alert-dialog-cancel.js ***!
\**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _radix_ui_react_alert_dialog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-alert-dialog */ "../../../node_modules/@radix-ui/react-alert-dialog/dist/index.module.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _button_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../button-base */ "../assets/js/app/components/ui/button-base.js");
const AlertDialogCancel = (0,styled_components__WEBPACK_IMPORTED_MODULE_1__["default"])((0,_button_base__WEBPACK_IMPORTED_MODULE_0__["default"])).attrs(() => ({
as: _radix_ui_react_alert_dialog__WEBPACK_IMPORTED_MODULE_2__.Cancel
}))`
--color: #6d7882;
--padding: 13px;
--font-size: 16px;
--border: none;
margin: 0;
flex-grow: 1;
transition: 0.2s all;
border-radius: 0;
&:focus, &:hover {
--background: #f1f3f5;
--color: #6d7882;
}
`;
AlertDialogCancel.propTypes = {
..._radix_ui_react_alert_dialog__WEBPACK_IMPORTED_MODULE_2__.Cancel.propTypes
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AlertDialogCancel);
/***/ }),
/***/ "../assets/js/app/components/ui/alert-dialog/alert-dialog-content.js":
/*!***************************************************************************!*\
!*** ../assets/js/app/components/ui/alert-dialog/alert-dialog-content.js ***!
\***************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ AlertDialogContent)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _radix_ui_react_alert_dialog__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-alert-dialog */ "../../../node_modules/@radix-ui/react-alert-dialog/dist/index.module.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils */ "../assets/js/app/utils.js");
const overlayShow = (0,styled_components__WEBPACK_IMPORTED_MODULE_2__.keyframes)`
0% {
opacity: 0;
}
100% {
opacity: 1;
}
`;
const contentShow = (0,styled_components__WEBPACK_IMPORTED_MODULE_2__.keyframes)`
0% {
opacity: 0;
transform: translate(-50%, -48%) scale(.96);
}
100% {
opacity: 1;
transform: translate(-50%, -50%) scale(1);
}
`;
const StyledContent = (0,styled_components__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_radix_ui_react_alert_dialog__WEBPACK_IMPORTED_MODULE_3__.Content))`
all: revert;
font-family: Roboto, sans-serif !important;
font-size: 1em !important;
font-weight: normal !important;
text-transform: none !important;
font-style: normal !important;
text-decoration: none !important;
line-height: normal !important;
letter-spacing: normal !important;
word-spacing: normal !important;
background-color: #fff !important;
box-shadow: 2px 8px 23px rgba(0, 0, 0, 0.2) !important;
border-radius: 3px !important;
width: 375px !important;
text-align: center !important;
position: fixed !important;
top: 50% !important;
left: 50% !important;
transform: translate(-50%, -50%) !important;
max-height: 85vh !important;
animation-duration: 150ms !important;
animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1) !important;
animation-name: ${contentShow} !important;
z-index: ${_utils__WEBPACK_IMPORTED_MODULE_1__.MAX_Z_INDEX} !important;
&:focus {
outline: none !important;
}
`;
const StyledOverlay = (0,styled_components__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_radix_ui_react_alert_dialog__WEBPACK_IMPORTED_MODULE_3__.Overlay))`
background-color: rgba(0, 0, 0, 0.5) !important;
position: fixed !important;
inset: 0 !important;
animation-duration: 150ms !important;
animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1) !important;
animation-name: ${overlayShow} !important;
z-index: ${_utils__WEBPACK_IMPORTED_MODULE_1__.MAX_Z_INDEX} !important;
`;
function AlertDialogContent(props) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_radix_ui_react_alert_dialog__WEBPACK_IMPORTED_MODULE_3__.Portal, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(StyledOverlay, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(StyledContent, props));
}
AlertDialogContent.propTypes = {
..._radix_ui_react_alert_dialog__WEBPACK_IMPORTED_MODULE_3__.Content.propTypes
};
/***/ }),
/***/ "../assets/js/app/components/ui/alert-dialog/alert-dialog-description-container.js":
/*!*****************************************************************************************!*\
!*** ../assets/js/app/components/ui/alert-dialog/alert-dialog-description-container.js ***!
\*****************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _div_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../div-base */ "../assets/js/app/components/ui/div-base.js");
const AlertDialogDescriptionContainer = (0,styled_components__WEBPACK_IMPORTED_MODULE_1__["default"])((0,_div_base__WEBPACK_IMPORTED_MODULE_0__["default"]))`
padding: 30px !important;
display: flex !important;
flex-direction: column !important;
gap: 12px !important;
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AlertDialogDescriptionContainer);
/***/ }),
/***/ "../assets/js/app/components/ui/alert-dialog/alert-dialog-description.js":
/*!*******************************************************************************!*\
!*** ../assets/js/app/components/ui/alert-dialog/alert-dialog-description.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _radix_ui_react_alert_dialog__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @radix-ui/react-alert-dialog */ "../../../node_modules/@radix-ui/react-alert-dialog/dist/index.module.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
const AlertDialogDescription = (0,styled_components__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_radix_ui_react_alert_dialog__WEBPACK_IMPORTED_MODULE_1__.Description))`
all: revert;
font-family: Roboto, sans-serif !important;
font-size: 13px !important;
font-weight: 500 !important;
text-transform: none !important;
font-style: normal !important;
text-decoration: none !important;
line-height: normal !important;
letter-spacing: normal !important;
word-spacing: normal !important;
margin: 0 !important;
color: #495157 !important;
`;
AlertDialogDescription.propTypes = {
..._radix_ui_react_alert_dialog__WEBPACK_IMPORTED_MODULE_1__.Description.propTypes
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AlertDialogDescription);
/***/ }),
/***/ "../assets/js/app/components/ui/alert-dialog/alert-dialog-title.js":
/*!*************************************************************************!*\
!*** ../assets/js/app/components/ui/alert-dialog/alert-dialog-title.js ***!
\*************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _radix_ui_react_alert_dialog__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @radix-ui/react-alert-dialog */ "../../../node_modules/@radix-ui/react-alert-dialog/dist/index.module.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
const AlertDialogTitle = (0,styled_components__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_radix_ui_react_alert_dialog__WEBPACK_IMPORTED_MODULE_1__.Title))`
all: revert;
font-family: Roboto, sans-serif !important;
font-size: 17px !important;
font-weight: 500 !important;
text-transform: none !important;
font-style: normal !important;
text-decoration: none !important;
line-height: normal !important;
letter-spacing: normal !important;
word-spacing: normal !important;
margin: 0 !important;
color: #495157 !important;
&::before, &::after {
display: none;
}
`;
AlertDialogTitle.propTypes = {
..._radix_ui_react_alert_dialog__WEBPACK_IMPORTED_MODULE_1__.Title.propTypes
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AlertDialogTitle);
/***/ }),
/***/ "../assets/js/app/components/ui/alert-dialog/alert-dialog.js":
/*!*******************************************************************!*\
!*** ../assets/js/app/components/ui/alert-dialog/alert-dialog.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _radix_ui_react_alert_dialog__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @radix-ui/react-alert-dialog */ "../../../node_modules/@radix-ui/react-alert-dialog/dist/index.module.js");
/* harmony import */ var _alert_dialog_content__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./alert-dialog-content */ "../assets/js/app/components/ui/alert-dialog/alert-dialog-content.js");
/* harmony import */ var _alert_dialog_title__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./alert-dialog-title */ "../assets/js/app/components/ui/alert-dialog/alert-dialog-title.js");
/* harmony import */ var _alert_dialog_description_container__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./alert-dialog-description-container */ "../assets/js/app/components/ui/alert-dialog/alert-dialog-description-container.js");
/* harmony import */ var _alert_dialog_actions_container__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./alert-dialog-actions-container */ "../assets/js/app/components/ui/alert-dialog/alert-dialog-actions-container.js");
/* harmony import */ var _alert_dialog_description__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./alert-dialog-description */ "../assets/js/app/components/ui/alert-dialog/alert-dialog-description.js");
/* harmony import */ var _alert_dialog_cancel__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./alert-dialog-cancel */ "../assets/js/app/components/ui/alert-dialog/alert-dialog-cancel.js");
/* harmony import */ var _alert_dialog_action__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./alert-dialog-action */ "../assets/js/app/components/ui/alert-dialog/alert-dialog-action.js");
const AlertDialog = _radix_ui_react_alert_dialog__WEBPACK_IMPORTED_MODULE_7__.Root;
AlertDialog.Trigger = _radix_ui_react_alert_dialog__WEBPACK_IMPORTED_MODULE_7__.Trigger;
AlertDialog.Content = _alert_dialog_content__WEBPACK_IMPORTED_MODULE_0__["default"];
AlertDialog.Description = _alert_dialog_description__WEBPACK_IMPORTED_MODULE_4__["default"];
AlertDialog.DescriptionContainer = _alert_dialog_description_container__WEBPACK_IMPORTED_MODULE_2__["default"];
AlertDialog.ActionsContainer = _alert_dialog_actions_container__WEBPACK_IMPORTED_MODULE_3__["default"];
AlertDialog.Title = _alert_dialog_title__WEBPACK_IMPORTED_MODULE_1__["default"];
AlertDialog.Cancel = _alert_dialog_cancel__WEBPACK_IMPORTED_MODULE_5__["default"];
AlertDialog.Action = _alert_dialog_action__WEBPACK_IMPORTED_MODULE_6__["default"];
AlertDialog.propTypes = _radix_ui_react_alert_dialog__WEBPACK_IMPORTED_MODULE_7__.Root.propTypes;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AlertDialog);
/***/ }),
/***/ "../assets/js/app/components/ui/avatar.js":
/*!************************************************!*\
!*** ../assets/js/app/components/ui/avatar.js ***!
\************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const sizesMap = {
sm: {
width: 16
},
md: {
width: 32
},
lg: {
width: 64
}
};
const Avatar = styled_components__WEBPACK_IMPORTED_MODULE_0__["default"].img`
all: revert;
aspect-ratio: 1 / 1;
border-radius: 100%;
height: auto;
width: ${({
size
}) => sizesMap[size].width}px;
`;
Avatar.propTypes = {
size: PropTypes.oneOf(['sm', 'md', 'lg']).isRequired,
src: PropTypes.string.isRequired
};
Avatar.defaultProps = {
size: 'md'
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Avatar);
/***/ }),
/***/ "../assets/js/app/components/ui/button-base.js":
/*!*****************************************************!*\
!*** ../assets/js/app/components/ui/button-base.js ***!
\*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/**
* Simple button component to handle themes overrides.
*/
const ButtonBase = styled_components__WEBPACK_IMPORTED_MODULE_0__["default"].button`
all: revert;
--color: #000;
--padding: 0;
--background: transparent;
--font-weight: 500;
--font-size: 16px;
--font-family: Roboto, sans-serif;
--text-transform: none;
--letter-spacing: 0;
--font-style: normal;
--text-decoration: none;
--line-height: normal;
--word-spacing: normal;
--text-shadow: none;
--box-shadow: none;
--border: none;
--border-radius: 0;
// Override themes selectors.
&,
&&,
&[type="button"],
&[type="submit"],
&[type="reset"],
&:hover,
&:focus,
&:active,
&:not( :hover ):not( :active ):not( .has-background ),
&:not( :hover ):not( :active ):not( .has-text-color ) {
font-family: var( --font-family ) !important;
font-size: var( --font-size ) !important;
font-weight: var( --font-weight ) !important;
text-transform: var( --text-transform ) !important;
letter-spacing: var( --letter-spacing ) !important;
font-style: normal !important;
text-decoration: none !important;
line-height: normal !important;
word-spacing: normal !important;
color: var( --color ) !important;
background: var( --background ) !important;
border: var( --border ) !important;
text-shadow: var( --text-shadow ) !important;
box-shadow: var( --box-shadow ) !important;
border-radius: var( --border-radius ) !important;
padding: var( --padding ) !important;
outline: none !important;
width: var( --width, auto ) !important;
height: var( --height, auto ) !important;
display: var( --display, inline-block ) !important;
min-height: revert !important;
}
&:before,
&:after {
display: none !important;
}
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ButtonBase);
/***/ }),
/***/ "../assets/js/app/components/ui/button.js":
/*!************************************************!*\
!*** ../assets/js/app/components/ui/button.js ***!
\************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _button_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./button-base */ "../assets/js/app/components/ui/button-base.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const colorsMap = {
contained: {
background: '--color-editor-info',
border: '--color-editor-info',
text: '--color-white',
backgroundHover: '--color-editor-info-dark'
},
outlined: {
background: '--color-ghost',
border: '--color-gray-400',
text: '--color-gray-600',
backgroundHover: '--color-darken'
},
transparent: {
background: '--color-ghost',
border: '--color-ghost',
text: '--color-default'
}
};
const sizesMap = {
md: {
padding: '--padding-md',
fontSize: '--font-size-md'
}
};
const Button = (0,styled_components__WEBPACK_IMPORTED_MODULE_1__["default"])((0,_button_base__WEBPACK_IMPORTED_MODULE_0__["default"]))`
--color-editor-info: #58d0f5;
--color-editor-info-dark: #10bcf2;
--color-default: inherit;
--color-ghost: transparent;
--color-white: #fff;
--color-gray-400: #c2cbd2;
--color-gray-600: #6d7882;
--color-darken: rgba( 0, 0, 0, .05 );
--font-size-md: 13px;
--padding-md: 8px 12px;
--padding: var( ${({
size
}) => sizesMap[size].padding} );
--color: var( ${({
variant
}) => colorsMap[variant].text} );
--background: var( ${({
variant
}) => colorsMap[variant].background} );
--border-color: var( ${({
variant
}) => colorsMap[variant].border} );
--border: 1px solid var( --border-color );
--cursor: pointer;
--font-weight: 400;
--font-family: Roboto, sans-serif;
--font-size: var( ${({
size
}) => sizesMap[size].fontSize} );
--border-radius: 3px;
font-style: normal !important;
text-align: center !important;
line-height: 1 !important;
cursor: var( --cursor ) !important;
transition: .3s all !important;
&, & * {
cursor: var( --cursor ) !important;
}
${({
disabled
}) => disabled && (0,styled_components__WEBPACK_IMPORTED_MODULE_1__.css)`
opacity: .5;
pointer-events: none;
--cursor: not-allowed;
`}
${({
variant
}) => 'transparent' === variant && (0,styled_components__WEBPACK_IMPORTED_MODULE_1__.css)`
--padding: 0;
`}
&:hover, &:focus {
--background: var(
${({
variant
}) => colorsMap[variant].backgroundHover || colorsMap[variant].background}
);
}
`;
Button.propTypes = {
variant: PropTypes.oneOf(['contained', 'outlined', 'transparent']).isRequired,
size: PropTypes.oneOf(['md']).isRequired,
disabled: PropTypes.bool
};
Button.defaultProps = {
variant: 'contained',
size: 'md'
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Button);
/***/ }),
/***/ "../assets/js/app/components/ui/checkbox/checkbox.js":
/*!***********************************************************!*\
!*** ../assets/js/app/components/ui/checkbox/checkbox.js ***!
\***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ Checkbox)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _radix_ui_react_checkbox__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-checkbox */ "../../../node_modules/@radix-ui/react-checkbox/dist/index.module.js");
/* harmony import */ var _button_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../button-base */ "../assets/js/app/components/ui/button-base.js");
/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../icon */ "../assets/js/app/components/ui/icon.js");
const StyledCheckbox = (0,styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_button_base__WEBPACK_IMPORTED_MODULE_1__["default"])).attrs(() => ({
as: _radix_ui_react_checkbox__WEBPACK_IMPORTED_MODULE_4__.Root
}))`
--border-color: #a4afb6;
--background: #fff;
--border: 1px solid var( --border-color );
--border-radius: 3px;
--width: 12px;
--height: 12px;
--display: inline-flex;
align-items: center;
justify-content: center;
position: relative;
margin: 0;
outline: none;
transition: 0.2s all;
overflow: hidden;
&[data-state="checked"] {
--border-color: #39b54a;
}
&:hover, &:focus {
outline: none;
--background: #eee;
& > * {
--background: rgba(57, 181, 74, 0.8);
}
}
`;
const StyledIndicator = (0,styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_radix_ui_react_checkbox__WEBPACK_IMPORTED_MODULE_4__.Indicator))`
all: revert;
position: absolute !important;
inset: 0 !important;
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
background: #39b54a !important;
color: #fff !important;
outline: none !important;
font-size: 8px !important;
`;
function Checkbox(props) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(StyledCheckbox, props, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(StyledIndicator, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_icon__WEBPACK_IMPORTED_MODULE_2__["default"], {
className: "eicon-check"
})));
}
Checkbox.propTypes = {
..._radix_ui_react_checkbox__WEBPACK_IMPORTED_MODULE_4__.Root.propTypes
};
/***/ }),
/***/ "../assets/js/app/components/ui/div-base.js":
/*!**************************************************!*\
!*** ../assets/js/app/components/ui/div-base.js ***!
\**************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/**
* Simple div to handle themes overrides.
*/
const DivBase = styled_components__WEBPACK_IMPORTED_MODULE_0__["default"].div`
all: revert;
box-sizing: border-box;
&:before,
&:after {
display: none !important;
}
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DivBase);
/***/ }),
/***/ "../assets/js/app/components/ui/dropdown/dropdown-arrow.js":
/*!*****************************************************************!*\
!*** ../assets/js/app/components/ui/dropdown/dropdown-arrow.js ***!
\*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @radix-ui/react-dropdown-menu */ "../../../node_modules/@radix-ui/react-dropdown-menu/dist/index.module.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
const DropdownArrow = (0,styled_components__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_1__.Arrow))`
fill: #fff;
margin: 0 10px;
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DropdownArrow);
/***/ }),
/***/ "../assets/js/app/components/ui/dropdown/dropdown-content.js":
/*!*******************************************************************!*\
!*** ../assets/js/app/components/ui/dropdown/dropdown-content.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-dropdown-menu */ "../../../node_modules/@radix-ui/react-dropdown-menu/dist/index.module.js");
/* harmony import */ var _styles_animation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../styles/animation */ "../assets/js/app/styles/animation.js");
const DropdownContent = (0,styled_components__WEBPACK_IMPORTED_MODULE_1__["default"])((0,_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_2__.Content))`
all: revert;
background: #fff !important;
border-radius: 3px !important;
min-width: 120px !important;
box-shadow: 0 1px 20px rgba(0, 0, 0, 0.15) !important;
animation-duration: 400ms !important;
animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1) !important;
padding: 4px !important;
&[data-state="open"] {
&[data-side="top"] {
animation-name: ${_styles_animation__WEBPACK_IMPORTED_MODULE_0__.slideUpAndFade};
}
&[data-side="right"] {
animation-name: ${_styles_animation__WEBPACK_IMPORTED_MODULE_0__.slideRightAndFade};
}
&[data-side="bottom"] {
animation-name: ${_styles_animation__WEBPACK_IMPORTED_MODULE_0__.slideDownAndFade};
}
&[data-side="left"] {
animation-name: ${_styles_animation__WEBPACK_IMPORTED_MODULE_0__.slideLeftAndFade};
}
}
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DropdownContent);
/***/ }),
/***/ "../assets/js/app/components/ui/dropdown/dropdown-item.js":
/*!****************************************************************!*\
!*** ../assets/js/app/components/ui/dropdown/dropdown-item.js ***!
\****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ DropdownItem)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-dropdown-menu */ "../../../node_modules/@radix-ui/react-dropdown-menu/dist/index.module.js");
/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../icon */ "../assets/js/app/components/ui/icon.js");
/* harmony import */ var _tooltip_tooltip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../tooltip/tooltip */ "../assets/js/app/components/ui/tooltip/tooltip.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const variants = {
default: {
hoverTextColor: '#6d7882',
hoverIconColor: '#a4afb6'
},
danger: {
hoverTextColor: '#b01b1b',
hoverIconColor: '#d9534f'
}
};
const Icon = (0,styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_icon__WEBPACK_IMPORTED_MODULE_1__["default"]))`
color: #a4afb6 !important;
transition: 0.2s all;
`;
const ItemWrapper = styled_components__WEBPACK_IMPORTED_MODULE_3__["default"].span`
display: flex !important;
align-items: center !important;
gap: 8px !important;
`;
const StyledDropdownItem = (0,styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.Item))`
all: revert;
font-family: Roboto, sans-serif !important;
font-size: 11px !important;
font-weight: 500 !important;
text-transform: none !important;
font-style: normal !important;
text-decoration: none !important;
line-height: 1.2 !important;
letter-spacing: normal !important;
word-spacing: normal !important;
cursor: pointer !important;
border-radius: 4px !important;
padding: 7px 12px !important;
color: #6d7882 !important;
transition: 0.2s all !important;
&[data-disabled] {
opacity: 0.5 !important;
cursor: default !important;
}
&:focus {
background: #f1f3f5 !important;
outline: none !important;
color: ${({
variant
}) => variants[variant].hoverTextColor} !important;
${Icon} {
color: ${({
variant
}) => variants[variant].hoverIconColor} !important;
}
}
`;
function DropdownItem({
children,
icon,
tooltip,
...props
}) {
const DropdownItemContent = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(ItemWrapper, null, icon && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Icon, {
className: icon
}), children);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(StyledDropdownItem, props, tooltip ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_2__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_2__["default"].Trigger, {
asChild: true
}, DropdownItemContent), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_2__["default"].Content, null, tooltip, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_2__["default"].Arrow, null))) : DropdownItemContent);
}
DropdownItem.propTypes = {
...DropdownItem.propTypes,
icon: PropTypes.string,
tooltip: PropTypes.node,
variant: PropTypes.oneOf(['default', 'danger'])
};
DropdownItem.defaultProps = {
variant: 'default'
};
/***/ }),
/***/ "../assets/js/app/components/ui/dropdown/dropdown-separator.js":
/*!*********************************************************************!*\
!*** ../assets/js/app/components/ui/dropdown/dropdown-separator.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @radix-ui/react-dropdown-menu */ "../../../node_modules/@radix-ui/react-dropdown-menu/dist/index.module.js");
const DropdownSeparator = (0,styled_components__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_1__.Separator))`
height: 1px !important;
background: #f1f3f5 !important;
margin: 7px 10px !important;
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DropdownSeparator);
/***/ }),
/***/ "../assets/js/app/components/ui/dropdown/dropdown.js":
/*!***********************************************************!*\
!*** ../assets/js/app/components/ui/dropdown/dropdown.js ***!
\***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-dropdown-menu */ "../../../node_modules/@radix-ui/react-dropdown-menu/dist/index.module.js");
/* harmony import */ var _dropdown_content__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dropdown-content */ "../assets/js/app/components/ui/dropdown/dropdown-content.js");
/* harmony import */ var _dropdown_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dropdown-item */ "../assets/js/app/components/ui/dropdown/dropdown-item.js");
/* harmony import */ var _dropdown_arrow__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dropdown-arrow */ "../assets/js/app/components/ui/dropdown/dropdown-arrow.js");
/* harmony import */ var _dropdown_separator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dropdown-separator */ "../assets/js/app/components/ui/dropdown/dropdown-separator.js");
const Dropdown = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.Root;
Dropdown.Trigger = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.Trigger;
Dropdown.Content = _dropdown_content__WEBPACK_IMPORTED_MODULE_0__["default"];
Dropdown.Item = _dropdown_item__WEBPACK_IMPORTED_MODULE_1__["default"];
Dropdown.Arrow = _dropdown_arrow__WEBPACK_IMPORTED_MODULE_2__["default"];
Dropdown.Separator = _dropdown_separator__WEBPACK_IMPORTED_MODULE_3__["default"];
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Dropdown);
/***/ }),
/***/ "../assets/js/app/components/ui/icon-button/icon-button.js":
/*!*****************************************************************!*\
!*** ../assets/js/app/components/ui/icon-button/icon-button.js ***!
\*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "../../../node_modules/@babel/runtime/helpers/esm/extends.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _button_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../button-base */ "../assets/js/app/components/ui/button-base.js");
/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../icon */ "../assets/js/app/components/ui/icon.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const fontSizeMapping = {
sm: '15px',
md: '18px'
};
const StyledIconButton = (0,styled_components__WEBPACK_IMPORTED_MODULE_4__["default"])((0,_button_base__WEBPACK_IMPORTED_MODULE_2__["default"]))`
--color: #a4afb7;
--background: transparent;
--padding: 4px;
--font-size: ${({
size
}) => fontSizeMapping[size]};
--border: none;
--border-radius: 100%;
--display: grid;
transition: 0.2s all;
place-items: center;
border-radius: 100%;
cursor: pointer;
&:hover, &:focus {
--background: transparent;
--color: #6d7882;
outline: none;
}
&:focus {
--background: #f1f3f5;
}
${({
disabled
}) => disabled && (0,styled_components__WEBPACK_IMPORTED_MODULE_4__.css)`
opacity: .5;
pointer-events: none;
cursor: not-allowed;
`}
`;
const IconButton = react__WEBPACK_IMPORTED_MODULE_1___default().forwardRef(({
name,
...props
}, ref) => {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(StyledIconButton, (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, {
ref: ref
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_icon__WEBPACK_IMPORTED_MODULE_3__["default"], {
className: name
}));
});
IconButton.displayName = 'IconButton';
IconButton.propTypes = {
size: PropTypes.oneOf(['sm', 'md']),
name: PropTypes.string.isRequired,
onClick: PropTypes.func,
disabled: PropTypes.bool
};
IconButton.defaultProps = {
size: 'md'
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (IconButton);
/***/ }),
/***/ "../assets/js/app/components/ui/icon.js":
/*!**********************************************!*\
!*** ../assets/js/app/components/ui/icon.js ***!
\**********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/**
* Simple i tag to handle themes overrides.
*/
const Icon = styled_components__WEBPACK_IMPORTED_MODULE_0__["default"].i`
margin: 0 !important;
padding: 0 !important;
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Icon);
/***/ }),
/***/ "../assets/js/app/components/ui/label/label.js":
/*!*****************************************************!*\
!*** ../assets/js/app/components/ui/label/label.js ***!
\*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _radix_ui_react_label__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @radix-ui/react-label */ "../../../node_modules/@radix-ui/react-label/dist/index.module.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
const Label = (0,styled_components__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_radix_ui_react_label__WEBPACK_IMPORTED_MODULE_1__.Label))`
all: revert;
font-size: 11px !important;
color: #a4afb6 !important;
font-weight: 500 !important;
font-family: Roboto, sans-serif !important;
user-select: none !important;
display: inline-flex !important;
align-items: center !important;
gap: 8px !important;
line-height: 2 !important;
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Label);
/***/ }),
/***/ "../assets/js/app/components/ui/marker.js":
/*!************************************************!*\
!*** ../assets/js/app/components/ui/marker.js ***!
\************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const sizesMap = {
xs: 20,
sm: 25,
md: 34,
lg: 80,
xl: 160
};
const colorsMap = {
active: {
background: '--color-editor-info',
text: '--color-white'
},
solid: {
background: '--color-editor-info',
text: '--color-white'
},
ghost: {
background: '--color-ghost',
text: '--color-gray'
}
};
const bounce = (0,styled_components__WEBPACK_IMPORTED_MODULE_0__.keyframes)`
0% {
opacity: 0;
transform: scale(.8);
transform-origin: 50% 100%;
}
50% {
opacity: 1;
transform: scale(1.2);
transform-origin: 50% 100%;
}
100% {
opacity: 1;
transform: scale(1);
transform-origin: 50% 100%;
}
`;
const Marker = styled_components__WEBPACK_IMPORTED_MODULE_0__["default"].span.withConfig({
shouldForwardProp: prop => 'children' === prop
})`
all: revert;
--color-editor-info: #58d0f5;
--color-ghost: #fff;
--color-white: #fff;
--color-gray: #a4afb6;
--color-shadow: rgba(0, 0, 0, 0.2);
--size: ${({
size
}) => sizesMap[size]};
--position: relative;
display: grid;
place-items: center;
position: relative;
height: calc(var(--size) * 1px);
width: calc(var(--size) * 1px);
line-height: 2.8;
font-family: Roboto, sans-serif !important;
font-size: calc(var(--size) * .38px);
font-weight: 500;
color: var(${({
variant
}) => colorsMap[variant].text});
isolation: isolate;
animation: .3s ${bounce} both;
transition: .3s all;
${({
muted
}) => muted && (0,styled_components__WEBPACK_IMPORTED_MODULE_0__.css)`
--color-shadow: transparent;
opacity: .5 !important;
`}
&::before {
--background-color: var(${({
variant
}) => colorsMap[variant].background});
--border-color: var( --background-color );
content: '';
display: block;
position: absolute;
z-index: -1;
inset: 0;
background-color: var( --background-color );
border: calc(var(--size) / 20 * 1px) solid var(--border-color);
border-radius: 100% 100% 25% 100%;
transform: rotate(45deg);
${({
variant
}) => 'active' === variant && (0,styled_components__WEBPACK_IMPORTED_MODULE_0__.css)`
mask-image: radial-gradient(transparent 30%, #000 32%);
`}
${({
variant
}) => 'ghost' === variant && (0,styled_components__WEBPACK_IMPORTED_MODULE_0__.css)`
--border-color: var(--color-gray);
`}
}
`;
Marker.propTypes = {
variant: PropTypes.oneOf(['active', 'solid', 'ghost']).isRequired,
size: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl']).isRequired,
muted: PropTypes.bool,
children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)])
};
Marker.defaultProps = {
variant: 'solid',
size: 'md',
muted: false
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Marker);
/***/ }),
/***/ "../assets/js/app/components/ui/panel/panel-body.js":
/*!**********************************************************!*\
!*** ../assets/js/app/components/ui/panel/panel-body.js ***!
\**********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ PanelBody)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _div_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../div-base */ "../assets/js/app/components/ui/div-base.js");
/* harmony import */ var _panel_resizer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./panel-resizer */ "../assets/js/app/components/ui/panel/panel-resizer.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const StyledPanelBody = (0,styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_div_base__WEBPACK_IMPORTED_MODULE_1__["default"]))`
position: relative !important;
display: flex !important;
flex-direction: column !important;
overflow: hidden !important;
`;
function PanelBody(props) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(StyledPanelBody, props, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_panel_resizer__WEBPACK_IMPORTED_MODULE_2__["default"], null, props.children));
}
PanelBody.propTypes = {
children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)])
};
/***/ }),
/***/ "../assets/js/app/components/ui/panel/panel-draggable.js":
/*!***************************************************************!*\
!*** ../assets/js/app/components/ui/panel/panel-draggable.js ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ PanelDraggable)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react_draggable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-draggable */ "../../../node_modules/react-draggable/build/cjs/cjs.js");
/* harmony import */ var react_draggable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_draggable__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _hooks_use_debounced_callback__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../hooks/use-debounced-callback */ "../assets/js/app/hooks/use-debounced-callback.js");
/* harmony import */ var _panel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./panel */ "../assets/js/app/components/ui/panel/panel.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
function PanelDraggable(props) {
const {
size: {
defaultWidth
}
} = (0,_panel__WEBPACK_IMPORTED_MODULE_3__.usePanelContext)(),
[bounds, setBounds] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({}),
[position, setPosition] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(props.defaultPosition),
positionRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)({});
positionRef.current = position;
const onStopDrag = (event, dragElement) => {
const {
x,
y
} = dragElement;
setPosition({
x,
y
});
};
/**
* Reset the position of the panel if it is outside the bounds of the window after resize.
*/
const resetPosition = () => {
const {
x: currentX,
y: currentY
} = positionRef.current;
const {
x: defaultX,
y: defaultY
} = props.defaultPosition;
if (currentX === defaultX && currentY === defaultY) {
return;
}
const newX = currentX < bounds.left || currentX > bounds.right ? defaultX : currentX;
const newY = currentY < bounds.top || currentY > bounds.bottom ? defaultY : currentY;
if (newX === currentX && newY === currentY) {
return;
}
setPosition({
x: newX,
y: newY
});
};
/**
* Disallow dragging the panel outside the window bounds.
* Show at least 15% of the panel on the left and right sides of the window.
* Show at least the panel handle on the bottom of the window.
*/
const calculateBounds = (0,_hooks_use_debounced_callback__WEBPACK_IMPORTED_MODULE_2__["default"])(() => {
const {
innerWidth: windowWidth,
innerHeight: windowHeight
} = window;
setBounds({
top: 0,
left: 0 - defaultWidth * 0.85,
right: windowWidth - defaultWidth * 0.15,
bottom: windowHeight - (props.nodeRef.current?.querySelector(props.handleClass)?.offsetHeight || 0)
});
}, 100);
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
resetPosition();
}, [bounds]);
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
calculateBounds();
window.addEventListener('resize', calculateBounds);
return () => {
window.removeEventListener('resize', calculateBounds);
};
}, []);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react_draggable__WEBPACK_IMPORTED_MODULE_1___default()), {
handle: props.handleClass,
defaultPosition: props.defaultPosition,
nodeRef: props.nodeRef,
bounds: bounds,
position: positionRef.current,
onStop: onStopDrag
}, props.children);
}
PanelDraggable.propTypes = {
children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),
handleClass: PropTypes.string,
defaultPosition: PropTypes.shape({
x: PropTypes.number,
y: PropTypes.number
}),
nodeRef: PropTypes.shape({
current: PropTypes.object
}),
isFloating: PropTypes.bool
};
/***/ }),
/***/ "../assets/js/app/components/ui/panel/panel-footer.js":
/*!************************************************************!*\
!*** ../assets/js/app/components/ui/panel/panel-footer.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _div_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../div-base */ "../assets/js/app/components/ui/div-base.js");
const PanelFooter = (0,styled_components__WEBPACK_IMPORTED_MODULE_1__["default"])((0,_div_base__WEBPACK_IMPORTED_MODULE_0__["default"]))`
background: #fff !important;
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PanelFooter);
/***/ }),
/***/ "../assets/js/app/components/ui/panel/panel-header-side-col.js":
/*!*********************************************************************!*\
!*** ../assets/js/app/components/ui/panel/panel-header-side-col.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _div_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../div-base */ "../assets/js/app/components/ui/div-base.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const PanelHeaderSideCol = (0,styled_components__WEBPACK_IMPORTED_MODULE_1__["default"])((0,_div_base__WEBPACK_IMPORTED_MODULE_0__["default"]))`
display: flex !important;
justify-self: ${({
align
}) => align} !important;
`;
PanelHeaderSideCol.propTypes = {
children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),
align: PropTypes.oneOf(['start', 'end']).isRequired
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PanelHeaderSideCol);
/***/ }),
/***/ "../assets/js/app/components/ui/panel/panel-header-title.js":
/*!******************************************************************!*\
!*** ../assets/js/app/components/ui/panel/panel-header-title.js ***!
\******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
const PanelHeaderTitle = styled_components__WEBPACK_IMPORTED_MODULE_0__["default"].h3`
all: revert;
font-family: Roboto, sans-serif !important;
font-size: 13px !important;
font-weight: 400 !important;
text-transform: none !important;
font-style: normal !important;
text-decoration: none !important;
line-height: 24px !important;
letter-spacing: normal !important;
word-spacing: normal !important;
color: #6d7882 !important;
text-align: center !important;
flex-grow: 1 !important;
margin: 0 !important;
user-select: none !important;
&::before, &::after {
display: none !important;
}
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PanelHeaderTitle);
/***/ }),
/***/ "../assets/js/app/components/ui/panel/panel-header.js":
/*!************************************************************!*\
!*** ../assets/js/app/components/ui/panel/panel-header.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ PanelHeader)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _panel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./panel */ "../assets/js/app/components/ui/panel/panel.js");
/* harmony import */ var _div_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../div-base */ "../assets/js/app/components/ui/div-base.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const StyledPanelHeader = (0,styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_div_base__WEBPACK_IMPORTED_MODULE_2__["default"]))`
display: grid !important;
grid-template-columns: 1fr 2fr 1fr !important;
grid-column-gap: 10px !important;
align-items: center !important;
background: #ffffff !important;
padding: 6px 8px !important;
flex-shrink: 0 !important;
${({
isFloating
}) => isFloating && (0,styled_components__WEBPACK_IMPORTED_MODULE_3__.css)`
cursor: move;
`}
`;
function PanelHeader(props) {
const {
floating: {
active,
handleClassName
}
} = (0,_panel__WEBPACK_IMPORTED_MODULE_1__.usePanelContext)();
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(StyledPanelHeader, {
className: handleClassName,
isFloating: active
}, props.children);
}
PanelHeader.propTypes = {
children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)])
};
/***/ }),
/***/ "../assets/js/app/components/ui/panel/panel-loading.js":
/*!*************************************************************!*\
!*** ../assets/js/app/components/ui/panel/panel-loading.js ***!
\*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ PanelLoading)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _div_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../div-base */ "../assets/js/app/components/ui/div-base.js");
/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../icon */ "../assets/js/app/components/ui/icon.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const StyledPanelLoading = (0,styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_div_base__WEBPACK_IMPORTED_MODULE_1__["default"]))`
position: absolute !important;
inset: 0 !important;
background: #e6e9ec !important;
transition: 0.3s all !important;
font-size: 30px !important;
display: grid !important;
place-items: center !important;
color: #a4afb6 !important;
${({
show
}) => !show && (0,styled_components__WEBPACK_IMPORTED_MODULE_3__.css)`
opacity: 0 !important;
pointer-events: none !important;
`}
`;
function PanelLoading(props) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(StyledPanelLoading, props, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_icon__WEBPACK_IMPORTED_MODULE_2__["default"], {
className: "eicon-loading eicon-animation-spin"
}));
}
PanelLoading.propTypes = {
show: PropTypes.bool
};
/***/ }),
/***/ "../assets/js/app/components/ui/panel/panel-resizer.js":
/*!*************************************************************!*\
!*** ../assets/js/app/components/ui/panel/panel-resizer.js ***!
\*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ PanelResizer)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _div_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../div-base */ "../assets/js/app/components/ui/div-base.js");
/* harmony import */ var _panel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./panel */ "../assets/js/app/components/ui/panel/panel.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const Container = (0,styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_div_base__WEBPACK_IMPORTED_MODULE_1__["default"]))`
flex: 1 1 auto !important;
inset: 0 !important;
display: inline-flex !important;
flex-direction: column !important;
overflow: hidden !important;
&.resizing {
user-select: none;
}
`;
const Children = (0,styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_div_base__WEBPACK_IMPORTED_MODULE_1__["default"]))`
overflow-y: auto !important;
flex-grow: 1 !important;
flex-shrink: 1 !important;
`;
const handleProps = {
height: 20
};
const Handle = (0,styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_div_base__WEBPACK_IMPORTED_MODULE_1__["default"]))`
flex: 0 0 ${handleProps.height}px !important;
display: inline-flex !important;
justify-content: center !important;
align-items: center !important;
background-color: #fff !important;
margin-top: 1px !important;
cursor: row-resize !important;
`;
function PanelResizer(props) {
const {
size: {
defaultHeight
}
} = (0,_panel__WEBPACK_IMPORTED_MODULE_2__.usePanelContext)();
const resizableRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
const childrenRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
const handleRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
let minHeight = 0,
maxHeight,
currentHeight,
currentY = 0;
const onMouseMove = e => {
resizableRef.current.classList.add('resizing');
const delta = e.clientY - currentY;
currentHeight = currentHeight + delta;
if (currentHeight < minHeight) {
currentHeight = minHeight;
}
if (currentHeight > maxHeight) {
currentHeight = maxHeight;
}
currentY = e.clientY;
setCurrentHeight();
};
const onMouseUp = () => {
document.removeEventListener('mousemove', onMouseMove);
resizableRef.current.classList.remove('resizing');
};
const onMouseDown = e => {
currentY = e.clientY;
document.addEventListener('mousemove', onMouseMove);
document.addEventListener('mouseup', onMouseUp);
};
const calculateMinMax = () => {
currentHeight = defaultHeight;
setCurrentHeight();
minHeight += handleProps.height;
maxHeight = window.innerHeight;
};
const setCurrentHeight = () => {
resizableRef.current.style.height = `${currentHeight}px`;
};
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
calculateMinMax();
handleRef.current.addEventListener('mousedown', onMouseDown);
return () => {
if (handleRef.current) {
handleRef.current.removeEventListener('mousedown', onMouseDown);
}
};
}, [props.children]);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Container, {
ref: resizableRef
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Children, {
ref: childrenRef
}, props.children), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Handle, {
ref: handleRef
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("i", {
className: "eicon-ellipsis-h"
})));
}
PanelResizer.propTypes = {
children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)])
};
/***/ }),
/***/ "../assets/js/app/components/ui/panel/panel.js":
/*!*****************************************************!*\
!*** ../assets/js/app/components/ui/panel/panel.js ***!
\*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ Panel),
/* harmony export */ usePanelContext: () => (/* binding */ usePanelContext)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "../../../node_modules/@babel/runtime/helpers/esm/extends.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _div_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../div-base */ "../assets/js/app/components/ui/div-base.js");
/* harmony import */ var _panel_draggable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./panel-draggable */ "../assets/js/app/components/ui/panel/panel-draggable.js");
/* harmony import */ var _panel_body__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./panel-body */ "../assets/js/app/components/ui/panel/panel-body.js");
/* harmony import */ var _panel_footer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./panel-footer */ "../assets/js/app/components/ui/panel/panel-footer.js");
/* harmony import */ var _panel_header__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./panel-header */ "../assets/js/app/components/ui/panel/panel-header.js");
/* harmony import */ var _panel_header_side_col__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./panel-header-side-col */ "../assets/js/app/components/ui/panel/panel-header-side-col.js");
/* harmony import */ var _panel_header_title__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./panel-header-title */ "../assets/js/app/components/ui/panel/panel-header-title.js");
/* harmony import */ var _panel_loading__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./panel-loading */ "../assets/js/app/components/ui/panel/panel-loading.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../utils */ "../assets/js/app/utils.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const StyledPanel = (0,styled_components__WEBPACK_IMPORTED_MODULE_11__["default"])((0,_div_base__WEBPACK_IMPORTED_MODULE_2__["default"]))`
display: flex !important;
flex-direction: column !important;
background: #e6e9ec !important;
overflow: hidden !important;
border-radius: 3px !important;
box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1) !important;
${({
defaultSize
}) => defaultSize && (0,styled_components__WEBPACK_IMPORTED_MODULE_11__.css)`
width: ${defaultSize.width}px !important;
max-height: 100vh !important;
`}
${({
isFloating
}) => isFloating && (0,styled_components__WEBPACK_IMPORTED_MODULE_11__.css)`
position: fixed !important;
top: 0 !important;
inset-inline-start: 0 !important;
z-index: ${_utils__WEBPACK_IMPORTED_MODULE_10__.MAX_Z_INDEX} !important;
`}
// The class comes from the react-draggable component.
&:not(.react-draggable-dragging) {
transition: transform 0.3s ease-out !important;
}
*:focus {
outline: none;
}
`;
const PanelContext = (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)({});
function Panel(props) {
const panelRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)();
const contextValue = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(() => {
return {
floating: {
active: !!props.isFloating,
handleClassName: 'floating-handle'
},
size: {
defaultWidth: props.defaultSize.width,
defaultHeight: props.defaultSize.height
}
};
}, [props.isFloating]);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(PanelContext.Provider, {
value: contextValue
}, props.isFloating ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_panel_draggable__WEBPACK_IMPORTED_MODULE_3__["default"], {
handleClass: `.${contextValue.floating.handleClassName}`,
defaultPosition: props.defaultPosition,
nodeRef: panelRef
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(StyledPanel, (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, {
ref: panelRef,
defaultSize: props.defaultSize
}))) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(StyledPanel, (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, {
defaultSize: props.defaultSize
})));
}
Panel.propTypes = {
children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),
defaultPosition: PropTypes.shape({
x: PropTypes.number,
y: PropTypes.number
}),
defaultSize: PropTypes.shape({
width: PropTypes.number,
height: PropTypes.number
}),
isFloating: PropTypes.bool
};
Panel.Header = _panel_header__WEBPACK_IMPORTED_MODULE_6__["default"];
Panel.HeaderTitle = _panel_header_title__WEBPACK_IMPORTED_MODULE_8__["default"];
Panel.HeaderSideCol = _panel_header_side_col__WEBPACK_IMPORTED_MODULE_7__["default"];
Panel.Body = _panel_body__WEBPACK_IMPORTED_MODULE_4__["default"];
Panel.Loading = _panel_loading__WEBPACK_IMPORTED_MODULE_9__["default"];
Panel.Footer = _panel_footer__WEBPACK_IMPORTED_MODULE_5__["default"];
function usePanelContext() {
const contextValue = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(PanelContext);
if (!contextValue) {
throw new Error('`usePanelContext` must be used inside Panel\'s components.');
}
return contextValue;
}
/***/ }),
/***/ "../assets/js/app/components/ui/popover/popover-arrow.js":
/*!***************************************************************!*\
!*** ../assets/js/app/components/ui/popover/popover-arrow.js ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _radix_ui_react_popover__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @radix-ui/react-popover */ "../../../node_modules/@radix-ui/react-popover/dist/index.module.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
const PopoverArrow = (0,styled_components__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_radix_ui_react_popover__WEBPACK_IMPORTED_MODULE_1__.Arrow))`
fill: #fff;
margin: 0 10px;
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PopoverArrow);
/***/ }),
/***/ "../assets/js/app/components/ui/popover/popover-close-button.js":
/*!**********************************************************************!*\
!*** ../assets/js/app/components/ui/popover/popover-close-button.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ PopoverCloseButton)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "../../../node_modules/@babel/runtime/helpers/esm/extends.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _radix_ui_react_popover__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-popover */ "../../../node_modules/@radix-ui/react-popover/dist/index.module.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _icon_button_icon_button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../icon-button/icon-button */ "../assets/js/app/components/ui/icon-button/icon-button.js");
const StyledCloseButton = (0,styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_icon_button_icon_button__WEBPACK_IMPORTED_MODULE_2__["default"]))`
--position-spacing: 4px;
position: absolute;
top: var(--position-spacing);
inset-inline-end: var(--position-spacing);
`;
function PopoverCloseButton(props) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_radix_ui_react_popover__WEBPACK_IMPORTED_MODULE_4__.Close, {
asChild: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(StyledCloseButton, (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, {
name: "eicon-editor-close",
size: "sm"
})));
}
PopoverCloseButton.propTypes = {
..._radix_ui_react_popover__WEBPACK_IMPORTED_MODULE_4__.Close.propTypes
};
/***/ }),
/***/ "../assets/js/app/components/ui/popover/popover-content.js":
/*!*****************************************************************!*\
!*** ../assets/js/app/components/ui/popover/popover-content.js ***!
\*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _radix_ui_react_popover__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-popover */ "../../../node_modules/@radix-ui/react-popover/dist/index.module.js");
/* harmony import */ var _styles_animation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../styles/animation */ "../assets/js/app/styles/animation.js");
const PopoverContent = (0,styled_components__WEBPACK_IMPORTED_MODULE_1__["default"])((0,_radix_ui_react_popover__WEBPACK_IMPORTED_MODULE_2__.Content))`
all: revert;
font-family: Roboto, sans-serif !important;
font-size: 1em !important;
font-weight: normal !important;
text-transform: none !important;
font-style: normal !important;
text-decoration: none !important;
line-height: normal !important;
letter-spacing: normal !important;
word-spacing: normal !important;
background: #fff !important;
border-radius: 3px !important;
min-width: 120px !important;
box-shadow: 0 1px 20px rgba(0, 0, 0, 0.15) !important;
animation-duration: 400ms !important;
animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1) !important;
&[data-state="open"] {
&[data-side="top"] {
animation-name: ${_styles_animation__WEBPACK_IMPORTED_MODULE_0__.slideUpAndFade};
}
&[data-side="right"] {
animation-name: ${_styles_animation__WEBPACK_IMPORTED_MODULE_0__.slideRightAndFade};
}
&[data-side="bottom"] {
animation-name: ${_styles_animation__WEBPACK_IMPORTED_MODULE_0__.slideDownAndFade};
}
&[data-side="left"] {
animation-name: ${_styles_animation__WEBPACK_IMPORTED_MODULE_0__.slideLeftAndFade};
}
*:focus {
outline: none;
}
}
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PopoverContent);
/***/ }),
/***/ "../assets/js/app/components/ui/popover/popover.js":
/*!*********************************************************!*\
!*** ../assets/js/app/components/ui/popover/popover.js ***!
\*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _popover_arrow__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./popover-arrow */ "../assets/js/app/components/ui/popover/popover-arrow.js");
/* harmony import */ var _popover_close_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./popover-close-button */ "../assets/js/app/components/ui/popover/popover-close-button.js");
/* harmony import */ var _popover_content__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./popover-content */ "../assets/js/app/components/ui/popover/popover-content.js");
/* harmony import */ var _radix_ui_react_popover__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-popover */ "../../../node_modules/@radix-ui/react-popover/dist/index.module.js");
const Popover = _radix_ui_react_popover__WEBPACK_IMPORTED_MODULE_3__.Root;
Popover.Trigger = _radix_ui_react_popover__WEBPACK_IMPORTED_MODULE_3__.Trigger;
Popover.Content = _popover_content__WEBPACK_IMPORTED_MODULE_2__["default"];
Popover.Arrow = _popover_arrow__WEBPACK_IMPORTED_MODULE_0__["default"];
Popover.CloseButton = _popover_close_button__WEBPACK_IMPORTED_MODULE_1__["default"];
Popover.propTypes = _radix_ui_react_popover__WEBPACK_IMPORTED_MODULE_3__.Root.propTypes;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Popover);
/***/ }),
/***/ "../assets/js/app/components/ui/radio/radio.js":
/*!*****************************************************!*\
!*** ../assets/js/app/components/ui/radio/radio.js ***!
\*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ Radio)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _radix_ui_react_radio_group__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-radio-group */ "../../../node_modules/@radix-ui/react-radio-group/dist/index.module.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _button_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../button-base */ "../assets/js/app/components/ui/button-base.js");
const StyledItem = (0,styled_components__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_button_base__WEBPACK_IMPORTED_MODULE_1__["default"])).attrs(() => ({
as: _radix_ui_react_radio_group__WEBPACK_IMPORTED_MODULE_3__.Item
}))`
--border-color: #a4afb6;
--background: #fff;
--border: 1px solid var( --border-color );
--border-radius: 100%;
--width: 12px;
--height: 12px;
--display: inline-flex;
align-items: center;
justify-content: center;
position: relative;
margin: 0;
outline: none;
transition: 0.2s all;
overflow: hidden;
&[data-state="checked"] {
--border-color: #39b54a;
}
&:hover, &:focus {
outline: none;
--background: #eee;
& > * {
--background: rgba(57, 181, 74, 0.8);
}
}
`;
const StyledIndicator = (0,styled_components__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_radix_ui_react_radio_group__WEBPACK_IMPORTED_MODULE_3__.Indicator))`
all: revert;
position: absolute !important;
top: 0 !important;
right: 0 !important;
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
background: #39b54a !important;
color: #fff !important;
outline: none !important;
font-size: 8px !important;
margin: 2px !important;
border-radius: 100% !important;
width: 6px !important;
height: 6px !important;
`;
function Radio(props) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(StyledItem, props, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(StyledIndicator, null));
}
Radio.propTypes = {
..._radix_ui_react_radio_group__WEBPACK_IMPORTED_MODULE_3__.Item.propTypes
};
Radio.Group = _radix_ui_react_radio_group__WEBPACK_IMPORTED_MODULE_3__.RadioGroup;
/***/ }),
/***/ "../assets/js/app/components/ui/separator/separator.js":
/*!*************************************************************!*\
!*** ../assets/js/app/components/ui/separator/separator.js ***!
\*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ Separator)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _radix_ui_react_separator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-separator */ "../../../node_modules/@radix-ui/react-separator/dist/index.module.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
const StyledSeparator = (0,styled_components__WEBPACK_IMPORTED_MODULE_1__["default"])((0,_radix_ui_react_separator__WEBPACK_IMPORTED_MODULE_2__.Root))`
background: #f1f3f5;
&[data-orientation=horizontal] {
height: 1px;
width: 100%;
margin: 10px 0;
}
&[data-orientation=vertical] {
height: 100%;
width: 1px;
margin: 0 10px;
}
`;
function Separator() {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(StyledSeparator, null);
}
Separator.propTypes = {
..._radix_ui_react_separator__WEBPACK_IMPORTED_MODULE_2__.Root.propTypes
};
/***/ }),
/***/ "../assets/js/app/components/ui/textarea.js":
/*!**************************************************!*\
!*** ../assets/js/app/components/ui/textarea.js ***!
\**************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "../../../node_modules/@babel/runtime/helpers/esm/extends.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _div_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./div-base */ "../assets/js/app/components/ui/div-base.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const Container = (0,styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_div_base__WEBPACK_IMPORTED_MODULE_2__["default"]))`
--font: 300 12px Roboto, sans-serif;
--line-height: 1.5;
--padding-block: 8px;
font-size: 12px !important;
border-radius: 4px !important;
border: 1px solid #c2cbd2 !important;
transition: .3s border-color, .3s opacity !important;
padding: var(--padding-block) 12px !important;
overflow: auto !important;
width: 100% !important;
box-sizing: border-box !important;
${({
maxRows
}) => maxRows && (0,styled_components__WEBPACK_IMPORTED_MODULE_3__.css)`
--max-rows: ${maxRows};
max-height: calc((1em * var(--line-height) * var(--max-rows)) + (var(--padding-block) * 2)) !important;
`};
textarea {
all: revert;
border: none !important;
font: var( --font ) !important;
line-height: var(--line-height) !important;
padding: 0 !important;
margin: 0 !important;
color: #6d7882 !important;
display: block !important;
height: 100% !important;
&::placeholder {
color: #c2cbd2 !important;
}
}
&:focus-within {
border-color: #a4afb6 !important;
// Accessibility-friendly, since the Container itself has a border on focus.
textarea:focus {
outline: none !important;
border: none !important;
}
}
${({
disabled
}) => disabled && (0,styled_components__WEBPACK_IMPORTED_MODULE_3__.css)`
opacity: .5 !important;
pointer-events: none !important;
`}
${({
autoSize
}) => autoSize && (0,styled_components__WEBPACK_IMPORTED_MODULE_3__.css)`
display: inline-grid !important;
vertical-align: top !important;
align-items: center !important;
textarea {
grid-area: 2 / 1 !important;
resize: none !important;
background: none !important;
appearance: none !important;
box-shadow: none !important;
overflow: hidden !important;
&::placeholder {
all: revert;
}
}
&::after {
content: attr(data-value) ' ' !important;
display: block !important;
font: var( --font ) !important;
white-space: pre-wrap !important;
grid-area: 2 / 1 !important;
visibility: hidden !important;
line-height: var(--line-height) !important;
}`}`;
const Textarea = react__WEBPACK_IMPORTED_MODULE_1___default().forwardRef(({
maxRows,
autoSize,
...props
}, ref) => {
const containerRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)();
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(Container, {
maxRows: maxRows,
"data-value": props.value || props.defaultValue,
autoSize: autoSize,
ref: containerRef,
disabled: props.disabled
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("textarea", (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, {
ref: ref,
onInput: e => {
if (props.onInput) {
props.onInput(e);
}
containerRef.current.dataset.value = e.target.value;
}
})));
});
Textarea.displayName = 'Textarea';
Textarea.propTypes = {
disabled: PropTypes.bool,
autoSize: PropTypes.bool,
maxRows: PropTypes.number,
onInput: PropTypes.func,
value: PropTypes.string,
defaultValue: PropTypes.string
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Textarea);
/***/ }),
/***/ "../assets/js/app/components/ui/toast/toast-action.js":
/*!************************************************************!*\
!*** ../assets/js/app/components/ui/toast/toast-action.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-toast */ "../../../node_modules/@radix-ui/react-toast/dist/index.module.js");
/* harmony import */ var _button_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../button-base */ "../assets/js/app/components/ui/button-base.js");
const ToastAction = (0,styled_components__WEBPACK_IMPORTED_MODULE_1__["default"])((0,_button_base__WEBPACK_IMPORTED_MODULE_0__["default"])).attrs(() => ({
as: _radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_2__.ToastAction
}))`
--font-weight: 600 !important;
--font-size: inherit !important;
--font-family: inherit !important;
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ToastAction);
/***/ }),
/***/ "../assets/js/app/components/ui/toast/toast-close.js":
/*!***********************************************************!*\
!*** ../assets/js/app/components/ui/toast/toast-close.js ***!
\***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-toast */ "../../../node_modules/@radix-ui/react-toast/dist/index.module.js");
/* harmony import */ var _button_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../button-base */ "../assets/js/app/components/ui/button-base.js");
const ToastClose = (0,styled_components__WEBPACK_IMPORTED_MODULE_1__["default"])((0,_button_base__WEBPACK_IMPORTED_MODULE_0__["default"])).attrs(() => ({
as: _radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_2__.ToastClose
}))`
--height: 1em !important;
--width: 1em !important;
--display: block !important;
margin-inline-start: auto !important;
position: relative !important;
&::before,
&::after {
content: '' !important;
display: block !important;
position: absolute !important;
left: 50% !important;
top: 50% !important;
margin-left: -1px !important;
margin-top: -.5em !important;
height: 1em !important;
width: 2px;
border-radius: 9999px !important;
background-color: #69727d !important;
transform-origin: center center !important;
transition: .3s all;
}
&::before {
transform: rotate( 45deg ) !important;
}
&::after {
transform: rotate( -45deg ) !important;
}
&:hover::before,
&:hover::after {
background-color: #232629 !important
}
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ToastClose);
/***/ }),
/***/ "../assets/js/app/components/ui/toast/toast-description.js":
/*!*****************************************************************!*\
!*** ../assets/js/app/components/ui/toast/toast-description.js ***!
\*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @radix-ui/react-toast */ "../../../node_modules/@radix-ui/react-toast/dist/index.module.js");
const ToastDescription = (0,styled_components__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_1__.ToastDescription))`
font-weight: normal !important;
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ToastDescription);
/***/ }),
/***/ "../assets/js/app/components/ui/toast/toast-icon.js":
/*!**********************************************************!*\
!*** ../assets/js/app/components/ui/toast/toast-icon.js ***!
\**********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../icon */ "../assets/js/app/components/ui/icon.js");
const ToastIcon = (0,styled_components__WEBPACK_IMPORTED_MODULE_1__["default"])((0,_icon__WEBPACK_IMPORTED_MODULE_0__["default"]))`
color: var( --color ) !important; // Inherited from the <Toast /> component.
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ToastIcon);
/***/ }),
/***/ "../assets/js/app/components/ui/toast/toast-title.js":
/*!***********************************************************!*\
!*** ../assets/js/app/components/ui/toast/toast-title.js ***!
\***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @radix-ui/react-toast */ "../../../node_modules/@radix-ui/react-toast/dist/index.module.js");
const ToastTitle = (0,styled_components__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_1__.ToastTitle))`
font-weight: bold !important;
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ToastTitle);
/***/ }),
/***/ "../assets/js/app/components/ui/toast/toast-viewport.js":
/*!**************************************************************!*\
!*** ../assets/js/app/components/ui/toast/toast-viewport.js ***!
\**************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-toast */ "../../../node_modules/@radix-ui/react-toast/dist/index.module.js");
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ "../assets/js/app/utils.js");
const ToastViewport = (0,styled_components__WEBPACK_IMPORTED_MODULE_1__["default"])((0,_radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_2__.ToastViewport))`
display: flex !important;
flex-direction: column !important;
gap: 12px !important;
position: fixed !important;
max-width: 960px !important;
width: 100% !important;
left: 50% !important;
bottom: 10px !important;
padding-inline: 0 10px !important;
transform: translateX( -50% ) !important;
z-index: ${_utils__WEBPACK_IMPORTED_MODULE_0__.MAX_Z_INDEX} !important;
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ToastViewport);
/***/ }),
/***/ "../assets/js/app/components/ui/toast/toast.js":
/*!*****************************************************!*\
!*** ../assets/js/app/components/ui/toast/toast.js ***!
\*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-toast */ "../../../node_modules/@radix-ui/react-toast/dist/index.module.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _toast_action__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toast-action */ "../assets/js/app/components/ui/toast/toast-action.js");
/* harmony import */ var _toast_icon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toast-icon */ "../assets/js/app/components/ui/toast/toast-icon.js");
/* harmony import */ var _styles_animation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../styles/animation */ "../assets/js/app/styles/animation.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const colorsMap = {
default: {
background: '#f1f2f3',
icon: '#69727d',
action: '#69727d'
},
success: {
background: '#e9fbee',
icon: '#1d6d38',
action: '#1d6d38'
},
warning: {
background: '#fff5e6',
icon: '#976402',
action: '#976402'
},
info: {
background: '#e6f6ff',
icon: '#006bb8',
action: '#006bb8'
},
danger: {
background: '#fde8ec',
icon: '#b92136',
action: '#b92136'
}
};
const Toast = (0,styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Toast))`
display: flex !important;
gap: 8px !important;
align-items: center !important;
width: 100% !important;
box-sizing: border-box !important;
padding: 12px 16px !important;
font-size: 14px !important;
line-height: normal !important;
color: #3a3f45 !important;
text-align: start !important;
border-radius: 6px !important;
box-shadow: 0 0 15px 0 rgba( 0,0,0,.2 ) !important;
animation-duration: 400ms !important;
animation-timing-function: cubic-bezier( 0.16, 1, 0.3, 1 ) !important;
background-color: ${({
variant
}) => colorsMap[variant].background} !important;
&[data-state="open"] {
animation-name: ${_styles_animation__WEBPACK_IMPORTED_MODULE_2__.slideUpAndFade} !important;
}
&[data-state="closed"] {
animation-name: ${_styles_animation__WEBPACK_IMPORTED_MODULE_2__.fadeOut} !important;
}
${_toast_icon__WEBPACK_IMPORTED_MODULE_1__["default"]} {
--color: ${({
variant
}) => colorsMap[variant].icon} !important;
}
${_toast_action__WEBPACK_IMPORTED_MODULE_0__["default"]} {
--color: ${({
variant
}) => colorsMap[variant].icon} !important;
}
`;
Toast.propTypes = {
variant: PropTypes.oneOf(['default', 'success', 'warning', 'info', 'danger']).isRequired
};
Toast.defaultProps = {
variant: 'default'
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Toast);
/***/ }),
/***/ "../assets/js/app/components/ui/tooltip/tooltip-arrow.js":
/*!***************************************************************!*\
!*** ../assets/js/app/components/ui/tooltip/tooltip-arrow.js ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @radix-ui/react-tooltip */ "../../../node_modules/@radix-ui/react-tooltip/dist/index.module.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
const TooltipArrow = (0,styled_components__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_1__.Arrow))`
fill: #26292c;
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TooltipArrow);
/***/ }),
/***/ "../assets/js/app/components/ui/tooltip/tooltip-content.js":
/*!*****************************************************************!*\
!*** ../assets/js/app/components/ui/tooltip/tooltip-content.js ***!
\*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* harmony import */ var _radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-tooltip */ "../../../node_modules/@radix-ui/react-tooltip/dist/index.module.js");
/* harmony import */ var _styles_animation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../styles/animation */ "../assets/js/app/styles/animation.js");
const TooltipContent = (0,styled_components__WEBPACK_IMPORTED_MODULE_1__["default"])((0,_radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_2__.Content))`
all: revert;
font-family: Roboto, sans-serif !important;
font-size: 12px !important;
font-weight: normal !important;
text-transform: none !important;
font-style: normal !important;
text-decoration: none !important;
line-height: normal !important;
letter-spacing: normal !important;
word-spacing: normal !important;
background: #26292c !important;
color: #fff !important;
border-radius: 3px !important;
box-shadow: 0 1px 20px rgba(0, 0, 0, 0.15) !important;
padding: 5px 12px !important;
animation-duration: 400ms !important;
animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1) !important;
will-change: transform, opacity !important;
max-width: 150px !important;
&[data-state="delayed-open"] {
&[data-side="top"] {
animation-name: ${_styles_animation__WEBPACK_IMPORTED_MODULE_0__.slideUpAndFade}
}
&[data-side="right"] {
animation-name: ${_styles_animation__WEBPACK_IMPORTED_MODULE_0__.slideRightAndFade}
}
&[data-side="bottom"] {
animation-name: ${_styles_animation__WEBPACK_IMPORTED_MODULE_0__.slideDownAndFade}
}
&[data-side="left"] {
animation-name: ${_styles_animation__WEBPACK_IMPORTED_MODULE_0__.slideLeftAndFade}
}
}
`;
TooltipContent.propTypes = _radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_2__.Content.propTypes;
TooltipContent.defaultProps = {
side: 'top'
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TooltipContent);
/***/ }),
/***/ "../assets/js/app/components/ui/tooltip/tooltip.js":
/*!*********************************************************!*\
!*** ../assets/js/app/components/ui/tooltip/tooltip.js ***!
\*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-tooltip */ "../../../node_modules/@radix-ui/react-tooltip/dist/index.module.js");
/* harmony import */ var _tooltip_arrow__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./tooltip-arrow */ "../assets/js/app/components/ui/tooltip/tooltip-arrow.js");
/* harmony import */ var _tooltip_content__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./tooltip-content */ "../assets/js/app/components/ui/tooltip/tooltip-content.js");
const Tooltip = _radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_2__.Root;
Tooltip.Trigger = _radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_2__.Trigger;
Tooltip.Arrow = _tooltip_arrow__WEBPACK_IMPORTED_MODULE_0__["default"];
Tooltip.Content = _tooltip_content__WEBPACK_IMPORTED_MODULE_1__["default"];
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Tooltip);
/***/ }),
/***/ "../assets/js/app/components/ui/typeahead/typeahead-list-footer.js":
/*!*************************************************************************!*\
!*** ../assets/js/app/components/ui/typeahead/typeahead-list-footer.js ***!
\*************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _typeahead_list_item__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeahead-list-item */ "../assets/js/app/components/ui/typeahead/typeahead-list-item.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
const TypeaheadListFooter = (0,styled_components__WEBPACK_IMPORTED_MODULE_1__["default"])((0,_typeahead_list_item__WEBPACK_IMPORTED_MODULE_0__["default"])).attrs(() => ({
role: 'contentinfo'
}))`
font-family: Roboto, sans-serif !important;
background: #f1f3f5 !important;
text-align: center !important;
font-size: 12px !important;
line-height: 1.5 !important;
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TypeaheadListFooter);
/***/ }),
/***/ "../assets/js/app/components/ui/typeahead/typeahead-list-item.js":
/*!***********************************************************************!*\
!*** ../assets/js/app/components/ui/typeahead/typeahead-list-item.js ***!
\***********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ TypeaheadListItem)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "../../../node_modules/@babel/runtime/helpers/esm/extends.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const StyledItem = styled_components__WEBPACK_IMPORTED_MODULE_2__["default"].li`
all: revert;
font-family: Roboto, sans-serif !important;
font-size: 12px !important;
color: #6d7882 !important;
background: #ffffff !important;
padding: 8px !important;
cursor: pointer !important;
&:first-child {
border-top-right-radius: inherit;
border-top-left-radius: inherit;
}
&:last-child {
border-bottom-right-radius: inherit;
border-bottom-left-radius: inherit;
}
&[role="option"]:hover,
&[aria-selected="true"] {
background: #58d0f5 !important;
&,
& * {
color: #ffffff !important;
}
}
&[aria-disabled="true"] {
cursor: not-allowed !important;
opacity: .5 !important;
}
`;
function TypeaheadListItem({
children,
value,
disabled,
...rest
}) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(StyledItem, (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({
role: disabled ? 'listitem' : 'option',
"data-value": value
}, disabled ? {
'aria-disabled': true
} : {}, rest), children);
}
TypeaheadListItem.propTypes = {
value: PropTypes.string.isRequired,
disabled: PropTypes.bool,
children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)]).isRequired
};
TypeaheadListItem.defaultProps = {
value: ''
};
/***/ }),
/***/ "../assets/js/app/components/ui/typeahead/typeahead-list.js":
/*!******************************************************************!*\
!*** ../assets/js/app/components/ui/typeahead/typeahead-list.js ***!
\******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
const TypeaheadList = styled_components__WEBPACK_IMPORTED_MODULE_0__["default"].ul`
all: revert;
padding: 0 !important;
margin: 0 !important;
list-style: none !important;
width: 272px !important;
z-index: 1 !important; // Just needs any 'z-index' value in order to appear above other things.
background: #ffffff !important;
border-radius: 3px !important;
box-shadow: 0 1px 20px rgba(0, 0, 0, 0.15) !important;
`;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TypeaheadList);
/***/ }),
/***/ "../assets/js/app/components/ui/typeahead/typeahead.js":
/*!*************************************************************!*\
!*** ../assets/js/app/components/ui/typeahead/typeahead.js ***!
\*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _hooks_use_debounced_callback__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../hooks/use-debounced-callback */ "../assets/js/app/hooks/use-debounced-callback.js");
/* harmony import */ var _typeahead_list__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./typeahead-list */ "../assets/js/app/components/ui/typeahead/typeahead-list.js");
/* harmony import */ var _typeahead_list_item__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./typeahead-list-item */ "../assets/js/app/components/ui/typeahead/typeahead-list-item.js");
/* harmony import */ var _typeahead_list_footer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./typeahead-list-footer */ "../assets/js/app/components/ui/typeahead/typeahead-list-footer.js");
/* harmony import */ var _github_text_expander_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @github/text-expander-element */ "../../../node_modules/@github/text-expander-element/dist/index.js");
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
const Typeahead = props => {
const ref = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null),
fragment = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
/**
* Debounced fragment renderer.
*
* @param {Function} resolve - Promise resolve function.
* @param {string} text - Text to pass to the rendered fragment as a filter prop.
*
* @return {void}
*/
const debouncedResultsRender = (0,_hooks_use_debounced_callback__WEBPACK_IMPORTED_MODULE_1__["default"])(({
resolve,
text
}) => {
if (!fragment.current) {
fragment.current = document.createElement('div');
}
const result = props.fragment({
search: text
});
ReactDOM.render(result, fragment.current); // eslint-disable-line react/no-deprecated
resolve({
matched: true,
fragment: fragment.current
});
}, props.debounce);
/**
* Handle mention change.
*
* @param {CustomEvent} e
*
* @return {void}
*/
const onChange = e => {
const {
provide,
text
} = e.detail;
provide(new Promise(resolve => debouncedResultsRender({
resolve,
text
})));
};
/**
* Handle mention select.
*
* @param {CustomEvent} e
*
* @return {void}
*/
const onValue = e => {
const {
item
} = e.detail;
e.detail.value = `${props.handle}${item.dataset.value}`;
props.onSelect(item, e);
};
// Init & cleanup events.
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
ref.current.addEventListener('text-expander-change', onChange);
ref.current.addEventListener('text-expander-value', onValue);
return () => {
if (ref.current) {
ref.current.removeEventListener('text-expander-change', onChange);
ref.current.removeEventListener('text-expander-value', onValue);
}
};
}, []);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("text-expander", {
keys: props.handle,
ref: ref,
multiword: props.multiword ? props.handle : null
}, props.children);
};
Typeahead.List = _typeahead_list__WEBPACK_IMPORTED_MODULE_2__["default"];
Typeahead.ListItem = _typeahead_list_item__WEBPACK_IMPORTED_MODULE_3__["default"];
Typeahead.ListFooter = _typeahead_list_footer__WEBPACK_IMPORTED_MODULE_4__["default"];
Typeahead.propTypes = {
fragment: PropTypes.func.isRequired,
debounce: PropTypes.number.isRequired,
handle: PropTypes.string.isRequired,
multiword: PropTypes.bool.isRequired,
children: PropTypes.node.isRequired,
onSelect: PropTypes.func.isRequired
};
Typeahead.defaultProps = {
debounce: 0,
handle: '@',
multiword: false,
onSelect: () => {}
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Typeahead);
/***/ }),
/***/ "../assets/js/app/context/elements.js":
/*!********************************************!*\
!*** ../assets/js/app/context/elements.js ***!
\********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ ElementsProvider: () => (/* binding */ ElementsProvider),
/* harmony export */ useElements: () => (/* binding */ useElements)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "../../../node_modules/@babel/runtime/helpers/esm/extends.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
const ElementsContext = (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(null);
/**
*
* @return {{elements: Map<string, HTMLElement>, getDocumentIdByElement: Function}} context
*/
const useElements = () => {
return (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(ElementsContext);
};
const ElementsProvider = props => {
const [elements, setElements] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(() => new Map());
(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => {
const map = new Map(),
noteCapableElements = document.querySelectorAll('.elementor-element[data-id]');
noteCapableElements.forEach(element => {
const {
id
} = element.dataset;
if (!map.has(id)) {
map.set(id, element);
}
});
setElements(map);
}, []);
/**
* Get the document ID for an element.
* Used mainly for handling Header / Footer notes when create a note in a page and not directly on them.
*
* @param {string} elementId - Elementor element ID.
* @param {string|number} defaultId - Default ID to return.
*
* @return {string|number}
*/
const getDocumentIdByElement = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((elementId, defaultId = window.top.$e.components.get('notes').config.route.post_id) => {
if (!elements.has(elementId)) {
return defaultId;
}
const document = elements.get(elementId).closest('[data-elementor-id]');
if (!document) {
return defaultId;
}
return document.dataset.elementorId;
}, [elements]);
const value = {
elements,
getDocumentIdByElement
};
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(ElementsContext.Provider, (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({
value: value
}, props));
};
/***/ }),
/***/ "../assets/js/app/hooks/use-active-thread.js":
/*!***************************************************!*\
!*** ../assets/js/app/hooks/use-active-thread.js ***!
\***************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ NEW_THREAD: () => (/* binding */ NEW_THREAD),
/* harmony export */ THREAD: () => (/* binding */ THREAD),
/* harmony export */ "default": () => (/* binding */ useActiveThread)
/* harmony export */ });
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/es/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
const THREAD = 'thread';
const NEW_THREAD = 'new-thread';
function useActiveThread() {
const activeThread = (0,react_redux__WEBPACK_IMPORTED_MODULE_0__.useSelector)(state => state.notes.active);
/**
* Set the current active thread.
*
* @return void
*/
const setActive = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(({
type,
data
}) => {
const allowedTypes = [THREAD, NEW_THREAD];
if (!allowedTypes.includes(type)) {
throw new Error('`setActive()` type must be one of: ' + allowedTypes.join(', '));
}
return window.top.$e.run('notes/set-active', {
type,
data
});
}, []);
/**
* Clear the current active thread state.
*
* @param {number|null} id - Always clear if `id = null`, or clear only if `id` is provided and is the active thread.
*
* @return void
*/
const clearActive = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((id = null) => {
return window.top.$e.run('notes/clear-active', {
id
});
}, []);
/**
* Determine of a thread is currently active.
*
* @return {boolean}
*/
const isThreadActive = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(noteId => {
return THREAD === activeThread?.type && activeThread?.data.noteId === noteId;
}, [activeThread]);
return {
activeThread,
setActive,
clearActive,
isThreadActive
};
}
/***/ }),
/***/ "../assets/js/app/hooks/use-auto-focus.js":
/*!************************************************!*\
!*** ../assets/js/app/hooks/use-auto-focus.js ***!
\************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ useAutoFocus)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/**
* When using the native autofocus and the input is filled with value the cursor
* will be positioned at the start of the input value, this hook make sure the cursor will be at the end.
*
* @param {string|undefined} value the value of the input
* @return {React.MutableRefObject<undefined>} reference
*/
function useAutoFocus(value) {
const ref = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
if (ref.current) {
const lastCharPosition = value ? value.length : 0;
ref.current.focus();
ref.current.setSelectionRange(lastCharPosition, lastCharPosition);
}
}, []);
return ref;
}
/***/ }),
/***/ "../assets/js/app/hooks/use-debounced-callback.js":
/*!********************************************************!*\
!*** ../assets/js/app/hooks/use-debounced-callback.js ***!
\********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ useDebouncedCallback)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
function useDebouncedCallback(callback, wait) {
const timeout = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();
return (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((...args) => {
const later = () => {
clearTimeout(timeout.current);
callback(...args);
};
clearTimeout(timeout.current);
timeout.current = setTimeout(later, wait);
}, [callback, wait]);
}
/***/ }),
/***/ "../assets/js/app/hooks/use-forms-in-writing-mode.js":
/*!***********************************************************!*\
!*** ../assets/js/app/hooks/use-forms-in-writing-mode.js ***!
\***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ useFormsInWritingMode)
/* harmony export */ });
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/es/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
/**
* A util that manage all the forms that the user start to write some content on them.
*
* @return {Object} results
*/
function useFormsInWritingMode() {
const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_0__.useDispatch)(),
{
actions
} = window.top.$e.store.get('notes'),
formsInWritingMode = (0,react_redux__WEBPACK_IMPORTED_MODULE_0__.useSelector)(state => state.notes.formsInWritingMode);
const isInWritingMode = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(id => formsInWritingMode.includes(id), [formsInWritingMode]);
const addToWritingMode = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(id => dispatch(actions.addFormToWritingMode(id)), [dispatch]);
const removeFromWritingMode = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(id => dispatch(actions.removeFormFromWritingMode(id)), [dispatch]);
return {
formsInWritingMode,
isInWritingMode,
addToWritingMode,
removeFromWritingMode
};
}
/***/ }),
/***/ "../assets/js/app/hooks/use-new-thread-events.js":
/*!*******************************************************!*\
!*** ../assets/js/app/hooks/use-new-thread-events.js ***!
\*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ DISABLE_NEW_THREAD: () => (/* binding */ DISABLE_NEW_THREAD),
/* harmony export */ "default": () => (/* binding */ useNewThreadEvents)
/* harmony export */ });
/* harmony import */ var _use_user_can__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./use-user-can */ "../assets/js/app/hooks/use-user-can.js");
/* harmony import */ var _use_active_thread__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-active-thread */ "../assets/js/app/hooks/use-active-thread.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _context_elements__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../context/elements */ "../assets/js/app/context/elements.js");
// ClassName used to disable new thread events on click.
const DISABLE_NEW_THREAD = 'e-notes--disable-new-thread';
// ClassName used to display the mark and the hover on an element.
const NOTABLE_CLASSNAME = 'e-route-notes--notable';
/**
* Bind click events to notable elements.
*
* @return {void}
*/
function useNewThreadEvents() {
const canCreateThread = useCanCreateThread(),
{
elements
} = (0,_context_elements__WEBPACK_IMPORTED_MODULE_3__.useElements)(),
{
setActive
} = (0,_use_active_thread__WEBPACK_IMPORTED_MODULE_1__["default"])();
// Don't open new thread popover when clicking on an elements that disables it.
// (e.g. marker that opens a note).
const isNewThreadDisabled = e => {
const isDisabledByKeyboard = e.ctrlKey || e.metaKey || e.altKey,
isDisabledByClass = e.target.closest(`.${DISABLE_NEW_THREAD}`);
return isDisabledByKeyboard || isDisabledByClass;
};
// Disable default links behavior.
(0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(() => {
const onClick = e => {
if (isNewThreadDisabled(e)) {
return;
}
e.preventDefault();
e.stopPropagation();
};
elements.forEach(element => {
element.addEventListener('click', onClick);
});
return () => {
elements.forEach(element => {
element.removeEventListener('click', onClick);
});
};
}, [elements]);
// Change the active element on Elementor element click, to open a new-thread popover.
(0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(() => {
const onPointerDown = e => {
const isPrimaryMouseButton = 1 === e.buttons;
if (!isPrimaryMouseButton || isNewThreadDisabled(e)) {
return;
}
e.preventDefault();
e.stopPropagation();
setActive({
type: _use_active_thread__WEBPACK_IMPORTED_MODULE_1__.NEW_THREAD,
data: {
elementId: e.currentTarget.dataset.id,
position: getClickPositionRelativeToTarget(e)
}
});
};
// Bind events.
if (elements.size && canCreateThread) {
elements.forEach(element => {
// Using `pointerdown` instead of `click` because when interacting out of the popover,
// a `click` event is being propagated to the underlying elements when the user releases
// the mouse pointer, which triggers the click handler. This behavior causes a bug where
// a new thread form is being opened instead of just closing the popover.
element.addEventListener('pointerdown', onPointerDown);
});
document.body.classList.add(NOTABLE_CLASSNAME);
}
// Cleanup.
return () => {
elements.forEach(element => {
element.removeEventListener('pointerdown', onPointerDown);
});
document.body.classList.remove(NOTABLE_CLASSNAME);
};
}, [elements, canCreateThread]);
}
/**
* Check if the user has permissions to create thread and there is no active thread.
*
* @return {boolean} does user have permissions to create a thread
*/
function useCanCreateThread() {
const hasPermission = (0,_use_user_can__WEBPACK_IMPORTED_MODULE_0__["default"])(_use_user_can__WEBPACK_IMPORTED_MODULE_0__.CAPABILITY_CREATE),
{
activeThread
} = (0,_use_active_thread__WEBPACK_IMPORTED_MODULE_1__["default"])();
return (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(() => hasPermission && !activeThread, [hasPermission, activeThread]);
}
/**
* Get the mouse click position as percentages, relative to the `currentTarget`.
*
* @param {MouseEvent} e
*
* @return {{x: number, y: number}} location
*/
function getClickPositionRelativeToTarget(e) {
const rect = e.currentTarget.getBoundingClientRect();
return {
x: (e.clientX - rect.left) / rect.width * 100,
y: (e.clientY - rect.top) / rect.height * 100
};
}
/***/ }),
/***/ "../assets/js/app/hooks/use-note.js":
/*!******************************************!*\
!*** ../assets/js/app/hooks/use-note.js ***!
\******************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ useNote)
/* harmony export */ });
/* harmony import */ var _models_note__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../models/note */ "../assets/js/app/models/note.js");
/* harmony import */ var react_query__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-query */ "../../../node_modules/react-query/es/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
// Hook to fetch note data by ID.
function useNote(noteId) {
const queryClient = (0,react_query__WEBPACK_IMPORTED_MODULE_1__.useQueryClient)(),
onSuccess = useOnSuccess(queryClient),
placeholderData = usePlaceholderDataCallback(queryClient, noteId);
return (0,react_query__WEBPACK_IMPORTED_MODULE_1__.useQuery)(['note', noteId], async ({
queryKey: [, id],
signal
}) => {
const {
data
} = await window.top.$e.data.get('notes/index', {
id
}, {
refresh: true,
signal
});
return _models_note__WEBPACK_IMPORTED_MODULE_0__["default"].createFromResponse(data.data);
}, {
onSuccess,
placeholderData // Use Note placeholder data from the "main" query.
});
}
// Get placeholder data for note.
function usePlaceholderDataCallback(queryClient, noteId) {
return (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(() => {
return queryClient.getQueryData('notes', {
active: true,
exact: false
})?.find(note => note.id === noteId);
}, [queryClient, noteId]);
}
// Hook to replace the Thread data in the "main" query, each time a Thread is fetched.
function useOnSuccess(queryClient) {
return (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(fetchedNote => {
if (fetchedNote.isReply()) {
return;
}
queryClient.setQueriesData({
queryKey: ['notes'],
exact: false,
active: true
}, notes => {
if (!notes) {
return notes;
}
// Replace the corresponding Thread (it must be new array to trigger re-render in react components).
return notes.map(note => note.id === fetchedNote.id ? fetchedNote : note);
});
}, [queryClient]);
}
/***/ }),
/***/ "../assets/js/app/hooks/use-notes-config.js":
/*!**************************************************!*\
!*** ../assets/js/app/hooks/use-notes-config.js ***!
\**************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ useNotesConfig)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/**
* Returns notes configuration
*
* @return {Object} config
*/
function useNotesConfig() {
return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => window.top.$e.components.get('notes').config, []);
}
/***/ }),
/***/ "../assets/js/app/hooks/use-notes-filters.js":
/*!***************************************************!*\
!*** ../assets/js/app/hooks/use-notes-filters.js ***!
\***************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ useNotesFilters)
/* harmony export */ });
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/es/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
/**
* Use & set Notes filters from the global state.
*/
function useNotesFilters() {
const filters = (0,react_redux__WEBPACK_IMPORTED_MODULE_0__.useSelector)(state => state.notes.filters),
setFilters = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((newFilters, overwrite = false) => {
return window.top.$e.run('notes/filter', {
filters: newFilters,
overwrite
});
}, []);
return [filters, setFilters];
}
/***/ }),
/***/ "../assets/js/app/hooks/use-notes-mutations.js":
/*!*****************************************************!*\
!*** ../assets/js/app/hooks/use-notes-mutations.js ***!
\*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ useCreateMutation: () => (/* binding */ useCreateMutation),
/* harmony export */ useDeleteMutation: () => (/* binding */ useDeleteMutation),
/* harmony export */ useReadMutation: () => (/* binding */ useReadMutation),
/* harmony export */ useResolveMutation: () => (/* binding */ useResolveMutation),
/* harmony export */ useUpdateMutation: () => (/* binding */ useUpdateMutation)
/* harmony export */ });
/* harmony import */ var _models_note__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../models/note */ "../assets/js/app/models/note.js");
/* harmony import */ var _use_notes_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-notes-config */ "../assets/js/app/hooks/use-notes-config.js");
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils */ "../assets/js/app/utils.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var react_query__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-query */ "../../../node_modules/react-query/es/index.js");
/* harmony import */ var _context_elements__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../context/elements */ "../assets/js/app/context/elements.js");
/* harmony import */ var _use_active_thread__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./use-active-thread */ "../assets/js/app/hooks/use-active-thread.js");
function useCreateMutation() {
const invalidateSingle = useInvalidateSingle(),
invalidateList = useInvalidateList(),
invalidateSummary = useInvalidateSummary(),
{
getDocumentIdByElement
} = (0,_context_elements__WEBPACK_IMPORTED_MODULE_5__.useElements)(),
config = (0,_use_notes_config__WEBPACK_IMPORTED_MODULE_1__["default"])();
return (0,react_query__WEBPACK_IMPORTED_MODULE_4__.useMutation)(async ({
postId,
elementId,
content,
position = {
x: 0,
y: 0
},
routeUrl = config.route.url,
routeTitle = config.route.title,
routePostId = config.route.post_id,
status = 'publish',
parentId,
isPublic = null
}) => {
if (!postId) {
postId = getDocumentIdByElement(elementId);
}
const {
data
} = await window.top.$e.data.create('notes/index', {
post_id: postId,
element_id: elementId,
content,
position,
route_post_id: routePostId,
route_url: routeUrl,
route_title: routeTitle,
status,
parent_id: parentId,
mentioned_usernames: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.extractMentions)(content),
...(null !== isPublic ? {
is_public: isPublic
} : {})
});
return _models_note__WEBPACK_IMPORTED_MODULE_0__["default"].createFromResponse(data.data);
}, {
onSuccess: note => Promise.all(note.isThread() ? [invalidateSummary({
exact: false
}), invalidateList({
exact: false
})] : [invalidateSingle({
id: note.parentId
})])
});
}
function useUpdateMutation() {
const invalidateSingle = useInvalidateSingle();
return (0,react_query__WEBPACK_IMPORTED_MODULE_4__.useMutation)(async ({
id,
values: {
content
}
}) => {
const {
data
} = await window.top.$e.data.update('notes/index', {
content,
mentioned_usernames: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.extractMentions)(content)
}, {
id
});
return _models_note__WEBPACK_IMPORTED_MODULE_0__["default"].createFromResponse(data.data);
}, {
onSuccess: note => invalidateSingle({
id: note.isThread() ? note.id : note.parentId
})
});
}
function useDeleteMutation() {
const invalidateList = useInvalidateList(),
invalidateSingle = useInvalidateSingle(),
invalidateSummary = useInvalidateSummary(),
{
clearActive
} = (0,_use_active_thread__WEBPACK_IMPORTED_MODULE_6__["default"])();
return (0,react_query__WEBPACK_IMPORTED_MODULE_4__.useMutation)(async ({
id,
parentId,
force = false
}) => {
await window.top.$e.data.delete('notes/index', (0,_utils__WEBPACK_IMPORTED_MODULE_2__.normalizeQueryParams)({
id,
force
}));
return {
id,
parentId
};
}, {
onSuccess: ({
id,
parentId
}) => {
clearActive(id);
const isThread = !parentId;
return Promise.all(isThread ? [invalidateSummary({
exact: false
}), invalidateList({
exact: false
})] : [invalidateSingle({
id: parentId
})]);
}
});
}
function useResolveMutation() {
const invalidateList = useInvalidateList(),
invalidateSingle = useInvalidateSingle(),
invalidateSummary = useInvalidateSummary();
return (0,react_query__WEBPACK_IMPORTED_MODULE_4__.useMutation)(async ({
id,
isResolved
}) => {
const {
data
} = await window.top.$e.data.update('notes/index', {
is_resolved: isResolved
}, {
id
});
return _models_note__WEBPACK_IMPORTED_MODULE_0__["default"].createFromResponse(data.data);
}, {
onSuccess: note => {
// Invalidate only the queries that do filter by is_resolved.
const listPredicate = ({
queryKey
}) => Object.prototype.hasOwnProperty.call(queryKey[1] || {}, 'is_resolved');
return Promise.all([invalidateSingle({
id: note.id
}), invalidateList({
predicate: listPredicate
}), invalidateSummary({
predicate: listPredicate
})]);
}
});
}
function useReadMutation() {
const invalidateList = useInvalidateList(),
invalidateSingle = useInvalidateSingle(),
invalidateSummary = useInvalidateSummary();
return (0,react_query__WEBPACK_IMPORTED_MODULE_4__.useMutation)(async ({
ids,
isRead
}) => {
ids = ids.filter(id => !!id && id > 0);
await window.top.$e.data[isRead ? 'create' : 'delete']('notes/read-status', {
ids
});
return ids;
}, {
onSuccess: ids => {
// Invalidate "single queries" that their ID was mutated.
const singlePredicate = ({
queryKey
}) => ids.includes(queryKey[1]);
// Invalidate only the queries that filter by only_unread.
const listPredicate = ({
queryKey
}) => Object.prototype.hasOwnProperty.call(queryKey[1] || {}, 'only_unread');
return Promise.all([invalidateSingle({
predicate: singlePredicate
}), invalidateSummary({
predicate: listPredicate
}), invalidateList({
predicate: listPredicate,
refetchActive: false // Should not remove the note from the active list after reading it, even if `only_unread` is applied.
})]);
}
});
}
function useInvalidateSingle() {
const queryClient = (0,react_query__WEBPACK_IMPORTED_MODULE_4__.useQueryClient)();
return (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)(({
id,
...options
}) => {
const queryKey = ['note'];
if (id) {
queryKey.push(id);
}
return queryClient.invalidateQueries(queryKey, options);
}, [queryClient]);
}
function useInvalidateList() {
const queryClient = (0,react_query__WEBPACK_IMPORTED_MODULE_4__.useQueryClient)();
return (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)((options = {}) => {
const queryKey = ['notes'];
return queryClient.invalidateQueries(queryKey, options);
}, [queryClient]);
}
function useInvalidateSummary() {
const queryClient = (0,react_query__WEBPACK_IMPORTED_MODULE_4__.useQueryClient)();
return (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)((options = {}) => {
const queryKey = ['notes/summary'];
return queryClient.invalidateQueries(queryKey, options);
}, [queryClient]);
}
/***/ }),
/***/ "../assets/js/app/hooks/use-notes-or-notes-summary.js":
/*!************************************************************!*\
!*** ../assets/js/app/hooks/use-notes-or-notes-summary.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ VIEW_NOTES: () => (/* binding */ VIEW_NOTES),
/* harmony export */ VIEW_NOTES_SUMMARY: () => (/* binding */ VIEW_NOTES_SUMMARY),
/* harmony export */ "default": () => (/* binding */ useNotesOrNotesSummary)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _use_notes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-notes */ "../assets/js/app/hooks/use-notes.js");
/* harmony import */ var _use_notes_summary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./use-notes-summary */ "../assets/js/app/hooks/use-notes-summary.js");
const VIEW_NOTES = 'notes';
const VIEW_NOTES_SUMMARY = 'notes-summary';
function useNotesOrNotesSummary() {
const [view, setView] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(VIEW_NOTES),
isNotesView = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => VIEW_NOTES === view, [view]),
isNotesSummaryView = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => VIEW_NOTES_SUMMARY === view, [view]);
const notesQuery = (0,_use_notes__WEBPACK_IMPORTED_MODULE_1__["default"])({
enabled: isNotesView
}),
notesSummaryQuery = (0,_use_notes_summary__WEBPACK_IMPORTED_MODULE_2__["default"])({
enabled: isNotesSummaryView
});
return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => ({
...(VIEW_NOTES === view ? notesQuery : notesSummaryQuery),
setView,
view,
isNotesView,
isNotesSummaryView
}), [notesQuery, notesSummaryQuery]);
}
/***/ }),
/***/ "../assets/js/app/hooks/use-notes-summary.js":
/*!***************************************************!*\
!*** ../assets/js/app/hooks/use-notes-summary.js ***!
\***************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ useNotesSummary)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react_query__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-query */ "../../../node_modules/react-query/es/index.js");
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils */ "../assets/js/app/utils.js");
/* harmony import */ var _models_note_summary__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/note-summary */ "../assets/js/app/models/note-summary.js");
/* harmony import */ var _use_notes_filters__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./use-notes-filters */ "../assets/js/app/hooks/use-notes-filters.js");
const defaultOptions = {
enabled: true,
params: {}
};
function useNotesSummary(rawOptions = {}) {
const [filters] = (0,_use_notes_filters__WEBPACK_IMPORTED_MODULE_4__["default"])();
const options = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => ({
...defaultOptions,
...rawOptions
}), [rawOptions]);
const queryParams = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => (0,_utils__WEBPACK_IMPORTED_MODULE_2__.normalizeQueryParams)({
...filters,
...(options.params || {})
}), [options.params, filters]);
return (0,react_query__WEBPACK_IMPORTED_MODULE_1__.useQuery)(['notes/summary', queryParams], async ({
queryKey: [, params],
signal
}) => {
const {
data
} = await window.top.$e.data.get('notes/summary', {
parent_id: 0,
...params
}, {
refresh: true,
signal
});
return data.data.map(rawNote => {
return _models_note_summary__WEBPACK_IMPORTED_MODULE_3__["default"].createFromResponse(rawNote);
});
}, {
keepPreviousData: true,
enabled: options.enabled
});
}
/***/ }),
/***/ "../assets/js/app/hooks/use-notes.js":
/*!*******************************************!*\
!*** ../assets/js/app/hooks/use-notes.js ***!
\*******************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ useNotes)
/* harmony export */ });
/* harmony import */ var _models_note__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../models/note */ "../assets/js/app/models/note.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var react_query__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-query */ "../../../node_modules/react-query/es/index.js");
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ "../assets/js/app/utils.js");
/* harmony import */ var _use_notes_config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./use-notes-config */ "../assets/js/app/hooks/use-notes-config.js");
/* harmony import */ var _use_notes_filters__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./use-notes-filters */ "../assets/js/app/hooks/use-notes-filters.js");
const defaultOptions = {
enabled: true,
params: {}
};
function useNotes(rawOptions = {}) {
const {
route
} = (0,_use_notes_config__WEBPACK_IMPORTED_MODULE_4__["default"])();
const [filters] = (0,_use_notes_filters__WEBPACK_IMPORTED_MODULE_5__["default"])();
const options = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(() => ({
...defaultOptions,
...rawOptions
}), [rawOptions]);
const queryParams = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(() => {
const routeFilter = route.is_elementor_library ? {
post_id: route.post_id
} : {
route_url: encodeURIComponent(route.url)
};
return (0,_utils__WEBPACK_IMPORTED_MODULE_3__.normalizeQueryParams)({
parent_id: 0,
order_by: 'last_activity_at',
order: 'desc',
...routeFilter,
...filters,
...(options.params || {})
});
}, [route, filters, options.params]);
return (0,react_query__WEBPACK_IMPORTED_MODULE_2__.useQuery)(['notes', queryParams], async ({
queryKey: [, params],
signal
}) => {
const {
data
} = await window.top.$e.data.get('notes/index', params, {
refresh: true,
signal
});
return data.data.map(rawNote => {
return _models_note__WEBPACK_IMPORTED_MODULE_0__["default"].createFromResponse(rawNote);
});
}, {
keepPreviousData: true,
enabled: options.enabled
});
}
/***/ }),
/***/ "../assets/js/app/hooks/use-reverse-html-entities.js":
/*!***********************************************************!*\
!*** ../assets/js/app/hooks/use-reverse-html-entities.js ***!
\***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ useReverseHtmlEntities: () => (/* binding */ useReverseHtmlEntities)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/**
* Reverse PHP's `htmlentities()` function.
* e.g.: `<a>` will become `<a>`.
*
* Used to render escaped HTML characters in JSX.
*
* @param {string} escapedHTML
*
* @return {string} unescaped HTML
*/
function useReverseHtmlEntities(escapedHTML) {
return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
const textarea = document.createElement('textarea');
textarea.innerHTML = escapedHTML;
const {
value
} = textarea;
textarea.remove();
return value;
}, [escapedHTML]);
}
/***/ }),
/***/ "../assets/js/app/hooks/use-scroll-into-view.js":
/*!******************************************************!*\
!*** ../assets/js/app/hooks/use-scroll-into-view.js ***!
\******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ useScrollIntoView)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ "../assets/js/app/utils.js");
// Hook to scroll into the `ref` view when a condition is truthy.
function useScrollIntoView(condition = true, {
onlyIfNeeded = true,
...scrollOptions
} = {}) {
const ref = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
if (condition) {
/**
* Defer to wait for React state stack to be empty, and all of the components have finished rendering,
* since it causes a bug in Chromium based browsers.
*
* @see https://stackoverflow.com/questions/68263352/smooth-scroll-bug-in-react-useeffect-hook-only-on-chrome-chromium
* @see https://stackoverflow.com/questions/59782858/scrollintoview-behavior-smooth-is-broken-in-react
*/
setTimeout(() => {
(0,_utils__WEBPACK_IMPORTED_MODULE_1__.scrollIntoView)(ref.current, {
onlyIfNeeded,
...scrollOptions
});
});
}
}, [condition]);
return ref;
}
/***/ }),
/***/ "../assets/js/app/hooks/use-stoppable-effect.js":
/*!******************************************************!*\
!*** ../assets/js/app/hooks/use-stoppable-effect.js ***!
\******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ useStoppableEffect)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/**
* Use an effect with an option to stop it.
*
* Usage:
* useStoppableEffect( ( stop ) => {
* console.log( 'stuff' );
*
* if ( a === 1 ) {
* stop();
* }
* }, [ deps ] );
*
* @param {Function} effect
* @param {Array} deps
*
* @return {void}
*/
function useStoppableEffect(effect, deps) {
const shouldRun = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(true);
const stop = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
shouldRun.current = false;
}, []);
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
if (shouldRun.current) {
effect(stop);
}
}, deps);
}
/***/ }),
/***/ "../assets/js/app/hooks/use-user-can.js":
/*!**********************************************!*\
!*** ../assets/js/app/hooks/use-user-can.js ***!
\**********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ CAPABILITY_CREATE: () => (/* binding */ CAPABILITY_CREATE),
/* harmony export */ CAPABILITY_CREATE_USERS: () => (/* binding */ CAPABILITY_CREATE_USERS),
/* harmony export */ CAPABILITY_DELETE: () => (/* binding */ CAPABILITY_DELETE),
/* harmony export */ CAPABILITY_EDIT: () => (/* binding */ CAPABILITY_EDIT),
/* harmony export */ CAPABILITY_EDIT_USERS: () => (/* binding */ CAPABILITY_EDIT_USERS),
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _use_notes_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-notes-config */ "../assets/js/app/hooks/use-notes-config.js");
const CAPABILITY_CREATE = 'create';
const CAPABILITY_EDIT = 'edit';
const CAPABILITY_DELETE = 'delete';
const CAPABILITY_CREATE_USERS = 'create_users';
const CAPABILITY_EDIT_USERS = 'edit_users';
const useUserCan = (capability, note = null) => {
const notesConfig = (0,_use_notes_config__WEBPACK_IMPORTED_MODULE_1__["default"])();
return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
// Note capabilities.
if (note) {
return !!note.userCan[capability];
}
// Global capabilities.
return !!notesConfig.current_user_can[capability];
}, [capability, note, notesConfig]);
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useUserCan);
/***/ }),
/***/ "../assets/js/app/hooks/use-users.js":
/*!*******************************************!*\
!*** ../assets/js/app/hooks/use-users.js ***!
\*******************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ useUsers)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ "../assets/js/app/utils.js");
/* harmony import */ var react_query__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-query */ "../../../node_modules/react-query/es/index.js");
/* harmony import */ var _models_user__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/user */ "../assets/js/app/models/user.js");
const defaultOptions = {
enabled: true,
params: {}
};
function useUsers(rawOptions = {}) {
const options = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => ({
...defaultOptions,
...rawOptions
}), [rawOptions]);
const queryParams = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
return (0,_utils__WEBPACK_IMPORTED_MODULE_1__.normalizeQueryParams)(options.params || {});
}, [options.params]);
return (0,react_query__WEBPACK_IMPORTED_MODULE_2__.useQuery)(['users', queryParams], async ({
queryKey: [, params],
signal
}) => {
const {
data
} = await window.top.$e.data.get('notes/users', params, {
refresh: true,
signal
});
return data.data.map(user => {
return _models_user__WEBPACK_IMPORTED_MODULE_3__["default"].createFromResponse(user);
});
}, {
keepPreviousData: true,
enabled: options.enabled
});
}
/***/ }),
/***/ "../assets/js/app/hooks/use-viewable-notes.js":
/*!****************************************************!*\
!*** ../assets/js/app/hooks/use-viewable-notes.js ***!
\****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ useViewableNotes)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _context_elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../context/elements */ "../assets/js/app/context/elements.js");
/**
* @typedef {import('../models/note')} Note
*/
/**
* Return a tuple of filtered notes based their visibility to the user in the current page (e.g. have elements).
* The first item contains the viewable notes and the second is the non-viewable ones.
*
* @param {Note[]} notes
*
* @return {[Note[], Note[]]} notes
*/
function useViewableNotes(notes) {
const {
elements
} = (0,_context_elements__WEBPACK_IMPORTED_MODULE_1__.useElements)();
return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
if (!notes?.length || !elements?.size) {
return [[], []];
}
const reduced = notes.reduce((carry, note) => {
const key = elements.has(note.elementId) ? 'viewable' : 'nonViewable';
carry[key].push(note);
return carry;
}, {
viewable: [],
nonViewable: []
});
return Object.values(reduced);
}, [notes, elements]);
}
/***/ }),
/***/ "../assets/js/app/hooks/use-watch.js":
/*!*******************************************!*\
!*** ../assets/js/app/hooks/use-watch.js ***!
\*******************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ useWatch)
/* harmony export */ });
const {
useEffect,
useRef
} = React;
/**
* A util to trigger a callback only when the value changed except the first render.
*
* @param {Function} callback
* @param {Array} deps
*/
function useWatch(callback, deps) {
const isFirstRender = useRef(true);
useEffect(() => {
if (isFirstRender.current) {
isFirstRender.current = false;
return;
}
callback();
}, deps);
}
/***/ }),
/***/ "../assets/js/app/models/base-model.js":
/*!*********************************************!*\
!*** ../assets/js/app/models/base-model.js ***!
\*********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ BaseModel)
/* harmony export */ });
class BaseModel {
/**
* Using init and not the default constructor because there is a problem to fill the instance
* dynamically in the constructor.
*
* @param {Object} data all the properties
* @return {BaseModel} Instance of base model
*/
init(data = {}) {
Object.entries(data).forEach(([key, value]) => {
this[key] = value;
});
return this;
}
}
/***/ }),
/***/ "../assets/js/app/models/document.js":
/*!*******************************************!*\
!*** ../assets/js/app/models/document.js ***!
\*******************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ Document)
/* harmony export */ });
/* harmony import */ var _base_model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base-model */ "../assets/js/app/models/base-model.js");
class Document extends _base_model__WEBPACK_IMPORTED_MODULE_0__["default"] {
id;
type;
typeTitle;
/**
* Create a document from server response
*
* @param {Object} data
*/
static createFromResponse(data) {
return new Document().init({
id: data.id,
type: data.type,
typeTitle: data.type_title
});
}
}
/***/ }),
/***/ "../assets/js/app/models/note-summary.js":
/*!***********************************************!*\
!*** ../assets/js/app/models/note-summary.js ***!
\***********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ NoteSummary)
/* harmony export */ });
/* harmony import */ var _base_model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base-model */ "../assets/js/app/models/base-model.js");
class NoteSummary extends _base_model__WEBPACK_IMPORTED_MODULE_0__["default"] {
url = '';
fullURL = '';
title = '';
notesCount = 0;
/**
* Create a note from server response
*
* @param {Object} data
*/
static createFromResponse(data) {
return new NoteSummary().init({
url: data.url,
fullURL: data.full_url,
title: data.title,
notesCount: data.notes_count
});
}
}
/***/ }),
/***/ "../assets/js/app/models/note.js":
/*!***************************************!*\
!*** ../assets/js/app/models/note.js ***!
\***************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ Note)
/* harmony export */ });
/* harmony import */ var _base_model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base-model */ "../assets/js/app/models/base-model.js");
/* harmony import */ var _user__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./user */ "../assets/js/app/models/user.js");
/* harmony import */ var _document__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./document */ "../assets/js/app/models/document.js");
class Note extends _base_model__WEBPACK_IMPORTED_MODULE_0__["default"] {
id = null;
parentId = 0;
elementId = null;
content = '';
position = {
x: 0,
y: 0
};
repliesCount = 0;
unreadRepliesCount = 0;
replies = [];
author = null;
readers = [];
isRead = false;
isResolved = false;
routeUrl = '';
routeTitle = '';
userCan = {};
createdAt = null;
updatedAt = null;
lastActivityAt = null;
// Private props
_formattedLastActivityAt = '';
_formattedCreatedAt = '';
/**
* Create a note from server response
*
* @param {Object} data
*/
static createFromResponse(data) {
return new Note().init({
id: data.id,
parentId: data.parent_id,
elementId: data.element_id,
content: data.content,
position: data.position,
repliesCount: data.replies_count,
unreadRepliesCount: data.unread_replies_count,
replies: data.replies.map(reply => Note.createFromResponse(reply)),
author: data.author ? _user__WEBPACK_IMPORTED_MODULE_1__["default"].createFromResponse(data.author) : _user__WEBPACK_IMPORTED_MODULE_1__["default"].createDeleted(data.author_display_name),
document: data.document ? _document__WEBPACK_IMPORTED_MODULE_2__["default"].createFromResponse(data.document) : null,
readers: data.readers ? data.readers.map(reader => _user__WEBPACK_IMPORTED_MODULE_1__["default"].createFromResponse(reader)) : [],
isRead: data.is_read,
isResolved: data.is_resolved,
routeUrl: data.route_url,
routeTitle: data.route_title,
userCan: data.user_can,
createdAt: new Date(data.created_at),
updatedAt: new Date(data.updated_at),
lastActivityAt: new Date(data.last_activity_at)
});
}
/**
* TODO: Change to WP site settings format.
*
* @return {string} Last activity date formatted.
*/
getFormattedLastActivityAt() {
if (!this._formattedLastActivityAt) {
this._formattedLastActivityAt = this.lastActivityAt.toLocaleString();
}
return this._formattedLastActivityAt;
}
/**
* TODO: Change to WP site settings format.
*
* @return {string} Created at date formatted.
*/
getFormattedCreatedAt() {
if (!this._formattedCreatedAt) {
this._formattedCreatedAt = this.createdAt.toLocaleString();
}
return this._formattedCreatedAt;
}
/**
* Get the note deep link.
*
* @return {string} url
*/
getURL() {
const id = this.isReply() ? this.parentId : this.id;
return this.constructor.getURL(id);
}
/**
* Get a note deep link by ID.
*
* @param {number} id
*
* @return {string} url
*/
static getURL(id) {
const {
route
} = window.top.$e.components.get('notes').config;
return route.note_url_pattern.replace('{{NOTE_ID}}', id);
}
/**
* Check if the current note or one of its replies are unread.
*
* @return {boolean} is unread thread
*/
isUnreadThread() {
return this.isThread() && (!this.isRead || this.unreadRepliesCount > 0);
}
/**
* Determine if the Note is a Thread.
*
* @return {boolean} - Is thread.
*/
isThread() {
return 0 === this.parentId;
}
/**
* Determine if the Note is a Reply.
*
* @return {boolean} - Is reply.
*/
isReply() {
return !this.isThread();
}
}
/***/ }),
/***/ "../assets/js/app/models/user.js":
/*!***************************************!*\
!*** ../assets/js/app/models/user.js ***!
\***************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ User)
/* harmony export */ });
/* harmony import */ var _base_model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base-model */ "../assets/js/app/models/base-model.js");
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
class User extends _base_model__WEBPACK_IMPORTED_MODULE_0__["default"] {
id = null;
name = '';
slug = '';
avatarUrls = {
24: null,
48: null,
96: null
};
capabilities = {};
/**
* Create a user from server response
*
* @param {Object} data
*/
static createFromResponse(data) {
return new User().init({
id: data.id,
name: data.name,
slug: data.slug,
avatarUrls: data.avatar_urls,
capabilities: {
notes: {
read: data.capabilities?.notes?.can_read
},
post: {
edit: data.capabilities?.post?.can_edit
}
}
});
}
/**
* A factory to create a User model when a user was deleted or not exist for some reason.
*
* @param {string} name
* @return {BaseModel} user
*/
static createDeleted(name = '') {
const {
avatar_defaults: avatarUrls
} = window.top.$e.components.get('notes').config.urls;
return new User().init({
name: [name, __('(deleted user)', 'elementor-pro')].join(' '),
avatarUrls
});
}
}
/***/ }),
/***/ "../assets/js/app/query-client.js":
/*!****************************************!*\
!*** ../assets/js/app/query-client.js ***!
\****************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react_query__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-query */ "../../../node_modules/react-query/es/index.js");
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (new react_query__WEBPACK_IMPORTED_MODULE_0__.QueryClient({
defaultOptions: {
queries: {
retry: 2,
refetchOnWindowFocus: true
},
mutations: {
retry: 2
}
}
}));
/***/ }),
/***/ "../assets/js/app/styles/animation.js":
/*!********************************************!*\
!*** ../assets/js/app/styles/animation.js ***!
\********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ fadeOut: () => (/* binding */ fadeOut),
/* harmony export */ slideDownAndFade: () => (/* binding */ slideDownAndFade),
/* harmony export */ slideLeftAndFade: () => (/* binding */ slideLeftAndFade),
/* harmony export */ slideRightAndFade: () => (/* binding */ slideRightAndFade),
/* harmony export */ slideUpAndFade: () => (/* binding */ slideUpAndFade),
/* harmony export */ spin: () => (/* binding */ spin)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ "../../../node_modules/styled-components/dist/styled-components.browser.esm.js");
const slideUpAndFade = (0,styled_components__WEBPACK_IMPORTED_MODULE_0__.keyframes)`
0% {
opacity: 0;
transform: translateY(3px);
}
100% {
opacity: 1;
transform: translateY(0);
}
`;
const slideRightAndFade = (0,styled_components__WEBPACK_IMPORTED_MODULE_0__.keyframes)`
0% {
opacity: 0;
transform: translateX(-3px);
}
100% {
opacity: 1;
transform: translateX(0);
}
`;
const slideDownAndFade = (0,styled_components__WEBPACK_IMPORTED_MODULE_0__.keyframes)`
0% {
opacity: 0;
transform: translateY(-3px);
}
100% {
opacity: 1;
transform: translateY(0);
}
`;
const slideLeftAndFade = (0,styled_components__WEBPACK_IMPORTED_MODULE_0__.keyframes)`
0% {
opacity: 0;
transform: translateX(3px);
}
100% {
opacity: 1;
transform: translateX(0);
}
`;
const fadeOut = (0,styled_components__WEBPACK_IMPORTED_MODULE_0__.keyframes)`
0% {
opacity: 1;
}
100% {
opacity: 0;
}
`;
const spin = (0,styled_components__WEBPACK_IMPORTED_MODULE_0__.keyframes)`
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
`;
/***/ }),
/***/ "../assets/js/app/utils.js":
/*!*********************************!*\
!*** ../assets/js/app/utils.js ***!
\*********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ MAX_Z_INDEX: () => (/* binding */ MAX_Z_INDEX),
/* harmony export */ extractMentions: () => (/* binding */ extractMentions),
/* harmony export */ isFullyInViewport: () => (/* binding */ isFullyInViewport),
/* harmony export */ normalizeQueryParams: () => (/* binding */ normalizeQueryParams),
/* harmony export */ scrollIntoView: () => (/* binding */ scrollIntoView),
/* harmony export */ submitForm: () => (/* binding */ submitForm)
/* harmony export */ });
/* harmony import */ var _services_rich_text_parser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../services/rich-text-parser */ "../assets/js/services/rich-text-parser/index.js");
/* harmony import */ var _services_rich_text_parser_tokens__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/rich-text-parser/tokens */ "../assets/js/services/rich-text-parser/tokens/index.js");
/**
* Max value for the css property z-index
*
* @type {number}
*/
const MAX_Z_INDEX = 2147483647;
/**
* Extract mentions from string.
*
* @param {string} content - Text to extract from.
*
* @return {string[]} mentions
*/
function extractMentions(content) {
const usernames = (0,_services_rich_text_parser__WEBPACK_IMPORTED_MODULE_0__["default"])({
tokenClasses: [_services_rich_text_parser_tokens__WEBPACK_IMPORTED_MODULE_1__.Mention],
fallbackTokenClass: false,
parsePipeFunctions: []
}).parse(content).map(token => token.username.value);
// Return only unique values.
return [...new Set(usernames)];
}
/**
* Normalize query params object.
*
* @param {Object} params - Query params definition.
*
* @return {Object} - Normalized query params.
*/
function normalizeQueryParams(params) {
return Object.entries(params).reduce((queryParams, [param, value]) => {
// Remove nullish params.
if (null === value) {
return queryParams;
}
// Convert booleans to 1/0.
if ('boolean' === typeof value) {
value = value ? 1 : 0;
}
return {
...queryParams,
[param]: value
};
}, {});
}
/**
* Scroll into an element.
* Returns a promise that will be resolved when the element is in the viewport.
* TODO: Find a way to resolve the promise after the scroll has finished.
*
* @param {HTMLElement} element
* @param {Object} object
* @param {boolean} object.onlyIfNeeded
* @param {*} object.scrollOptions
* @return {Promise} a promise that will be resolved when the element is in the viewport
*/
function scrollIntoView(element, {
onlyIfNeeded = true,
...scrollOptions
} = {}) {
if (onlyIfNeeded && isFullyInViewport(element)) {
return Promise.resolve();
}
return new Promise(resolve => {
observeForFirstIntersection(element, () => {
resolve();
});
element.scrollIntoView({
behavior: 'smooth',
block: 'center',
inline: 'center',
...scrollOptions
});
});
}
/**
* Check if an element is fully in viewport.
*
* @param {HTMLElement} element
*
* @return {boolean} is element fully in the viewport
*/
function isFullyInViewport(element) {
const {
top,
left,
bottom,
right
} = element.getBoundingClientRect();
const {
top: parentTop,
right: parentRight,
bottom: parentBottom,
left: parentLeft
} = element.parentElement.getBoundingClientRect();
const isInBodyView = top >= 0 && left >= 0 && top <= window.innerHeight && left <= window.innerWidth;
const isInParentView = top >= parentTop && right <= parentRight && bottom <= parentBottom && left >= parentLeft;
return isInBodyView && isInParentView;
}
/**
* Wrap IntersectionObserver for working with single element.
*
* @param {HTMLElement} element
* @param {Function} callback
*/
function observeForFirstIntersection(element, callback) {
const observer = new IntersectionObserver((entries, currentObserver) => {
if (entries?.[0]?.isIntersecting) {
currentObserver.disconnect();
callback();
}
});
observer.observe(element);
}
/**
* Programmatically submit a form while triggering React's `onSubmit()` event listener.
*
* @see https://stackoverflow.com/a/65667238/3829526
*
* @param {HTMLFormElement} form
*
* @return {void}
*/
function submitForm(form) {
form.dispatchEvent(new Event('submit', {
cancelable: true,
bubbles: true
}));
}
/***/ }),
/***/ "../assets/js/services/copy-to-clipboard/index.js":
/*!********************************************************!*\
!*** ../assets/js/services/copy-to-clipboard/index.js ***!
\********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ canCopyToClipboard: () => (/* binding */ canCopyToClipboard),
/* harmony export */ copyToClipboard: () => (/* binding */ copyToClipboard)
/* harmony export */ });
/**
* Check if there is access to the clipboard API
* (Usually, when a website doesn't have an SSL certificate, the browser won't expose the clipboard API).
*
* @return {boolean} can copy to clipboard?
*/
function canCopyToClipboard() {
return !!navigator?.clipboard;
}
/**
* Will copy value to the clipboard
*
* @param {string} value
*/
function copyToClipboard(value) {
if (!canCopyToClipboard()) {
throw new Error('Cannot copy to clipboard, please make sure you are using SSL in your website.');
}
navigator.clipboard.writeText(value);
}
/***/ }),
/***/ "../assets/js/services/rich-text-parser/index.js":
/*!*******************************************************!*\
!*** ../assets/js/services/rich-text-parser/index.js ***!
\*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ createRichTextParser)
/* harmony export */ });
/* harmony import */ var _rich_text_parser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./rich-text-parser */ "../assets/js/services/rich-text-parser/rich-text-parser.js");
/* harmony import */ var _parse_pipe_functions___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./parse-pipe-functions/ */ "../assets/js/services/rich-text-parser/parse-pipe-functions/index.js");
/* harmony import */ var _tokens___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tokens/ */ "../assets/js/services/rich-text-parser/tokens/index.js");
/**
* Create a RichTextParser instance, set default tokens, and parse pipe functions.
*
* @param {Object} options
* @param {Object[]} options.tokenClasses - Token classes to tokenize into.
* @param {Object|false} options.fallbackTokenClass
* @param {Function[]} options.parsePipeFunctions - Parsing pipe functions to trigger after basic parsing.
* @return {RichTextParser} parser
*/
function createRichTextParser({
tokenClasses,
fallbackTokenClass,
parsePipeFunctions
} = {}) {
const tokenClassesDefaults = [_tokens___WEBPACK_IMPORTED_MODULE_2__.Email, _tokens___WEBPACK_IMPORTED_MODULE_2__.LineBreak, _tokens___WEBPACK_IMPORTED_MODULE_2__.Mention, _tokens___WEBPACK_IMPORTED_MODULE_2__.Url, _tokens___WEBPACK_IMPORTED_MODULE_2__.Wow];
const fallbackTokenClassDefault = _tokens___WEBPACK_IMPORTED_MODULE_2__.Text;
// The order here is important!
const parsePipeFunctionsDefaults = [_parse_pipe_functions___WEBPACK_IMPORTED_MODULE_1__.wrapTokensIntoParagraph, _parse_pipe_functions___WEBPACK_IMPORTED_MODULE_1__.wrapTokensIntoContent];
return new _rich_text_parser__WEBPACK_IMPORTED_MODULE_0__["default"]({
tokenClasses: tokenClasses !== null && tokenClasses !== void 0 ? tokenClasses : tokenClassesDefaults,
fallbackTokenClass: fallbackTokenClass !== null && fallbackTokenClass !== void 0 ? fallbackTokenClass : fallbackTokenClassDefault,
parsePipeFunctions: parsePipeFunctions !== null && parsePipeFunctions !== void 0 ? parsePipeFunctions : parsePipeFunctionsDefaults
});
}
/***/ }),
/***/ "../assets/js/services/rich-text-parser/parse-pipe-functions/index.js":
/*!****************************************************************************!*\
!*** ../assets/js/services/rich-text-parser/parse-pipe-functions/index.js ***!
\****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ wrapTokensIntoContent: () => (/* reexport safe */ _wrap_tokens_into_content__WEBPACK_IMPORTED_MODULE_1__["default"]),
/* harmony export */ wrapTokensIntoParagraph: () => (/* reexport safe */ _wrap_tokens_into_paragraph__WEBPACK_IMPORTED_MODULE_0__["default"])
/* harmony export */ });
/* harmony import */ var _wrap_tokens_into_paragraph__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./wrap-tokens-into-paragraph */ "../assets/js/services/rich-text-parser/parse-pipe-functions/wrap-tokens-into-paragraph.js");
/* harmony import */ var _wrap_tokens_into_content__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./wrap-tokens-into-content */ "../assets/js/services/rich-text-parser/parse-pipe-functions/wrap-tokens-into-content.js");
/***/ }),
/***/ "../assets/js/services/rich-text-parser/parse-pipe-functions/wrap-tokens-into-content.js":
/*!***********************************************************************************************!*\
!*** ../assets/js/services/rich-text-parser/parse-pipe-functions/wrap-tokens-into-content.js ***!
\***********************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ wrapTokensIntoContent)
/* harmony export */ });
/* harmony import */ var _tokens___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../tokens/ */ "../assets/js/services/rich-text-parser/tokens/index.js");
/**
* Wrap tokens tree with one Content token.
*
* @param {Object[]} tokens
*
* @return {Content} content
*/
function wrapTokensIntoContent(tokens) {
return _tokens___WEBPACK_IMPORTED_MODULE_0__.Content.create(tokens);
}
/***/ }),
/***/ "../assets/js/services/rich-text-parser/parse-pipe-functions/wrap-tokens-into-paragraph.js":
/*!*************************************************************************************************!*\
!*** ../assets/js/services/rich-text-parser/parse-pipe-functions/wrap-tokens-into-paragraph.js ***!
\*************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ wrapTokensIntoParagraph)
/* harmony export */ });
/* harmony import */ var _tokens___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../tokens/ */ "../assets/js/services/rich-text-parser/tokens/index.js");
/**
* Convert LineBreak tokens into Paragraphs.
* input: [ Text, Text, Email, LineBreak, Text, Text ]
* output: [
* Paragraph: [ Text, Text, Email ],
* Paragraph: [ Text, Text ]
* ]
*
* @param {Object[]} tokens
*
* @return {Object[]} paragraphs
*/
function wrapTokensIntoParagraph(tokens) {
tokens.push(_tokens___WEBPACK_IMPORTED_MODULE_0__.LineBreak.create());
return tokens.reduce((carry, token) => {
let currentToken = token;
if (token.is(_tokens___WEBPACK_IMPORTED_MODULE_0__.LineBreak)) {
const lastParagraphIndex = findLastIndex(carry, t => t.is(_tokens___WEBPACK_IMPORTED_MODULE_0__.Paragraph));
currentToken = _tokens___WEBPACK_IMPORTED_MODULE_0__.Paragraph.create(carry.slice(lastParagraphIndex + 1, carry.length));
carry = carry.slice(0, lastParagraphIndex + 1);
}
carry.push(currentToken);
return carry;
}, []);
}
/**
* Find an index of based on the callback but it runs from last to first item.
*
* @param {Array} array
* @param {Function} callback
* @return {number} last index
*/
function findLastIndex(array, callback) {
for (let i = array.length - 1; i >= 0; i--) {
if (callback(array[i], i)) {
return i;
}
}
return -1;
}
/***/ }),
/***/ "../assets/js/services/rich-text-parser/rich-text-parser.js":
/*!******************************************************************!*\
!*** ../assets/js/services/rich-text-parser/rich-text-parser.js ***!
\******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ RichTextParser)
/* harmony export */ });
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ "../assets/js/services/rich-text-parser/utils.js");
class RichTextParser {
tokenClasses;
fallbackTokenClass;
parsePipeFunctions;
/**
* @param {Object} options
* @param {Array} options.tokenClasses
* @param {Object} options.fallbackTokenClass
* @param {Function[]} options.parsePipeFunctions
*/
constructor({
tokenClasses,
fallbackTokenClass,
parsePipeFunctions
} = {}) {
this.tokenClasses = tokenClasses;
this.fallbackTokenClass = fallbackTokenClass;
this.parsePipeFunctions = parsePipeFunctions;
}
/**
* Takes a string and parse it into a meaningful object, based on the configuration that was provided to this class.
* input: 'This is text and email: test@elementor.com'
* output: {
* type: 'Content',
* value: [
* {
* type: 'Paragraph',
* value: [
* { type: 'Text', value: 'This is text and email: ' },
* { type: 'Email', value: 'test@elementor.com' },
* ]
* }
* ]
* }
*
* @param {string} value
*
* @return {Object|Array} content
*/
parse(value) {
var _this$parsePipeFuncti;
const lexemes = this.extractLexemes(value),
tokens = this.tokenize(lexemes);
return (0,_utils__WEBPACK_IMPORTED_MODULE_0__.pipe)(...((_this$parsePipeFuncti = this.parsePipeFunctions) !== null && _this$parsePipeFuncti !== void 0 ? _this$parsePipeFuncti : []))(tokens);
}
/**
* Split the value into lexemes (an array of strings without the meaning)
*
* @param {string} value
*
* @return {string[]} lexemes
*/
extractLexemes(value) {
return value.trim().split(this.getLexerRegex()).reduce((lexemes, currentLexeme) => {
if (currentLexeme) {
lexemes.push(currentLexeme);
}
return lexemes;
}, []);
}
/**
* Get all the array of lexemes and transform them into tokens (An object that represent what the part of string is).
*
* @param {string[]} lexemes
*
* @return {Object[]} tokens
*/
tokenize(lexemes) {
return lexemes.map(lexeme => {
const TokenClass = this.tokenClasses.find(tc => tc.isToken(lexeme));
if (!TokenClass) {
return this.fallbackTokenClass ? this.fallbackTokenClass.create(lexeme) : null;
}
return TokenClass.create(lexeme);
}).filter(lexeme => !!lexeme);
}
/**
* Generate a regex from each token class that was provided.
*
* @return {RegExp} regular expression
*/
getLexerRegex() {
const patterns = this.tokenClasses.map(tokenClass => tokenClass.getPattern()?.source).filter(pattern => !!pattern);
return new RegExp(`(${patterns.join('|')})`, 'igm');
}
}
/***/ }),
/***/ "../assets/js/services/rich-text-parser/tokens/base-token.js":
/*!*******************************************************************!*\
!*** ../assets/js/services/rich-text-parser/tokens/base-token.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ BaseToken)
/* harmony export */ });
class BaseToken {
static type = '';
type;
value;
/**
* @param {string | Array | null} value
*/
constructor(value) {
this.value = value;
this.type = this.constructor.type;
}
/**
* Regex pattern for the lexer.
*
* @return {RegExp} regular expression
*/
static getPattern() {
return null;
}
/**
* Checks if a lexeme belongs to the current token.
*
* @param {string} lexeme
*
* @return {boolean} does lexeme belong to the current token
*/
static isToken(lexeme) {
return !!lexeme.match(new RegExp(this.getPattern(), 'igm'));
}
/**
* Creates a new Token instance.
*
* @param {string | Array | null } value
*
* @return {this} token
*/
static create(value = null) {
return new this(value);
}
/**
* Check if the current token is instance of the provided token class
*
* @param {Object} tokenClass
*
* @return {boolean} is a token class instance
*/
is(tokenClass) {
return this.type === tokenClass.type;
}
}
/***/ }),
/***/ "../assets/js/services/rich-text-parser/tokens/content.js":
/*!****************************************************************!*\
!*** ../assets/js/services/rich-text-parser/tokens/content.js ***!
\****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ Content)
/* harmony export */ });
/* harmony import */ var _base_token__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base-token */ "../assets/js/services/rich-text-parser/tokens/base-token.js");
class Content extends _base_token__WEBPACK_IMPORTED_MODULE_0__["default"] {
static type = 'Content';
}
/***/ }),
/***/ "../assets/js/services/rich-text-parser/tokens/email.js":
/*!**************************************************************!*\
!*** ../assets/js/services/rich-text-parser/tokens/email.js ***!
\**************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ Email)
/* harmony export */ });
/* harmony import */ var _base_token__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base-token */ "../assets/js/services/rich-text-parser/tokens/base-token.js");
class Email extends _base_token__WEBPACK_IMPORTED_MODULE_0__["default"] {
static type = 'Email';
static getPattern() {
return /[\w\-.]+@(?:[\w-]+\.)+[\w-]{2,4}/;
}
}
/***/ }),
/***/ "../assets/js/services/rich-text-parser/tokens/handle.js":
/*!***************************************************************!*\
!*** ../assets/js/services/rich-text-parser/tokens/handle.js ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ Handle)
/* harmony export */ });
/* harmony import */ var _base_token__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base-token */ "../assets/js/services/rich-text-parser/tokens/base-token.js");
class Handle extends _base_token__WEBPACK_IMPORTED_MODULE_0__["default"] {
static type = 'Handle';
}
/***/ }),
/***/ "../assets/js/services/rich-text-parser/tokens/index.js":
/*!**************************************************************!*\
!*** ../assets/js/services/rich-text-parser/tokens/index.js ***!
\**************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ Content: () => (/* reexport safe */ _content__WEBPACK_IMPORTED_MODULE_4__["default"]),
/* harmony export */ Email: () => (/* reexport safe */ _email__WEBPACK_IMPORTED_MODULE_0__["default"]),
/* harmony export */ Handle: () => (/* reexport safe */ _handle__WEBPACK_IMPORTED_MODULE_6__["default"]),
/* harmony export */ LineBreak: () => (/* reexport safe */ _line_break__WEBPACK_IMPORTED_MODULE_1__["default"]),
/* harmony export */ Mention: () => (/* reexport safe */ _mention__WEBPACK_IMPORTED_MODULE_5__["default"]),
/* harmony export */ Paragraph: () => (/* reexport safe */ _paragraph__WEBPACK_IMPORTED_MODULE_2__["default"]),
/* harmony export */ Text: () => (/* reexport safe */ _text__WEBPACK_IMPORTED_MODULE_3__["default"]),
/* harmony export */ Url: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_8__["default"]),
/* harmony export */ Username: () => (/* reexport safe */ _username__WEBPACK_IMPORTED_MODULE_7__["default"]),
/* harmony export */ Wow: () => (/* reexport safe */ _wow__WEBPACK_IMPORTED_MODULE_9__["default"])
/* harmony export */ });
/* harmony import */ var _email__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./email */ "../assets/js/services/rich-text-parser/tokens/email.js");
/* harmony import */ var _line_break__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./line-break */ "../assets/js/services/rich-text-parser/tokens/line-break.js");
/* harmony import */ var _paragraph__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./paragraph */ "../assets/js/services/rich-text-parser/tokens/paragraph.js");
/* harmony import */ var _text__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./text */ "../assets/js/services/rich-text-parser/tokens/text.js");
/* harmony import */ var _content__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./content */ "../assets/js/services/rich-text-parser/tokens/content.js");
/* harmony import */ var _mention__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./mention */ "../assets/js/services/rich-text-parser/tokens/mention.js");
/* harmony import */ var _handle__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./handle */ "../assets/js/services/rich-text-parser/tokens/handle.js");
/* harmony import */ var _username__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./username */ "../assets/js/services/rich-text-parser/tokens/username.js");
/* harmony import */ var _url__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./url */ "../assets/js/services/rich-text-parser/tokens/url.js");
/* harmony import */ var _wow__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./wow */ "../assets/js/services/rich-text-parser/tokens/wow.js");
/***/ }),
/***/ "../assets/js/services/rich-text-parser/tokens/line-break.js":
/*!*******************************************************************!*\
!*** ../assets/js/services/rich-text-parser/tokens/line-break.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ LineBreak)
/* harmony export */ });
/* harmony import */ var _base_token__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base-token */ "../assets/js/services/rich-text-parser/tokens/base-token.js");
class LineBreak extends _base_token__WEBPACK_IMPORTED_MODULE_0__["default"] {
static type = 'LineBreak';
constructor(value) {
super(value || '\n');
}
static getPattern() {
return /(?:\r?\n)/;
}
}
/***/ }),
/***/ "../assets/js/services/rich-text-parser/tokens/mention.js":
/*!****************************************************************!*\
!*** ../assets/js/services/rich-text-parser/tokens/mention.js ***!
\****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ Mention)
/* harmony export */ });
/* harmony import */ var _base_token__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base-token */ "../assets/js/services/rich-text-parser/tokens/base-token.js");
/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index */ "../assets/js/services/rich-text-parser/tokens/index.js");
class Mention extends _base_token__WEBPACK_IMPORTED_MODULE_0__["default"] {
static type = 'Mention';
static handleChar = '@';
handle;
username;
constructor(value) {
super(value);
this.handle = _index__WEBPACK_IMPORTED_MODULE_1__.Handle.create(this.constructor.handleChar);
this.username = _index__WEBPACK_IMPORTED_MODULE_1__.Username.create(value.replace(this.constructor.handleChar, ''));
}
static getPattern() {
return new RegExp(`\\B${this.handleChar}[\\w\\-]+`);
}
}
/***/ }),
/***/ "../assets/js/services/rich-text-parser/tokens/paragraph.js":
/*!******************************************************************!*\
!*** ../assets/js/services/rich-text-parser/tokens/paragraph.js ***!
\******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ Paragraph)
/* harmony export */ });
/* harmony import */ var _base_token__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base-token */ "../assets/js/services/rich-text-parser/tokens/base-token.js");
class Paragraph extends _base_token__WEBPACK_IMPORTED_MODULE_0__["default"] {
static type = 'Paragraph';
}
/***/ }),
/***/ "../assets/js/services/rich-text-parser/tokens/text.js":
/*!*************************************************************!*\
!*** ../assets/js/services/rich-text-parser/tokens/text.js ***!
\*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ Text)
/* harmony export */ });
/* harmony import */ var _base_token__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base-token */ "../assets/js/services/rich-text-parser/tokens/base-token.js");
class Text extends _base_token__WEBPACK_IMPORTED_MODULE_0__["default"] {
static type = 'Text';
}
/***/ }),
/***/ "../assets/js/services/rich-text-parser/tokens/url.js":
/*!************************************************************!*\
!*** ../assets/js/services/rich-text-parser/tokens/url.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ Url)
/* harmony export */ });
/* harmony import */ var _base_token__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base-token */ "../assets/js/services/rich-text-parser/tokens/base-token.js");
class Url extends _base_token__WEBPACK_IMPORTED_MODULE_0__["default"] {
static type = 'Url';
/**
* @see https://stackoverflow.com/questions/3809401/what-is-a-good-regular-expression-to-match-a-url
*
* @return {RegExp} pattern
*/
static getPattern() {
return /https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_+.~#?&/=]*)/;
}
}
/***/ }),
/***/ "../assets/js/services/rich-text-parser/tokens/username.js":
/*!*****************************************************************!*\
!*** ../assets/js/services/rich-text-parser/tokens/username.js ***!
\*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ Username)
/* harmony export */ });
/* harmony import */ var _base_token__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base-token */ "../assets/js/services/rich-text-parser/tokens/base-token.js");
class Username extends _base_token__WEBPACK_IMPORTED_MODULE_0__["default"] {
static type = 'Username';
}
/***/ }),
/***/ "../assets/js/services/rich-text-parser/tokens/wow.js":
/*!************************************************************!*\
!*** ../assets/js/services/rich-text-parser/tokens/wow.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ Wow)
/* harmony export */ });
/* harmony import */ var _base_token__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base-token */ "../assets/js/services/rich-text-parser/tokens/base-token.js");
class Wow extends _base_token__WEBPACK_IMPORTED_MODULE_0__["default"] {
static type = 'Wow';
static getPattern() {
return /(?:(?:\b(?:yay|wow)\b)|🎉)/;
}
}
/***/ }),
/***/ "../assets/js/services/rich-text-parser/utils.js":
/*!*******************************************************!*\
!*** ../assets/js/services/rich-text-parser/utils.js ***!
\*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ pipe: () => (/* binding */ pipe)
/* harmony export */ });
/**
* A util function to transform data through transform functions
*
* @param {Function[]} functions
* @return {Function} function
*/
function pipe(...functions) {
return (value, ...args) => functions.reduce((currentValue, currentFunction) => currentFunction(currentValue, ...args), value);
}
/***/ })
}]);
//# sourceMappingURL=notes-app.js.map