/******/ (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 { /* */ } national casino Archives - https://sunlight168.shop/category/national-casino/ Fri, 04 Sep 2026 06:02:51 +0000 th hourly 1 https://wordpress.org/?v=6.9.7 https://sunlight168.shop/wp-content/uploads/2026/04/cropped-logo-32x32.webp national casino Archives - https://sunlight168.shop/category/national-casino/ 32 32 National Casino Philanthropy: Giving Back to Communities https://sunlight168.shop/national-casino-philanthropy-giving-back-to-communities/ Fri, 04 Sep 2026 06:02:51 +0000 https://sunlight168.shop/national-casino-philanthropy-giving-back-to-communities/ National Casino Phil […]

The post National Casino Philanthropy: Giving Back to Communities appeared first on .

]]>

National Casino Philanthropy: Giving Back to Communities

Živim, ime mi je Matjaž Novak, in danes vam bom predstavil preklet online kazino, ki zares izstopa: Nacionalni kazino. Ta platforma ne ponuja le izjemne igralne izkušnje, temveč tudi aktivno sodeluje v dobrodelnosti v lokalnih skupnostih. Nacionalni kazino je idealen za vse, ki iščejo zabavo, raznolikost iger in hkrati želijo prispevati k boljšemu svetu.

Ponudba iger in prijava na Nacionalni kazino

Nacionalni kazino nudi široko izbiro iger, ki vključujejo različne igre na srečo, kot so igralni avtomati, mize za ruleto, blackjack in live casino igre. Postopek registracije je enostaven in hiter. Novim uporabnikom priporočam, da sledijo tem korakom:

  1. Obiščite uradno spletno stran Nacionalnega kazinoja.
  2. Kliknite na gumb “Registracija”.
  3. Izpolnite zahtevane podatke kot so ime, e-pošta in geslo.
  4. Potrdite svojo identiteto preko e-poštnega sporočila.
  5. Prijavite se in izkoristite bonus dobrodošlice!

Bonus dobrodošlice vključuje 100% povišanje prvega depozita do 200 EUR, kar je odlična spodbuda za novince!

Izbor iger in igralniške izkušnje

Nacionalni kazino ponuja več kot 1000 različnih iger. Igre so zasnovane v sodelovanju z najboljšimi ponudniki programske opreme, kar zagotavlja vrhunsko igro in odlično grafiko. Med priljubljenimi kategorijami iger so:

  • Video igralni avtomati
  • Klasični igralni avtomati
  • Namizne igre (ruleta, blackjack, baccarat)
  • Live casino igre

Live casino predel omogoča interakcijo z resničnimi delivci v realnem času, kar dodatno popestri igralno izkušnjo. Igralci lahko dostopajo do vseh iger tudi prek mobilne aplikacije, kar pomeni, da lahko igrajo kjerkoli in kadarkoli.

Varnost in licenciranje Nacionalnega kazinoja

Nacionalni kazino upravlja ugledna družba, ki deluje pod licenco izdano s strani nacionalnega regulatorja iger na srečo. Ta licenca zagotavlja, da kazino deluje v skladu z vsemi potrebnimi pravili in standardi za zaščito igralcev. Pri Nacionalnem kazinoju so varnostni ukrepi na prvem mestu:

  • Uporaba napredne šifrirane tehnologije za zaščito osebnih in finančnih podatkov.
  • Redno nadzorovanje iger za zagotavljanje poštene igre.
  • Verifikacija identitete igralcev za preprečevanje goljufij.

Skupaj z vsemi temi ukrepi, Nacionalni kazino zagotavlja varno in zanesljivo okolje za svoje uporabnike national casino.

Podpora uporabnikom in uporabniška izkušnja

Podpora uporabnikom je ključnega pomena za Nacionalni kazino, zato ponujajo več kanalov za pomoč. Uporabniki lahko stopijo v stik s podporo preko:

  • Življenjske klepetalne podpore, ki je na voljo 24/7.
  • Zajema vprašanj (FAQ) na spletni strani, ki pokrivajo pogosto zastavljena vprašanja.
  • Elektronske pošte, ki zagotavlja hitre odgovore na kompleksnejša vprašanja.

