/******/ (function() { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ "./packages/packages/core/editor-templates/src/init.ts":
/*!*************************************************************!*\
!*** ./packages/packages/core/editor-templates/src/init.ts ***!
\*************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ init: function() { return /* binding */ init; }
/* harmony export */ });
/* harmony import */ var _elementor_editor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor */ "@elementor/editor");
/* harmony import */ var _elementor_editor__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _elementor_editor_styles_repository__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-styles-repository */ "@elementor/editor-styles-repository");
/* harmony import */ var _elementor_editor_styles_repository__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_styles_repository__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var _load_templates__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./load-templates */ "./packages/packages/core/editor-templates/src/load-templates.ts");
/* harmony import */ var _render_template_styles__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./render-template-styles */ "./packages/packages/core/editor-templates/src/render-template-styles.tsx");
/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./store */ "./packages/packages/core/editor-templates/src/store.ts");
/* harmony import */ var _templates_styles_provider__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./templates-styles-provider */ "./packages/packages/core/editor-templates/src/templates-styles-provider.ts");
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils */ "./packages/packages/core/editor-templates/src/utils.ts");
function init() {
if (!(0,_utils__WEBPACK_IMPORTED_MODULE_8__.isHandlingTemplateStyles)()) {
return;
}
(0,_elementor_store__WEBPACK_IMPORTED_MODULE_3__.__registerSlice)(_store__WEBPACK_IMPORTED_MODULE_6__.slice);
_elementor_editor_styles_repository__WEBPACK_IMPORTED_MODULE_1__.stylesRepository.register(_templates_styles_provider__WEBPACK_IMPORTED_MODULE_7__.templatesStylesProvider);
(0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__.registerDataHook)('after', 'editor/documents/attach-preview', async () => {
(0,_load_templates__WEBPACK_IMPORTED_MODULE_4__.unloadTemplates)();
(0,_templates_styles_provider__WEBPACK_IMPORTED_MODULE_7__.clearTemplatesStyles)();
await (0,_load_templates__WEBPACK_IMPORTED_MODULE_4__.loadTemplates)();
});
(0,_elementor_editor__WEBPACK_IMPORTED_MODULE_0__.injectIntoLogic)({
id: 'templates-styles',
component: _render_template_styles__WEBPACK_IMPORTED_MODULE_5__.RenderTemplateStyles
});
}
/***/ }),
/***/ "./packages/packages/core/editor-templates/src/load-templates.ts":
/*!***********************************************************************!*\
!*** ./packages/packages/core/editor-templates/src/load-templates.ts ***!
\***********************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ loadTemplates: function() { return /* binding */ loadTemplates; },
/* harmony export */ unloadTemplates: function() { return /* binding */ unloadTemplates; }
/* harmony export */ });
/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-documents */ "@elementor/editor-documents");
/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./store */ "./packages/packages/core/editor-templates/src/store.ts");
const TEMPLATE_ATTRIBUTE = 'data-elementor-post-type="elementor_library"';
const DOCUMENT_WRAPPER_ATTR = 'data-elementor-id';
async function loadTemplates() {
const iframeDocument = (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__.getCanvasIframeDocument)();
if (!iframeDocument) {
return;
}
const currentDocumentId = (0,_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__.getV1CurrentDocument)()?.id;
const templateIds = getTemplateIds(iframeDocument, currentDocumentId);
if (!templateIds.length) {
return;
}
const documents = await fetchDocuments(templateIds);
(0,_elementor_store__WEBPACK_IMPORTED_MODULE_2__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_3__.slice.actions.setTemplates(documents));
}
function unloadTemplates() {
(0,_elementor_store__WEBPACK_IMPORTED_MODULE_2__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_3__.slice.actions.clearTemplates());
}
function getTemplateIds(iframeDocument, currentDocumentId) {
const elements = [...iframeDocument.body.querySelectorAll(`[${TEMPLATE_ATTRIBUTE}]`)];
const ids = elements.map(el => Number(el.getAttribute(DOCUMENT_WRAPPER_ATTR))).filter(id => !isNaN(id) && id !== currentDocumentId);
return [...new Set(ids)];
}
async function fetchDocuments(ids) {
const results = await Promise.all(ids.map(async id => {
try {
// using ajax.load instead of the document-manager as the latter causes an issue when trying to edit a template
return await _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__.ajax.load({
data: {
id
},
action: 'get_document_config',
unique_id: `template-${id}`
});
} catch {
return null;
}
}));
return results.filter(doc => doc !== null);
}
/***/ }),
/***/ "./packages/packages/core/editor-templates/src/render-template-styles.tsx":
/*!********************************************************************************!*\
!*** ./packages/packages/core/editor-templates/src/render-template-styles.tsx ***!
\********************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ RenderTemplateStyles: function() { return /* binding */ RenderTemplateStyles; }
/* 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 _templates_styles_provider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./templates-styles-provider */ "./packages/packages/core/editor-templates/src/templates-styles-provider.ts");
/* harmony import */ var _use_loaded_templates__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./use-loaded-templates */ "./packages/packages/core/editor-templates/src/use-loaded-templates.ts");
const RenderTemplateStyles = () => {
const templates = (0,_use_loaded_templates__WEBPACK_IMPORTED_MODULE_2__.useLoadedTemplates)();
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
const styles = templates.flatMap(extractStylesFromDocument);
(0,_templates_styles_provider__WEBPACK_IMPORTED_MODULE_1__.addTemplateStyles)(styles);
}, [templates]);
return null;
};
function extractStylesFromDocument(elements) {
if (!elements.length) {
return [];
}
return elements.flatMap(extractStylesFromElement);
}
function extractStylesFromElement(element) {
return [...Object.values(element.styles ?? {}), ...(element.elements ?? []).flatMap(extractStylesFromElement)];
}
/***/ }),
/***/ "./packages/packages/core/editor-templates/src/store.ts":
/*!**************************************************************!*\
!*** ./packages/packages/core/editor-templates/src/store.ts ***!
\**************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ selectTemplates: function() { return /* binding */ selectTemplates; },
/* harmony export */ slice: function() { return /* binding */ slice; }
/* harmony export */ });
/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_0__);
const initialState = {
entities: {}
};
const slice = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSlice)({
name: 'templates',
initialState,
reducers: {
setTemplates(state, action) {
action.payload.forEach(doc => {
state.entities[doc.id] = doc.elements ?? [];
});
},
clearTemplates(state) {
state.entities = {};
}
}
});
const selectEntities = state => state.templates.entities;
const selectTemplates = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)([selectEntities], entities => Object.values(entities));
/***/ }),
/***/ "./packages/packages/core/editor-templates/src/templates-styles-provider.ts":
/*!**********************************************************************************!*\
!*** ./packages/packages/core/editor-templates/src/templates-styles-provider.ts ***!
\**********************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ addTemplateStyles: function() { return /* binding */ addTemplateStyles; },
/* harmony export */ clearTemplatesStyles: function() { return /* binding */ clearTemplatesStyles; },
/* harmony export */ templatesStylesProvider: function() { return /* binding */ templatesStylesProvider; }
/* harmony export */ });
/* harmony import */ var _elementor_editor_styles_repository__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-styles-repository */ "@elementor/editor-styles-repository");
/* harmony import */ var _elementor_editor_styles_repository__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_styles_repository__WEBPACK_IMPORTED_MODULE_0__);
let styles = [];
const listeners = new Set();
function addTemplateStyles(newStyles) {
styles = [...styles, ...newStyles];
listeners.forEach(cb => cb());
}
function clearTemplatesStyles() {
styles = [];
listeners.forEach(cb => cb());
}
const templatesStylesProvider = (0,_elementor_editor_styles_repository__WEBPACK_IMPORTED_MODULE_0__.createStylesProvider)({
key: 'templates-styles',
priority: 50,
subscribe: cb => {
listeners.add(cb);
return () => {
listeners.delete(cb);
};
},
actions: {
all: () => styles,
get: id => styles.find(style => style.id === id) ?? null
}
});
/***/ }),
/***/ "./packages/packages/core/editor-templates/src/use-loaded-templates.ts":
/*!*****************************************************************************!*\
!*** ./packages/packages/core/editor-templates/src/use-loaded-templates.ts ***!
\*****************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ useLoadedTemplates: function() { return /* binding */ useLoadedTemplates; }
/* harmony export */ });
/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./store */ "./packages/packages/core/editor-templates/src/store.ts");
function useLoadedTemplates() {
return (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__useSelector)(_store__WEBPACK_IMPORTED_MODULE_1__.selectTemplates);
}
/***/ }),
/***/ "./packages/packages/core/editor-templates/src/utils.ts":
/*!**************************************************************!*\
!*** ./packages/packages/core/editor-templates/src/utils.ts ***!
\**************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ isHandlingTemplateStyles: function() { return /* binding */ isHandlingTemplateStyles; }
/* harmony export */ });
/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/utils */ "@elementor/utils");
/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_utils__WEBPACK_IMPORTED_MODULE_0__);
const MIN_PRO_VERSION_FOR_SELF_HANDLED_STYLES = '4.1';
const isHandlingTemplateStyles = () => (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.isProActive)() && !(0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.isProAtLeast)(MIN_PRO_VERSION_FOR_SELF_HANDLED_STYLES);
/***/ }),
/***/ "@elementor/editor":
/*!*****************************************!*\
!*** external ["elementorV2","editor"] ***!
\*****************************************/
/***/ (function(module) {
module.exports = window["elementorV2"]["editor"];
/***/ }),
/***/ "@elementor/editor-documents":
/*!**************************************************!*\
!*** external ["elementorV2","editorDocuments"] ***!
\**************************************************/
/***/ (function(module) {
module.exports = window["elementorV2"]["editorDocuments"];
/***/ }),
/***/ "@elementor/editor-styles-repository":
/*!*********************************************************!*\
!*** external ["elementorV2","editorStylesRepository"] ***!
\*********************************************************/
/***/ (function(module) {
module.exports = window["elementorV2"]["editorStylesRepository"];
/***/ }),
/***/ "@elementor/editor-v1-adapters":
/*!***************************************************!*\
!*** external ["elementorV2","editorV1Adapters"] ***!
\***************************************************/
/***/ (function(module) {
module.exports = window["elementorV2"]["editorV1Adapters"];
/***/ }),
/***/ "@elementor/store":
/*!****************************************!*\
!*** external ["elementorV2","store"] ***!
\****************************************/
/***/ (function(module) {
module.exports = window["elementorV2"]["store"];
/***/ }),
/***/ "@elementor/utils":
/*!****************************************!*\
!*** external ["elementorV2","utils"] ***!
\****************************************/
/***/ (function(module) {
module.exports = window["elementorV2"]["utils"];
/***/ }),
/***/ "react":
/*!**************************!*\
!*** external ["React"] ***!
\**************************/
/***/ (function(module) {
module.exports = window["React"];
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
/******/ /* webpack/runtime/compat get default export */
/******/ !function() {
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function() { return module['default']; } :
/******/ function() { return module; };
/******/ __webpack_require__.d(getter, { a: getter });
/******/ return getter;
/******/ };
/******/ }();
/******/
/******/ /* webpack/runtime/define property getters */
/******/ !function() {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = function(exports, definition) {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ }();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ !function() {
/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
/******/ }();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ !function() {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ }();
/******/
/************************************************************************/
var __webpack_exports__ = {};
// This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk.
!function() {
/*!**************************************************************!*\
!*** ./packages/packages/core/editor-templates/src/index.ts ***!
\**************************************************************/
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ init: function() { return /* reexport safe */ _init__WEBPACK_IMPORTED_MODULE_0__.init; },
/* harmony export */ isHandlingTemplateStyles: function() { return /* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_2__.isHandlingTemplateStyles; },
/* harmony export */ useLoadedTemplates: function() { return /* reexport safe */ _use_loaded_templates__WEBPACK_IMPORTED_MODULE_1__.useLoadedTemplates; }
/* harmony export */ });
/* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./init */ "./packages/packages/core/editor-templates/src/init.ts");
/* harmony import */ var _use_loaded_templates__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-loaded-templates */ "./packages/packages/core/editor-templates/src/use-loaded-templates.ts");
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ "./packages/packages/core/editor-templates/src/utils.ts");
}();
(window.elementorV2 = window.elementorV2 || {}).editorTemplates = __webpack_exports__;
/******/ })()
;
window.elementorV2.editorTemplates?.init?.();
//# sourceMappingURL=editor-templates.js.map/* dialog.css */
/* Dialog wrapper */
.elfinder .elfinder-dialog {
/* */
}
/* Dialog title */
.elfinder .elfinder-dialog .ui-dialog-titlebar {
padding: 3px 0 3px 6px;
height: 30px;
box-sizing: border-box;
}
/* Close button */
.elfinder .elfinder-dialog .ui-dialog-titlebar-close {
background: url('../images/close.png');
right: 0;
border-radius: 0;
margin-top: -15px;
webkit-transition: background 0.3s; /* Safari */
transition: background-image 0.3s;
height: 29px;
width: 45px;
}
.elfinder .elfinder-dialog .ui-dialog-titlebar-close:hover {
background: url('../images/close-hover.png');
}
.std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button.elfinder-titlebar-button-right {
left: 1px;
top: 12px;
}
/* Dialog content */
.elfinder .elfinder-dialog .ui-dialog-content {
/* */
}
/* Tabs */
/* Tabs wrapper */
.elfinder .elfinder-dialog .ui-tabs-nav {
/* */
}
/* Normal tab */
.elfinder .elfinder-dialog .ui-tabs-nav .ui-state-default {
/* */
}
/* Current tab */
.elfinder .elfinder-dialog .ui-tabs-nav .ui-tabs-selected {
/* */
}
/* Active tab */
.elfinder .elfinder-dialog .ui-tabs-nav li:active {
/* */
}
.elfinder .ui-state-active {
background: #1979CA none repeat scroll 0 0;
/*background: #009688 none repeat scroll 0 0; */
}
/* Icons */
/* Dialog icon (e.g. for error messages) */
.elfinder .elfinder-dialog .elfinder-dialog-icon {
/* */
}
/* Error icon */
.elfinder .elfinder-dialog .elfinder-dialog-icon-error {
/* */
}
/* Confirmation icon */
.elfinder .elfinder-dialog .elfinder-dialog-icon-confirm {
/* */
}
/* Footer */
.elfinder .elfinder-dialog .ui-dialog-buttonpane {
/* */
}
/* Buttonset (wrapper) */
.elfinder .elfinder-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
/* */
}
/* Button */
.elfinder .elfinder-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button {
/* */
}
/* Styling specific types of dialogs */
/* Error */
.elfinder .elfinder-dialog-error {
/* */
}
/* Confirm */
.elfinder .elfinder-dialog-confirm {
/* */
}
/* File editing */
.elfinder .elfinder-dialog .elfinder-file-edit {
/* */
}
/* File information */
/* Title */
.elfinder .elfinder-dialog .elfinder-info-title {
/* */
}
/* Table */
.elfinder .elfinder-dialog .elfinder-info-tb {
/* */
}
/* File upload (including dropbox) */
.elfinder .elfinder-dialog .elfinder-upload-dropbox,
.elfinder .elfinder-dialog .elfinder-upload-dialog-or {
/* */
}
The post A Deep Dive into Wazamba’s Loyalty Program Benefits appeared first on .
]]>Jsem Jan Novák, odborník na online hazardní hry, a dnes vás vezmu na podrobnou procházku po Wazamba, jednom z nejzajímavějších online casin na trhu. V této recenzi se zaměříme především na výhody věrnostního programu Wazamba, který osloví jak nováčky, tak zkušené hráče. Wazamba je ideální volbou pro ty, kteří hledají pestrou nabídku her, atraktivní bonusy a skvělou zákaznickou podporu.
Wazamba Casino se od svého vzniku stalo oblíbeným místem pro hráče z různých koutů světa. Stránky jsou navrženy v zářivých barvách, což přispívá k příjemnému hernímu prostředí. Po registraci získají uživatelé přístup k široké škále her, včetně slotů, stolních her a živých casinových her. Díky intuitivnímu rozhraní je snadné se orientovat a najít si oblíbené tituly. Wazamba také nabízí bohaté bonusy a promo akce, které novým hráčům i stávajícím členům přinášejí skvělé výhody.
Proces registrace na stránkách Wazamba je jednoduchý a rychlý. Hráči si mohou vytvořit účet během několika minut vyplněním základních údajů, jako jsou jméno, e-mail a heslo. Jakmile je registrace dokončena, noví hráči mohou okamžitě využít své uvítací bonusy a začít hrát. Přihlašování do systému je také bezproblémové – stačí zadat e-mail a heslo. Důležité je mít na paměti, že pro některé výběry může být vyžadováno dodatečné ověření identity.
Wazamba Casino se pyšní pestrou nabídkou bonusů, které zahrnují uvítací bonusy, reload bonusy, a veškeré akce pro věrné hráče. Když se poprvé zaregistrujete, můžete získat atraktivní bonus na Váš první vklad, často až 100 % navíc k Vašim vloženým prostředkům. Někdy kasino poskytuje promo kódy, které můžete použít pro získání dodatečných odměn, a to je další způsob, jak zvýšit svůj herní bankroll. Mějte také na paměti, že bonusy jsou obvykle spojeny s požadavky na prosázení, které je třeba splnit, než si budete moci vybrat své výhry.
Co dělá Wazamba Casino tak atraktivním, je jeho široká nabídka her. Hráči si mohou vybrat z více než 2000 her, které zahrnují sloty od renomovaných výrobců jako jsou NetEnt, Microgaming, a Play’n GO. Kromě toho je k dispozici také živé kasino, kde si můžete zahrát s živými krupiéry. Mezi populární hry patří ruleta, blackjack a baccarat. S mobilní verzí může hráč snadno přistupovat k těmto hrám kdekoli a kdykoli, což zajišťuje skvělou zkušenost i na cestách wazamba recenze.
Wazamba Casino je provozováno společností Rabidi N.V., která má licenci vydanou Curacaosem. Tato licence zajišťuje, že kasino dodržuje standardy spravedlivosti a bezpečnosti, což znamená, že hráči se mohou cítit v bezpečí při použití svých osobních a finančních údajů. Kasino používá nejnovější šifrovací technologie pro zabezpečení údajů hráčů a pravidelně provádí audity, aby zajistilo fair play. Ověření účtu je dalším důležitým krokem, který chrání hráče před podvody a zajišťuje, že každý hráč je skutečná osoba a má právo na účast v hrách.
A Deep Dive into Wazamba’s Loyalty Program Benefits nám ukazuje, že věrnostní program je jedním z největších přínosů pro pravidelné hráče. Program má několik úrovní, kde hráči získávají body za svou aktivitu a hraní her. Tyto body mohou být poté směněny za různé odměny, jako jsou bonusy, free spiny nebo dokonce hmotné ceny. Čím více hráč vsadí, tím vyšší úroveň a lepší výhody dosáhne.
Wazamba Casino je rozhodně pro každého, kdo hledá spolehlivé a zábavné místo pro online hraní. Jeho široký výběr her, atraktivní bonusy a silný věrnostní program z něj činí ideální volbu pro jakéhokoli hráče. A Deep Dive into Wazamba’s Loyalty Program Benefits ukazuje, že věrnost se vyplácí a odměny za aktivitu v kasinu jsou skutečně lákavé. Pokud hledáte kasino, které vás odmění za vaši loajalitu, Wazamba by měla být na vašem seznamu top destinací.
The post A Deep Dive into Wazamba’s Loyalty Program Benefits appeared first on .
]]>The post Participating in Wazamba’s Charity Events and Support Initiatives appeared first on .
]]>Jmenuji se Jakub Novák a dnes bych rád podrobně recenzoval online kasino Wazamba. Toto kasino je ideální volbou pro všechny, kdo hledají jak skvělé herní zážitky, tak i možnost podílet se na dobročinných akcích a podpůrných iniciativách. V tomto článku se zaměřím na hlavní funkce Wazamby, jako je registrační proces, nabídka her, mobilní aplikace, bezpečnost a také na to, jak můžete Participating in Wazamba’s Charity Events and Support Initiatives a přispět k dobré věci.
Wazamba je moderní online kasino, které bylo založeno v roce 2019. Je známo svou pestrou nabídkou her, včetně automatů, stolních her a živého kasina. Kasino se zaměřuje na poskytování zábavného a bezpečného herního prostředí, které vyhovuje široké škále hráčů. Uživatelské rozhraní je responsivní a intuitivní, což usnadňuje navigaci. Při prvním přihlášení si hráči mohou easily prohlédnout dostupné bonusy a promo akce, které kasino nabízí. Jsem si jistý, že právě Participating in Wazamba’s Charity Events and Support Initiatives přiláká i mnohé nové hráče, kteří chtějí spojit zábavu s dobrým účelem.
Registrace na Wazamba je rychlý a jednoduchý proces. Pokud se rozhodnete připojit, stačí vyplnit několik základních údajů jako je email, heslo a další informace. Po ověření účtu můžete začít ihned hrát. Přihlášení je také snadné; stačí zadat své uživatelské jméno a heslo. Následující kroky vám pomohou dokončit registraci:
Wazamba nabízí různorodou škálu bonusů a promo akcí, které hráčům umožňují zvýšit jejich herní zážitek. Mezi hlavní bonusy patří uvítací bonusy, které zahrnují bonusy na první vklady a otočky zdarma. Hráči by měli pravidelně sledovat sekci “Promoakce”, aby nezmeškali speciální nabídky. Dále je možné získat bonusové kódy, které se mohou vztahovat k různým akcím. Tento aspekt kasina dělá Participating in Wazamba’s Charity Events and Support Initiatives nejen zajímavým, ale také obohacujícím pro samotné hráče wazamba casino.
Dostupnost her v kasinu Wazamba je skutečně ohromující. Kromě více než 2000 různých automatů, kde jsou populární tituly jako Book of Dead či Starburst, má kasino také sekci s živými krupiéry. Hráči si mohou užít hry jako blackjack, ruleta a baccarat v reálném čase. Pro ty, kteří preferují hraní na mobilních zařízeních, Wazamba nabízí optimalizovanou platformu pro mobily, která zajišťuje plynulý herní zážitek na všech typech zařízení. Navíc je možné stáhnout i mobilní aplikaci, což zjednodušuje přístup k hrám a bonusům. V rámci této široké nabídky se stává Participating in Wazamba’s Charity Events and Support Initiatives zajímavou příležitostí, jak se zapojit do těchto aktivit přímo během hraní.
Wazamba je provozováno společností NEKTON LTD, která má licenci vydanou vládou Curacaa. Tato licence je zárukou, že kasino splňuje všechny nezbytné bezpečnostní a regulativní standardy. Hráči se mohou spolehnout na šifrování dat a zabezpečení transakcí pomocí prokázaných technologií. Každý hráč musí projít procesem ověření identity, aby byla zajištěna ochrana proti podvodům. Bezpečnostní opatření, jako je dvoufázové ověření a ochrana osobních údajů, dělají z Wazamby spolehlivé online kasino, které si váží svých hráčů. Participating in Wazamba’s Charity Events and Support Initiatives tak probíhá v bezpečném a důvěryhodném prostředí, což posiluje důvěru hráčů v tuto značku.
Wazamba nabízí vynikající zákaznickou podporu prostřednictvím živého chatu a e-mailu. Čas reakce je rychlý a operátoři jsou vždy připraveni pomoci s jakýmikoliv dotazy nebo problémy. Navíc je k dispozici rozsáhlá sekce FAQ, kde najdete odpovědi na nejčastější otázky. Hráči ocení také uživatelsky přívětivé rozhraní, které usnadňuje orientaci na webu. Je to prostor, kde je snadné Participating in Wazamba’s Charity Events and Support Initiatives a kde je cítit i silná komunitní atmosféra.
Wazamba se pro mě stalo jedním z nejzábavnějších a nejbezpečnějších online kasin, které jsem kdy vyzkoušel. Se širokým výběrem her, atraktivními bonusy a skvělou zákaznickou podporou se Wazamba stává ideálním místem pro každého hráče. Dále jejich závazek k dobročinnosti a podpoře komunitních iniciativ je něco, co bych rád v kasinovém světě viděl častěji. Participating in Wazamba’s Charity Events and Support Initiatives mi dává pocit, že i já přispívám k něčemu většímu, zatímco se bavím.
The post Participating in Wazamba’s Charity Events and Support Initiatives appeared first on .
]]>The post Recenze online kasina: Zkušenosti hráčů s Wazamba appeared first on .
]]>Jmenuji se Jan Novák a rád bych se s vámi podělil o své zkušenosti s online kasinem Wazamba. Toto kasino je ideální pro hráče, kteří hledají širokou škálu her a skvělé bonusy. Wazamba je platforma, která nabízí nejen skvělé hry, ale také příjemné uživatelské rozhraní a vysokou úroveň bezpečnosti, což je důležité pro každého hráče. V tomto článku se podívám na klíčové aspekty, které byste měli vědět o Wazamba, a sdílím s vámi recenze hráčů: zkušenosti na Wazamba.
Wazamba je moderní online kasino, které na trhu působí od roku 2020. Nabízí široký výběr her od předních poskytovatelů jako jsou NetEnt, Microgaming a Evolution Gaming. Kasino je určeno pro všechny typy hráčů, od začátečníků po zkušené hráče. Registrovat se na Wazamba je jednoduché, což je další výhoda pro ty, kteří chtějí rychle začít hrát. Zde je několik klíčových informací:
Postup registrace na Wazamba je velmi jednoduchý a rychlý. Stačí dodržet následující kroky:
Po dokončení registrace získáte přístup k široké nabídce her a možným bonusům, které Wazamba nabízí. Hráči mohou využít uvítací bonus, který zahrnuje bezplatné otočky a bonusové prostředky na prvních několik vkladů. Player Testimonials: Experiences on Wazamba ukazují, že tento uvítací bonus je velmi atraktivní pro nové hráče.
Wazamba nabízí skvělé bonusy, které pomáhají hráčům maximalizovat jejich herní zkušenosti. Hlavním lákadlem je uvítací bonus, ale to není všechno. Zde je seznam bonusů, které můžete tudíž očekávat:
Je důležité si přečíst podmínky a pravidla jednotlivých bonusů, protože některé mohou mít specifické požadavky na sázení. Player Testimonials: Experiences on Wazamba většinou potvrzují, že bonusy jsou výhodné, ale vyžadují pečlivé čtení podmínek wazamba.
Wazamba je provozováno společností TechSolutions Group N.V., která je licencována vládou Curacaa. Tato licence zaručuje vysokou úroveň bezpečnosti a férovosti her. Hráči se mohou spolehnout na, že jejich osobní a finanční údaje jsou chráněny. Kasino používá šifrovací technologie SSL, což zajišťuje, že všechny transakce jsou bezpečné. Dále mají hráči možnost nastavit si limity pro vklady a výběry, což podporuje zodpovědné hraní.
Bezpečnostní prvky a pravidla ověřování hráčů zahrnují:
Wazamba se může pyšnit rozsáhlým výběrem her. Hráči mohou najít klasické výherní automaty, videohry, jackpoty a také živé kasino. Každá sekce nabízí něco unikátního:
Hráči si pochvalují rozmanitost a kvalitu her. Player Testimonials: Experiences on Wazamba ukazují, že hráči oceňují také možnost hrát hry zdarma pomocí demo verzí.
Podpora zákazníků je na Wazamba velmi profesionální. K dispozici je několik způsobů, jak kontaktovat podporu. Můžete využít živý chat, e-mail nebo sekci FAQ, kde najdete odpovědi na nejčastější dotazy. Zkušenost s podporou zákazníků je velmi pozitivní. Hráči si často stěžují na pomalé odpovědi, ale většinou jsou vyřešeni jejich problémy rychle a efektivně. Celkové uživatelské rozhraní kasina je přehledné a intuitivní, což usnadňuje orientaci i novým hráčům.
Moje zkušenosti s Wazamba jsou velice pozitivní. Toto kasino kombinuje skvělé hry, atraktivní bonusy a vysokou úroveň bezpečnosti. Jsem si jistý, že osloví širokou škálu hráčů. Pokud hledáte online kasino, které vám nabízí skvělou zábavu a bezpečné prostředí, Wazamba je skvělou volbou. Player Testimonials: Experiences on Wazamba potvrzují, že většina hráčů má s touto platformou dobré zkušenosti. Určitě doporučuji Wazamba vyzkoušet!
The post Recenze online kasina: Zkušenosti hráčů s Wazamba appeared first on .
]]>The post Wazamba Promotions: Unlock Exclusive Bonuses This Month appeared first on .
]]>Jmenuji se Martin Novák a rád bych se s vámi podělil o své zkušenosti s online kasinem Wazamba. Toto kasino je ideální pro všechny, kteří hledají nejen široký výběr her, ale také atraktivní bonusy a promoakce. Wazamba Promotions: Unlock Exclusive Bonuses This Month, ať už jste nováček nebo zkušený hráč, má co nabídnout.
Wazamba je online kasino, které se stalo oblíbeným cílem pro české hráče díky své pestré nabídce her a exkluzivním bonusům. S moderním a uživatelsky přívětivým rozhraním poskytuje Kasino kvalitní zážitek jak na desktopu, tak na mobilních zařízeních. Po registraci máte možnost vybrat si z široké škály slotů, stolních her a živého kasina. Jeho hrací platforma se hodí jak pro rekreační hráče, tak pro ty, kteří hledají dobrodružství.
Registrace na Wazamba je snadná a rychlá. Zde je návod, jak postupovat:
Přihlašování probíhá standardně, stačí zadat váš e-mail a heslo. Wazamba Promotions: Unlock Exclusive Bonuses This Month se vztahují na nové hráče, ale i stávající zákazníky mohou těžit z pravidelných promoakcí.
Vstupní bonusy na Wazamba jsou mimořádně lákavé. Noví hráči mohou získat bonus až do výše 100 % z prvního vkladu a další skvělé promo akce. Je důležité si uvědomit, že pro získání bonusů nemusíte zadávat promo kód, neboť všechny jsou automaticky aplikovány při registraci. Každý měsíc nabízí Wazamba nové promotions, které pomáhají hráčům zůstávat motivovaní, což je součástí Wazamba Promotions: Unlock Exclusive Bonuses This Month.
Mezi hlavní výhody patří:
Wazamba se pyšní širokým spektrem her od renomovaných poskytovatelů, jako jsou NetEnt, Microgaming a Evolution Gaming. Hráči si mohou vybrat z: wazamba
Tato rozmanitost umožňuje každému hráči najít hru podle svého vkusu. Wazamba Promotions: Unlock Exclusive Bonuses This Month zahrnují také soutěže a turnaje, které dodávají hraní nový rozměr.
Wazamba je provozováno společností Rabidi N.V., která má licenci vydanou vládou Curacaa. Tato licence je zárukou toho, že kasino dodržuje všechny přísné regulace, které chrání hráče. Bezpečnost hráčských dat zajišťuje pokročilé šifrování SSL. Wazamba rovněž pravidelně provádí audity, aby zajistilo fair play a transparentnost herního prostředí. To vše přispívá k důvěře hráčů v bezpečnost kasina. Požadavek na ověření totožnosti a věku je také standardním postupem při výběru výher.
Support služba Wazamba je dostupná 24/7 a nabízí rychlou pomoc prostřednictvím chatu i e-mailu. Osobně jsem měl dobrou zkušenost, kdy byl tým velmi vstřícný a znalý. Navigace na webových stránkách je intuitivní a hráči nemají problém najít to, co potřebují. Navíc existuje možnost stáhnout mobilní aplikaci, kterou jsem vyzkoušel a která je velmi pohodlná na používání, což je další důvod, proč jsem si oblíbil Wazamba Promotions: Unlock Exclusive Bonuses This Month.
Wazamba je bezpochyby jedním z nejoblíbenějších online kasin na českém trhu. Jeho široká nabídka her, skvělé bonusy a silný důraz na bezpečnost a zákaznický servis dělají z tohoto kasina vynikající volbu pro každý typ hráče. Wazamba Promotions: Unlock Exclusive Bonuses This Month přináší vždy nové a zajímavé příležitosti pro získání výher, což dodává celému zážitku na intenzitě.
The post Wazamba Promotions: Unlock Exclusive Bonuses This Month appeared first on .
]]>