/******/ (function() { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ "react":
/*!**************************!*\
!*** external ["React"] ***!
\**************************/
/***/ (function(module) {
module.exports = window["React"];
/***/ }),
/***/ "@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"];
/***/ })
/******/ });
/************************************************************************/
/******/ // 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/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 need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
!function() {
/*!*****************************************************************!*\
!*** ./node_modules/@elementor/editor-documents/dist/index.mjs ***!
\*****************************************************************/
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ __useActiveDocument: function() { return /* binding */ useActiveDocument; },
/* harmony export */ __useActiveDocumentActions: function() { return /* binding */ useActiveDocumentActions; },
/* harmony export */ __useHostDocument: function() { return /* binding */ useHostDocument; },
/* harmony export */ __useNavigateToDocument: function() { return /* binding */ useNavigateToDocument; }
/* harmony export */ });
/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react");
// src/store/index.ts
var initialState = {
entities: {},
activeId: null,
hostId: null
};
function hasActiveEntity(state) {
return !!(state.activeId && state.entities[state.activeId]);
}
var slice = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSlice)({
name: "documents",
initialState,
reducers: {
init(state, { payload }) {
state.entities = payload.entities;
state.hostId = payload.hostId;
state.activeId = payload.activeId;
},
activateDocument(state, action) {
state.entities[action.payload.id] = action.payload;
state.activeId = action.payload.id;
},
setAsHost(state, action) {
state.hostId = action.payload;
},
updateActiveDocument(state, action) {
if (hasActiveEntity(state)) {
state.entities[state.activeId] = {
...state.entities[state.activeId],
...action.payload
};
}
},
startSaving(state) {
if (hasActiveEntity(state)) {
state.entities[state.activeId].isSaving = true;
}
},
endSaving(state, action) {
if (hasActiveEntity(state)) {
state.entities[state.activeId] = {
...action.payload,
isSaving: false
};
}
},
startSavingDraft: (state) => {
if (hasActiveEntity(state)) {
state.entities[state.activeId].isSavingDraft = true;
}
},
endSavingDraft(state, action) {
if (hasActiveEntity(state)) {
state.entities[state.activeId] = {
...action.payload,
isSavingDraft: false
};
}
},
markAsDirty(state) {
if (hasActiveEntity(state)) {
state.entities[state.activeId].isDirty = true;
}
},
markAsPristine(state) {
if (hasActiveEntity(state)) {
state.entities[state.activeId].isDirty = false;
}
}
}
});
// src/sync/sync-store.ts
// src/sync/utils.ts
function getV1DocumentsManager() {
const documentsManager = window.elementor?.documents;
if (!documentsManager) {
throw new Error("Elementor Editor V1 documents manager not found");
}
return documentsManager;
}
function normalizeV1Document(documentData) {
const isUnpublishedRevision = documentData.config.revisions.current_id !== documentData.id;
return {
id: documentData.id,
title: documentData.container.settings.get("post_title"),
type: {
value: documentData.config.type,
label: documentData.config.panel.title
},
status: {
value: documentData.config.status.value,
label: documentData.config.status.label
},
links: {
platformEdit: documentData.config.urls.exit_to_dashboard
},
isDirty: documentData.editor.isChanged || isUnpublishedRevision,
isSaving: documentData.editor.isSaving,
isSavingDraft: false,
userCan: {
publish: documentData.config.user.can_publish
}
};
}
// src/sync/sync-store.ts
function syncStore() {
syncInitialization();
syncActiveDocument();
syncOnDocumentSave();
syncOnTitleChange();
syncOnDocumentChange();
}
function syncInitialization() {
const { init: init2 } = slice.actions;
(0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__.__privateListenTo)(
(0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__.v1ReadyEvent)(),
() => {
const documentsManager = getV1DocumentsManager();
const entities = Object.entries(documentsManager.documents).reduce((acc, [id, document]) => {
acc[id] = normalizeV1Document(document);
return acc;
}, {});
(0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(init2({
entities,
hostId: documentsManager.getInitialId(),
activeId: documentsManager.getCurrentId()
}));
}
);
}
function syncActiveDocument() {
const { activateDocument, setAsHost } = slice.actions;
(0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__.__privateListenTo)(
(0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__.commandEndEvent)("editor/documents/open"),
() => {
const documentsManager = getV1DocumentsManager();
const currentDocument = normalizeV1Document(documentsManager.getCurrent());
(0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(activateDocument(currentDocument));
if (documentsManager.getInitialId() === currentDocument.id) {
(0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(setAsHost(currentDocument.id));
}
}
);
}
function syncOnDocumentSave() {
const { startSaving, endSaving, startSavingDraft, endSavingDraft } = slice.actions;
const isDraft = (e) => {
const event = e;
return event.args?.status === "autosave";
};
(0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__.__privateListenTo)(
(0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__.commandStartEvent)("document/save/save"),
(e) => {
if (isDraft(e)) {
(0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(startSavingDraft());
return;
}
(0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(startSaving());
}
);
(0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__.__privateListenTo)(
(0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__.commandEndEvent)("document/save/save"),
(e) => {
const activeDocument = normalizeV1Document(
getV1DocumentsManager().getCurrent()
);
if (isDraft(e)) {
(0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(endSavingDraft(activeDocument));
} else {
(0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(endSaving(activeDocument));
}
}
);
}
function syncOnTitleChange() {
const { updateActiveDocument } = slice.actions;
const updateTitle = debounce((e) => {
const event = e;
if (!("post_title" in event.args?.settings)) {
return;
}
const currentDocument = getV1DocumentsManager().getCurrent();
const newTitle = currentDocument.container.settings.get("post_title");
(0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(updateActiveDocument({ title: newTitle }));
}, 400);
(0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__.__privateListenTo)(
(0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__.commandEndEvent)("document/elements/settings"),
updateTitle
);
}
function syncOnDocumentChange() {
const { markAsDirty, markAsPristine } = slice.actions;
(0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__.__privateListenTo)(
(0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__.commandEndEvent)("document/save/set-is-modified"),
() => {
const currentDocument = getV1DocumentsManager().getCurrent();
if (currentDocument.editor.isChanged) {
(0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(markAsDirty());
return;
}
(0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(markAsPristine());
}
);
}
function debounce(fn, timeout) {
let timer;
return (...args) => {
clearTimeout(timer);
timer = setTimeout(() => {
fn(...args);
}, timeout);
};
}
// src/init.ts
function init() {
initStore();
}
function initStore() {
(0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__registerSlice)(slice);
syncStore();
}
// src/hooks/use-active-document.ts
// src/store/selectors.ts
var selectEntities = (state) => state.documents.entities;
var selectActiveId = (state) => state.documents.activeId;
var selectHostId = (state) => state.documents.hostId;
var selectActiveDocument = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(
selectEntities,
selectActiveId,
(entities, activeId) => activeId && entities[activeId] ? entities[activeId] : null
);
var selectHostDocument = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(
selectEntities,
selectHostId,
(entities, hostId) => hostId && entities[hostId] ? entities[hostId] : null
);
// src/hooks/use-active-document.ts
function useActiveDocument() {
return (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__useSelector)(selectActiveDocument);
}
// src/hooks/use-active-document-actions.ts
function useActiveDocumentActions() {
const save = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(() => (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__.__privateRunCommand)("document/save/default"), []);
const saveDraft = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(() => (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__.__privateRunCommand)("document/save/draft"), []);
const saveTemplate = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(() => (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__.__privateOpenRoute)("library/save-template"), []);
return {
save,
saveDraft,
saveTemplate
};
}
// src/hooks/use-host-document.ts
function useHostDocument() {
return (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__useSelector)(selectHostDocument);
}
// src/hooks/use-navigate-to-document.ts
function useNavigateToDocument() {
return (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(async (id) => {
await (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__.__privateRunCommand)("editor/documents/switch", {
id,
setAsInitial: true
});
const url = new URL(window.location.href);
url.searchParams.set("post", id.toString());
url.searchParams.delete("active-document");
history.replaceState({}, "", url);
}, []);
}
// src/index.ts
init();
//# sourceMappingURL=index.mjs.map
}();
(window.elementorV2 = window.elementorV2 || {}).editorDocuments = __webpack_exports__;
/******/ })()
;
Privacy Policy – Visal International
Skip to content
Privacy Policy
Effective Date : 2025
Visal International (“we,” “us,” or “our”) is committed to protecting your privacy. This Privacy Policy outlines how we collect, use, and safeguard your personal information when you visit our website or use our services. By accessing or using our website, you agree to the terms of this Privacy Policy.
1. Information We Collect
We collect various types of information to provide and improve our services, including:
Personal Information : When you use our services or interact with our website, we may collect personal information that you provide, such as your name, email address, phone number, billing address, and payment details.
Usage Data : We automatically collect information about your device, browser, and usage patterns on our website, such as IP address, browser type, operating system, pages visited, and the time and date of your visit.
Cookies and Tracking Technologies : We use cookies and similar tracking technologies to enhance your experience on our website. These tools help us gather information about your activity and preferences for personalizing content and ads.
2. How We Use Your Information
We use your personal information for various purposes, including:
To provide and maintain our services
To process transactions and manage your account
To communicate with you, including sending promotional emails, newsletters, and service-related updates (with your consent)
To improve our website and services based on your feedback and behavior
To comply with legal obligations and resolve disputes
3. Sharing Your Information
We may share your personal information with third parties in the following circumstances:
Service Providers : We may share your information with trusted third-party service providers who assist us in operating our website and delivering our services (e.g., payment processors, hosting services, analytics tools).
Legal Compliance : We may disclose your information when required by law or to protect our rights, comply with a legal process, or respond to a government request.
Business Transfers : In the event of a merger, acquisition, or sale of assets, your personal information may be transferred as part of that transaction. You will be notified if this occurs.
4. Security of Your Information
We implement reasonable security measures to protect your personal information from unauthorized access, disclosure, alteration, or destruction. However, no method of transmission over the internet or method of electronic storage is completely secure, and we cannot guarantee absolute security.
5. Your Rights and Choices
Depending on your location, you may have certain rights regarding your personal information, such as:
Access : You can request to access the personal information we hold about you.
Correction : You can request corrections to any inaccurate or incomplete information.
Deletion : You can request the deletion of your personal information, subject to certain exceptions.
Opt-Out : You can opt-out of receiving promotional communications from us by following the unsubscribe instructions in the emails or contacting us directly.
To exercise these rights, please contact us at info@visalint.com .
6. Third-Party Links
Our website may contain links to third-party websites. We are not responsible for the privacy practices or content of these external sites. We encourage you to review the privacy policies of any third-party websites you visit.
7. Children’s Privacy
Our services are not directed to individuals under the age of 13. We do not knowingly collect personal information from children. If we learn that we have collected personal information from a child under 13, we will take steps to delete that information.
8. International Data Transfers
If you are located outside the Turkiye and choose to provide us with personal information, please note that your data may be transferred to and processed in Turkiye. By using our services, you consent to this transfer and processing.
9. Changes to This Privacy Policy
We may update this Privacy Policy from time to time. Any changes will be posted on this page with an updated effective date. We encourage you to review this Privacy Policy periodically to stay informed about how we are protecting your information.
10. Contact Us
If you have any questions or concerns about this Privacy Policy, please contact us at:
Any Visal International’s official communication pages
Visalint.com
info@visalint.com