Vse to skupaj zagotavlja brezskrbno igranje in takojšnjo pomoč, kadar jo potrebujete. Uporabniška izkušnja na Nacionalnem kazinoju je izjemna, saj platforma deluje hitro in intuitivno, kar omogoča enostavno navigacijo.

Zaključek

Nacionalni kazino se razlikuje od drugih, ne le po svoji obsežni ponudbi iger in vrhunski uporabniški izkušnji, temveč tudi z izjemno predanostjo dobrodelnosti. National Casino Philanthropy: Giving Back to Communities ni le njihova slogan, ampak resnična praksa, saj redno prispevajo sredstva različnim lokalnim iniciativam in projektom. Na ta način igralci ne prispevajo le k svoji zabavi, ampak tudi k pozitivni spremembi v družbi. Vsekakor priporočam Nacionalni kazino vsakemu, ki išče zanesljivega in dobrosrčnega partnerja v svetu iger na srečo.

Najpogostejša vprašanja (FAQ)

  • Kdo upravlja Nacionalni kazino? Nacionalni kazino upravlja ugledna organizacija z licenco, kar zagotavlja varnost in pošteno igro.
  • Kakšen bonus dobrodošlice ponuja Nacionalni kazino? Novi igralci prejmejo 100% bonus do 200 EUR ob prvem depozitu.
  • Ali je Nacionalni kazino na voljo na mobilnih napravah? Da, Nacionalni kazino ponuja mobilno aplikacijo ter je dostopen preko mobilnih brskalnikov.
  • Kako lahko kontaktiram podporo uporabnikom? Podporno ekipo lahko kontaktirate preko življenjskega klepeta, e-pošte ali FAQ razdelka na njihovi spletni strani.
  • Kakšne vrste iger so na voljo v Nacionalnem kazinoju? Nacionalni kazino nudi široko izbiro iger, vključno z igralnimi avtomati, namiznimi igrami in live casino igrami.

The post National Casino Philanthropy: Giving Back to Communities appeared first on .

]]>
The Best National Casino Gifts for Poker Lovers: A Review of PokerStars Casino https://sunlight168.shop/the-best-national-casino-gifts-for-poker-lovers-a-review-of-pokerstars-casino/ Mon, 31 Aug 2026 12:55:03 +0000 https://sunlight168.shop/the-best-national-casino-gifts-for-poker-lovers-a-review-of-pokerstars-casino/ The Best National Ca […]

The post The Best National Casino Gifts for Poker Lovers: A Review of PokerStars Casino appeared first on .

]]>

The Best National Casino Gifts for Poker Lovers: A Review of PokerStars Casino

As a dedicated poker enthusiast, I’m always on the lookout for the best platforms where I can hone my skills and enjoy various gaming options. One of the standout choices I’ve found is PokerStars Casino. This online casino is tailor-made for poker lovers, offering a rich selection of games, exciting bonuses, and an engaging community. In this review, I’ll dive deep into what makes PokerStars Casino the best national casino gifts for poker lovers and why it should be on your radar.

Welcome to PokerStars Casino

PokerStars Casino is a premier online gaming platform that has quickly gained traction among players, especially those passionate about poker. Established in 2001, PokerStars has demonstrated a commitment to player satisfaction and game variety, making it an ideal destination for both novice and seasoned poker players. With its easy-to-navigate website, extensive game library, and stellar reputation, this casino is designed to cater to the interests and needs of poker enthusiasts. What sets PokerStars apart is its focus on delivering the best national casino gifts for poker lovers by providing excellent resources and tools for players.

Game Selection: A Poker Lover’s Paradise

