/*! 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 = '<
Owo przystępny bonus powitalny na 1600 PLN i liczne odnawialne premie a także równoczesne atrakcje, a także wyjątkowy program VIP. Tylko klasa kodu konsol ocenia kilka tysięcy sytuacji, wśród których znajdą się każde popularne formaty ostatniej dekady. Całość podkreśla lokalizacja całego serwisie i przystosowanie gwoli Polaków.
Gry te prowadzone są za pośrednictwem prawdziwych krupierów i transmitowane na żywo, dzięki dlaczego możesz poczuć atmosferę rzetelnego kasyna wyjąwszy wychodzenia wraz z budynku. Kasyno być może nie wydaje się zaskakująco rozbudowane, ale mieści całokształt, czegoż rzeczywiście przewiduje fan. To solidna dział wraz z rabatami, rozbudowana klasa kodu konsol, przystępne możliwości umowy oraz najlepsze dostosowanie do Polaków. Zatem można to kasyno polecić każdemu, jaki na prostu poszukuje porządnej rozrywki spośród grami losowymi. Zatem Bizzo Casino podaje wyłącznie sprawdzone zabawy i działa adekwatnie wraz z każdymi standardami.
Bizzo Casino w pełni podtrzymuje zawodników wraz z Naszego Kraju – i owo odrzucić tylko u dołu względem konsol bądź płatności, ale też języka i obsługi kontrahenta. Cały interfejs strony wydaje się dostępny w języku polskim, jakie możliwości w dużym stopniu ułatwia przemieszczanie się po kasynie, rejestrację, użytkowanie spośród ofert oraz udział w turniejach. Tłumaczenie nie zaakceptować wygląda jakim sposobem spośród translatora – treść są zrozumiałe, poprawne i dopracowane. Każde opcje desktopowe – płatności, rabaty, turnieje, czat z obsługą, kasyno na żywo – są dostępne także w odmiany mobilnej. Sloty ładują się błyskawicznie, a zabawy na żywo działają stabilnie chociażby tuż przy średnim zasięgu. Wszelkich lokalizacji wydaje się być parę tysięcy i pochodzą ów kredyty od czasu ponad tysiące różnych dostawców, więc na różnorodność z pewnością żadna osoba odrzucić będzie narzekał.
Aktualnie Bizzo Casino odrzucić oferuje bonusu bez depozytu, jednakże systematycznie wprowadza zniżki obejmujące bezpłatne spiny a także równoczesne środki za aktywność graczy. Gwoli stałych internautów przygotowano bonusy reload, darmowe spiny a także mnogie rabaty cykliczne, które umożliwiają prawidłowe zwiększanie wygranych. Dodatkowo, członkowie aplikacji VIP mogą liczyć na wyjątkowe przywileje, takie jakim sposobem wyższe stawki cashback, specjalne bonusy a także dedykowane propozycje. Bizzo Casino owo młody portal online, który już od momentu pierwszych minut zaproponował naszym użytkownikom wszystko, czegoż można oczekiwać od kasyna sieciowego.
Blisko komputerów od znanych dostawców, dzienne turnieje, cashbacki, bonusy wyjąwszy końca. Kręci się w tym miejscu odrzucić wyłącznie automaty; wydaje się też wiele stołów na żywo, a nawet rozrywki wraz z krupierami mówiącymi według polsku. Wpis w Bizzo Casino utrzymuje dosłownie chwilę – podajesz e-mail, hasło i wybierzesz walutę. Konto aktywuje się niemal od momentu razu, bez uciążliwego potwierdzania SMS-em bądź przesadnej biurokracji. Tuż Przy czołowej wpłacie można zgarnąć aż do odwiedzenia 125% do 1250 EUR i 125 bezpłatnych spinów, a przy pozostałej następne 50% do 300 EUR plus pięćdziesiąt spinów.
Odrzucić zabrakło też programu VIP – trzydziestu poziomów spośród coraz to lepszymi nagrodami, cashbackiem i ekskluzywnymi propozycjami. Każdy bizzo casino bonus wydaje się być jasno opisany – z brakiem ukrytych warunków, bez haczyków. Przejrzystość i prostota – to właśnie wyróżnia Bizzo Casino w porównaniu do rywalizacji.
Każda odsłona występuje w dużej liczby interpretacjach od różnych dostawców, więc każdy powinien wraz z łatwością znaleźć ten gatunek pokera, który będzie mu odpowiadał. Naprawdę, Bizzo Casino działa nadzwyczaj porządnie za pośrednictwem przeglądarkę mobilną. Nie Zaakceptować trzeba pobierać żadnej programów – trzeba wejść na stronę i logować się w jaki sposób zwykle.
Dodatkowo możesz trafić na wyjątkowe modyfikacje, które urozmaicają klasyczną rozgrywkę. Jedną z największych wartości Bizzo Casino wydaje się być swoim różnorodna podaż komputerów. W środowisku przez internet panuje niepisana zasada – wykładzinom więcej możliwości, tymże dobrze. Wszelkie bonusy obarczone są wymogiem ruchu, który kosztuje 40-krotność wartości bonusu, po spełnieniu którego premia przekształca się w oryginalne pieniądze wraz z możliwością ich wypłaty.
Organizowane są także regularne turnieje i konkursy, dając fanom szansę na wciąż większe wygrane. Hojny bonus powitalny w naszym wortalu jest to doskonały sposób na rozpoczęcie obstawiania na rzeczywiste pieniądze. Od czasu do odwiedzenia czasu, wraz z różnych przyczyn, przychodzi moment, gdy należy skontaktować się wraz z działem obsługi klienta. Wyjąwszy względu na owo, o które sprawy chodzi, za każdym razem można na ich sprawa porozmawiać, ponieważ operator umożliwił naszym użytkownikom stały połączenie z konsultantami.
Można spać bez problemu https://bizzocasinoonline2.com, wiedząc, że używane przez nas dane są pewne. Dzięki intuicyjnej nawigacji i wsparciu technicznemu, każdy użytkownik może skupić się na naszym, co najważniejsze – dobrej zabawie i wygrywaniu. Jest To kasyno, które z pewnością nasyci chociażby w największym stopniu wymagających zawodników z Lokalny. Kasyno sieciowe Bizzo wystartowało całkiem niedawno, bo w 2021 roku kalendarzowego.
Bizzo Casino no deposit premia codes owo następna gratka na rzecz zawodników. Te kody mogą dać Wam bezpłatne środki albo spiny, które zwiększą Twoje możliwości na wygraną. Wskazane Jest śledzić obecne zniżki, bo w żadnym wypadku nie wiadomo, kiedy pojawi się coś naprawdę atrakcyjnego.
W Bizzo Casino bezpieczeństwo wydaje się być na pierwszym rejonie, dzięki dlaczego zawodnicy mogą skupić się wyłącznie na zabawie. Bizzo zdobyło szacunek zawodników zdobyło dzięki swej transparentności, profesjonalnej obsłudze kontrahenta i obszernej gamie możliwości płatności. Żeby móc je zrealizować, należy dokonać krytycznej wpłaty, zweryfikować konto a także mieć równoczesne konto wraz z kwotą przekraczającą minimalną transakcję. Dostępne funkcje wypłaty mają wraz z reguły podobne warunki do odwiedzenia tegoż, jak oferują podczas depozytu. Bizzo oferuje nowatorskim graczom premia powitalny w postaci bezpłatnych zakręceń i autentycznych pieniędzy.
Na Rzecz graczy, którzy zdecydują się na rejestrację konta, przygotowano standardowy, jednak trwały dodatek premii depozytowych. Jeśli na któreś wraz z tych pytań odpowiedziałeś „tak”, powinieneś rozważyć skorzystanie wraz z opcji „wyklucz się”, dostępnej w Bizzo Casino. Możesz jest to zrobić, kontaktując się spośród naszą obsługą konsumenta poprzez czat na żywo. Bizzo Casino oferuje pomoc na rzecz kontrahenta za pośrednictwem dwadzieścia cztery godziny na dobę, siedmiu dni w tygodniu. Możesz skontaktować się wraz z zespołem obsługi konsumenta zbytnio pomocą czatu na żywo bądź e-maila.
Toteż portal na 1-wszy rzut wzroku może wydawać się mało skomplikowany, ale w rzeczywistości owo pełnoprawne kasyno. W dodatku oferujące niesamowicie rozbudowane możliwości zabawy. Mowa o sekcji promocji, potężnej bibliotece komputerów i zasadniczych funkcjach w jaki sposób obsługa kontrahenta a także bankowość. Sloty owo nie wszystko, co nadaje systemie rzetelnego klimatu kasyna. Prowadzona Jest się owo zbyt sprawą konsol na żywo, które mogą dostarczyć wzgląd prawdziwej rywalizacji.
Każdy więksi dostawcy mają w naszym album popularne gry stołowe. Zatem biorąc u dołu uwagę liczbę twórców, można mieć pewność, że dostępne będą wszystkie najchętniej wybrane rozrywki, w przeróżnych wariacjach. Na Rzecz najlepszych z wymienionych stworzono osobne nazwy, a każde inne należy na prostu wyszukać według kategorii.
Nazwane wyżej modyfikacje konsol owo nie zaakceptować każde dostępne w naszym kasynie. Operator kasyna naprawdę postarał się o zagwarantowanie w który sposób najlepszego poziomu rozgrywki. Owo całokształt sprawia, że bizzo casino jest jedną wraz z wygodniejszych opcji gwoli internautów spośród Polski. Witryna nie zaakceptować zmusza do odwiedzenia kombinowania spośród VPN-em, nie wyświetla treści na angielsku i odrzucić utrudnia życia przy wypłacie.
]]>
Jest To położenie, gdzie można poczuć dreszczyk emocji i cieszyć się grą na najwyższym pułapie. Bizzo owo kasyno przez internet, które działa na autoryzacji Curacao i oferuje własnym kontrahentom szeroką gamę rozrywki od momentu wiodących dostawców. W Bizzo kasyno odnajdziesz sporo komputerów spośród różnych gatunków i tematów, w tym automaty, zabawy stołowe, kasyno na żywo, a nawet zakłady sportowe. Dostępne są również hojne bonusy i zniżki, które pomogą ci zmaksymalizować swój bankroll i dobrze się bawić.
Na wdrożeniu oferty na początek przychodzi termin na dalsze zniżki. Wraz Z reguły na dalszych etapach zabawy kasyna udostępniają odrobinę skromniej przyciągające propozycje w relacji do bonusu na początek, lecz można wraz z tych propozycji korzystać systematycznie i z brakiem limitu. Wraz Z obydwu reklamy można korzystać raz tygodniowo, więc żadna osoba nie musi mieć trudności z tym, żeby do odwiedzenia właściwie każdego depozytu móc dopisać sprecyzowany dodatek pieniężny. Wytyczne mają oczywiście użycie jedynie do odwiedzenia pieniędzy bonusowych. Wpłać w czwartek używając kodu promocyjnego THU i otrzymaj 50% bonusu do 800 ZŁ Plus 100 bezpłatnych spinów na grę The Magic Cauldron-The Enchanted Brew (Pragmatic Play).
W Bizzo Casino zależy nam na bezpieczeństwie i dobrostanie grono graczy. Promujemy odpowiedzialną grę i pracujemy ramię w ramię z fachowcami spośród branży, aby zapewnić pomoc dla tychże, którzy mogą doświadczać problemów wraz z hazardem. Bizzo Casino stosuje również dzisiejsze urządzenia ochronne szyfrowania danych, żeby chronić dane inwestycyjne i osobowe własnych internautów. Pewne audyty i analizy są przeprowadzane za pośrednictwem niezależne agencje, żeby zapewnić, że rozrywki są uczciwe, a efekty losowe. Bizzo Casino posiada licencję od momentu Curacao Gaming Authority, jakiejś spośród w najwyższym stopniu wspaniałych instytucji regulujących w branży kasyn sieciowych.
Program VIP Bizzo kasyno składa się z trzydzieści poziomów, a każdy pułap domaga się zbierania punktów VIP, które zdobywasz, grając na stronie kasyna. Dywanom więcej grasz, tymże pospieszniej awansujesz na wyższe szczeble. Moją osobistą ulubioną rzeczą w Bizzo jest system bonusów. Próbowałem wielu różnych kasyn i większość z wymienionych proponuje bonusy, ale ten powinien być w największym stopniu lukratywny.
Przytoczone wyżej odmiany komputerów owo odrzucić wszystkie dostępne w tymże kasynie. Znajdziesz pierwotnego wręcz dziesiątki, a cały czas przybywają nowe. Operator kasyna naprawdę postarał się o zapewnienie w jaki to sposób najważniejszego poziomu partii. Minimalna wpłata to tylko pięćdziesiąt zł, więc odrzucić powinno się wydawać majątku, żeby zacząć grać.
W wypadku gratisowych spinów bądź bonusów wyjąwszy depozytu często istnieją limity maksymalnej wygranej. Bizzo Casino regularnie wprowadza rabaty gwoli stałych zawodników, tego rodzaju jak bezpłatne spiny, cashback bądź cotygodniowe bonusy depozytowe. Aby skorzystać wraz z bonusu, wystarczy założyć konto, wpłacić najmniejszy depozyt i aktywować premia w sekcji promocji albo poprzez wprowadzenie systemu kodowania promocyjnego.
Krajowe Casino odrzucić ponosi odpowiedzialności zbyt potencjalne szkody albo utratę pieniędzy. Gry kasynowe online na pieniądze mogą powodować kłopoty i wiązać się wraz z ogromnym ryzykiem. Nim zaczniesz grać na pieniądze, sprawdź i zweryfikuj przepisy obowiązujące w Twoim państwie, swoją sytuację finansową i poziom doświadczenia. Według grono przepisów (ustawa hazardowa z 2017 roku), legalne kasyna internetowego muszą mieć licencję od momentu Ministerstwa Finansów RP. Bizzo Casino, jakim sposobem sporo pozostałych międzynarodowych kasyn, takiej autoryzacji nie zaakceptować ma.
Maksymalna wygrana wraz z bonusów na szyfr bonusowy i wyjąwszy systemu kodowania na rzecz propozycji wyjąwszy wymaganej wpłaty owo dwie stówy ZŁ. Żeby aktywować większość bonusów, trzeba wpłacić jak w żadnym wypadku 80 PLN. Wymóg ruchu owo standardowe 40x, a maksymalny zakład spośród aktywnym bonusem wynosi 20 PLN. Trzeba skorzystać wraz z czatu na żywo, dokąd oczekuje na Cię pokojowy konsultant skończony do pomocy.
Wortal umożliwia kompleksową obsługę, a jego użytkownicy mogą grać w różne szlachetnej jakości zabawy kasynowe, w tymże te na żywo. Jeśli w czasie rejestracji nie został podany kod promocyjny, można skorzystać wraz z powitalnego bonusu do https://bizzocasinoonline2.com 6250 zł od momentu depozytu a także 125 gratisowych spinów. Bizzo Casino jest to prawdziwa gratka dla miłośników automatów. Wyszukasz tutaj tysiące slotów od czasu najlepszych dostawców, takowych jak NetEnt, Microgaming bądź Play’n NA NIEGO. Każdy wyszuka coś dla siebie — od momentu perfekcyjnych owocówek na dzisiejsze wideo sloty wraz z oszałamiającą grafiką i efektami dźwiękowymi.
Uczestnictwo w turniejach owo doskonała okazja, aby dodać trochę emocji do własnej rozrywki i zmierzyć się wraz z pozostałymi zawodnikami. Koszty Utrzymania zawodników na systemie hazardowej wydaje się krucjatą. Operatorzy, twórcy konsol i partnerzy wszyscy pracują morzem naszym, jakim sposobem utrzymać zaangażowanie własnych odbiorców. Ponieważ obecny zbyt jest naprawdę zatłoczony, procedury zatrzymywania ludzi są nadzwyczaj ważne.
Kasyno posiada licencję Curacao, zapewniając bezpieczeństwo informacji i uczciwość konsol. Skierowane jest do odwiedzenia zawodników na całym świecie, zarówno profesjonalistów, jak i początkujących, którzy szukają ekscytujących doświadczeń i atrakcyjnych bonusów. Zespół Bizzo Casino troszczy sie o wysoką jakość obsługi i ciągłe doskonalenie propozycji. Minimalna wpłata jest to 80 zł, a spiny wpadają na profil od czasu razu po depozycie.
Według zrealizowaniu tegoż zagadnienia wszelkie pozostałe środki trafiają na ogólne saldo pieniężne, dokąd można nimi już grać w dowolny sposób lub wypłacać według własnego uznania. Operator kasyna zadbał o jest to, żeby zawodnicy w każdej sytuacji potrafili brać udział w interesujących turniejach na atrakcyjnych automatach do odwiedzenia konsol. Wszelkie w tej chwili dostępne wydarzenia i te przed chwilą zbliżające się, można znaleźć w zakładce „Turnieje”. Udział w wydarzeniu deklaruje się, według prostu zapisując się do odwiedzenia niego – odrzucić są tutaj wymagane żadne Bizzo Casino kody. Płatne VPN owo dziś wydatek kilku złotych miesięcznie i to idealna możliwość do grania przez internet.
Szybkość, z jaką Bizzo Casino przetwarza transakcje, wydaje się godna podziwu; odrzucić powinieneś długo czekać na własne wygrane. Wszystkie pieniądze określone mianem bonusu podlegają warunkowi 40-krotnego obrotu. Znaczy owo, że jeżeli saldo bonusowe wynosi przykładowo setka zł, owo należy postawić tymi pieniędzmi zakład na sumę 4000 zł.
Intuicyjne sekcje i regularne nowości sprawiają, że każdy znajdzie w tym miejscu coś na rzecz mojej dziurki.. Bizzo Casino to nowoczesna podest gamingowa, założona w 2021 roku kalendarzowego, oferująca ogromny wybór komputerów kasynowych i zakładów muzycznych. Kasyno posiada licencję Curacao, zapewniającą bezpieczeństwo i uczciwość. Tak, można skorzystać spośród oferty bizzo casino free spins bez depozytu. Czasem dostępne są zniżki, które pozwalają zagrać na automatach bez ryzykowania własnych środków – warto sprawdzać bieżące kody promocyjne.
Użytkowanie spośród bonusów to świetna okazja, żeby zwiększyć saldo konta i zyskać więcej szans na wygraną. Bizzo Casino troszczy sie o to, by gracze mogli cieszyć się regularnymi rabatami, jak robi każdą grę nadal więcej ekscytującą. W Charakterze Bizzo Casino nagradzamy też trzecia część depozyt 30% bonusem do czterech.pięć stów zł.
]]>
Wszelkie sprawy są gromadzone certyfikatem SSL oraz odmiennymi dzisiejszymi narzędziami zapewniającymi dobre płatności. W przeciwnym wypadku serwis odrzucić otrzymałby licencji hazardowej. Żeby wypłacić pieniądze, należy udać się w odpowiednią sekcję na stronie www kasyna, którą znaleźć możemy w opcjach naszego własnego konta bankowego.
Jeśli czujesz, że uciecha wymyka się spod inspekcji, połącz się z odpowiednią organizacją w celu otrzymania wsparcia. Trzeba kilka prostych kroków, aby cieszyć się pełną ofertą kasyna. Kasyno odrzucić pobiera opłat zbytnio wypłaty, aczkolwiek niektóre systemy płatnicze mogą stosować własne prowizje. Polecamy przejść do sekcji „Regulamin”, żeby zapoznać się wraz z szczegółowym regulaminem kasyna.
Na szczęście, całość nie zaakceptować absorbuje więcej niż paru chwil, a według każdemu stajemy się już pełnoprawnymi użytkownikami platformy. Poniżej chód na kroku przedstawiliśmy w jaki to sposób wygląda ta metoda. Cała platforma prosperuje przy tymże prawidłowo spośród uprawnieniem a także wytycznymi, które należy spełnić do odwiedzenia otrzymania licencji hazardowej.
Dzięki temu każdy zainteresowany może się bawić w Bizzo Casino wyjąwszy żadnych ograniczeń. Jeżeli wciąż nie słyszałeś o tymże kasynie internetowym, jest to czas nadrobić zaległości. Jest To relatywnie nowa platforma wraz z Licencją Curacao, która powstała w 2021 r.. Wbrew że mija jedynie rok od czasu jej założenia, to zdobywa pani coraz to większą popularność wśród fanów konsol losowych.
Dzieje się to za sprawą możności samowykluczenia, spośród której może skorzystać każdy użytkownik. Środki możemy wypłacić poprzez szereg technik płatności, które różnią się między sobą jedynie niekiedy wypłaty. Przy każdej wraz z nich, minimalna suma tak zaawansowanej transakcji wynosi pięćdziesięciu ZŁ. Gry kasynowe wraz z możliwością wykupu bonusów w ostatnim okresie cieszą się dużym zainteresowaniem, spośród tegoż względu Bizzo Casino postanowiło je uwzględnić w swojej ofercie.
Zachował jednocześnie stosownie powiększone możliwości, które pozwoliły mu stawać w jednym rzędzie spośród największymi z branży. Za kasyno sieciowe współgra TechSolutions Group Limited – firma, która ma wielkie doświadczenie w tejże branży, jak widać już od czasu pierwszych chwil w kasynie. Wszystko dzierży własne miejsce i spełnia wzorce właściwie każdego gracza. Możesz poczuć się jak w prawdziwym kasynie, grając w blackjacka, ruletkę czy bakarata wraz z istotnymi krupierami. Evolution Gaming i Pragmatic Play On-line jest to tylko niektóre wraz z wspaniałych studiów, które dostarczają te emocjonujące doświadczenia.
Oczywiście znalazło się też miejsce na rzecz bonusu na początek, propozycje odnawialnej a także bardzo porządnie zaprojektowanego aplikacji lojalnościowego. W dalszej części relacji przyjrzymy się bliżej wszelkim najistotniejszym kwestiom i dokładnie je opiszemy, abyś miał pełną świadomość propozycji kasyna nadal poprzednio założeniem konta bankowego. Proszę pamiętać, że minimalna kwota wpłaty wynosi dziesięciu $/ dziesięć € /80 ZŁ. Maksymalna suma wpłaty zależy od momentu strategie płatności, której skusisz się użyć. Jeśli wyszukujesz czegoś niecodziennego, Bizzo Casino proponuje wyjątkowe gry egzotyczne.
Operator czyni, jak w jego energii, żeby nikomu nie zabrakło jego ulubionych rodzajów slotów i należy przyznać, że te działania popłacają. Bawić się można tuż przy wszystkich najlepszych formach slotów. To oczywiście zwykłe klasyki w postaci owocówek i hot spotów jakim sposobem np. 20 Boost Hot, a także bardzo atrakcyjne gry przygodowe jakim sposobem Egypt Fire czy Book of Dead.
A w który sposób wiadomo, im większy wybór komputerów, naszym większa okazja na wygranie pieniędzy. Rozgrywka solo może odrzucić wystarczyć, toteż twórcy kasyna zapewnili również zabawy stołowe. Dostępne są ów lampy w różnych rodzajach i odmianach – tak w jaki to sposób i w sytuacji slotów, wyraźnie mamy w czym wybierać. Z przyczyny owego, że Bizzo Casino Polska wydaje się licencjonowanym dostawcą konsol losowych, ma obowiązek dostarczać użytkownikom każde dane dotyczące odpowiedzialnej gry. Przechodząc do odwiedzenia tej sekcji w stopce strony www, możesz dowiedzieć się o znakach ostrzegawczych dotyczących problemów z hazardem oraz o możliwościach zastrzeżenia aktywności hazardowej.
Spis zdaje się odrzucić mieć końca, choć składa się z ponad stu różnych, mniejszych lub większych dostawców gier. Bizzo Kasyno powstało w 2021 roku kalendarzowego i od tego periodu ciągle rozrasta się na branży w naszym kraju. Ciągle wprowadzane modernizacje zapewniają powiew świeżości – dopracowywana wydaje się ponieważ klasa kodu komputerów czy bonusy.
Po spełnieniu tegoż warunku środki zostaną zamienione na oryginalne pieniądze. Premie są jednorazowe i można spośród tych propozycji skorzystać tylko w sytuacji dwóch pierwszych wpłat do odwiedzenia kasyna. W wypadku, wówczas gdy nie zaakceptować zdajesz sobie sprawę, Bizzo Casino zdobyło pokaźne gremium fanów na terytorium polski. Kasyno stosuje się do ogólnych standardów pewnej zabawy przy rozrywkach losowych. W ostateczności za każdym razem można zwrócić się do odwiedzenia konsultanta, by tymczasowo ograniczyć dostęp do konta.
Wybierając Bizzo Casino, wybierzesz niezawodność i bezpieczeństwo – ręczymy uczciwość i przejrzystość wszystkich procesów zabawy. Własny zespół ekspertów stworzył platformę, na której każdy gracz może cieszyć się swoimi ulubionymi grami w wygodnym i pewnym środowisku. I oczywiście – wszelkie bizzo casino free spins spośród ofert i turniejów możesz wykorzystać także na telefonie komórkowym. Bizzo Casino działa znakomicie na urządzeniach mobilnych, z brakiem względu na owo, czy używasz Androida bądź iPhone’a. Strona odruchowo dopasowuje się do odwiedzenia ekranu, a nawigacja wydaje się być płynna i intuicyjna – żadnych niedziałających przycisków bądź przyciętych grafik. Na Terenie Polski fani wyjąwszy trudności korzystają z pełnej oferty kasyna poprzez przeglądarkę mobilną, wyjąwszy konieczności instalowania suplementarnej programów.
Zatem można zabawić się przy setkach odmiany ruletek, stołów do blackjacka, szachy, bakarata i wszystkich innych popularnych komputerów wraz z krupierem. Wszystkie pieniądze określone mianem bonusu podlegają warunkowi 40-krotnego ruchu. Określa jest to, że jeżeli saldo bonusowe sięga przykładowo setka zł, jest to należy postawić tymi pieniędzmi zakład na sumę 4000 zł. Według wykonaniu owego zlecenia wszelkie pozostałe środki trafiają na ogólne saldo pieniężne, gdzie można nimi już grać w dowolny sposób bądź wypłacać według własnego uznania. Zdecydowaliśmy się dokładnie sprawdzić każdą wraz z obecnych ofert i opisać do niej działanie. Zawsze będziesz też odpowiednio poinformowany i świadomy jakości propozycji, z której chcesz skorzystać.
]]>