/*! elementor - v3.27.0 - 03-02-2025 */
/******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ "../assets/dev/js/utils/react.js":
/*!***************************************!*\
!*** ../assets/dev/js/utils/react.js ***!
\***************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
var ReactDOM = _interopRequireWildcard(__webpack_require__(/*! react-dom */ "react-dom"));
var _client = __webpack_require__(/*! react-dom/client */ "../node_modules/react-dom/client.js");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
/**
* Support conditional rendering of a React App to the DOM, based on the React version.
* We use `createRoot` when available, but fallback to `ReactDOM.render` for older versions.
*
* @param { React.ReactElement } app The app to render.
* @param { HTMLElement } domElement The DOM element to render the app into.
*
* @return {{ unmount: () => void }} The unmount function.
*/
function render(app, domElement) {
var unmountFunction;
try {
var root = (0, _client.createRoot)(domElement);
root.render(app);
unmountFunction = function unmountFunction() {
root.unmount();
};
} catch (e) {
// eslint-disable-next-line react/no-deprecated
ReactDOM.render(app, domElement);
unmountFunction = function unmountFunction() {
// eslint-disable-next-line react/no-deprecated
ReactDOM.unmountComponentAtNode(domElement);
};
}
return {
unmount: unmountFunction
};
}
var _default = exports["default"] = {
render: render
};
/***/ }),
/***/ "../modules/home/assets/js/components/addons-section.js":
/*!**************************************************************!*\
!*** ../modules/home/assets/js/components/addons-section.js ***!
\**************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
var _objectDestructuringEmpty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectDestructuringEmpty */ "../node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js"));
var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
var _List = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/List */ "@elementor/ui/List"));
var _Link = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Link */ "@elementor/ui/Link"));
var _Button = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Button */ "@elementor/ui/Button"));
var _Card = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Card */ "@elementor/ui/Card"));
var _CardActions = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/CardActions */ "@elementor/ui/CardActions"));
var _CardContent = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/CardContent */ "@elementor/ui/CardContent"));
var _CardMedia = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/CardMedia */ "@elementor/ui/CardMedia"));
var Addons = function Addons(_ref) {
var props = (0, _extends2.default)({}, ((0, _objectDestructuringEmpty2.default)(_ref), _ref));
var domain = props.adminUrl.replace('wp-admin/', '');
var addonsArray = props.addonsData.repeater;
var cardsPerRow = 3 === addonsArray.length ? 3 : 2;
return /*#__PURE__*/_react.default.createElement(_ui.Paper, {
elevation: 0,
sx: {
p: 3,
display: 'flex',
flexDirection: 'column',
gap: 2
}
}, /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
variant: "h6"
}, props.addonsData.header.title), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
variant: "body2",
color: "text.secondary"
}, props.addonsData.header.description)), /*#__PURE__*/_react.default.createElement(_List.default, {
sx: {
display: 'grid',
gridTemplateColumns: {
md: "repeat(".concat(cardsPerRow, ", 1fr)"),
xs: 'repeat(1, 1fr)'
},
gap: 2
}
}, addonsArray.map(function (item) {
var linkTarget = item.hasOwnProperty('target') ? item.target : '_blank';
return /*#__PURE__*/_react.default.createElement(_Card.default, {
key: item.title,
elevation: 0,
sx: {
display: 'flex',
border: 1,
borderRadius: 1,
borderColor: 'action.focus'
}
}, /*#__PURE__*/_react.default.createElement(_CardContent.default, {
sx: {
display: 'flex',
flexDirection: 'column',
justifyContent: 'space-between',
gap: 3,
p: 3
}
}, /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_CardMedia.default, {
image: item.image,
sx: {
height: '58px',
width: '58px',
mb: 2
}
}), /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
variant: "subtitle2"
}, item.title), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
variant: "body2",
color: "text.secondary"
}, item.description))), /*#__PURE__*/_react.default.createElement(_CardActions.default, {
sx: {
p: 0
}
}, /*#__PURE__*/_react.default.createElement(_Button.default, {
variant: "outlined",
size: "small",
color: "promotion",
href: item.url,
target: linkTarget
}, item.button_label))));
})), /*#__PURE__*/_react.default.createElement(_Link.default, {
variant: "body2",
color: "info.main",
underline: "none",
href: "".concat(domain).concat(props.addonsData.footer.file_path)
}, props.addonsData.footer.label));
};
var _default = exports["default"] = Addons;
Addons.propTypes = {
addonsData: PropTypes.object.isRequired,
adminUrl: PropTypes.string.isRequired
};
/***/ }),
/***/ "../modules/home/assets/js/components/create-new-page-dialog.js":
/*!**********************************************************************!*\
!*** ../modules/home/assets/js/components/create-new-page-dialog.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
var _DialogHeader = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/DialogHeader */ "@elementor/ui/DialogHeader"));
var _DialogHeaderGroup = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/DialogHeaderGroup */ "@elementor/ui/DialogHeaderGroup"));
var _DialogTitle = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/DialogTitle */ "@elementor/ui/DialogTitle"));
var _DialogContent = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/DialogContent */ "@elementor/ui/DialogContent"));
var _DialogContentText = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/DialogContentText */ "@elementor/ui/DialogContentText"));
var _TextField = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/TextField */ "@elementor/ui/TextField"));
var _DialogActions = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/DialogActions */ "@elementor/ui/DialogActions"));
var _Button = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Button */ "@elementor/ui/Button"));
var _Dialog = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Dialog */ "@elementor/ui/Dialog"));
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
var CreateNewPageDialog = function CreateNewPageDialog(_ref) {
var url = _ref.url,
isOpen = _ref.isOpen,
closedDialogCallback = _ref.closedDialogCallback;
var _React$useState = _react.default.useState(false),
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
open = _React$useState2[0],
setOpen = _React$useState2[1];
var _React$useState3 = _react.default.useState(''),
_React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
pageName = _React$useState4[0],
setPageName = _React$useState4[1];
(0, _react.useEffect)(function () {
setOpen(isOpen);
}, [isOpen]);
var handleDialogClose = function handleDialogClose() {
setOpen(false);
closedDialogCallback();
};
var handleChange = function handleChange(event) {
var urlParams = new URLSearchParams();
urlParams.append('post_data[post_title]', event.target.value);
setPageName(urlParams.toString());
};
return /*#__PURE__*/_react.default.createElement(_Dialog.default, {
open: open,
onClose: handleDialogClose,
maxWidth: "xs",
width: "xs",
fullWidth: true
}, /*#__PURE__*/_react.default.createElement(_DialogHeader.default, null, /*#__PURE__*/_react.default.createElement(_DialogHeaderGroup.default, null, /*#__PURE__*/_react.default.createElement(_DialogTitle.default, null, __('Name your page', 'elementor')))), /*#__PURE__*/_react.default.createElement(_DialogContent.default, {
dividers: true
}, /*#__PURE__*/_react.default.createElement(_DialogContentText.default, {
sx: {
mb: 2
}
}, __('To proceed, please name your first page,', 'elementor'), /*#__PURE__*/_react.default.createElement("br", null), __('or rename it later.', 'elementor')), /*#__PURE__*/_react.default.createElement(_TextField.default, {
onChange: handleChange,
fullWidth: true,
placeholder: __('New Page', 'elementor')
})), /*#__PURE__*/_react.default.createElement(_DialogActions.default, null, /*#__PURE__*/_react.default.createElement(_Button.default, {
onClick: handleDialogClose,
color: "secondary"
}, __('Cancel', 'elementor')), /*#__PURE__*/_react.default.createElement(_Button.default, {
variant: "contained",
href: pageName ? url + '&' + pageName : url,
target: "_blank"
}, __('Save', 'elementor'))));
};
var _default = exports["default"] = CreateNewPageDialog;
CreateNewPageDialog.propTypes = {
url: PropTypes.string.isRequired,
isOpen: PropTypes.bool.isRequired,
closedDialogCallback: PropTypes.func.isRequired
};
/***/ }),
/***/ "../modules/home/assets/js/components/external-links-section.js":
/*!**********************************************************************!*\
!*** ../modules/home/assets/js/components/external-links-section.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
var _objectDestructuringEmpty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectDestructuringEmpty */ "../node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js"));
var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
var _List = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/List */ "@elementor/ui/List"));
var _ListItemButton = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/ListItemButton */ "@elementor/ui/ListItemButton"));
var _ListItemText = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/ListItemText */ "@elementor/ui/ListItemText"));
var _Divider = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Divider */ "@elementor/ui/Divider"));
var ExternalLinksSection = function ExternalLinksSection(_ref) {
var props = (0, _extends2.default)({}, ((0, _objectDestructuringEmpty2.default)(_ref), _ref));
return /*#__PURE__*/_react.default.createElement(_ui.Paper, {
elevation: 0,
sx: {
px: 3
}
}, /*#__PURE__*/_react.default.createElement(_List.default, null, props.externalLinksData.map(function (item, index) {
return /*#__PURE__*/_react.default.createElement(_ui.Box, {
key: item.label
}, /*#__PURE__*/_react.default.createElement(_ListItemButton.default, {
href: item.url,
target: "_blank",
sx: {
'&:hover': {
backgroundColor: 'initial'
},
gap: 2,
px: 0,
py: 2
}
}, /*#__PURE__*/_react.default.createElement(_ui.Box, {
component: "img",
src: item.image,
sx: {
width: '38px'
}
}), /*#__PURE__*/_react.default.createElement(_ListItemText.default, {
sx: {
color: 'text.secondary'
},
primary: item.label
})), index < props.externalLinksData.length - 1 && /*#__PURE__*/_react.default.createElement(_Divider.default, null));
})));
};
var _default = exports["default"] = ExternalLinksSection;
ExternalLinksSection.propTypes = {
externalLinksData: PropTypes.array.isRequired
};
/***/ }),
/***/ "../modules/home/assets/js/components/get-started-list-item.js":
/*!*********************************************************************!*\
!*** ../modules/home/assets/js/components/get-started-list-item.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
var _ListItem = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/ListItem */ "@elementor/ui/ListItem"));
var _ListItemText = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/ListItemText */ "@elementor/ui/ListItemText"));
var _Link = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Link */ "@elementor/ui/Link"));
var _Box = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Box */ "@elementor/ui/Box"));
var _createNewPageDialog = _interopRequireDefault(__webpack_require__(/*! ./create-new-page-dialog */ "../modules/home/assets/js/components/create-new-page-dialog.js"));
var GetStartedListItem = function GetStartedListItem(_ref) {
var item = _ref.item,
image = _ref.image,
adminUrl = _ref.adminUrl;
var url = item.is_relative_url ? adminUrl + item.url : item.url;
var _React$useState = _react.default.useState(false),
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
isOpen = _React$useState2[0],
openDialog = _React$useState2[1];
var handleLinkClick = function handleLinkClick(event) {
if (!item.new_page) {
return;
}
event.preventDefault();
openDialog(true);
};
return /*#__PURE__*/_react.default.createElement(_ListItem.default, {
alignItems: "flex-start",
sx: {
gap: 1,
p: 0,
maxWidth: '150px'
}
}, /*#__PURE__*/_react.default.createElement(_Box.default, {
component: "img",
src: image
}), /*#__PURE__*/_react.default.createElement(_Box.default, null, /*#__PURE__*/_react.default.createElement(_ListItemText.default, {
primary: item.title,
primaryTypographyProps: {
variant: 'subtitle1'
},
sx: {
my: 0
}
}), /*#__PURE__*/_react.default.createElement(_Link.default, {
variant: "body2",
color: item.title_small_color ? item.title_small_color : 'text.tertiary',
underline: "hover",
href: url,
target: "_blank",
onClick: handleLinkClick
}, item.title_small)), item.new_page && /*#__PURE__*/_react.default.createElement(_createNewPageDialog.default, {
url: url,
isOpen: isOpen,
closedDialogCallback: function closedDialogCallback() {
return openDialog(false);
}
}));
};
var _default = exports["default"] = GetStartedListItem;
GetStartedListItem.propTypes = {
item: PropTypes.shape({
title: PropTypes.string.isRequired,
title_small: PropTypes.string.isRequired,
url: PropTypes.string.isRequired,
new_page: PropTypes.bool,
is_relative_url: PropTypes.bool,
title_small_color: PropTypes.string
}).isRequired,
adminUrl: PropTypes.string.isRequired,
image: PropTypes.string
};
/***/ }),
/***/ "../modules/home/assets/js/components/get-started-section.js":
/*!*******************************************************************!*\
!*** ../modules/home/assets/js/components/get-started-section.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
var _objectDestructuringEmpty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectDestructuringEmpty */ "../node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js"));
var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
var _List = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/List */ "@elementor/ui/List"));
var _getStartedListItem = _interopRequireDefault(__webpack_require__(/*! ./get-started-list-item */ "../modules/home/assets/js/components/get-started-list-item.js"));
var GetStarted = function GetStarted(_ref) {
var props = (0, _extends2.default)({}, ((0, _objectDestructuringEmpty2.default)(_ref), _ref));
return /*#__PURE__*/_react.default.createElement(_ui.Paper, {
elevation: 0,
sx: {
p: 3,
display: 'flex',
flexDirection: 'column',
gap: 2
}
}, /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
variant: "h6"
}, props.getStartedData.header.title), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
variant: "body2",
color: "text.secondary"
}, props.getStartedData.header.description)), /*#__PURE__*/_react.default.createElement(_List.default, {
sx: {
display: 'grid',
gridTemplateColumns: {
md: 'repeat(4, 1fr)',
xs: 'repeat(2, 1fr)'
},
columnGap: {
md: 9,
xs: 7
},
rowGap: 3
}
}, props.getStartedData.repeater.map(function (item) {
return /*#__PURE__*/_react.default.createElement(_getStartedListItem.default, {
key: item.title,
item: item,
image: item.image,
adminUrl: props.adminUrl
});
})));
};
var _default = exports["default"] = GetStarted;
GetStarted.propTypes = {
getStartedData: PropTypes.object.isRequired,
adminUrl: PropTypes.string.isRequired
};
/***/ }),
/***/ "../modules/home/assets/js/components/home-screen.js":
/*!***********************************************************!*\
!*** ../modules/home/assets/js/components/home-screen.js ***!
\***********************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
var _topSection = _interopRequireDefault(__webpack_require__(/*! ./top-section */ "../modules/home/assets/js/components/top-section.js"));
var _sidebarPromotion = _interopRequireDefault(__webpack_require__(/*! ./sidebar-promotion */ "../modules/home/assets/js/components/sidebar-promotion.js"));
var _addonsSection = _interopRequireDefault(__webpack_require__(/*! ./addons-section */ "../modules/home/assets/js/components/addons-section.js"));
var _externalLinksSection = _interopRequireDefault(__webpack_require__(/*! ./external-links-section */ "../modules/home/assets/js/components/external-links-section.js"));
var _getStartedSection = _interopRequireDefault(__webpack_require__(/*! ./get-started-section */ "../modules/home/assets/js/components/get-started-section.js"));
var HomeScreen = function HomeScreen(props) {
var hasSidebarUpgrade = props.homeScreenData.hasOwnProperty('sidebar_upgrade');
return /*#__PURE__*/ /* Box wrapper around the Container is needed to neutralize wp-content area left-padding */_react.default.createElement(_ui.Box, {
sx: {
pr: 1
}
}, /*#__PURE__*/_react.default.createElement(_ui.Container, {
disableGutters: true,
maxWidth: "lg",
sx: {
display: 'flex',
flexDirection: 'column',
gap: {
xs: 1,
md: 3
},
pt: {
xs: 2,
md: 6
},
pb: 2
}
}, /*#__PURE__*/_react.default.createElement(_topSection.default, {
topData: props.homeScreenData.top_with_licences,
createNewPageUrl: props.homeScreenData.create_new_page_url
}), /*#__PURE__*/_react.default.createElement(_ui.Box, {
sx: {
display: 'flex',
flexDirection: {
xs: 'column',
sm: 'row'
},
justifyContent: 'space-between',
gap: 3
}
}, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
sx: {
flex: 1,
gap: 3
}
}, /*#__PURE__*/_react.default.createElement(_getStartedSection.default, {
getStartedData: props.homeScreenData.get_started,
adminUrl: props.adminUrl
}), /*#__PURE__*/_react.default.createElement(_addonsSection.default, {
addonsData: props.homeScreenData.add_ons,
adminUrl: props.adminUrl
})), /*#__PURE__*/_react.default.createElement(_ui.Container, {
maxWidth: "xs",
disableGutters: true,
sx: {
width: {
sm: '305px'
},
display: 'flex',
flexDirection: 'column',
gap: 3
}
}, hasSidebarUpgrade && /*#__PURE__*/_react.default.createElement(_sidebarPromotion.default, {
sideData: props.homeScreenData.sidebar_upgrade
}), /*#__PURE__*/_react.default.createElement(_externalLinksSection.default, {
externalLinksData: props.homeScreenData.external_links
})))));
};
HomeScreen.propTypes = {
homeScreenData: PropTypes.object,
adminUrl: PropTypes.string
};
var _default = exports["default"] = HomeScreen;
/***/ }),
/***/ "../modules/home/assets/js/components/sidebar-promotion.js":
/*!*****************************************************************!*\
!*** ../modules/home/assets/js/components/sidebar-promotion.js ***!
\*****************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
var _objectDestructuringEmpty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectDestructuringEmpty */ "../node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js"));
var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
var _Button = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Button */ "@elementor/ui/Button"));
var _List = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/List */ "@elementor/ui/List"));
var _ListItem = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/ListItem */ "@elementor/ui/ListItem"));
var _ListItemText = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/ListItemText */ "@elementor/ui/ListItemText"));
var _sideBarCheckIcon = _interopRequireDefault(__webpack_require__(/*! ../icons/side-bar-check-icon */ "../modules/home/assets/js/icons/side-bar-check-icon.js"));
var SideBarPromotion = function SideBarPromotion(_ref) {
var props = (0, _extends2.default)({}, ((0, _objectDestructuringEmpty2.default)(_ref), _ref));
return /*#__PURE__*/_react.default.createElement(_ui.Paper, {
elevation: 0,
sx: {
p: 3
}
}, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
gap: 1.5,
sx: {
alignItems: 'center',
textAlign: 'center',
pb: 4
}
}, /*#__PURE__*/_react.default.createElement(_ui.Box, {
component: "img",
src: props.sideData.header.image
}), /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
variant: "h6"
}, props.sideData.header.title), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
variant: "body2",
color: "text.secondary"
}, props.sideData.header.description)), /*#__PURE__*/_react.default.createElement(_Button.default, {
variant: "contained",
size: "medium",
color: "promotion",
href: props.sideData.cta.url,
startIcon: /*#__PURE__*/_react.default.createElement(_ui.Box, {
component: "img",
src: props.sideData.cta.image,
sx: {
width: '16px'
}
}),
target: "_blank",
sx: {
maxWidth: 'fit-content'
}
}, props.sideData.cta.label)), /*#__PURE__*/_react.default.createElement(_List.default, {
sx: {
p: 0
}
}, props.sideData.repeater.map(function (item, index) {
return /*#__PURE__*/_react.default.createElement(_ListItem.default, {
key: index,
sx: {
p: 0,
gap: 1
}
}, /*#__PURE__*/_react.default.createElement(_sideBarCheckIcon.default, null), /*#__PURE__*/_react.default.createElement(_ListItemText.default, {
primaryTypographyProps: {
variant: 'body2'
},
primary: item.title
}));
})));
};
var _default = exports["default"] = SideBarPromotion;
SideBarPromotion.propTypes = {
sideData: PropTypes.object.isRequired
};
/***/ }),
/***/ "../modules/home/assets/js/components/top-section.js":
/*!***********************************************************!*\
!*** ../modules/home/assets/js/components/top-section.js ***!
\***********************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
var _objectDestructuringEmpty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectDestructuringEmpty */ "../node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js"));
var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
var _Typography = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Typography */ "@elementor/ui/Typography"));
var _Button = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Button */ "@elementor/ui/Button"));
var _youtubeIcon = _interopRequireDefault(__webpack_require__(/*! ../icons/youtube-icon */ "../modules/home/assets/js/icons/youtube-icon.js"));
var TopSection = function TopSection(_ref) {
var props = (0, _extends2.default)({}, ((0, _objectDestructuringEmpty2.default)(_ref), _ref));
return /*#__PURE__*/_react.default.createElement(_ui.Paper, {
elevation: 0,
sx: {
display: 'flex',
flexDirection: {
xs: 'column',
sm: 'row'
},
justifyContent: 'space-between',
py: {
xs: 3,
md: 3
},
px: {
xs: 3,
md: 4
},
gap: {
xs: 2,
sm: 3,
lg: 22
}
}
}, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
gap: 3,
justifyContent: "center"
}, /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_Typography.default, {
variant: "h6"
}, props.topData.title), /*#__PURE__*/_react.default.createElement(_Typography.default, {
variant: "body2",
color: "secondary"
}, props.topData.description)), /*#__PURE__*/_react.default.createElement(_ui.Box, {
sx: {
display: 'flex',
gap: 1
}
}, /*#__PURE__*/_react.default.createElement(_Button.default, {
variant: "contained",
size: "small",
href: props.createNewPageUrl,
target: "_blank"
}, props.topData.button_create_page_title), /*#__PURE__*/_react.default.createElement(_Button.default, {
variant: "outlined",
color: "secondary",
size: "small",
startIcon: /*#__PURE__*/_react.default.createElement(_youtubeIcon.default, null),
href: props.topData.button_watch_url,
target: "_blank"
}, props.topData.button_watch_title))), /*#__PURE__*/_react.default.createElement(_ui.Box, {
component: "iframe",
src: "https://www.youtube.com/embed/".concat(props.topData.youtube_embed_id),
title: "YouTube video player",
frameBorder: "0",
allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",
allowFullScreen: true,
sx: {
aspectRatio: '16/9',
borderRadius: 1,
display: 'flex',
width: '100%',
maxWidth: '365px'
}
}));
};
TopSection.propTypes = {
topData: PropTypes.object.isRequired,
createNewPageUrl: PropTypes.string.isRequired
};
var _default = exports["default"] = TopSection;
/***/ }),
/***/ "../modules/home/assets/js/icons/side-bar-check-icon.js":
/*!**************************************************************!*\
!*** ../modules/home/assets/js/icons/side-bar-check-icon.js ***!
\**************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
var SideBarCheckIcon = function SideBarCheckIcon(props) {
return /*#__PURE__*/React.createElement(_ui.SvgIcon, (0, _extends2.default)({
viewBox: "0 0 24 24"
}, props), /*#__PURE__*/React.createElement("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M9.09013 3.69078C10.273 3.2008 11.5409 2.94861 12.8213 2.94861C14.1017 2.94861 15.3695 3.2008 16.5525 3.69078C17.7354 4.18077 18.8102 4.89895 19.7156 5.80432C20.621 6.70969 21.3391 7.78452 21.8291 8.96744C22.3191 10.1504 22.5713 11.4182 22.5713 12.6986C22.5713 13.979 22.3191 15.2468 21.8291 16.4298C21.3391 17.6127 20.621 18.6875 19.7156 19.5929C18.8102 20.4983 17.7354 21.2165 16.5525 21.7064C15.3695 22.1964 14.1017 22.4486 12.8213 22.4486C11.5409 22.4486 10.2731 22.1964 9.09013 21.7064C7.9072 21.2165 6.83237 20.4983 5.927 19.5929C5.02163 18.6875 4.30345 17.6127 3.81346 16.4298C3.32348 15.2468 3.07129 13.979 3.07129 12.6986C3.07129 11.4182 3.32348 10.1504 3.81346 8.96744C4.30345 7.78452 5.02163 6.70969 5.927 5.80432C6.83237 4.89895 7.9072 4.18077 9.09013 3.69078ZM12.8213 4.44861C11.7379 4.44861 10.6651 4.662 9.66415 5.0766C8.66321 5.4912 7.75374 6.09889 6.98766 6.86498C6.22157 7.63106 5.61388 8.54053 5.19928 9.54147C4.78468 10.5424 4.57129 11.6152 4.57129 12.6986C4.57129 13.782 4.78468 14.8548 5.19928 15.8557C5.61388 16.8567 6.22157 17.7662 6.98766 18.5322C7.75374 19.2983 8.66322 19.906 9.66415 20.3206C10.6651 20.7352 11.7379 20.9486 12.8213 20.9486C13.9047 20.9486 14.9775 20.7352 15.9784 20.3206C16.9794 19.906 17.8888 19.2983 18.6549 18.5322C19.421 17.7662 20.0287 16.8567 20.4433 15.8557C20.8579 14.8548 21.0713 13.782 21.0713 12.6986C21.0713 11.6152 20.8579 10.5424 20.4433 9.54147C20.0287 8.54053 19.421 7.63106 18.6549 6.86498C17.8888 6.09889 16.9794 5.4912 15.9784 5.0766C14.9775 4.662 13.9047 4.44861 12.8213 4.44861Z",
fill: "#93003F"
}), /*#__PURE__*/React.createElement("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M17.3213 9.69424C17.6142 9.98713 17.6142 10.462 17.3213 10.7549L12.3732 15.703C12.0803 15.9959 11.6054 15.9959 11.3125 15.703L8.83851 13.2289C8.54562 12.936 8.54562 12.4612 8.83851 12.1683C9.1314 11.8754 9.60628 11.8754 9.89917 12.1683L11.8429 14.112L16.2606 9.69424C16.5535 9.40135 17.0284 9.40135 17.3213 9.69424Z",
fill: "#93003F"
}));
};
var _default = exports["default"] = SideBarCheckIcon;
/***/ }),
/***/ "../modules/home/assets/js/icons/youtube-icon.js":
/*!*******************************************************!*\
!*** ../modules/home/assets/js/icons/youtube-icon.js ***!
\*******************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
var YoutubeIcon = function YoutubeIcon(props) {
return /*#__PURE__*/React.createElement(_ui.SvgIcon, (0, _extends2.default)({
viewBox: "0 0 24 24"
}, props), /*#__PURE__*/React.createElement("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M7 5.75C5.20507 5.75 3.75 7.20507 3.75 9V15C3.75 16.7949 5.20507 18.25 7 18.25H17C18.7949 18.25 20.25 16.7949 20.25 15V9C20.25 7.20507 18.7949 5.75 17 5.75H7ZM2.25 9C2.25 6.37665 4.37665 4.25 7 4.25H17C19.6234 4.25 21.75 6.37665 21.75 9V15C21.75 17.6234 19.6234 19.75 17 19.75H7C4.37665 19.75 2.25 17.6234 2.25 15V9ZM9.63048 8.34735C9.86561 8.21422 10.1542 8.21786 10.3859 8.35688L15.3859 11.3569C15.6118 11.4924 15.75 11.7366 15.75 12C15.75 12.2634 15.6118 12.5076 15.3859 12.6431L10.3859 15.6431C10.1542 15.7821 9.86561 15.7858 9.63048 15.6526C9.39534 15.5195 9.25 15.2702 9.25 15V9C9.25 8.7298 9.39534 8.48048 9.63048 8.34735ZM10.75 10.3246V13.6754L13.5423 12L10.75 10.3246Z"
}));
};
var _default = exports["default"] = YoutubeIcon;
/***/ }),
/***/ "../node_modules/object-assign/index.js":
/*!**********************************************!*\
!*** ../node_modules/object-assign/index.js ***!
\**********************************************/
/***/ ((module) => {
"use strict";
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
/* eslint-disable no-unused-vars */
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
var hasOwnProperty = Object.prototype.hasOwnProperty;
var propIsEnumerable = Object.prototype.propertyIsEnumerable;
function toObject(val) {
if (val === null || val === undefined) {
throw new TypeError('Object.assign cannot be called with null or undefined');
}
return Object(val);
}
function shouldUseNative() {
try {
if (!Object.assign) {
return false;
}
// Detect buggy property enumeration order in older V8 versions.
// https://bugs.chromium.org/p/v8/issues/detail?id=4118
var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
test1[5] = 'de';
if (Object.getOwnPropertyNames(test1)[0] === '5') {
return false;
}
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
var test2 = {};
for (var i = 0; i < 10; i++) {
test2['_' + String.fromCharCode(i)] = i;
}
var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
return test2[n];
});
if (order2.join('') !== '0123456789') {
return false;
}
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
var test3 = {};
'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
test3[letter] = letter;
});
if (Object.keys(Object.assign({}, test3)).join('') !==
'abcdefghijklmnopqrst') {
return false;
}
return true;
} catch (err) {
// We don't expect any of the above to throw, but better to be safe.
return false;
}
}
module.exports = shouldUseNative() ? Object.assign : function (target, source) {
var from;
var to = toObject(target);
var symbols;
for (var s = 1; s < arguments.length; s++) {
from = Object(arguments[s]);
for (var key in from) {
if (hasOwnProperty.call(from, key)) {
to[key] = from[key];
}
}
if (getOwnPropertySymbols) {
symbols = getOwnPropertySymbols(from);
for (var i = 0; i < symbols.length; i++) {
if (propIsEnumerable.call(from, symbols[i])) {
to[symbols[i]] = from[symbols[i]];
}
}
}
}
return to;
};
/***/ }),
/***/ "../node_modules/prop-types/checkPropTypes.js":
/*!****************************************************!*\
!*** ../node_modules/prop-types/checkPropTypes.js ***!
\****************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/**
* Copyright (c) 2013-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
var printWarning = function() {};
if (true) {
var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
var loggedTypeFailures = {};
var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
printWarning = function(text) {
var message = 'Warning: ' + text;
if (typeof console !== 'undefined') {
console.error(message);
}
try {
// --- Welcome to debugging React ---
// This error was thrown as a convenience so that you can use this stack
// to find the callsite that caused this warning to fire.
throw new Error(message);
} catch (x) { /**/ }
};
}
/**
* Assert that the values match with the type specs.
* Error messages are memorized and will only be shown once.
*
* @param {object} typeSpecs Map of name to a ReactPropType
* @param {object} values Runtime values that need to be type-checked
* @param {string} location e.g. "prop", "context", "child context"
* @param {string} componentName Name of the component for error messages.
* @param {?Function} getStack Returns the component stack.
* @private
*/
function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
if (true) {
for (var typeSpecName in typeSpecs) {
if (has(typeSpecs, typeSpecName)) {
var error;
// Prop type validation may throw. In case they do, we don't want to
// fail the render phase where it didn't fail before. So we log it.
// After these have been cleaned up, we'll let them throw.
try {
// This is intentionally an invariant that gets caught. It's the same
// behavior as without this statement except with a better message.
if (typeof typeSpecs[typeSpecName] !== 'function') {
var err = Error(
(componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
);
err.name = 'Invariant Violation';
throw err;
}
error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
} catch (ex) {
error = ex;
}
if (error && !(error instanceof Error)) {
printWarning(
(componentName || 'React class') + ': type specification of ' +
location + ' `' + typeSpecName + '` is invalid; the type checker ' +
'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
'You may have forgotten to pass an argument to the type checker ' +
'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
'shape all require an argument).'
);
}
if (error instanceof Error && !(error.message in loggedTypeFailures)) {
// Only monitor this failure once because there tends to be a lot of the
// same error.
loggedTypeFailures[error.message] = true;
var stack = getStack ? getStack() : '';
printWarning(
'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
);
}
}
}
}
}
/**
* Resets warning cache when testing.
*
* @private
*/
checkPropTypes.resetWarningCache = function() {
if (true) {
loggedTypeFailures = {};
}
}
module.exports = checkPropTypes;
/***/ }),
/***/ "../node_modules/prop-types/factoryWithTypeCheckers.js":
/*!*************************************************************!*\
!*** ../node_modules/prop-types/factoryWithTypeCheckers.js ***!
\*************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/**
* Copyright (c) 2013-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
var assign = __webpack_require__(/*! object-assign */ "../node_modules/object-assign/index.js");
var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "../node_modules/prop-types/checkPropTypes.js");
var printWarning = function() {};
if (true) {
printWarning = function(text) {
var message = 'Warning: ' + text;
if (typeof console !== 'undefined') {
console.error(message);
}
try {
// --- Welcome to debugging React ---
// This error was thrown as a convenience so that you can use this stack
// to find the callsite that caused this warning to fire.
throw new Error(message);
} catch (x) {}
};
}
function emptyFunctionThatReturnsNull() {
return null;
}
module.exports = function(isValidElement, throwOnDirectAccess) {
/* global Symbol */
var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
/**
* Returns the iterator method function contained on the iterable object.
*
* Be sure to invoke the function with the iterable as context:
*
* var iteratorFn = getIteratorFn(myIterable);
* if (iteratorFn) {
* var iterator = iteratorFn.call(myIterable);
* ...
* }
*
* @param {?object} maybeIterable
* @return {?function}
*/
function getIteratorFn(maybeIterable) {
var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
if (typeof iteratorFn === 'function') {
return iteratorFn;
}
}
/**
* Collection of methods that allow declaration and validation of props that are
* supplied to React components. Example usage:
*
* var Props = require('ReactPropTypes');
* var MyArticle = React.createClass({
* propTypes: {
* // An optional string prop named "description".
* description: Props.string,
*
* // A required enum prop named "category".
* category: Props.oneOf(['News','Photos']).isRequired,
*
* // A prop named "dialog" that requires an instance of Dialog.
* dialog: Props.instanceOf(Dialog).isRequired
* },
* render: function() { ... }
* });
*
* A more formal specification of how these methods are used:
*
* type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
* decl := ReactPropTypes.{type}(.isRequired)?
*
* Each and every declaration produces a function with the same signature. This
* allows the creation of custom validation functions. For example:
*
* var MyLink = React.createClass({
* propTypes: {
* // An optional string or URI prop named "href".
* href: function(props, propName, componentName) {
* var propValue = props[propName];
* if (propValue != null && typeof propValue !== 'string' &&
* !(propValue instanceof URI)) {
* return new Error(
* 'Expected a string or an URI for ' + propName + ' in ' +
* componentName
* );
* }
* }
* },
* render: function() {...}
* });
*
* @internal
*/
var ANONYMOUS = '<
Tiešsaistes kazino turnīrs ir sacensība starp vairākiem spēlētājiem, kuri veic dažādus uzdevumus spēļu automātos, pokerā un citās kazino spēlēs. Spēlētājam ir jāiegūst maksimālais punktu skaits atbilstoši turnīra nosacījumiem, lai apsteigtu konkurentus un kļūtu par uzvarētāju. Papildu priekšrocība ir mobilajiem lietotājiem pielāgotas maksājumu metodes, piemēram, Apple Pay vai Google Pay. Tas ļauj veikt iemaksas dažu sekunžu laikā no viedtālruņa, būtiski uzlabojot kopējo lietošanas ērtību. Tā nosaka, cik stingri kazino tiek uzraudzīts, kādā līmenī tiek aizsargātas spēlētāju tiesības un cik droša ir pati spēļu platforma. Spēlētājiem no Latvijas parasti ieteicams izvēlēties kazino ar Eiropas licencēm.
Mēs nekad neatteiksim palīdzību un vienmēr ieteiksim tikai tos ārzemju kazino, kuriem paši uzticamies un kurus esam izmēģinājuši arī paši. Atšķirībā no citiem interneta “ekspertiem”, mēs paši esam spēlētāji – protams, tikai izklaides nolūkos. Ja vēl neesi gatavs ieguldīt savus līdzekļus un riskēt ar tiem, spēlējot interneta kazino, lieliska iespēja ir bezmaksas kazino spēles, ko piedāvā visi labākie online kazino. Tā tu vari iepazīties ar spēļu piedāvājumu, jaunām relīzēm, izprast spēļu darbību, izstrādāt stratēģijas utml. Tas nodrošina demo spēļu versijas, lai jaunie spēlētāji var izmēģināt spēles bez maksas, kā arī vērtīgu reģistrācijas bonusu bezriska griezienu veidā.
Neatkarīgi no bonusa veida, vienmēr rūpīgi izlasiet bonusa noteikumus un nosacījumus, lai nodrošinātu, ka izprotat prasības un ierobežojumus. Tas palīdz maksimāli izmantot savu bonusu, vienlaikus izvairoties no iespējamām kļūmēm. Bezmaksas griezieni ir populārs bonuss, kas bieži tiek piešķirts kā daļa no iepazīšanās bonusa vai atsevišķām akcijām. Bezmaksas griezieni ļauj spēlēt noteiktas spēļu automātu spēles, neizmantojot savu naudu.
Gluži kā Latvijas kazino, arī šie online kazino ir licencēti, taču tos regulē ārvalstu jurisdikcijas, piemēram, Kirasao vai Malta un citas. Atšķirībā no pašmāju kazino, ārzemju kazino online ir paredzēti starptautiskai auditorijai, tostarp Latvijas spēlētājiem, kuri vēlas iegūt plašāku un daudzveidīgāku spēļu pieredzi. Iepazīstoties ar ārzemju kazino, izšķiroša nozīme ir normatīvās vides izpratnei. Divas ievērojamās jurisdikcijas, kas pārvalda populārākos ārzemju online kazino, ir Kirasao un Malta.
Tāpat svarīgi atcerēties, ka nodoklis jāmaksā tikai no tās summas, kas pārsniedz šo 3000 euro robežu. Lai sāktu izmantot elektronisko maku, ir nepieciešams vispirms izveidot kontu šī pakalpojuma sniedzēja vietnē. Tas parasti ietver anketas aizpildīšanu ar personisko informāciju (piem., vārds, adrese, e-pasta adrese utt.). Tiklīdz profils ir gatavs, tam ir jāpiesaista finansējuma avots (piem., bankas konts vai kredītkarte), no kura tas tiks papildināts; šī procedūra var ietvert arī identitātes verifikāciju. Pēc tam atliek vien pārskaitīt naudu uz e-maku, lai sāktu veiktu iemaksas un izmaksas sev vēlamajā tiešsaistes kazino.
Tas nozīmē, ka, spēlējot kazino internetā, iespējams daudz biežāk tikt pie uzvarošās kombinācijas. Taču noteikti jāmin, ka cienijamākajās un labi novērtētākajās tiešsaistes kazino vietnēs spēlētājam nenākas saskarties ar šo problēmu. Atceries, ka reģistrēšanās kazino nav anonīma, un tev būs jānorāda savs vārds.
Jāatceras, ka kazino vienmēr norāda maksimālo summu, no kuras varat iegūt 100% depozīta bonusu. Pēdējā laikā daži labākie kazino piedāvā depozīta bonusu, kas lielāks par 100%. Evolution Gaming ir vadošs live kazino un spēļu automātu izstrādātājs un piedāvā plašu spēļu klāstu, ieskaitot blekdžeku, ruleti, bakaru un pokeru. Evolution nodrošina likmju veikšanas saskarnes un online dīleru platformu lielākajiem zīmoliem azartspēļu industrijā.
Online bezmaksas spēles lieliski simulē online casino spēles uz naudu, lai Tev būtu vieglāk tās izprast pirms sāc veikt likmes uz naudu. Pa brīvu iespējams spēlēt spēļu automātus, ruleti, bakaru, blekdžeku un pokeru. Latvijā lielākā online kazino Optibet.lv panākuma atslēga slēpjas tā vienkāršajā, tai pat laikā iespaidīgajā mājaslapā un spēļu piedāvājumā. Jaunākie spēļu automāti, tradicionālie sloti, kā arī iespaidīgs sporta totalizators sniegs azartu un izklaidi jebkurā mirklī. Lai Tu neapjuktu milzīgajā spēļu piedāvājumā, Optibet piedāvā vairākas slotu sadaļas, kurās var viegli orientēties un spēlēt Optibet ieteiktās, jaunākās, populārākās vai džekpota spēles.
Tas tiek darīts, lai novērstu iespējamos mēģinājumus ļaunprātīgi izmantot kazino, piemēram, saņemot vairākus iepazīšanās bonusus. Spēlētāji nereti cenšas izveidot vairākus kontus, lai saņemtu papildu bonusus, taču tas ir aizliegts. Ārzemju online kazino saviem klientiem piedāvā ievērojami lielāku kazino spēļu katalogu. To vidū ietilpst gan populārākie spēļu automāti, gan live kazino un tradicionālās galda spēles.
Turklāt Evolution Gaming studijas spēles tiek piedāvātas ne tikai Latvijas online vietnēs, bet arī ārzemju online spēļu platformās. Savukārt Pragmatic Play nosaukums būs zināms tiem, kas augstu vērtē kvalitāti kvalitāti, jo tieši ar to šī spēļu studija ir guvusi plašu atzinību. Pēdējos gados tiešsaistes azarta pasauli ir sagrābušas crash tipa spēles, sauktas arī par avārijas spēlēm. Šāda tipa spēļu automātus raksturo liela aizrautība, jo nezini, kurā brīdī notiks avārija, bet ir jāriskē ar likmēm un jācenšas noķert tieši īsto mirkli.
Latvijā licenci izsniedz Izložu un azartspēļu uzraudzības inspekcija (IAUI). Tāpat pastāv arī tādas azartspēļu licences, kas ļauj spēlēt dotajā vietnē rezidentiem arī no citām valstīm – šādas licences ir, piemēram, Maltas un Kirasao licences. Ārzemju kazino piedāvā dažādas maksājumu metodes — e-makus, bankas kartes, kriptovalūtas. Depozīti un izmaksas parasti tiek apstrādātas ātrāk nekā latvijas kazino sistēmās. Daļa ārzemju kazino ir ierobežoti vai bloķēti Latvijas teritorijā, galvenokārt tādēļ, ka tiem nav vietējās licences, ko pieprasa Izložu un azartspēļu uzraudzības inspekcija. Kad tiek izvēlēts ārzemju kazino, ir svarīgi ne tikai skatīties uz bonuss līdz 2000 € vai bezriska griezieni piedāvājumiem, bet arī pārbaudīt licences autentiskumu.
Tā ir iespēja pievienoties reāllaika spēlēm ar profesionāliem dīleriem otrpus ekrānam, atrodoties mājās. Ja esat iesācējs, nepalaidiet garām Evolution first person jeb pirmās personas spēles, kurās spēles baudīsi no pirmā sola. Tās piedāvā unikālu un aizraujošu veidu, kā izbaudīt iecienītākās galda spēles.
Tiešsaistes kazino piedāvā iespēju izmēģināt šīs spēles mājās vai ceļā, un daži pat piedāvā bezmaksas griezienus vai bezmaksas naudu kā bonusu jauniem spēlētājiem. Tiešsaistes azartspēļu bonusi un bezriska griezieni ir populāri rīki, ko kazino izmanto, lai piesaistītu un noturētu spēlētājus. Iepazīšanās bonusi, piemēram, depozīta dubultošana vai bezmaksas nauda reģistrējoties, mudina jaunus lietotājus izmēģināt platformu. Turklāt bezmaksas izklaides parasti tiek veidotas tā, lai tās būtu identiskas to reālās naudas versijām. Grafika, skaņas efekti un uzbūve ir ekvivalents maksas spēlēm, piedāvājot ne mazāk aizraujošu pieredzi. Tas nozīmē, ka spēlētāji var iegūt patieso spēles garšu bez jebkāda finansiāla spiediena.
Katru gadu tirgū ienāk jauni kazino, kas cenšas piesaistīt spēlētājus ar īpaši izdevīgiem bonusiem un modernām spēļu platformām. Jo zemāks reizinātājs (piemēram, 20x vai 30x), jo vieglāk būs izņemt laimestu. Augsti atspēles nosacījumi (50x vai vairāk) var padarīt bonusa izmantošanu gandrīz neiespējamu. Pirms reģistrēšanās noteikti pārliecinies, ka kazino piedāvā tev interesējošās spēles un spēļu nodrošinātājus. Ārvalstu kazino ir drošs, ja tam ir derīga darbošanās licence un jūs tajā spēlējat, nepārkāpjot aizliegumus. Licencētie online kazino nodrošina jūsu privātumu un patērētāja tiesības.
Principā tas ir kā starpnieks starp Latvijas internetbanku un online casino banku. Apgrozījuma prasības nosaka, cik reižu spēlētājiem ir jāapgroza bonusa summa vai laimesti jeb cik liela summa jāizspēlē vietnē, pirms tos var izņemt. Bieži vien novērojam interesantu paradoksu jo dāsnāks bonuss, jo lielākas apgrozījuma prasības. Šīs prasības parasti tiek izteiktas kā bonusa summas reizinājums vai bonusa un depozīta apvienotās summas reizinājums.
Latvijas online kazino tirgus nav īpaši liels, līdz ar to, lielo izstrādātāju piegādāto spēļu izmantošanas nosacījumi ir par dārgu mazākajiem kazino. Arī tādas neatkarīgas tīmekļa vietnes kā Casino-latvija.com sniedz nepieciešamo informāciju par licencētajiem online kazino. Ja kazino ir saņēmis sertifikātus par godīgām spēlēm un strādā ar Latvijas licenci, tam jābūt pietiekamam pamatojumam, lai izvēlētos konkrēto vietni. Respektablākie online kazino nodrošina saziņu gan vietnes čatā, gan e-pastā un pa tālruni.
Tas nozīmē, ka licencētie kazino ir rūpīgi pārbaudīti un uzraudzīti, lai nodrošinātu, ka tie darbojas saskaņā ar likumu un piedāvā drošu vidi spēlētājiem. Spēlētāju atsauksmes par online kazino Latvijā ir vērtīgs resurss, lai izvēlētos piemērotāko platformu. Daudzi spēlētāji dalās savā pieredzē par kazino uzticamību, spēļu piedāvājumu, kā arī klientu apkalpošanas kvalitāti. Šīs atsauksmes palīdz citiem spēlētājiem izprast, kāds ir konkrētā kazino serviss un vai tas atbilst viņu vēlmēm un vajadzībām.
Spēlētāji, kuri izmanto kriptovalūtas iemaksām un izmaksām, var piedzīvot savu līdzekļu vērtības izmaiņas, kas var ietekmēt viņu spēļu budžetu. ārzemju kazino online Turklāt kriptovalūtu regulējošā ainava vēl joprojām nav līdz galam skaidra—tā nepārtraukti attīstās, ir daudz neskaidrību un nepastāv vienots regulējums. Tomēr no otras puses, spēlētājiem, kas vēlas nodrošināt pilnīgi anonīmus darījumus, kriptovalūtas piedāvā šādu opciju.
Kā jau droši vien zināt – to neticamā daudzveidība ļauj atrast kaut ko “savējo” pat visprasīgākajiem spēlētājiem. To popularitāte pieaug pateicoties dāsnākiem bonusiem, plašākām spēļu izvēlēm un maksājumu metodēm, kā arī arvien vairāk mājaslapu piedāvā saturu latviešu valodā. Taču kā neapjukt plašajā piedāvājumu klāstā un kā zināt vai konkrētais kazino ir uzticams? Šis raksts kalpos kā ceļvedis, kurš palīdzēs orientēties ārzemju kazino piedāvājumā, lai jūs varētu atrast vislabākos risinājumus tieši jūsu vajadzībām un interesēm. Identitātes verifikācija kazino ir to spēlētāju, kuri reģistrējas azartspēļu vietnē, identitātes un vecuma verifikācijas jeb pārbaudes process. Tas parasti ietver virkni pārbaužu, piemēram, spēlētāja identitātes dokumentu pārbaudi.
Mēs esam stingri apņēmušies nodrošināt caurskatāmību un uz spēlētājiem fokusētu pieeju. Lai saprastu, kā pieslēgties eiropas kazino, ja piekļuve no Latvijas ir ierobežota, svarīgi izvēlēties uzticamu VPN pakalpojumu. Šie VPN risinājumi ir piemēroti Latvijas lietotājiem, pateicoties ātrai darbībai, serveru daudzveidībai un ērtiem lietošanas nosacījumiem. Turklāt visiem šiem pakalpojumiem ir atmaksas garantija (30 vai 45 dienas), tāpēc iespējams izmēģināt bez ilgtermiņa saistībām. Spēlējot ārzemju kazino, kuri darbojas saskaņā ar šīm licencēm, spēlētāji var justies drošāk gan par saviem līdzekļiem, gan personīgo datu aizsardzību. Arzemju-Kazino.lv ir interneta azartspēļu informācijas vietne, kas apkopo visu nepieciešamo informāciju par azartspēlēm, operatoriem un to licencēm vienā vietā.
Licence automātiski nozīmē to, ka attiecīgā vietne tiek uzraudzīta un regulēta no valsts puses, samazinot krāpniecības riskus. Kad VPN ir uzstādīts, atver interneta pārlūkprogrammu un dodies uz izvēlēto kazino mājaslapu. Ja visu esi izdarījis pareizi, ārzemju kazino vietnei ir jābūt pieejamai bez problēmām. Jaunā Kirasao licence būs paredzēta, lai nodrošinātu lielāku caurskatāmību un drošākus apstākļus saviem klientiem. Būtībā Kirasao licence ietver piecas dažādas licences, no kurām populārākās ir Antillephone, Gaming Curacao un Curacao e-Gaming.
Šie bonusi ir populāri spēļu automātu cienītāju vidū un bieži tiek piedāvāti gan jauniem, gan esošiem spēlētājiem. Mūsdienās mobilās ierīces kļūst par dominējošu rīku tiešsaistes kazino spēlēšanai, tāpēc mobilā saderība ir būtisks aspekts, izvēloties ārzemju kazino. Labākajos ārzemju kazino dizains tiek pielāgots dažādām ierīcēm, nodrošinot vienlīdz augstu kvalitāti gan viedtālruņos, gan planšetdatoros.
Iepazīšanās bonusi ir piedāvājumi, ko online kazino piedāvā jaunajiem spēlētājiem kā stimulu pievienoties vietnē un sākt spēlēt. Ņemiet vērā, ka, lai gan iepazīšanās bonusi var būt lielisks veids, kā uzsākt savu spēļu pieredzi, tiem ir noteikti noteikumi un prasības. Pirms bonusa saņemšanas vienmēr pārliecinieties, ka saprotat noteikumus, un tie atbilst Jūsu spēles stilam un vēlmēm.
Protams, spēlēt ārzemju online kazino var, taču svarīgi ņemt vērā riskus un apzināties, ka licencētas kazino Latvijā nodrošina lielāku aizsardzību un uzticamību. Taču, ja ārzemju kazino ir licence un tas ir drošs, var spēlēt arī tur. Tomēr, lai izvairītos no sliktas pieredzes vai negodīgiem operatoriem, svarīgi ir izvēlēties labāko un drošāko online kazino Latvijā. Tālāk uzskaitīsim dažus faktorus, kas jāņem vērā, izvēloties online kazino, lai nodrošinātu sev drošību, spēles kvalitāti un labas izklaides baudīšanu. Minimālā iemaksa, lai aktivizētu bonusu ir 20€ ar kodu “SPINS75” un uzreiz saņem 75 spinus ar kopējo vērtību 7.50€.
Skaidrs, ka ārzemju kazino, pirmkārt un galvenokārt, vilina tieši savas ekskluzivitātes dēļ. Dinamiska atmosfēra, krāšņi lozungi, Lasvegasas klātienes kazino līdzvērtīga kvalitāte – to visu vēlas izjust ikviens tiešsaistes kazino apmekletājs. Taču ir arī citi iemesli, kamdēļ ārzemju kazino apmeklējums latviešiem šķiet tik pievilcīgs. Der paturēt prātā, ka vairums virtuālo mašīnu, ekrāna koplietošanas, attālinātās piekļuves un VPT programmatūru izmantošana ir aizliegta.
Spēlētājiem pēc pirmā depozīta 20 eiro apjomā ir pieejams jauno klientu bonuss – 50 bezriska griezieni. 450 papildu griezienus var saņemt, ja nedēļas laikā apgroza 1000 eiro. Zīmols sevi prezentā kā labāko kazino Latvijā un atbalsta ceļotājus un sporta pasākumus.
Turpretī dažos ārzemju kazino KYC politika var būt krietni pielaidīgāka, atļaujot klientiem izmaksāt laimestus, piemēram, no 1000 € līdz 2000 € bez stingras identitātes pārbaudes un verifikācijas. Tomēr mūsdienās arven vairāk ārzemju operatoru arī pieprasa veikt verifikāciju jau uzreiz pēc reģistrācijas. Latvijas platuma grādos visi bezmaksas griezieni tiek uzskatīti par bezriska griezieniem. Kad spēlētāji ir izspēlējuši savu naudu konkrētā, lv casino operatora izvēlētā spēļu automātā(-os), viņi saņem naudas atmaksu, kas ir vienāda ar visu ieguldīto un izspēlēto griezienu likmju apmēru.
Interesanti, ka KYC / verifikācija šobrīd ir kļuvis par obligātu prasību lielākajā daļā starptautisko kazino, kas pieņem Latvijas spēlētājus. Iepriekš spēlētāji varēja baudīt nedaudz vaļīgāku pārbaudes procesu starptautiskajās platformās, taču tas strauji mainās. Daudzas citvalstu azartspēļu platformas pastiprina savus drošības pasākumus un piemēro KYC pārbaudes, kas atbilst globālajiem AML standartiem. Tas nozīmē, ka pat tad, ja spēlē Maltas, Kirasao vai Igaunijas platformā, būs jāveic teju tāda pati pārbaude kā Latvijas spēļu vietnē. Lai gan liegums var būt efektīvs šķērslis ne pārāk tehnoloģiski zinošiem spēlētājiem, tos ir iespējams viegli apiet, izmantojot Virtuālā privātā tīkla (ang. val. saīs. VPN) rīkus.
Kā zināms, pieprasījums veicina piedāvājumu, un online azartspēļu bizness noteikti nav izņēmums. Būtu lieliski, ja visiem ārvalstu lielajiem online kazino būtu licence darbam Latvijā. Latvijas tiešsaistes azartspēļu tirgus ir salīdzinoši mazs un ar daudziem ierobežojumiem, tomēr licences maksa ir augsta, turklāt tā jāiegādājas katru gadu. Jāsaka, ka tas nav tikai ētiskas dabas jautājums, par ko diskutēt virtuves sarunās.
Kopumā, datu šifrēšana nodrošina, ka sensitīvā informācija tiek saglabāta konfidenciāla. Tāpat vērts pievērst uzmanību, vai kazino piedāvā divu faktoru autentifikāciju. Karību jūras reģionā esošā Kirasao ir kļuvusi par populāru tiešsaistes azartspēļu licenču centru.
Kad mūsu vietnes apmeklētājs noklikšķina uz vienas no šīm saitēm un veic pirkumu partnera vietnē, Kazinolatvia.com tiek maksāta komisijas maksa. Licencētie Latvijas kazino parasti nepiemēro komisijas maksu par iemaksām un izmaksām, taču pakalpojumu sniedzējs var piemērot maksas no savas puses. Tiešsaistes azartspēļu tiesiskā regulējuma nodrošināšana Latvijā ir būtisks process. Tajā iesaistīti vairāki tiesību akti, kuru mērķis ir nodrošināt pārredzamu azartspēļu vidi. Iesniedzot savu epasta adresi, jūs apstiprināt, ka pieņemat mūsu privātuma un sīkdatņu politiku.
Daudzi ārzemju kazino piedāvā plašu kazino spēļu klāstu, vilinošus bonusus, piemēram, bezriska griezieni, depozīta bonuss, kā arī plašas depozīti un izmaksas iespējas, taču tas viss jāizmanto ar mēru. Kazino piedāvā vairāk nekā 5000 spēļu no vairāk nekā 40 izstrādātājiem, tostarp NetEnt, Play’n GO un Playtech. Fresh Casino piedāvā 100% iepazīšanās bonusu līdz 600 € pirmajā depozītā un 75% bonuss līdz 300 € otrajā depozītā. Turklāt kazino piedāvā dažādas akcijas un bonusus sporta derību cienītājiem, padarot to par lielisku izvēli ne tikai spēļu, bet arī sporta entuziastiem. Viens no galvenajiem iemesliem, kāpēc spēlētāji izvēlas ārzemju kazino, ir to daudzveidīgie un dāsnākie bonusi, kas būtiski pārsniedz to, ko parasti piedāvā latvijas kazino. Ārzemju kazino bieži piesaista ar bonusu līdz pat 2000 €, bezmaksas griezieni, bezriska griezieni, kā arī naudas atmaksas (cashback) piedāvājumiem un bonusiem bez depozīta.
Ārzemju online kazino bieži vien piedāvā plašu live kazino spēļu klāstu, kas ietver populāras galda spēles, piemēram, ruleti, blackjack un bakara. Šajās spēlēs spēlētāji var sazināties ar dzīvajiem dīleriem, izmantojot tiešsaistes video straumēšanu. Latvijas online kazino arī piedāvā live kazino spēles, bet klāsts ir daudz mazāks, un dīleri nekad nerunā latviešu valodā. Bezmaksas griezieni un bezriska griezieni ir divi no populārākajiem piedāvājumiem, ko online kazino piedāvā saviem spēlētājiem. Šīs iespējas ir īpaši pievilcīgas gan pieredzējušiem spēlētājiem, gan tiem, kuri tikai sāk iepazīt kazino spēļu pasauli. Tās ļauj izmēģināt dažādas spēles bez nepieciešamības spēlēt ar savu naudu, vienlaikus piedāvājot iespēju iegūt īstus laimestus.
Datu šifrēšana un licencēšana ir būtiska, lai aizsargātu lietotājus. Tiešsaistes azartspēļu tehnoloģijas turpina evolucionēt, piedāvājot aizraujošas iespējas, bet prasa atbildīgu pieeju, lai nodrošinātu drošu un patīkamu pieredzi. Spēlētājiem tiek dota iespēja uzvarēt lielas naudas summas, un kazino atmosfēra padara šo pieredzi vēl aizraujošāku.
Starp citu, tas ir arī ikoniskā spēļu automāta “Starburst” radītājs. Kad ir apnicis gaidīt mirkli, kurā spēļu automāts beidzot aktivizēs neizdibināmo bonusa raundu – “bonus buy” nāk palīgā. Šī funkcija pirmo reizi parādījās Big Time Gaming tiešsaistes spēļu automātā “White Rabbit” 2017.
Pirmais solis, lai sāktu spēlēt ar īstu naudu, ir sev piemērotākā kazino izvēle. Internets ir pārpilns ar online kazino, taču atrast uzticamu un cienījamu kazino var būt grūtāk, nekā sākumā šķiet. Ja neesi pārliecināts, ar ko sākt, iepazīsties ar Casinolatvia.com ekspertu veidotiem kazino pārskatiem un ieteikumiem, kuri ir izveidoti balstoties uz mūsu portāla redakcionālajiem principiem. Bonusa funkcija, atkārtota grieziena funkcija, automātisko griezienu funkcija un citas spēļu automātu funkcijas darbojas vienādi gan bezmaksas, gan naudas spēlēs. Taču katram no šiem spēļu veidiem ir vairāki plusi un mīnusi, kas var likt izvēlēties par labu vienam vai otram variantam.
Tas palīdz novērst pārmērīgu spēlēšanu un tās negatīvo ietekmi uz spēlētājiem. Licencētiem kazino tā ir svarīga prioritāte, jo veicina uzticību šai jomai kopumā un palīdz aizsargāt spēlētājus. Online kazino spēļu automātu baudīšana ir viena no populārākajām izklaides formām, pateicoties to vienkāršībai un daudzveidībai. Latvijas interneta kazino piedāvā spēļu automātus no pasaulē atzītiem pakalpojumu sniedzējiem, piemēram, NetEnt, Pragmatic Play, Microgaming, Wazdan, Yggdrasil, Play’n GO, Novomatic un citiem. Pagaidām Latvijā netiek piedāvāti arī kriptovalūtu bonusi, kaut arī operatori varētu to nodrošināt līdzīgi kā ārzemju kazino vietnēs. Iemesls ir tāds, ka kriptovalūtas norēķinus izmanto visai neliels kazino spēlētāju skaits.
Klasiskajiem spēļu automātiem ierasti ir 3 ruļļi un līdz 5 izmaksas līnijas. Online kazino standarta piedāvājums ietver dažādas klasiskās galda spēles, citiem vārdiem sakot, blekdžeku, ruleti un bakara. Jūs varat atrast arī video pokeru un kauliņu spēles, taču vispirms parasti tiek minētas tieši šīs trīs spēles. Spēlējot online kazino, Jūs vienmēr sastapsieties ar terminiem – bezriska griezieni un bezmaksas griezieni.
Arvien biežāk Latvijas kazino piedāvā ”automātisku” verifikāciju, izmantojot tādus rīkus kā Smart ID vai eParaksts. Papildus tam ārvalstu kazino sadarbojas ar daudziem pasaulē pazīstamiem kazino spēļu nodrošinātājiem—tie var būt 10+ tiešsaistes kazino pakalpojumu sniedzēji viena online kazino ietvaros. Tomēr ir svarīgi atzīmēt, ka daži spēļu izstrādātāji, piemēram, NetEnt, Evolution un Novomatic, var nebūt pieejami Latvijas spēlētājiem ārvalstu kazino. Pieņemsim, ka savu tikko kazino laimēto naudu esi pārskaitījis pa taisno uz sava vārda un uzvārda reģistrēta Latvijas bankas konta. Tas nozīmē tikai vienu – pašmāju uzraugošās iestādes agrāk vai vēlāk tiks informētas par Tavām darbībām Latvijas vai ārzemju kazino. Taču, kas notiktu, ja šis pats vinnests tiktu izņemts ar, piemēram, Bitcoin starpniecību?
Lai gan no atkarības problēmām cieš tikai neliels spēlētāju skaits, ir būtiski novērst to rašanos pēc iespējas agrāk. Latvijas online kazino pieejami gan dažādi obligāti un regulatora pieprasīti limiti, gan arī pašu operatoru piedāvātie. To starpā ir gan dažādi iemaksu un likmju limiti, gan arī laika un zaudējumu ierobežojumi. Spēlēt Latvijas online kazino ir ērti un izdevīgi, jo tie piedāvā plašu spēļu klāstu, labus bonusus un akcijas, atbalstu latviešu valodā, kā arī drošu un uzticamu vidi spēlēšanai.
]]>