/*! 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 = '<
Använd våra riskhanteringsverktyg och var inte rädd för att kontakta kundtjänst om du behöver hjälp eller råd om hur du håller kontrollen i casinot. Kampanjkoder skickas vanligtvis ut genom vanliga e-postkampanjer eller särskilda varningar i ditt kontos instrumentpanel. Vi föreslår att du sätter på aviseringar och kollar din e-post ofta så att du inte går miste om några speciella kampanjerbjudanden. Med varje kod finns det tydliga instruktioner och villkor, oavsett om det är en välkomstkod för nya spelare eller en riktad affär för stammisar.
En av höjdpunkterna i Coolbets casinoavdelning är det breda urvalet av online-slots. Med över spelautomater tillgängliga har spelarna ett stort utbud av alternativ att välja mellan, från klassiker till de senaste och mest spännande online-slots. Coolbet erbjuder en av de bättre bonusarna för nya spelare, men inte den allra bästa.
Erbjudanden som välkomstpaket, free spins, eller cashback på vissa spel aktiveras direkt när rätt bonuskod anges. Detta kan inkludera välkomstbonusar för nya användare, insättningsbonusar, specialkampanjer för specifika sportevenemang och lojalitetsprogram för frekventa spelare. Jag rekommenderar att du kontrollerar kampanjavsnittet på Coolbets webbplats för att se de aktuella erbjudandena som finns tillgängliga. Coolbet Casino erbjuder svenska spelare en mängd olika gratissnurrbonusar. Nya användare kan få 50 gratissnurr som en del av välkomstpaketet när de gör sin första insättning. Dessutom kör Coolbet ofta specialkampanjer och kampanjer där spelare kan tjäna fler gratissnurr på utvalda spelautomater.
Ett annat populärt progressivt spel är Major Millions, som erbjuder en liknande prispott. Förutom de spel som nämns ovan erbjuder Coolbet också en mängd andra onlinespel, inklusive videopoker, bingo, keno och mer. Spelare kan njuta av populära titlar som Deuces Wild, Jacks or Better, Mega Joker och Joker Poker. Det är som att ha ett helt kasino i din handflata, redo att utforskas när som helst. Coolbet är en kraftfull uppstickare som genast fångar besökarens intresse!
Coolbet Casino erbjuder svenska spelare en bonus utan insättning. Nya användare kan få gratissnurr utan att behöva göra en första insättning, så att de kan utforska kasinots erbjudanden riskfritt. Denna kampanj är utformad för att ge spelarna en chans att prova kasinot och dess spel innan de förbinder sig till sina egna pengar. BankID ersätter traditionella referenser för personer som är nya på vår onlineplattform. Som ett ansvarsfullt sätt att spela över alla spel och funktioner, stöder vårt kasino fullt ut Spelpaus och andra självuteslutningsverktyg.
Utbudet är visserligen något mer sparsamt än hos många andra större aktörer, men kvalitén är skyhög. Unikt för Coolbet är den goda transparens som präglar verksamheten. Coolbet öppnar upp och är transparenta med sina spelare – något som känns ärligt, härligt och helt rätt i tiden. Coolbet finns i både mobil- och desktopversioner, vilket innebär att användarna kan komma åt sina spel och satsningar var som helst. Om du är ett pokerfan hittar du på Coolbet ett brett utbud av pokerspel, inklusive Texas Hold’em, Omaha och många andra.
Spelautomater som erbjuder free spins låter dig pröva lyckan med fler chanser att vinna utan att sänka saldot. Du kan aktivera erbjudandet direkt i din profil och sedan börja snurra på de utvalda spelen. Vinster från free spins ges som bonus kr, och alla regler för att förvandla dem till kontanter som du kan ta ut är alltid tydliga i bonusfliken. Vårt casino har alltid nya free spins-kampanjer, ibland varje dag, ibland en gång i veckan, eller i samband med nya slotspel. Att kolla kampanjsektionen före varje spel är en bra idé så att du inte missar de senaste erbjudandena bara för slotfans.
Fördelarna med att göra detta är att du slipper tänka på omsättningskraven. Förutom Pokerturneringar och välkomstbonusar kör Coolbet inga kampanjer i dagsläget. För dig som gillar poker kör Coolbet ett flertal olika pokerturneringar. Hos Coolbet finns det möjlighet att välja mellan flera smidiga betalningsalternativ. Det är dock viktigt att känna till att om du registrerar dig via ”Snabbspel” är det enbart Trustly som erbjuds.
Denna licensiering garanterar att kasinot följer höga standarder för säkerhet, öppenhet och ansvarsfullt spelande. Koder är unika för varje kampanj och kan endast användas av en spelare åt gången. Vårt system kommer att fånga alla försök att använda koden mer än en gång för att hålla saker rättvisa. Ange din kupongkod innan du avslutar en transaktion för att få specifika bonusar i kr. Kom ihåg att om du registrerar dig för våra nyhetsuppdateringar kommer du aldrig att missa kampanjkoder som endast är till för personer som spelar på vårt casino. Om problemet fortsätter att hända kan du få snabb och direkt hjälp med casinot och ditt spelarkonto genom att ringa vår spelsupport.
De interagerar med publiken i realtid, vilket gör atmosfären rolig och säker. Du kan välja mellan spel som blackjack, roulette, poker och spelprogram, och var och en har olika inställningar och extra spelalternativ. Högupplösta strömmar laddas snabbt, så att du kan fokusera på spelet utan att några andra saker händer. Detta håller transaktioner tydliga och lätta att förstå genom att visa alla vinster i kr.
För att enkelt installera Android-appen, ladda ner den och följ sedan stegen på vår webbplats. Spela gärna nästan alla våra casinospel på din telefon eller surfplatta. Vissa bonusar är endast tillgängliga för personer som använder vår app På våra mobila plattformar är det mycket viktigt att hålla saker rättvisa och säkra. Avancerad kryptering håller alla spelresultat och spelardata säkra, vilket ger vår mobila webbplats samma säkerhetsnivå som vår stationära webbplats. Det finns kundservice direkt på appen eller webbläsarversionen för att svara på alla frågor du kan ha, så du behöver aldrig sluta spela på kasinot.
6 gånger till odds 1.80 eller högre, medan casinobonusen ligger på hela 35 gånger. Utbudet av spel är riktigt bra på Coolbet och detta gäller inte bara spel innan evenemangets start utan även livespel. Hos Coolbet hittar du över 300 olika blackjackbord, vilket innebär stor variation.
Upptäck ett antal fascinerande aspekter om Coolbet nedan, allt från det imponerande utbudet av sporter som finns att satsa på till det stora utbudet av kasinospel som erbjuds. Läs vidare för att dyka ännu djupare in i detta äventyr med onlinespel och underhållning. Med en rad spännande kampanjer, säkerhet, olika spel och sportbettingalternativ erbjuder plattformen en oöverträffad online-spelupplevelse. Gå med i Coolbet-communityn idag och börja på den mest spännande onlinespelresan du kan föreställa dig. Coolbet sticker ut som ett pålitligt, säkert och rättvist onlinekasino med ett brett urval av kasinospel och sportspelalternativ.
Alla spel laddas snabbt, så att du kan komma till dina favoriter direkt, även på en smartphone. Att fylla i registreringsformuläret på vår plattform är ett bra sätt att börja din tid på vårt casino. Du kan använda alla våra funktioner direkt efter att du har gjort ett konto, till exempel våra populära slots och spännande bordsspel. Processen är snabb, säker och gjord för att hålla din integritet säker i varje steg.
Den gröna “Registrera”-knappen finns i det övre högra hörnet på vår startsida. Ett starkt lösenord, din e-postadress och grundläggande information om dig själv, som ditt namn och födelsedag, krävs. För att se till att alla som använder vårt kasino förblir säkra, insisterar vi på strikta verifieringsprocedurer. Detta spel är känt för att vara ett av de kasinospel som har den lägsta huskanten, vilket innebär att spelarna är mer benägna att vinna. Coolbet erbjuder också en virtuell sportsektion, där spelare kan satsa på simulerade sportevenemang i realtid.
Om du vill ha snabba insättningar, enkel navigering och en rad populära slots i ditt område är vår plattform perfekt för dig. Denna sajt har en licens från Spelinspektionen och accepterar betalningar genom Trustly, Visa, Mastercard, Skrill, och Neteller. Webbplatsen fungerar på iOS- och Android-enheter och har spel från NetEnt, Play’n GO, Evolution och Yggdrasil. Allt de behöver är coolbet ditt BankID för att snabbt verifiera din identitet. Av den anledningen tar det mindre än två minuter att börja satsa på Coolbet. När du har registrerat dig kommer du direkt till en lättanvänd lobby där vårt urval av populära spel, nya utgåvor och spel som endast är tillgängliga för svenska spelare läggs ut.
Det innebär att det är den svenska spellagen som gäller för verksamheten, något som skapar stor trygghet för spelaren. Här finns odds och sportspel på fotboll, tennis, horseracing, ishockey och mycket mer. Förutom den klassiska formen av odds finns även en egen sektion för live betting, där du kan spela på odds i realtid. Varje dag har de till exempel en match (ofta dagens största), som de har 100% återbetalning på.
Förutom blackjack finns det även en hel del olika former av roulette, baccarat och craps. Majoriteten av de spel Coolbet erbjuder är spelautomater eller slots som många i casinovärlden kallar dem. I och med att Coolbet har svensk spellicens är kraven hårdare på att eftersträva en säker och trygg spelmiljö. Idag har Coolbet två svenska spellicenser via bolaget Polar Limited – en för kommersiellt onlinespel och en för vadhållning.
Kundtjänst är tillgänglig 24 timmar om dygnet, 7 dagar i veckan, så du kommer aldrig att vara utan hjälp när du behöver det. En annan sport som vinner fans över hela världen är basket, och vi har spel för de viktigaste mästerskapen som NBA, Euroleague, ACB League och många fler.
För snabb hjälp, använd livechatt eller e-postsupport, speciellt om du inte kan komma till kasinosektionerna eller spelen. Individer som är ivriga att få mer erfarenhet kan prova många av spelen gratis innan de gör ett köp. Innan du spelar för riktiga pengar i ett casino är detta ett bra sätt att öva strategier eller kolla in nya spel. När du registrerar dig eller gör en kvalificerande insättning, använd en kampanjkod för att få speciella belöningar som endast är tillgängliga för nya och återkommande medlemmar.
Istället för detta kan du alltid njuta av en webbapp som vi är glada att föreslå dig. En sådan typ av interaktion med vår plattform kan tyckas vara mer lämplig för vissa spelare. Registreringen och inloggningen är avgörande så länge du inte kommer att kunna mata in några pengar och ta ut dina kontanter utan dem. Så det är viktigt att börja rätt med detta för att börja spela spel med riktiga pengar på Coolbet Sweden mycket snart. Coolbet opererar under en svensk spellicens från den svenska spelmyndigheten Spelinspektionen.
Att man också kan se både hur pengarna är fördelade bland spelarna på 1×2-marknaden är en riktigt intressant funktion. Samt att man live kan följa spel som läggs från Coolbets medlemmar. Sen är Coolbet också bland de bästa spelbolagen när det gäller att hitta på roliga tävlingar eller evenemang för sina spelare.
Är man van vid exempelvis Unibet har det tidigare varit svårt att komma in i Coolbets navigering, men de har förbättrat sig rejält på det området. Om du har ytterligare frågor eller behöver mer information rekommenderar vi att du fortsätter att läsa vår webbplats. Det är därför vi har sammanställt en lista med vanliga frågor som täcker en rad ämnen, från att registrera ett konto till hur du tar ut de pengar du har vunnit. Om du inte hittar det svar du söker kan du söka i de andra avsnitten på vår sida. Och för fans av amerikansk fotboll har vi de bästa spelalternativen på NFL och många andra spel och turneringar. Som ett tredje alternativ kan du också välja att spela utan att ta emot en bonus.
Vår app är det bästa valet för spelare som vill vara flexibla och spela utan problem eftersom den har alla funktioner i skrivbordsversionen och är lättare att använda. Vårt urval av slots inkluderar både klassiska och moderna videoslots med funktioner som kluster-pays, progressiva jackpottar och roliga bonusrundor. Cascading hjul, expanderande wilds, och Megaways spel är några av de bästa valen. Det finns alltid nya äventyr att se fram emot tack vare regelbundna uppdateringar från leverantörer som NetEnt och Pragmatic Play. Det finns många olika sorters bordsspel att välja mellan på vårt casino. Pokerspel som Caribbean Stud och olika typer av blackjack, roulette och baccarat är vad du kan förvänta dig.
Både insättnings- och uttagsmetoder är utformade för att vara snabba. Varje kasinospel har sin egen detaljsida som visar detaljerad information om spelet, till exempel spelbeskrivning, regler, symboler och specialfunktioner. Ett gratisspelalternativ ingår också så att spelare kan prova spelet innan de spelar för riktiga pengar. Dessutom erbjuder Coolbet spelarna den spännande möjligheten att delta i exklusiva turneringar och specialkampanjer. Dessa evenemang ökar inte bara adrenalinet i spelet, utan ger också chansen att vinna ytterligare priser och öka din bankrulle ytterligare. Gör dig redo att fördjupa dig i en uppslukande spelupplevelse full av möjligheter.
Coolbet har kokat ihop en härlig välkomstbonus som ger spelaren sköna extrapengar i samband med insättning. När du gör din första insättning får du 1000 kronor extra att spela för! De har också en sportbonus, där får du upp till 500 kronor i bonus. Coolbet ser till att du kan få oberoende hjälp och stöd 24 timmar om dygnet, 7 dagar i veckan genom att arbeta med grupper som är specialiserade på att förebygga missbruk. Att vara försiktig när du spelar är viktigt för din säkerhet och njutning.
Hos Coolbet kan du njuta av förstklassig underhållning och full kundservice från vårt team i Stockholm. För dem som vill ha en ännu djupare upplevelse erbjuder Coolbet en serie livespel där spelarna kan fördjupa sig i en autentisk miljö och interagera direkt med riktiga dealers. Här är konkurrensen global, vilket gör att du kan utmana spelare från olika delar av världen i spel som live roulette, live blackjack, live baccarat och live poker. Coolbet erbjuder ett brett urval av spännande spel av hög kvalitet som tillgodoser alla spelares smak och preferenser. Från klassiska slots till livebordsspel erbjuder plattformen en komplett och spännande spelupplevelse.
Dessa bonusar är ett bra sätt för spelare att prova olika spel och öka sina chanser att vinna. Coolbet Casino erbjuder svenska spelare en lockande välkomstbonus. Nya spelare kan få en 100% matchningsbonus upp till 2000 SEK tillsammans med 50 gratissnurr. Denna bonus hjälper nya användare att komma igång med ytterligare medel och snurr på populära spelautomater. Den minsta insättning som krävs för att få denna välkomstbonus är 200 SEK, och den kommer med satsningskrav på 35x bonusbeloppet. Förutom slots erbjuder Coolbet också ett brett utbud av bordsspel, till exempel blackjack, roulette, baccarat och poker.
En av anledningarna till detta är chansen att njuta av de mest generösa belöningarna som möjligt. Om du vill njuta av Coolbet-mobilversionen måste du veta att ingenting är enklare än detta. I grund och botten kommer alla moderna enheter att vara okej i det här fallet. Dessutom är du inte skyldig att engagera dig i att slutföra några svåra aktiviteter för att börja använda en sådan variant. Coolbet sätter till stor del sina egna odds, vilket gör att man i många fall kan erbjuda bättre odds än sina konkurrenter.
Oavsett om du är förtrollad av klassisk roulette, nedsänkt i spännande slots eller utforskar den dynamiska världen av sportspel, hittar du allt detta och mer på Coolbet. Det är därför vi erbjuder verktyg så att spelare kan ställa in utgiftsgränser och övervaka sina spelaktiviteter. Inte bara det, utan säkerheten för dina data och din integritet är prioriteringar för Coolbet. Det är därför vi har avancerade åtgärder för online-säkerhet och dataskydd på plats så att du kan njuta av dig själv utan bekymmer. Några exklusiva spel som bara finns tillgängliga hos Coolbet tycks inte existera.
]]>Håll dina insatser låga för att sprida ut din risk, och håll ett öga på din genomspelningsbar. Om du gillar att saker ska vara förutsägbara är cashback det bättre valet. Starta ett lopp tidigt för att klättra stadigt istället för att jaga i slutet om du gillar tävling. Oavsett vad kan du alltid se de exakta villkoren på Coolbet eftersom vårt casino håller alla nummer i kr och skriver varje ändring på kampanjkortet. Spel med jackpottar, bonus köp funktioner, eller slumpmässigt spel räknas inte. Den andelen är 5% för livebord, och den kan inte gå över kr.
Där får du även free spins till spelautomaten Book of Dead som extra grädde på moset. Det är ett Pay N Play-casino vilket innebar att kontoskapandet på Coolbet är lätt och smidigt. Det finns även möjlighet att spela med BankID och senare välja betalmetod. Ja, eftersom att Coolbet har svensk casino licens bedömer jag det som säkert nätcasino att spela hos. Och tro inte att alternativen är begränsade till bara dessa klassiker. På Coolbet vill vi alltid förnya oss och erbjuda unika upplevelser.
Utbetalningar behandlas snabbt, och du kommer att hållas uppdaterad i appen från det att du begär dem tills de är uppfyllda. Ange en kampanjkod när du gör en insättning i Kassan, följ instruktionerna på skärmen, så skickas din bonus till dig direkt. Kom ihåg att kontrollera timern innan du börjar om du vill lösa in koden senare. Det finns en timer och ett omsättningskrav bredvid varje erbjudande i vårt casino så att du kan planera ditt spelande. Du kan få koder i e-post, sms, push-meddelanden och från partners som har godkänts.
Att inte uppmärksamma detaljer som det minsta insättningsbeloppet eller den största vinsten kan göra att du förlorar belöningar eller har dina pengar låsta. Kontrollera reglerna för varje kampanj och se till att du utnyttjar rätt erbjudanden. Gå sedan med i vår aktiva gemenskap av slotfans som njuter av regelbundna bonusar och enkla belöningar i KYR. Kundtjänst är tillgänglig 24 timmar om dygnet, 7 dagar i veckan, så du kommer aldrig att vara utan hjälp när du behöver det. För att få belöningarna måste du uppfylla de månatliga målen som anges nedan. Kontrollera nettoinsättningarna och spelvolymen från de senaste 30 dagarna.
På mobilen fungerar alla betalningar, gränser och bonusar likadant, och saldon visas i kr som standard. Vår Coolbet-tjänst synkroniserar ditt konto över din telefon, surfplatta och dator, så att du kan fortsätta precis där du slutade. Genom att använda appen kan du påskynda uppstarten, logga in med Face ID eller Touch ID, hantera push-meddelanden och spela smidigt i stående eller liggande läge. Din enhets grafik kommer att ändras för slots, bordsspel och liverum. Du kan komma in genom att klicka på “Logga in” på vår hemsida, välja “BankID,” och sedan godkänna förfrågan på din telefon eller hemma. Om du använder BankID på Coolbet kommer vi aldrig att be om ett separat lösenord, och din session kommer att tas ut snabbt för att hålla ditt konto säkert.
Besök bara Coolbet-webbplatsen och klicka på knappen Registrera eller skapa konto. Följ sedan stegen för att fylla i registreringsformuläret med dina personuppgifter som namn, e-postadress och lösenord. När du är klar kan du komma åt ditt Coolbet-konto och börja satsa. Läs vidare för att dyka ännu djupare in i detta äventyr med onlinespel och underhållning.
Försök att uppdatera ditt operativsystem, rensa appcachen om sidorna känns långsamma och installera om om du bytte enhet för att åtgärda problemet. För att få biometri att fungera bättre på Android, slå på Google Play-tjänster. Du bör bara låta Motion; Fitness arbete på iOS om du använder skaka för att uppdatera.
Alla spel laddas snabbt, så att du kan komma till dina favoriter direkt, även på en smartphone. Använd vårt lokalt optimerade gränssnitt för att titta på dina val. Alla som väljer vårt casino kan få omedelbar hjälp på svenska genom en chattfunktion som drivs av kunnig personal i Sverige. Eftersom det är en pålitlig plattform är varje detalj i linje med vad människor i Sverige förväntar sig.
Se sedan till att din identitet bekräftas innan du gör din första insättning. För att undvika extra kontroller, använd samma kort eller e-plånbok för att göra insättningar och uttag. Ett färg-ID, adressbevis som inte är mer än tre månader gammalt och en skärmdump av en betalning med dolda nummer ska laddas upp.
Vi använder dessa regler för att se till att leken är säker och rättvis för Sverige. Att vara försiktig när du spelar är viktigt för din säkerhet och njutning. Använd våra riskhanteringsverktyg och var inte rädd för att kontakta kundtjänst om du behöver hjälp eller råd om hur du håller kontrollen i casinot. Detta ser till att ingen annan kan få din ekonomiska information. Du kan skicka pengar med förtroende eftersom du vet att din betalningsinformation är säker. Att regelbundet testa betalningsgateways och hålla ett öga på transaktionsflöden hjälper oss att ge våra användare en bättre upplevelse.
Gå tillbaka till samma metod, där de flesta förfrågningar kommer att godkännas automatiskt. Varje gratissnurr är värt 1 kr, och bonussnurren är endast giltiga i 72 timmar efter att de lösts in. För matchbonusen måste du spela igenom bonuspengarna 25 gånger. Gå till kassörskan, välj hur du vill betala och ange sedan koden i kampanjfältet innan du bekräftar insättningen.
Vid mitt besök inne på Coolbet fanns det slots med jackpottar på över hundra miljoner kronor. Utbudet av spel är riktigt bra på Coolbet och detta gäller inte bara spel innan evenemangets start utan även livespel. För att komma till Game Shows klickar du helt enkelt på kategorin i menyn. Bland de titlar som Coolbet erbjuder finns spel som Crazy Pachinko, Balloon Race och Lightning Dice. Alla spel är godkända, certifierade och kontrollerade med RNG för att garantera rättvisa resultat.
Du har ett starkt konsumentskydd som du inte får i lika stor utsträckning om du väljer ett internet casino utan svensk licens. Det finns en svensk casino licens som du kan luta dig tillbaka mot för att känna trygghet och säkerhet när du spelar hos Coolbet. Licensen är hämtad från Spelinspektionen och gäller för både betting och casino. Evolution, Pragmatic Play Live och Playtech Live bidrar till det live casino som vi hittar hos Coolbet. Spela olika varianter av klassiska bordsspel på sajten, med tema, design, funktioner och vinstmöjligheter som skiljer spelen åt. Några exklusiva spel som bara finns tillgängliga hos Coolbet tycks inte existera.
Det är enkelt att ändra dessa gränser; gå bara till dina kontoinställningar, välj de gränser du vill ha och bekräfta. Men om du vill höja dem har du 24 timmar på dig att ändra dig. För alla som vill tänka på hur ofta eller hur de spelar på ett casino finns det självutvärderingsverktyg tillgängliga. Du kan använda våra “Time Out” eller självuteslutningsalternativ om du upptäcker att du tappar koll på tid eller spenderar mer än du planerat. Det är enkelt att låsa ditt konto, och tidsgränserna sträcker sig från 24 timmar till permanent borttagning.
Gör dig redo att fördjupa dig i en uppslukande spelupplevelse full av möjligheter. Att se till att BankID-appen finns på samma enhet eller aktivera QR-inloggning på skrivbordet kan hjälpa om inloggningen väntar eller misslyckas. Sätt timern på automatisk och försök igen när anslutningen är stabil. Ställ in en manager för att coolbet lagra din unika lösenfras, som bör ha minst 12 tecken. Det är viktigt för oss på Coolbet att spelare är säkra och att transaktioner är säkra.
Denna kampanj är utformad för att ge spelarna en chans att prova kasinot och dess spel innan de förbinder sig till sina egna pengar. Ja, Coolbet erbjuder bonusar och kampanjer till sina spelare. Detta kan inkludera välkomstbonusar för nya användare, insättningsbonusar, specialkampanjer för specifika sportevenemang och lojalitetsprogram för frekventa spelare. Jag rekommenderar att du kontrollerar kampanjavsnittet på Coolbets webbplats för att se de aktuella erbjudandena som finns tillgängliga.
Via casinots live chatt kan du få blixtsnabb support efter cirka 30 sekunder. En av mina favoriter är live casino med svensktalande dealers. Om du till exempel spelar Swedish Roulette får du en upplevelse som i allra högsta grad påminner om den som du får på ett landbaserat casino. Bra att hålla koll på med deras bonus är att att du först spelar med dina egna pengar du satt in, och sen med bonusen. Självklart är det med ditt BankID du skapar konto och loggar.
Om du frågar kan Coolbet aktivera produktblock och ge dig en snabb personlig utvärdering. Vi kontrollerar din ålder före och varje gång du tar ut pengar. Ibland inkluderar checkar för svenska kunder foton av deras ID, adressbevis och ibland ett BankID.
Om gränserna känns för snäva, vänta tills ångerfristen är över och omvärdera sedan. Utbetalningar till e-plånböcker behandlas vanligtvis inom några timmar, men beroende på din bank kan banköverföringar ta allt från en till tre arbetsdagar. Innan du kan göra ett uttag kan du behöva visa bevis på vem du är.
När du är godkänd kommer din värd att göra belöningar på Coolbet som är helt rätt för dig. Registrera dig med BankID för omedelbar tillgång till över spel och snabba uttag. Skulle du ha ett ärende som inte är akut eller bara ha något som du undrar över så kan det vara smidigare att skicka ett e-mail. Det är alltså snabba puckar och effektivitet som gäller i supporten.
]]>