At PokerStars Casino, players can immerse themselves in an impressive array of games, with an emphasis on poker. Here’s a look at what you can expect:

  • Variety of Poker Games: From Texas Hold’em to Omaha, and even exciting variations like Crazy Pineapple, the poker section is packed with options that cater to various skill levels.
  • Slot Games: While poker reigns supreme, there are numerous slots available for those who enjoy a break from card play. Titles range from classic fruit machines to innovative video slots with immersive themes.
  • Live Casino: Experience the thrill of a real casino from the comfort of your home with live dealer games, where you can interact with professional dealers and fellow players.

Whether you’re aiming to take a seat at a cash table or try your luck with a slot, PokerStars delivers an exceptional player experience that ranks among the best national casino gifts for poker lovers.

Bonuses and Promotions: Unlocking the Rewards

One of the leading factors that make PokerStars Casino appealing is its robust bonus structure. New players can take advantage of a fantastic welcome bonus, often consisting of a deposit match that allows you to start your gambling journey with some extra funds national casino casino.

Here’s a quick overview of PokerStars Casino bonuses:

  1. Welcome Bonus: A generous match on your first deposit, boosting your bankroll.
  2. Ongoing Promotions: Regular promotions that change monthly, ensuring there’s always something to keep you excited.
  3. Loyalty Program: Rewarding players for their continued engagement with exclusive perks and bonuses.

The presence of specific promo codes can further enhance bonuses, allowing you to maximize your benefits, solidifying PokerStars Casino as a top contender for the best national casino gifts for poker lovers.

Easy Navigation and Player Experience

The PokerStars website is designed with user-friendliness in mind. Upon logging in, players are greeted by a sleek interface that promotes easy navigation. Whether you’re searching for cash games, tournaments, or your favorite slot titles, everything is just a few clicks away.

Moreover, the mobile version of PokerStars is incredibly responsive, allowing users to enjoy their gaming on-the-go without sacrificing functionality or game quality. The app is available for both iOS and Android, providing access to all the features available on the desktop site.

Additionally, PokerStars Casino offers excellent customer support options through live chat, email, and a comprehensive FAQ section, ensuring that help is just a click away. This level of service enhances the overall player experience and positions PokerStars favorably among the best national casino gifts for poker lovers.

Safety and Licensing: Securing Your Peace of Mind

When it comes to online gambling, safety is paramount. PokerStars Casino operates under the jurisdiction of the Malta Gaming Authority, a well-respected license that signifies a commitment to fair play and responsible gaming. This license provides assurance to players that the casino adheres to strict regulations, ensuring a secure gaming environment.

Moreover, PokerStars implements robust security measures, including SSL encryption technology, which safeguards your financial and personal information. Verification processes, such as ID checks, ensure that players are of legal age and that their identities are protected. Such diligence contributes to making PokerStars Casino one of the best national casino gifts for poker lovers, showcasing the importance of player safety national casino no deposit bonus.

Conclusion

In summary, PokerStars Casino stands out as a premier online destination for poker lovers. With an impressive selection of poker games, attractive bonuses, user-friendly navigation, and robust security measures, it’s easy to see why many consider it the best national casino gifts for poker lovers. Whether you are a seasoned pro or a newcomer eager to learn, PokerStars provides an engaging and secure platform to fulfill all your gaming desires national casino games national casino sign up.

FAQs

  • What types of poker games does PokerStars Casino offer? – PokerStars Casino provides a range of poker games, including Texas Hold’em, Omaha, and various exciting formats.
  • Are there bonuses available for new players at PokerStars Casino? – Yes, new players can take advantage of a substantial welcome bonus upon their first deposit.
  • Is PokerStars Casino safe for online gambling? – Absolutely! PokerStars Casino is licensed by the Malta Gaming Authority, ensuring a secure and regulated gaming environment.
  • Can I play PokerStars Casino on my mobile device? – Yes, PokerStars Casino offers a fully functional mobile app for both iOS and Android users.
  • How can I contact customer support at PokerStars Casino? – Players can reach customer support through live chat, email, or by consulting the FAQ section on the website.

The post The Best National Casino Gifts for Poker Lovers: A Review of PokerStars Casino appeared first on .

]]>