@charset "UTF-8";@-webkit-keyframes ai1wmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes ai1wmFadeIn{0%{opacity:0}to{opacity:1}}.ai1wm-schedules-container{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;padding:20px 20px 20px 0;background:0 0}.ai1wm-schedules-container header,.ai1wm-schedules-container header>div a{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.ai1wm-schedules-container header{background:#f8ebff;border:solid 2px #fff;border-radius:5px;width:100%;margin-bottom:20px;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.ai1wm-schedules-container header .ai1wm-schedules-subtitle{color:#a06ab4}.ai1wm-schedules-container header>div{padding:10px 20px}.ai1wm-schedules-container header>div a{text-decoration:none;color:#fff;background:linear-gradient(to bottom,#ed5eaa,#6060ef);padding:2px;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.ai1wm-schedules-container header>div a>span{padding:10px;background-color:#121217;width:100%;text-align:center}.ai1wm-schedules-container .ai1wm-schedules-content{background:#fff;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;border:2px solid #fff;border-radius:5px;padding:20px}.ai1wm-schedules-container .ai1wm-schedules-content aside{width:200px}.ai1wm-schedules-container,.ai1wm-schedules-container .ai1wm-schedules-content aside nav,.ai1wm-schedules-container .ai1wm-schedules-content section{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ai1wm-schedules-container .ai1wm-schedules-content aside nav{gap:10px;margin-top:1rem;margin-right:20px}.ai1wm-schedules-container .ai1wm-schedules-content aside nav a{text-decoration:none;color:#121217;border:2px solid transparent;padding:5px 10px;box-shadow:none}.ai1wm-schedules-container .ai1wm-schedules-content aside nav a.active,.ai1wm-schedules-container .ai1wm-schedules-content aside nav a:hover{background:#f8ebff;border-color:#f8ebff #f8ebff #f8ebff #a06ab4;cursor:pointer}.ai1wm-schedules-container .ai1wm-schedules-content section{-webkit-flex:1;-ms-flex:1;flex:1;border-left:1px solid #efeff5;padding:0 20px}.ai1wm-schedules-container .ai1wm-schedules-content section article>a,.ai1wm-schedules-container .ai1wm-schedules-content section article>div{display:none;opacity:0}.ai1wm-schedules-container .ai1wm-schedules-content section article>div.active{display:block;-webkit-animation:ai1wmFadeIn .25s linear forwards;animation:ai1wmFadeIn .25s linear forwards}.ai1wm-schedules-container .ai1wm-schedules-content section article>div.active h2{font-weight:700;font-size:1.2em}.ai1wm-schedules-container .ai1wm-schedules-content section article>div.active h2 a{font-size:.8em;padding:5px 5px 5px 10px;margin-left:10px;display:inline-block;border-left:1px solid #121217}.ai1wm-schedules-container .ai1wm-schedules-content section article>div.active img{width:621px;max-width:100%}@media (max-width:767px){.ai1wm-schedules-container{margin-right:10px}.ai1wm-schedules-container .ai1wm-schedules-content,.ai1wm-schedules-container header{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ai1wm-schedules-container header h1{line-height:1.2}.ai1wm-schedules-container header>div.ai1wm-button-link{width:100%;margin-top:0}.ai1wm-schedules-container header>div.ai1wm-button-link a{margin:0 20px}.ai1wm-schedules-container .ai1wm-schedules-content{background:0 0;border:0;padding:0}.ai1wm-schedules-container .ai1wm-schedules-content aside{display:none}.ai1wm-schedules-container .ai1wm-schedules-content section{background:0 0;padding:0}.ai1wm-schedules-container .ai1wm-schedules-content section article{border:2px solid #fff;border-radius:5px;background:#fff;margin-bottom:30px}.ai1wm-schedules-container .ai1wm-schedules-content section article:last-of-type{margin-bottom:0}.ai1wm-schedules-container .ai1wm-schedules-content section article>a{position:relative;color:#121217;text-decoration:none;display:block;font-weight:700;padding:10px 40px 10px 20px;opacity:1}.ai1wm-schedules-container .ai1wm-schedules-content section article>a:focus{box-shadow:none}.ai1wm-schedules-container .ai1wm-schedules-content section article>a>span{position:absolute;width:18px;height:18px;right:0;margin-right:20px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAAdpJREFUWEft1ruKFUEQgOFvE2+7iZj7ABooCEYKigbe8AkMTcx0QdfEu4kXVAwMBDMT8cbKYqKhL2Bm7HMoSsERxnHO9HRPr3BgOpyprv7nr+ruWbIgY2lBOE2gtSs1GZ2M1jZQO9/Uo//L6C48xV48w/PaC7fybcU9HMN73MLPZkxX6XfiEw40Am/g9ibBbsFrnG3kf4Vz+PHnWRt0BV+wrwPqGu5Whg2Tb3G6I+8LnJ8HehGPe2Cu404l2IB8h1M9+fbja7xvG70w68k+lhptsG0GebJnoV/Yg29doPGVn3EoYe3mrOFL5AZkbJgTickPcGVe6eP5MjZwJJEodunVTNIQ8QZnEvOe4FJq128WbDFkV+mbHzHU7H2sJQz17e7m1H9M9pW+BPavfmpBb8cHHM8t95DS14KtApkqfQnsQ1yeTdyB9bEmh5a+FDbO2ih33N19Y25Ptifl/ubFFfsRhxMA37E7ERM34OrQ4y0XNPJGSeOcPTp0kY64wSZLSt9cbwxsNmTOZuqSVwJbBDkWNLcNiiFrgA6FHQVZCzQFOxqyJug82CqQtUEjX5yzj3AQLxE3VZVRco5WWTg3yQSaaywVPxlNGcp9PxnNNZaKn4ymDOW+XxijvwFnZkorasbgRwAAAABJRU5ErkJggg==) center center no-repeat;background-size:contain}.ai1wm-schedules-container .ai1wm-schedules-content section article>a.active{border-bottom:1px solid #efeff5;cursor:default}.ai1wm-schedules-container .ai1wm-schedules-content section article>a.active>span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAAclJREFUWEft2LtKxEAUxvH/Nl7QRux9AC0sxE5BxMIb+AR2Nlaihdp4t/AGaqOF2FmIeEdstPQJbOx9DkU5kECI2cxJ5iwYmLQ5M/ubLzMnS2pU5KpVxEmAWj+pkGhI1DoB6/nCHv3vibYDR0A/cAHsW4EtH30b8AQMJXCCnrfAWkGzkLHPBGsBzUOaYX2hGqQJ1gdaBOmNLQstg/TCloH6IEtji0KlTz4Dg46W8wl0OWoOgQVt6yoC1SZ5AKwBD8CIAyKtS7A/LrAWqkXKm2gx+tFW4NEKq4GWQcYBmWFdUC1yD1iq8/iagRtgwmcb5EEtkLHNG1sPqkXuAsuugxDdF+w1MFkm2SxoI5CxrSnaBoWxaais+hUYcKx6HdhQJpkuawHugFHH+GQH+fMBYhY4cUwgPXKzJDIeJthbYCxnHumtPcCH1KQTnYv+odcbvwpseSKTB0yw4znz9QLvWVB5Rb4BUpC+VoBtI6SmG5wDM3Fh1mHqAF6AvgTKMsn0WuWAXQFTiRuXwDTwlQeVe53AMdANnAJnxkmmp5NDvAMMA/fRGfhOFrneTA326acPUH1WusqQqC4nfVVIVJ+VrjIkqstJX1WZRH8Bl6RRK7iiYaMAAAAASUVORK5CYII=)}.ai1wm-schedules-container .ai1wm-schedules-content section article>div.active{padding:20px}.ai1wm-schedules-container .ai1wm-schedules-content section article>div.active h2{font-size:1.1em}}
High Performance
and Quality Brands
Solutions for
Multiple Industries
Transparency and Trust: The Heart of Our Industry.
We Go the Extra Mile for You
Flanges
Flanges are crucial for linking valves, pipes, pumps, and other plumbing equipment. These forged rings come in many shapes and sizes, making it imperative to determine the most suitable option for your needs. With the vast range of varieties and specifications available, selecting the right flange may initially pose a challenge. The two main categories of flanges are welded and threaded.
How are flanges connected to one another or various other pieces of equipment?
Connections are developed between two flanges or between a flange and another piece of equipment using a bolt. The two pieces are bolted together, making them a single unit. Bolting a flange to a pipeline provides an easily accessible seal.
We make 120 different flanges in cast iron, ms steel, stainless steel.
We also manufacture OD, ID, PCD, drill holes and special
purpose flange.
Click here
Flanges
Flanges are crucial for linking valves, pipes, pumps, and other plumbing equipment. These forged rings come in many shapes and sizes, making it imperative to determine the most suitable option for your needs. With the vast range of varieties and specifications available, selecting the right flange may initially pose a challenge. The two main categories of flanges are welded and threaded.
How are flanges connected to one another or various other pieces of equipment?
Connections are developed between two flanges or between a flange and another piece of equipment using a bolt. The two pieces are bolted together, making them a single unit. Bolting a flange to a pipeline provides an easily accessible seal.
We make 120 different flanges in cast iron, ms steel, stainless steel.
We also manufacture OD, ID, PCD, drill holes and special
purpose flange.
Click here
Flanges
Flanges are crucial for linking valves, pipes, pumps, and other plumbing equipment. These forged rings come in many shapes and sizes, making it imperative to determine the most suitable option for your needs. With the vast range of varieties and specifications available, selecting the right flange may initially pose a challenge. The two main categories of flanges are welded and threaded.
How are flanges connected to one another or various other pieces of equipment?
Connections are developed between two flanges or between a flange and another piece of equipment using a bolt. The two pieces are bolted together, making them a single unit. Bolting a flange to a pipeline provides an easily accessible seal.
We make 120 different flanges in cast iron, ms steel, stainless steel.
We also manufacture OD, ID, PCD, drill holes and special
purpose flange.
Click here
Flanges
Flanges are crucial for linking valves, pipes, pumps, and other plumbing equipment. These forged rings come in many shapes and sizes, making it imperative to determine the most suitable option for your needs. With the vast range of varieties and specifications available, selecting the right flange may initially pose a challenge. The two main categories of flanges are welded and threaded.
How are flanges connected to one another or various other pieces of equipment?
Connections are developed between two flanges or between a flange and another piece of equipment using a bolt. The two pieces are bolted together, making them a single unit. Bolting a flange to a pipeline provides an easily accessible seal.
We make 120 different flanges in cast iron, ms steel, stainless steel.
We also manufacture OD, ID, PCD, drill holes and special
purpose flange.
"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 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, 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} 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 ``.
*
* 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: [email protected] '
* output: {
* type: 'Content',
* value: [
* {
* type: 'Paragraph',
* value: [
* { type: 'Text', value: 'This is text and email: ' },
* { type: 'Email', value: '[email protected] ' },
* ]
* }
* ]
* }
*
* @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