/*! 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 = '<
Je krijgt dan direct de iDIN button te zien waarbij je je bank moet selecteren, maar hieronder zie je ook de knop ‘Registreer handmatig’. Klik daarop om het formulier te openen en alle gevraagde gegevens zelf in te vullen. Met deze gegevens log je in het vervolg weer in bij Casino 777. Als je dit in hebt gevuld klik je op ‘Volgende’ om de rest van het formulier in te vullen. Bij Unibet kun je iDIN gebruiken voor je registratie, maar dit ben je niet verplicht. Hierna kun je een welkomstbonus kiezen of klik op ‘Overslaan’.
Bij buitenlandse casino’s zonder iDIN zijn de bonussen vaak aanzienlijk hoger en beschikbaar voor alle spelers vanaf 18 jaar. CRUKS werkt alleen bij casino’s met een Nederlandse vergunning. Casino’s zonder licentie hebben geen toegang tot dit systeem, waardoor je daar gewoon kunt inloggen en spelen, zelfs als je in CRUKS geregistreerd staat. In Nederland krijg je éénmalig een veilig, keurig afgemeten bedrag van maximaal €250. Het spelaanbod bij casino’s zonder vergunning is breder en minder beperkt door regels. Je krijgt toegang tot meer providers, meer varianten en vooral features die in het gereguleerde aanbod niet beschikbaar zijn.
Hoewel casino’s zonder iDIN meer vrijheid en anonimiteit bieden, moeten spelers zelf opletten bij het kiezen van een betrouwbare aanbieder. Door een goede licentie, eerlijke voorwaarden en veilige betaalmethoden te controleren, kun je voorkomen dat je bij een onbetrouwbaar casino terechtkomt. Het spelaanbod is breed, met meer dan 4.000 spellen, waaronder gokkasten, tafelspellen en een uitgebreid live casino.
Denk hierbij aan stortingslimieten en het uitsluiten van bepaalde bonussen en casino spellen. Alle Nederlandse casino’s moeten verplicht gebruik maken van deze verificatiemethode. Een goed casino zonder registratie of hybride casino’s laten je storten met Bitcoin, Ethereum of Tether als betrouwbare betaalmethoden, zonder tussenkomst van je bank. Kijk of het beste crypto casino vaste adressen heeft, geen extra fees rekent en snelle verwerkingstijden hanteert. Bij CoinCasino zagen we bijvoorbeeld dat crypto stortingen direct verwerkt worden, zonder koersverlies.
Daar staat tegenover dat je zelf goed moet controleren of een casino betrouwbaar is, omdat er geen bescherming vanuit de Nederlandse overheid is. Bij casino’s zonder iDIN zijn er geen verplichte verificaties via je bank, waardoor ze toegankelijker zijn. Maar dit betekent ook dat je zelf moet nagaan of een casino betrouwbaar is.
IDIN opereert echter onafhankelijk en blijft losstaan van dit initiatief. De zogenaamd veilige casino’s met Nederlandse licentie zijn 1 en al geldklopperij. Het gaat hen helemaal niet om de ” veiligheid ” ban de spelers, maar om het spekken van de staatskas. Ben je nieuwsgierig naar wat online casino’s zonder iDIN te bieden hebben?
Bovendien vind je er soms ook spelcategorieën die in Nederland niet zijn toegestaan. Denk aan crash games (zoals de bekende titel Aviator), virtuele sport en gokkasten waarbij je toegang tot de bonusronde kunt kopen voor een extra inzet. Hoewel buitenlandse vergunningen soms ook een mate van zekerheid bieden, ontbreekt de extra bescherming die je in Nederland wel hebt. Controleer de licentie, recensies van andere spelers en de betaalvoorwaarden voordat je geld stort. Welke keuze je ook maakt, verantwoord spelen blijft het allerbelangrijkste. Wil je veilig spelen met gereguleerde regels en Nederlandse ondersteuning?
Daarom komt de term casino zonder verificatie ook regelmatig voorbij. Online casino’s mogen alleen spelers toelaten wanneer hun identiteit duidelijk vaststaat. Zonder een sluitende identiteitscheck mogen online casino’s een registratie niet bevestigen.
Hierbij gaat het meestal om de favorieten zoals bitcoin casino’s, litecoin, cardano, ethereum en dogecoin. Dat is zowel om nieuwe klanten te binden als om oude klanten vast te houden. Bij casino´s zonder iDIN hebben ze vaak een extra groot aanbod aan online casino bonussen. Het klinkt misschien vanzelfsprekend, maar deel geen wachtwoorden met anderen. Als iemand toegang krijgt tot je persoonlijke online casino account kunnen ze ook bij je saldo.
Vervolgens word je doorverwezen naar de betreffende betaalomgeving. Na het bevestigen van de betaling word je automatisch teruggeleid naar het casino. Casino’s zonder iDIN staan erom bekend dat ze meer betaalmethoden aanbieden en staan vaak zelfs stortingen bij crypto casino’s toe voor meer gemak en privacy. In de tabel hieronder vind je de meest bekende betaalmethodes die beschikbaar zijn bij onze no-iDIN Nederland casino’s.
Daardoor kun je geld storten zonder dat je iDIN-verificatie hoeft te doorlopen. Voor de bonusjagers is er een mooie welkomstbonus, en een dagelijkse cashback tot 15% zonder inzetvereisten. Kortom, een goede optie voor Nederlandse spelers die zonder iDIN willen gokken. Verder profiteer je van een paar mooie bonussen (waaronder 25% cashback), met eerlijke voorwaarden die transparant beschreven worden. Verder worden uitbetalingen direct verwerkt en speel je simpel een van de 2500+ spellen.
De €12.000 plus 800 spins zijn handig verdeeld over de eerste drie stortingen, zodat je veel gelegenheid hebt om van de maximale waarde te profiteren. Ook zijn er een reload bonus, een 10% cashback en een getrapt loyaliteitsprogramma boordevol voordelen en beloningen. Betalen kan onder andere via crypto, MiFINITY, creditcard, bankoverschrijving, Skrill en Neteller (voor sommige e-wallets gelden afwijkende bonusvoorwaarden). De 24/7 chat hielp ons snel met vragen over verificatie en uitbetalingen, en via email protected kregen we dezelfde dag antwoord.
Tijdens het spelen worden punten opgebouwd binnen het loyaliteitsprogramma, die kunnen worden ingewisseld voor speeltegoed. Het casino organiseert daarnaast regelmatig toernooien en ondersteunt betalingen via iDEAL en creditcard. Nieuwe spelers ontvangen na een storting van €10 gedurende tien dagen dagelijks free spins, in totaal tussen de 50 en 500 free spins. Spelers kunnen dagelijks gebruikmaken van het bonusrad voor extra casinobonussen. Hieronder vind je per legaal online casino een korte toelichting met de belangrijkste aandachtspunten. Heb je problemen met het laten uitbetalen van je winst, dan kun je het beste contact opnemen met de klantenservice.
Geheel soms is het mogelijk om binnen enkele minuten te spelen bij een online casino zonder de iDIN-verificatie. Toch zul je er rekening mee moeten houden dat het uitbetalingsproces vaak een langere tijd in beslag neemt. Voor veel spelers voelt deze uitgebreide verificatie als een belemmering. Het kan namelijk als een inbreuk op privacy voelen en vrije toegang tot casino spellen beperken. Bij casino’s met iDIN heb je verder ook te maken met limieten en beperkingen op bonussen. Online casino’s met een licentie van de Kansspelautoriteit (Ksa) hanteren strikte regels.
Het spelaanbod bestaat uit meer dan 4.000 gokkasten, waaronder veel klassieke slots. BetMGM is van oorsprong een Amerikaans online casino en richt zich in Nederland vooral op live casino spellen en exclusieve titels met progressieve jackpots. Je kunt ook bij online casino’s zonder iDIN een welkomstbonus claimen. Dat betekent onder andere dat je alleen speelt in een online casino met een licentie van een betrouwbare gokautoriteit. Heeft het casino nog geen licentie dan kun je beter nog even wachten of een ander casino uitzoeken. Er zijn meer dan genoeg opties, het zou zonde zijn als je bij het verkeerde casino terechtkomt.
Dit resulteert in eerlijke, objectieve en feitelijk onderbouwde casino reviews. Betrouwbare casino’s zonder iDIN hebben een bewezen staat van dienst, duizenden actieve spelers en consistente uitbetalingen. Let ook op technische signalen zoals SSL-encryptie, onafhankelijke spel-audits en duidelijke voorwaarden. Ontbreken deze elementen, dan is voorzichtigheid geboden, ongeacht hoe aantrekkelijk de bonus ook lijkt. Nieuwe spelers ontvangen een 200% stortingsbonus tot €5.000 + 50 gratis spins. De voorwaarden zijn transparant en de bonus is 60 dagen geldig, wat voldoende tijd geeft om deze verantwoord vrij te spelen.
Door een kort onderzoek te doen en reviews en recensies van andere spelers te lezen, kom je een heleboel te weten. Vergelijk verschillende iDIN casino’s met elkaar en maak een gegronde keuze voor je begint met spelen. Inloggen of een account aanmaken met iDIN is snel en eenvoudig. Je hoeft geen aparte documenten te uploaden, wat het registratieproces verkort. Omdat casino’s zonder DigiD geen toezicht hebben van de Nederlandse Kansspelautoriteit, verschilt de kwaliteit van de verificatie per casino.
Je kunt geld storten op een AstroPay wallet met iDEAL en vervolgens het geld van de wallet gebruiken om te storten bij het casino zonder iDIN. Hierdoor kun je met een kleine omweg alsnog gebruikmaken van iDEAL. Je kunt controleren of een casino zonder iDIN veilig is, door te kijken naar de vergunning of licentie. Veel casino’s zonder iDIN beschikken namelijk over vergunningen van buitenlandse autoriteiten. Dit zijn organisaties die, net als de Ksa, waarborgen voor een veilige speelomgeving voor gokkers.
Als het gaat om de voordelen dan kan het gaan om betere odds, snellere casino uitbetalingen en zelfs een persoonlijke assistent. Een herlaadbonus, cashback bonus en gratis spins behoren allemaal tot de mogelijkheden. Een groot voordeel van een casino zonder iDIN is dat je vaak al met een lage inzet kunt beginnen.
Wij als CasinoVergelijker staan positief tegenover spelen bij een casino zonder registratie. Het is namelijk minder gedoe doordat de registratie en de account verificatie makkelijk en snel zijn. Een ander voordeel is dat dit ook altijd beste buitenlandse online casino casino’s zonder limieten zijn. Omdat deze casino’s zijn gevestigd in het buitenland hoef je namelijk geen verplichte limieten in te stellen. Er zijn veel betrouwbare buitenlandse casino’s met licenties van Malta (MGA), Gibraltar of het VK (UKGC). Deze worden streng gecontroleerd op uitbetalingen, eerlijke RTP-percentages en verantwoord gokken.
Casino’s zonder een koppeling met iDIN bieden vaak grotere lobby’s en hogere bonussen. Die promoties zijn beschikbaar voor spelers van 18 jaar en ouder. Instaspin is één van de nieuwste online casino’s zonder iDIN in deze lijst en maakt nu al een ijzersterke indruk. Omdat dit een casino is met een licentie in Anjouan kun je zonder iDIN te gebruiken een account aanmaken. De volgende 4 aanbieders beschouwen wij als de meest complete online casino’s zonder iDIN. Je kunt je eenvoudig aanmelden bij deze goksites en storten met crypto, e-wallets of je Nederlandse bank.
In deze gids leg ik je uit hoe je een account kan aanmaken bij een iDIN casino. Als je dit doet, is een goede en veilige spelervaring gegarandeerd. Kies je een aanbieder uit onze toplijst, dan ben je verzekerd van een goede en veilige spelervaring.
Een casino zonder iDIN kies je niet alleen omdat je sneller wilt registreren. Je wilt ook zekerheid over veiligheid, betalingen en voorwaarden. Zeker bij casinos zonder vergunning maar met een buitenlandse licentie is het slim om kritisch te vergelijken. Het spelaanbod blijft echter vrijwel gelijk tussen beide typen echt geld online casino’s. Er zijn geen beperkingen op het gebied van spelproviders of speltypes die in iDIN-casino’s niet beschikbaar zouden zijn.
Bij een online casino iDEAL zonder registratie lijken de bonussen onweerstaanbaar, maar check altijd of je ze écht kunt laten uitbetalen. Of je veilig kunt spelen bij een casino zonder iDIN hangt helemaal af van het platform waar je terechtkomt. Dan heb je minder garanties dan bij een Nederlands casino, dus extra opletten is belangrijk.
Dat heeft directe gevolgen voor toezicht, registratie en betaalmogelijkheden. Conflicten worden afgehandeld in het land waar het casino een licentie heeft. Die procedures zijn vaak trager en minder transparant dan hoe wij dat in Nederland gewend zijn.
De bank heeft alle persoonlijke informatie die nodig is voor het controleren van je identiteit. Als je iDIN gebruikt dan zal de bank die informatie delen met de andere partij. De bank krijgt niet te zien om welke partij het gaat en de andere partij krijgt geen toegang tot je betalingsgegevens. Met behulp van de beoordelingen van onze experts hebben we de absolute lijst met beste casino´s zonder iDIN samengesteld. We hebben die casino´s niet alleen beoordeeld op het registratieproces, maar op nog veel meer punten.
Nieuwe spelers ontvangen een welkomstbonus van 100% tot €1000 plus 100 gratis spins. De bonus bestaat uit drie stortingen, met een minimum van €20 per storting en duidelijke voorwaarden van 30x rondspelen. Betalen kan via crypto, bankoverschrijving, Visa, Mastercard, MiFINITY of Cashlib. Opnames starten vanaf €100 en gaan tot €4000 per dag, meestal binnen vijf werkdagen verwerkt. Om een betrouwbaar beeld te geven van online casino’s zonder registratie hanteren wij een vaste en transparante testmethode.
Zowel registreren als storten gaat soepel met verschillende crypto opties, e-wallets en instant bank overschrijvingen. Je moet zelf nagaan of een casino veilig en betrouwbaar is, de bonusvoorwaarden controleren en alert zijn op mogelijke risico’s. Ook al kun je vaak anoniem storten en spelen, bij een uitbetaling kan alsnog een identiteitscontrole worden gevraagd.
In sommige internationale casino’s kunnen er wel beperkingen zijn, afhankelijk van het land waar het casino gevestigd is of waar de speler zich bevindt. Op deze wijze kunnen casino’s de leeftijd van spelers controleren en in kaart brengen of je aan de voorwaarden van het casino voldoet. Het is dus niet nodig om je persoonlijke gegevens in te vullen bij een casino zonder registratie. Trustly stuurt je gegevens rechtstreeks naar het casino via je bank. Binnen een minuutje heb je geld gestort op je casino-account en ben je gelijk geregistreerd. De meeste casino’s zonder iDIN hebben een officiële gokvergunning.
Log je in op een smartphone of tablet dan kan je ook de applicatie van je bank gebruiken. Het is helemaal niet moeilijk om iDIN te gebruiken om jouw leeftijd (18+) en persoonsgegevens te laten verifiëren. JA – spelen bij offshore casino’s zonder iDIN is volledig legaal voor Nederlandse spelers. Ook het heel eenvoudig bevestigen van je identiteit en verifiëren van je leeftijd is een groot pluspunt.
Het verschil tussen beide typen casino’s zit ‘m dus vooral in de verantwoordelijkheid en veiligheid van de speler. Bij Nederlandse casino’s ligt de nadruk op verantwoord gokken en bescherming van spelers, terwijl casino’s zonder registratie vooral inzetten op snelheid. Je moet dus je persoonsgegevens invullen, je identiteit bevestigen en vervolgens wordt gecontroleerd of je niet in het Cruks register staat.
Hoewel casino’s zonder iDIN veel verschillende voordelen hebben, blijft het natuurlijk belangrijk om je verstand te blijven gebruiken tijdens het spelen. Kies altijd voor een casino met een betrouwbare licentie en goede recensies. Sommige werken zonder licentie en bieden geen garantie voor veiligheid of eerlijk spel.
Spelers waarderen het gemak en de zekerheid van deze platforms, en de technologie blijft evolueren om een nog betere ervaring te kunnen bieden. Een reload bonus laadt je bankroll opnieuw op en verlengt je speeltijd, ideaal voor trouwe spelers die regelmatig terugkomen. Een casino cashback bonus is een soort beloning voor loyale spelers en is bedoeld om een deel van de verloren bedragen terug te geven. De cashback wordt meestal berekend over een specifieke periode, zoals een week of een maand, en wordt vaak uitbetaald als bonusgeld met eigen inzetvereisten. Hoewel een cashback-bonus niet de verliezen volledig compenseert, biedt het spelers een tweede kans en vermindert het het risico van verlies op de lange termijn. Ja, zolang je met crypto speelt en binnen de opnamegrenzen blijft.
Betspino Casino is een populaire keuze onder Nederlandse spelers die geen zin hebben in langdurige verificatieprocessen. Omdat het casino geen iDIN gebruikt, kunnen spelers zonder een gekoppelde bankrekening registreren. De registratie is eenvoudig en vereist alleen een e-mailadres en wachtwoord, zonder directe identiteitscontrole.
Om problemen te voorkomen, is het belangrijk om te controleren of een casino een geldige licentie heeft. Die licenties zorgen ervoor dat de casino’s goed en strikt worden gecontroleerd op eerlijkheid, veiligheid en natuurlijk verantwoord spelen. Een mooi voorbeeld daarvan is de Malta Gaming Authority (MGA). IDEAL maakt nu deel uit van het European Payments Initiative (EPI), dat werkt aan een uniforme Europese betaaloplossing genaamd Wero.
In een 5 euro deposit casino zonder Cruks kan je zelfs € 5 storten. Als je gelijk wilt spelen met Pay n Play is het van belang om te checken of je via Trustly ook kan betalen met jouw bank. Dit kan namelijk verschillen per vestigingsplaats van het casino. Niet alle aanbieders vallen onder de Nederlandse kansspelautoriteit, maar opereren wel legaal onder een buitenlandse licentie. Daar vind je vaak duizenden slots en zelfs iets meer variatie in tafelspellen.
Dit betekent dat je persoonlijke gegevens niet met derde partijen worden gedeeld, wat belangrijk is voor je eigen privacy. Ook word je gokaccount zonder iDIN niet zomaar gekoppeld aan je bankgegevens. Ja, Nederlandse spelers mogen spelen bij casino’s zonder iDIN. Als je dit doet, moet je er wel voor zorgen dat het casino een betrouwbare licentie heeft.
Je wordt doorgestuurd naar de veilige omgeving van je bank en logt in zoals je dat normaal doet voor online betalingen. Na inloggen geeft je bank toestemming om specifieke informatie, zoals je naam, adres en geboortedatum, te delen met het casino. Deze alternatieven bieden spelers meer vrijheid en maken het makkelijker om te spelen zonder iDIN. Sommigen willen hun privacy beschermen, terwijl anderen geen toegang hebben tot iDIN. Hierdoor kiezen steeds meer mensen voor een casino zonder iDIN. Als je weet waar je op moet letten en kiest voor betrouwbare aanbieders, vind je een soepelere (en leukere!) speelervaring dan binnen het strikte Nederlandse stelsel.
Het traditionele, soms tijdrovende registratieproces wordt volledig geëlimineerd. Spelers hoeven geen aparte gebruikersnamen en wachtwoorden voor het casino te onthouden; toegang verloopt via de vertrouwde banklogin. Dit ‘one-stop-shop’ principe – storten en spelen in één vloeiende handeling – spreekt een breed publiek aan. Een Pay’n Play casino, zoals Instant Casino, biedt een veel snellere start. Hierbij wordt je identiteit geverifieerd via je eerste storting, waardoor je direct kunt spelen zonder een uitgebreid registratieformulier. Dit model combineert de snelheid van anoniem spelen met de noodzakelijke verificatie via de betaaldienst.
Dit maakt spelen in een buitenlands casino zonder Cruks of een casino zonder gokstop aantrekkelijk. Bij veel no ID casino sites kun je direct aan de slag, zonder gedoe. Het gebruiksvriendelijke systeem geeft je de vrijheid om zonder barrières te spelen. Binnen enkele minuten zit je midden in de actie, precies wat gokken zonder verificatie en registratie zo aantrekkelijk maakt.
Een casino zonder Nederlandse vergunning valt niet onder Nederlands toezicht en hoeft niet te voldoen aan de beschermingsregels uit de Wet Kansspelen op afstand. Kansino staat bekend om zeer snelle uitbetalingen, die vaak binnen één tot twee minuten worden verwerkt. Het spelaanbod bestaat uit meer dan 5.000 casinospellen en een live casino met ruim 130 live games. Unibet biedt een breed spelaanbod met online slots, een uitgebreid live casino en aanvullende spelcategorieën zoals poker en bingo. Binnen één account is het ook mogelijk om sportweddenschappen te plaatsen. Met meer dan 7.000 spellen behoort Circus Casino samen met 711 tot de legale online casino’s met het grootste spelaanbod in Nederland.
Bij een legaal online casino Nederland is iDIN verplicht om je identiteit te bevestigen via je bank. Het casino controleert hiermee direct je leeftijd, woonadres en Cruks-status, waardoor je pas kunt spelen na een succesvolle iDIN-verificatie. Dit systeem is standaard bij elk iDIN casino dat valt onder het toezicht van de Kansspelautoriteit (Ksa). Kom je de cashback bonus tegen, dan kun je beter ver weg blijven van het online casino. Dit betekent namelijk dat je bij illegale online casino’s in het buitenland aan het spelen bent, waar je geen bescherming hebt tegen fraude of witwaspraktijken. Online casino’s zonder registratie zijn illegaal in Nederland.
]]>Daarnaast zijn er steeds meer casino’s zonder iDIN die werken met een minimale storting van tien euro. Een 10 euro casino biedt net iets meer speelruimte, vooral als je gebruik wilt maken van bonussen of meerdere spellen wilt testen. Dit bedrag is laag genoeg om vrijblijvend te spelen, maar hoog genoeg om bonusvoorwaarden realistisch te kunnen vrijspelen.
Dit betekent dat je als speler zelf verantwoordelijk bent voor je speelgedrag. Casino’s zonder registratie bieden meestal een uitgebreid live casino met veel tafels, game shows en high-limit varianten. Inzetlimieten liggen vaak hoger dan in Nederland en VIP-tafels laten grote bedragen per ronde toe.
Bij een online casino zonder iDIN kun je niet rechtstreeks met iDEAL betalen, omdat er geen bankkoppeling is via iDIN. Toch kun je vaak via een omweg alsnog geld storten met iDEAL, bijvoorbeeld door eerst PaysafeCard tegoed of crypto te kopen op een externe site. Daarna gebruik je de PaysafeCard code of crypto wallet om je account op te waarderen bij het casino zonder iDIN verificatie. Instasino valt op met zijn heldere opzet, snelle registratie zonder iDIN en een indrukwekkend promotie-aanbod.
Bij steeds meer online casino’s is het echter verplicht om je aan te melden via iDIN, en deze trend zal zich waarschijnlijk voortzetten. De Nederlandse overheid is serieus bezig met het voorkomen van gokverslavingen, en de KSA gebruikt alle mogelijke maatregelen om de markt te reguleren. Klik je bank aan in het overzicht en log in met je bestaande gegevens. Alle persoonlijke gegevens die het online casino van je nodig heeft worden via iDIN automatisch ingevuld. Hierna kun je de gegevens controleren en als alles klopt krijg je toegang tot je nieuwe account. Het is dus een eenvoudige manier van registreren, maar er zijn uiteraard ook spelers die gewoon handmatig een account aan willen maken.
Voor een prettige speelervaring bij een online casino zonder iDIN is het belangrijk om de juiste goksite te kiezen. Onze belangrijkste tip is om je te beperken tot casino’s uit deze lijst. Zo weet je zeker dat je speelt bij een goksite die beschikt over een geldige vergunning. Toch zijn er ook een aantal belangrijke nadelen die we willen benoemen.
Je ontvangt tot € 1500 bonus met 150 free spins, plus een reeks reload bonussen en een uitgebreid VIP-programma, de Thunder League. Dit casino zonder verificatie biedt snelle uitbetalingen plus een duidelijke bonus en cashback structuur. Bij SlotMonkey valt het op dat er veel verschillende slots, live casino, crash- en scratch games zijn. Uitbetalingen via e-wallets en crypto worden meestal snel verwerkt. En de licentie is buitenlands (Anjouan, Comoren), dus je speelt bij een online casino zonder verificatie.
Zo zie je precies waar je zonder documenten kunt spelen en waar je alsnog met een Know Your Customer (KYC) -check te maken krijgt. Er zijn ook no KYC casino’s, hier wordt je sowieso niet gecontroleerd. Je logt in met de vertrouwde middelen die je ook gebruikt voor je bankzaken. Dit zorgt voor een sterke beveiliging van je persoonlijke gegevens wanneer deze worden gedeeld met een online casino. De strenge privacy-eisen en wetgeving vanuit de overheid, in combinatie met de robuuste systemen van de banken, maken iDIN betrouwbaar voor digitale identiteitscontroles.
Gokken zonder account staan ze niet toe, deze goksites ziet de Ksa dan ook als illegale goksites. IDIN sluit aan bij strenge regels uit de Wet Kansspelen en maakt snelle controle van je identiteit mogelijk. Casino’s met iDIN hebben een Nederlandse licentie en mogen daardoor niet alle soorten bonussen aanbieden.
Het spelen in een casino via iDIN of zonder iDIN is een persoonlijke keuze. Bij twijfel contacteer je de klantenservice op het vermelde e mailadres. Een reality check is een pop-upmelding die je elk half uur/uur laat weten hoe lang je al aan het spelen bent en hoeveel geld je hebt ingezet of verloren. Dit kan spelers helpen zich bewust te blijven van hun speelgedrag.
De registratie via iDIN is juist een extra stap die tijd kost. Bij een casino zonder iDIN kun je vaak sneller beginnen met spelen. Voor de meeste spelers is dat gunstig; je wilt je immers aanmelden op een goksite om meteen te kunnen spelen.
Doe je dit toch, dan doe je dit volledig op eigen risico, want je valt niet onder de Nederlandse wetgeving bij een casino zonder ID. Je valt buiten de Nederlandse wetgeving en geniet geen bescherming als er iets misgaat. Bij een conflict met een casino zonder iDIN is het doorgaans niet mogelijk om hulp te krijgen en uitbetalingen zijn nooit zeker. Bovendien kun je je direct registreren en spelen zonder strikte verificatie. Er wordt namelijk geen directe koppeling met je bankgegevens gemaakt. Speel je echter bij een buitenlands online casino zonder iDIN dan heb je te maken met minder strenge verificatie en meer vrijheden.
Ook wanneer je speelt bij een casino zonder iDIN blijft verantwoord gokken essentieel. Omdat er geen automatische koppeling is met Nederlandse controlesystemen, ligt de verantwoordelijkheid volledig bij jou. Stel daarom vooraf stortingslimieten in en bepaal hoe lang je wilt spelen. Controleer daarnaast SSL-beveiliging, duidelijke bonusvoorwaarden en realistische uitbetalingstermijnen.
Zijn online casinos zonder iDIN betrouwbaar?Dit betekent dat het platform moet voldoen aan regels rond eerlijk spel, uitbetalingen en spelersbescherming. Over het algemeen bieden casino’s zonder iDIN vaak alternatieve verificatiemethoden aan. Uit wat we hebben waargenomen, blijkt dat deze alternatieve methoden over het algemeen minder tijdrovend zijn dan de iDIN-verificatie.
Hierdoor kom je alle grote merken tegen bij een casino zonder iDIN. Een ander belangrijk verschil in spelaanbod zijn de restricties op spellen zelf. Dat kan als je gebruikt maakt van een online casino bonus zonder storting. Via iDIN worden je persoonsgegevens opgevraagd binnen je bankomgeving zonder dat er een koppeling wordt gemaakt met de betaalrekening.
Vrijwel alle bekende online casino’s hebben dan ook een mobielvriendelijke website en sommigen zelfs een eigen app. Sindsdien is online gokken legaal als het online casino aan bepaalde reguleringen voldoet. Dat mag een licentie van een ander land zijn dan het land waar jij woont of inwoner bent. Ons deskundig team zocht uit welke goksites zonder iDIN-verificatie functioneren. Het betreft meestal buitenlandse casino’s die gebruik maken van handmatige standaardformulieren.
Verder kun je kiezen uit een gevarieerd spelaanbod met slots, live casino, en zelfs sportweddenschappen. Het casino biedt bovendien een wel heel royale welkomstbonus, en snelle uibetalingen. Kortom, zeer geschikt voor Nederlandse spelers die veilig willen gokken zonder iDin.
Er wordt gebruik gemaakt van dezelfde beveilingstechnieken als bij internetbankieren. Het gebruikt dezelfde inlogmethode als u gebruikt bij uw bank om veilig en vertrouwd in te loggen en gegevens te bevestigen. Hiervoor heb een site nodig die iDIN als inlog methode aanbiedt. Dan selecteer je jouw bank uit de lijst van banken die iDIN ondersteunen. Inloggen of een account aanmaken met iDIN is snel en eenvoudig. Je hoeft geen aparte documenten te uploaden, wat het registratieproces verkort.
Het doel is dat spelers bij deze vergunde aanbieders spelen, zodat toezicht en beschermingsregels gelden. Houdt een aanbieder zich niet aan de regels, dan kan de toezichthouder ingrijpen. Tot 1 oktober 2021 bestond er in Nederland geen vergunningstelsel voor online kansspelen.
Met een combinatie van heel gebruiksvriendelijk, veilig en betrouwbaar is iDIN op dit moment zonder meer de beste manier om te spelen op online casino’s. Er zijn tientallen interessante iDIN casino’s om uit te kiezen. Kunnen spelen op een nieuw online casino zonder eerst te moeten tijd verliezen met een account te maken is heel makkelijk en vlot. Steeds meer en meer online casino’s in Nederland bieden iDIN aan als manier om jezelf te identificeren en je leeftijd te verifiëren. Online casino’s zijn dan ook verplicht om deze gegevens eerst te controleren volgens de Nederlandse Wetgeving Kansspelen op Afstand. Sinds 2021 is het gebruik van DigiD een belangrijk registratieonderdeel bij Nederlandse online casino’s.
Daarnaast moeten casino´s met een goede licentie een beleid voeren voor verantwoord spelen. De gokautoriteiten zullen deze zaken controleren tijdens regelmatige audits. Voldoen ze niet aan de eisen dan kunnen ze hun licentie kwijt raken. Je moet geld storten op je casino account om te kunnen spelen. Die is te herkennen aan een plusje of portemonnee rechtsboven op de website. Nadat je hierop klikt, zie je de verschillende betaalmethoden.
Online casino’s zonder iDIN bieden in Nederland een alternatieve toegang tot gokken, waarbij snelheid en gemak voorop staan. Deze benadering heeft zowel voordelen als nadelen, die belangrijk zijn om te overwegen voor spelers die een naadloze speelervaring zoeken. Laten we de belangrijkste voor- en nadelen van deze casino’s verkennen. Deze spellen maken gebruik van live dealers die spellen leiden vanuit professionele studio’s. Spelers kunnen deelnemen aan populaire spellen zoals de live gameshows van Evolution, zoals Crazy Time of Dream Catcher.
Kies voor een van onze online casino’s uit Nederland uit onze toplijst die hiervoor het beste uit de test zijn gekomen. Deze casino’s hebben een vergunning in Nederland en moeten voldoen aan strenge regels voor eerlijk en veilig kansspel. Casino’s zonder account zijn ook aantrekkelijk voor casino high rollers. Omdat deze spelers vaak grotere bedragen inzetten, waarderen zij de snelle en efficiënte transacties die deze platforms bieden.
Houd er rekening mee dat een ID-check vaak vereist is om geld op te nemen. Een casino zonder iDIN is een online casino waar je kunt spelen zonder dat je je hoeft te identificeren met iDIN. Normaal gesproken gebruiken Nederlandse casino’s iDIN om spelers te verifiëren. Dit is een methode waarmee je snel en veilig je identiteit kunt bevestigen via je eigen bank. Hoewel IDIN een populaire manier is van identiteitsverificatie bij Nederlandse online casino’s, is het zeker niet de methode bij uitstek. Nog altijd kiezen nieuwe casino’s voor de ouderwetse methode omdat ook dit een veilige en betrouwbare manier is om te registreren.
Bij buitenlandse online casino’s gelden andere online casino zonder IDIN regels en krijg je dus wel toegang tot casino’s zonder registratie. Onze experts hebben de beste online casino’s zonder registratie in een overzicht geplaatst. Zij hebben gespeeld bij veel verschillende casino’s waar je kan gokken zonder verificatie. De casino’s die positief uit de test zijn gekomen hebben ze geselecteerd.
Om de website te kunnen gebruiken, gaat u ermee akkoord dat er advertenties worden weergegeven. Wanneer je jouw limiet wilt verlagen, gaat uw verlaagde limiet onmiddellijk in. Maar als je je limiet verhogen wilt, dan moet je 7 dagen voor wachten. Dan moet je kunnen aantonen dat je dit financieel kunt missen. Er is minimale data-invoer vereist van de speler zelf, wat de kans op fouten verkleint en het proces versnelt.
Casino’s met hoge uitbetalingskansen zijn op de lange termijn voordeliger voor de speler. Online casino´s kunnen zelf bepalen hoeveel ze uitbetalen aan hun spelers. De meeste online casino´s zullen hierbij kijken naar wat de concurrentie doet. Als alle concurrerende online casino´s slechts 1% huisvoordeel inhouden op blackjack kunnen ze eigenlijk niet achter blijven.
We bespreken welke opties er zijn in ons eigen land en hoe het precies zit met buitenlandse aanbieders. We delen handige tips over hoe je je snel kunt registreren en we nemen de belangrijkste voor- en nadelen van iDIN casino’s met je door. IDIN wordt in Nederland vaak gebruikt voor online gokken, belastingzaken en verzekeringen, omdat het een snelle en veilige manier is om een account te verifiëren.
Hieronder zetten we de belangrijkste punten voor je op een rij. Er zijn honderden internationale platforms die netjes opereren onder toezicht van een buitenlandse toezichthouder. Niet elke betaalmethode is geschikt als je iDIN wilt vermijden. Sommige methoden lijken anoniem, maar voeren alsnog verificatie via je bank uit. Daarom kunnen ze geen automatische identiteitscontrole via iDIN uitvoeren, ook als ze dat zouden willen. Spelers loggen in via een eigen platform, zonder tussenkomst van hun bank.
Er zijn veel betrouwbare buitenlandse casino’s met licenties van Malta (MGA), Gibraltar of het VK (UKGC). Deze worden streng gecontroleerd op uitbetalingen, eerlijke RTP-percentages en verantwoord gokken. Casino’s met zwakkere licenties, zoals Curaçao of Costa Rica, bieden minder spelersbescherming en vereisen extra controle. Casino’s zonder iDIN bieden meer betaalmogelijkheden dan Nederlandse casino’s, omdat ze niet verplicht zijn om iDEAL of bankverificatie te gebruiken. Dit betekent dat spelers kunnen kiezen uit e-wallets, cryptovaluta en andere alternatieve betaalmethoden, zonder hun bankrekening direct te koppelen. Met een Curaçao-licentie heeft Betspino geen verplichting om Cruks-registraties te controleren, wat betekent dat spelers zonder beperkingen kunnen spelen.
Met iDIN kan dit direct gebeuren en hoeft dat niet meer pas als je effectief je winst probeert te ontvangen. Ook het storten van geld in je account of het opnemen van je winst in een online casino gebeurt snel en feilloos dankzij iDIN. Dit komt doordat iDIN ontworpen is door verschillende Nederlandse banken. Zo worden je gegevens op een betrouwbare en veilige manier gecontroleerd. Ook al spreekt het voor zich dat een online casino met iDIN een geldige Nederlandse licentie op zak heeft, toch kan het nooit kwaad om dit na te kijken.
Denk aan het hebben van een licentie, transparante voorwaarden, en een klantenservice die behulpzaam is. Lees ook reviews van andere spelers, dan kan het bijna niet misgaan. Bij ons stond de eerste storting direct klaar en werd de crypto-uitbetaling binnen een uur verwerkt. Nieuwe spelers krijgen een bonus tot €6000 en 300 free spins, plus cashback tot 15%. In onze toplijsten staan goksites vermeld met een gedegen reputatie op gebied van veiligheid en betrouwbaarheid. Ook is het prettig als verantwoord gokken wordt gestimuleerd door middel van speellimieten.
Misschien lijkt online gokken zonder registratie jou ook wel wat? Alhoewel het maar enkele minuten in beslag neemt, is het registratieproces voor sommige spelers een doorn in het oog. Het helpt hierbij niet dat bepaalde online casino’s dit proces niet hebben geoptimaliseerd. Geen wonder dat spelers verlangen naar een online casino zonder registratie. JACKS.NL – Casino & Sports maakt het je gemakkelijk door de registratie zo soepel mogelijk te maken. Ook het spelaanbod is uitgebreid, met honderden slots en live games, allemaal overzichtelijk gerangschikt.
Als je gelijk wilt spelen met Pay n Play is het van belang om te checken of je via Trustly ook kan betalen met jouw bank. Dit kan namelijk verschillen per vestigingsplaats van het casino. In Nederland wordt van spelers vereist dat ze zich registreren, hun identiteit bevestigen en limieten instellen. Dit kan een drempel zijn, omdat niet iedereen persoonlijke of gevoelige gegevens wil delen met een goksite. We zetten alvast onze belangrijkste bevindingen met betrekking tot gokken zonder verificatie voor je op een rij. Dit is onze mening over gokken zonder verificatie in een notendop.
Tafelspellen zijn aantrekkelijke en sfeervolle casino spellen die vaak al meerdere eeuwen lang bijna niet veranderd zijn. Roulette, blackjack, craps, poker en baccarat zijn de allerbekendste. Bij een online casino kan je verschillende oude en nieuwe digitale bewerkingen van deze tafelspellen spelen tegen de computer. Hoewel iDEAL in Nederland de populairste betaalmethode blijft, bieden sommige casino’s ook alternatieve opties aan. Denk aan creditcards, e-wallets zoals PayPal of de internationale bankdienst Trustly. Niet al deze opties zijn altijd beschikbaar bij Nederlandse aanbieders, maar ze bieden spelers wel flexibiliteit.
Bij het uitkiezen van een no account casino is het belangrijk om op een aantal factoren te letten. Het allerbelangrijkste vinden wij dat het no account casino betrouwbaar is. Kies je voor een zonder registratie casino met Trustly, dan heeft deze provider je accountverificatie al doorlopen.
Lees wel goed de voorwaarden door zodat je niet voor onaangename verrassingen komt te staan als je wilt uitbetalen. Uiteraard nemen we enkel de legale casino’s mee die een vergunning hebben voor Nederland. Onze experts hebben de casino’s bekeken en de bonus voor jou uitgeprobeerd. Je wordt doorgeleid naar iDIN; dat kan op je mobiele scherm of op een desktop scherm. Dit werkt hetzelfde als het verrichten van een betaling via iDEAL; je wordt naar een ander scherm geleid, waar je jouw leeftijd mag verifiëren.
Zo kun je eenvoudiger onderscheid maken tussen platforms die snel en veilig betalen, en aanbieders waarvan je de voorwaarden beter eerst even bekijkt. Bij online casino’s met een Nederlandse vergunning wordt de kansspelbelasting (37,80%) door de aanbieder afgedragen over het brutoresultaat. Als speler hoef je daardoor geen aparte aangifte te doen over je winst. Sinds de legalisering mogen alleen aanbieders met een Nederlandse vergunning online kansspelen aanbieden.
Aanmelden verloopt snel en bonussen hoeven slechts één keer te worden rondgespeeld, waardoor eventuele winsten direct uitbetaalbaar zijn. Daarnaast kunnen spelers punten sparen die inwisselbaar zijn voor contant geld. ComeOn is sinds oktober 2022 opnieuw actief op de Nederlandse markt en biedt online slots en een live casino, met een minimale storting van €5. Circus beschikt over een live casino met Nederlandstalige dealers en biedt daarnaast sportweddenschappen binnen één account. Het startpakket bestaat uit een 200% bonus tot €25.000 + 50 spins. De bonus komt gefaseerd vrij, waardoor je niet vastzit aan één grote inzetverplichting.
Het faciliteert leeftijdscontrole, koppeling met CRUKS en maakt iDEAL-betalingen eenvoudiger. In dit artikel duiken we in deze specifieke identificatiemethode. Je ontdekt wat een online casino zonder iDIN precies inhoudt, hoe de registratie werkt, en wat de voor- en nadelen zijn. Ook vergelijk ik de ervaring met casino’s die wel iDIN gebruiken en kijk ik naar de veiligheid en betrouwbaarheid, inclusief de rol van internationale licenties. Om te voldoen op het gebied van veiligheid en verslavingspreventie, zijn legale online casino’s door de overheid verbonden aan een aantal strenge regels.
Dat betekent dat gokken zonder registratie niet tot de mogelijkheden behoort, en dat het altijd nodig is om een persoonlijk casino-account aan te maken. Elk casino met een vergunning is verplicht om spelers te registreren, te identificeren en te controleren in het Cruks register. Dit klinkt misschien omslachtig, maar het zorgt er wél voor dat je altijd veilig speelt, beschermd bent tegen fraude en inzicht houdt in je speelgedrag. In Nederland kun je niet gokken zonder registratie – althans niet bij een Nederlands online casino.
Wanneer je een account aanmaken start bij een iDIN casino, kies je voor iDIN. Je wordt omgeleid naar de beveiligde omgeving van je eigen bank. Na inloggen geef je toestemming om geverifieerde persoonsgegevens (zoals naam, adres, geboortedatum) met het casino te delen. Deze iDIN registratie en iDIN verificatie stroomlijnt het proces, omdat je bank je identiteit al heeft bevestigd.
Of je veilig kunt spelen bij een casino zonder iDIN hangt helemaal af van het platform waar je terechtkomt. Dan heb je minder garanties dan bij een Nederlands casino, dus extra opletten is belangrijk. Niet elk casino zonder ID werkt even netjes en de bescherming voor de speler verschilt enorm. Er zijn veel beloningen via toernooien en een duidelijke bonusstructuur. De Anjouan licentie draagt positief bij aan de betrouwbaarheid en de e-wallet uitbetalingen zijn vaak binnen een dag geregeld; bankoverschrijvingen duren iets langer.
Toch blijft Golden Panda Casino een flinke vooruitgang als je het vergelijkt met de strenge regels van Nederlandse online casino’s. Bij goksites met een Nederlandse vergunning moet je veel meer persoonlijke gegevens indien en mag je zonder Cruks check niet eens inzetten. IDIN is vooral geschikt voor spelers die de voorkeur geven aan het gemak en de vertrouwde veiligheid van identificatie via hun Nederlandse bank. Voor spelers die waarde hechten aan een proces dat volledig voldoet aan de Nederlandse regelgeving, is iDIN de aangewezen methode.
Supraplay Casino is een snelgroeiend online casino dat zich richt op privacy en eenvoud. Omdat het geen iDIN gebruikt, kunnen spelers zonder bankverificatie een account aanmaken en direct beginnen met spelen. Hier geldt namelijk de Wet Kansspelen op afstand en houdt de Nederlandse Kansspelautoriteit (KSA) toezicht op alle online casino’s.
De beste no deposit bonus zonder storting is op dit moment die van Kansino. Een goede tweede positie is OneCasino daar krijg je €10 om gratis casino mee te spelen. Johan Ryskamp is een dynamische content creator bij DailyBase, bekend om zijn speelse en inzichtelijke benadering van iGaming. Zijn eigenzinnige artikelen helpen spelers met vertrouwen online casino’s en sportsbooks te navigeren, door praktische tips en vermakelijke strategieën te bieden. Johan’s unieke stem inspireert lezers om de wereld van online gaming met kennis en een glimlach te ontdekken.
Volgens de Nederlandse wet mogen alleen aanbieders met een vergunning van de Ksa legaal opereren op de Nederlandse markt. Een casino zonder iDIN valt buiten dit vergunningstelsel en is daardoor niet toegestaan om zich actief op Nederland te richten. Dat betekent echter niet dat elk online casino zonder iDIN automatisch een illegaal of onbetrouwbaar platform is.
Dit komt doordat Trustly je accountverificatie op de achtergrond al heeft voltooid. Je kan dus direct je geld opnemen door een bedrag boven de minimale uitbetaling te kiezen. Naast verantwoord gokken, is ook veilig gokken heel belangrijk. Wij vinden de volgende kenmerken belangrijk om te beoordelen of een no account casino veilig is.
Dit casino is ideaal voor spelers die op zoek zijn naar hoge bonussen en een breed spelaanbod zonder verificatie via de bank. Onderstaande top 3 online casinos zonder iDIN in Nederland is perfect voor spelers die een snelle start en minimale registratieprocedures waarderen. Elk van deze casino’s biedt unieke voordelen die ze onderscheiden in de competitieve markt van online gokken. Het beste online casino zonder iDIN is momenteel Casoola, mede dankzij de snelle registratie en hoge cashback van 15%. Dit casino biedt namelijk een eenvoudige registratieprocedure zonder iDIN, een groot aanbod qua slots, tafelspellen, live casinospellen en sportweddenschappen. Naast de mogelijkheid om snel een account aan te maken, kun je hier de beste online casinospellen vinden.
]]>