/*! 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 = '<>'; // Important! // Keep this list in sync with production version in `./factoryWithThrowingShims.js`. var ReactPropTypes = { array: createPrimitiveTypeChecker('array'), bigint: createPrimitiveTypeChecker('bigint'), bool: createPrimitiveTypeChecker('boolean'), func: createPrimitiveTypeChecker('function'), number: createPrimitiveTypeChecker('number'), object: createPrimitiveTypeChecker('object'), string: createPrimitiveTypeChecker('string'), symbol: createPrimitiveTypeChecker('symbol'), any: createAnyTypeChecker(), arrayOf: createArrayOfTypeChecker, element: createElementTypeChecker(), elementType: createElementTypeTypeChecker(), instanceOf: createInstanceTypeChecker, node: createNodeChecker(), objectOf: createObjectOfTypeChecker, oneOf: createEnumTypeChecker, oneOfType: createUnionTypeChecker, shape: createShapeTypeChecker, exact: createStrictShapeTypeChecker, }; /** * inlined Object.is polyfill to avoid requiring consumers ship their own * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is */ /*eslint-disable no-self-compare*/ function is(x, y) { // SameValue algorithm if (x === y) { // Steps 1-5, 7-10 // Steps 6.b-6.e: +0 != -0 return x !== 0 || 1 / x === 1 / y; } else { // Step 6.a: NaN == NaN return x !== x && y !== y; } } /*eslint-enable no-self-compare*/ /** * We use an Error-like object for backward compatibility as people may call * PropTypes directly and inspect their output. However, we don't use real * Errors anymore. We don't inspect their stack anyway, and creating them * is prohibitively expensive if they are created too often, such as what * happens in oneOfType() for any type before the one that matched. */ function PropTypeError(message, data) { this.message = message; this.data = data && typeof data === 'object' ? data: {}; this.stack = ''; } // Make `instanceof Error` still work for returned errors. PropTypeError.prototype = Error.prototype; function createChainableTypeChecker(validate) { if (true) { var manualPropTypeCallCache = {}; var manualPropTypeWarningCount = 0; } function checkType(isRequired, props, propName, componentName, location, propFullName, secret) { componentName = componentName || ANONYMOUS; propFullName = propFullName || propName; if (secret !== ReactPropTypesSecret) { if (throwOnDirectAccess) { // New behavior only for users of `prop-types` package var err = new Error( 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use `PropTypes.checkPropTypes()` to call them. ' + 'Read more at http://fb.me/use-check-prop-types' ); err.name = 'Invariant Violation'; throw err; } else if ( true && typeof console !== 'undefined') { // Old behavior for people using React.PropTypes var cacheKey = componentName + ':' + propName; if ( !manualPropTypeCallCache[cacheKey] && // Avoid spamming the console because they are often not actionable except for lib authors manualPropTypeWarningCount < 3 ) { printWarning( 'You are manually calling a React.PropTypes validation ' + 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' + 'and will throw in the standalone `prop-types` package. ' + 'You may be seeing this warning due to a third-party PropTypes ' + 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.' ); manualPropTypeCallCache[cacheKey] = true; manualPropTypeWarningCount++; } } } if (props[propName] == null) { if (isRequired) { if (props[propName] === null) { return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.')); } return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.')); } return null; } else { return validate(props, propName, componentName, location, propFullName); } } var chainedCheckType = checkType.bind(null, false); chainedCheckType.isRequired = checkType.bind(null, true); return chainedCheckType; } function createPrimitiveTypeChecker(expectedType) { function validate(props, propName, componentName, location, propFullName, secret) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== expectedType) { // `propValue` being instance of, say, date/regexp, pass the 'object' // check, but we can offer a more precise error message here rather than // 'of type `object`'. var preciseType = getPreciseType(propValue); return new PropTypeError( 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'), {expectedType: expectedType} ); } return null; } return createChainableTypeChecker(validate); } function createAnyTypeChecker() { return createChainableTypeChecker(emptyFunctionThatReturnsNull); } function createArrayOfTypeChecker(typeChecker) { function validate(props, propName, componentName, location, propFullName) { if (typeof typeChecker !== 'function') { return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); } var propValue = props[propName]; if (!Array.isArray(propValue)) { var propType = getPropType(propValue); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); } for (var i = 0; i < propValue.length; i++) { var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret); if (error instanceof Error) { return error; } } return null; } return createChainableTypeChecker(validate); } function createElementTypeChecker() { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; if (!isValidElement(propValue)) { var propType = getPropType(propValue); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.')); } return null; } return createChainableTypeChecker(validate); } function createElementTypeTypeChecker() { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; if (!ReactIs.isValidElementType(propValue)) { var propType = getPropType(propValue); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.')); } return null; } return createChainableTypeChecker(validate); } function createInstanceTypeChecker(expectedClass) { function validate(props, propName, componentName, location, propFullName) { if (!(props[propName] instanceof expectedClass)) { var expectedClassName = expectedClass.name || ANONYMOUS; var actualClassName = getClassName(props[propName]); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); } return null; } return createChainableTypeChecker(validate); } function createEnumTypeChecker(expectedValues) { if (!Array.isArray(expectedValues)) { if (true) { if (arguments.length > 1) { printWarning( 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' + 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).' ); } else { printWarning('Invalid argument supplied to oneOf, expected an array.'); } } return emptyFunctionThatReturnsNull; } function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; for (var i = 0; i < expectedValues.length; i++) { if (is(propValue, expectedValues[i])) { return null; } } var valuesString = JSON.stringify(expectedValues, function replacer(key, value) { var type = getPreciseType(value); if (type === 'symbol') { return String(value); } return value; }); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); } return createChainableTypeChecker(validate); } function createObjectOfTypeChecker(typeChecker) { function validate(props, propName, componentName, location, propFullName) { if (typeof typeChecker !== 'function') { return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); } var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); } for (var key in propValue) { if (has(propValue, key)) { var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); if (error instanceof Error) { return error; } } } return null; } return createChainableTypeChecker(validate); } function createUnionTypeChecker(arrayOfTypeCheckers) { if (!Array.isArray(arrayOfTypeCheckers)) { true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0; return emptyFunctionThatReturnsNull; } for (var i = 0; i < arrayOfTypeCheckers.length; i++) { var checker = arrayOfTypeCheckers[i]; if (typeof checker !== 'function') { printWarning( 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' + 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.' ); return emptyFunctionThatReturnsNull; } } function validate(props, propName, componentName, location, propFullName) { var expectedTypes = []; for (var i = 0; i < arrayOfTypeCheckers.length; i++) { var checker = arrayOfTypeCheckers[i]; var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret); if (checkerResult == null) { return null; } if (checkerResult.data && has(checkerResult.data, 'expectedType')) { expectedTypes.push(checkerResult.data.expectedType); } } var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': ''; return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.')); } return createChainableTypeChecker(validate); } function createNodeChecker() { function validate(props, propName, componentName, location, propFullName) { if (!isNode(props[propName])) { return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); } return null; } return createChainableTypeChecker(validate); } function invalidValidatorError(componentName, location, propFullName, key, type) { return new PropTypeError( (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.' ); } function createShapeTypeChecker(shapeTypes) { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); } for (var key in shapeTypes) { var checker = shapeTypes[key]; if (typeof checker !== 'function') { return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker)); } var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); if (error) { return error; } } return null; } return createChainableTypeChecker(validate); } function createStrictShapeTypeChecker(shapeTypes) { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); } // We need to check all keys in case some are required but missing from props. var allKeys = assign({}, props[propName], shapeTypes); for (var key in allKeys) { var checker = shapeTypes[key]; if (has(shapeTypes, key) && typeof checker !== 'function') { return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker)); } if (!checker) { return new PropTypeError( 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' + '\nBad object: ' + JSON.stringify(props[propName], null, ' ') + '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ') ); } var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); if (error) { return error; } } return null; } return createChainableTypeChecker(validate); } function isNode(propValue) { switch (typeof propValue) { case 'number': case 'string': case 'undefined': return true; case 'boolean': return !propValue; case 'object': if (Array.isArray(propValue)) { return propValue.every(isNode); } if (propValue === null || isValidElement(propValue)) { return true; } var iteratorFn = getIteratorFn(propValue); if (iteratorFn) { var iterator = iteratorFn.call(propValue); var step; if (iteratorFn !== propValue.entries) { while (!(step = iterator.next()).done) { if (!isNode(step.value)) { return false; } } } else { // Iterator will provide entry [k,v] tuples rather than values. while (!(step = iterator.next()).done) { var entry = step.value; if (entry) { if (!isNode(entry[1])) { return false; } } } } } else { return false; } return true; default: return false; } } function isSymbol(propType, propValue) { // Native Symbol. if (propType === 'symbol') { return true; } // falsy value can't be a Symbol if (!propValue) { return false; } // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol' if (propValue['@@toStringTag'] === 'Symbol') { return true; } // Fallback for non-spec compliant Symbols which are polyfilled. if (typeof Symbol === 'function' && propValue instanceof Symbol) { return true; } return false; } // Equivalent of `typeof` but with special handling for array and regexp. function getPropType(propValue) { var propType = typeof propValue; if (Array.isArray(propValue)) { return 'array'; } if (propValue instanceof RegExp) { // Old webkits (at least until Android 4.0) return 'function' rather than // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ // passes PropTypes.object. return 'object'; } if (isSymbol(propType, propValue)) { return 'symbol'; } return propType; } // This handles more types than `getPropType`. Only used for error messages. // See `createPrimitiveTypeChecker`. function getPreciseType(propValue) { if (typeof propValue === 'undefined' || propValue === null) { return '' + propValue; } var propType = getPropType(propValue); if (propType === 'object') { if (propValue instanceof Date) { return 'date'; } else if (propValue instanceof RegExp) { return 'regexp'; } } return propType; } // Returns a string that is postfixed to a warning about an invalid type. // For example, "undefined" or "of type array" function getPostfixForTypeWarning(value) { var type = getPreciseType(value); switch (type) { case 'array': case 'object': return 'an ' + type; case 'boolean': case 'date': case 'regexp': return 'a ' + type; default: return type; } } // Returns class name of the object, if any. function getClassName(propValue) { if (!propValue.constructor || !propValue.constructor.name) { return ANONYMOUS; } return propValue.constructor.name; } ReactPropTypes.checkPropTypes = checkPropTypes; ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache; ReactPropTypes.PropTypes = ReactPropTypes; return ReactPropTypes; }; /***/ }), /***/ "../node_modules/prop-types/index.js": /*!*******************************************!*\ !*** ../node_modules/prop-types/index.js ***! \*******************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { /** * 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. */ if (true) { var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js"); // By explicitly using `prop-types` you are opting into new development behavior. // http://fb.me/prop-types-in-prod var throwOnDirectAccess = true; module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "../node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess); } else {} /***/ }), /***/ "../node_modules/prop-types/lib/ReactPropTypesSecret.js": /*!**************************************************************!*\ !*** ../node_modules/prop-types/lib/ReactPropTypesSecret.js ***! \**************************************************************/ /***/ ((module) => { "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 ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; module.exports = ReactPropTypesSecret; /***/ }), /***/ "../node_modules/prop-types/lib/has.js": /*!*********************************************!*\ !*** ../node_modules/prop-types/lib/has.js ***! \*********************************************/ /***/ ((module) => { module.exports = Function.call.bind(Object.prototype.hasOwnProperty); /***/ }), /***/ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js": /*!************************************************************************************!*\ !*** ../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***! \************************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ if (true) { (function() { 'use strict'; // The Symbol used to tag the ReactElement-like types. If there is no native Symbol // nor polyfill, then a plain number is used for performance. var hasSymbol = typeof Symbol === 'function' && Symbol.for; var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary // (unstable) APIs that have been removed. Can we remove the symbols? var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf; var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9; var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5; var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6; var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7; function isValidElementType(type) { return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE); } function typeOf(object) { if (typeof object === 'object' && object !== null) { var $$typeof = object.$$typeof; switch ($$typeof) { case REACT_ELEMENT_TYPE: var type = object.type; switch (type) { case REACT_ASYNC_MODE_TYPE: case REACT_CONCURRENT_MODE_TYPE: case REACT_FRAGMENT_TYPE: case REACT_PROFILER_TYPE: case REACT_STRICT_MODE_TYPE: case REACT_SUSPENSE_TYPE: return type; default: var $$typeofType = type && type.$$typeof; switch ($$typeofType) { case REACT_CONTEXT_TYPE: case REACT_FORWARD_REF_TYPE: case REACT_LAZY_TYPE: case REACT_MEMO_TYPE: case REACT_PROVIDER_TYPE: return $$typeofType; default: return $$typeof; } } case REACT_PORTAL_TYPE: return $$typeof; } } return undefined; } // AsyncMode is deprecated along with isAsyncMode var AsyncMode = REACT_ASYNC_MODE_TYPE; var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; var ContextConsumer = REACT_CONTEXT_TYPE; var ContextProvider = REACT_PROVIDER_TYPE; var Element = REACT_ELEMENT_TYPE; var ForwardRef = REACT_FORWARD_REF_TYPE; var Fragment = REACT_FRAGMENT_TYPE; var Lazy = REACT_LAZY_TYPE; var Memo = REACT_MEMO_TYPE; var Portal = REACT_PORTAL_TYPE; var Profiler = REACT_PROFILER_TYPE; var StrictMode = REACT_STRICT_MODE_TYPE; var Suspense = REACT_SUSPENSE_TYPE; var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated function isAsyncMode(object) { { if (!hasWarnedAboutDeprecatedIsAsyncMode) { hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.'); } } return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; } function isConcurrentMode(object) { return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; } function isContextConsumer(object) { return typeOf(object) === REACT_CONTEXT_TYPE; } function isContextProvider(object) { return typeOf(object) === REACT_PROVIDER_TYPE; } function isElement(object) { return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; } function isForwardRef(object) { return typeOf(object) === REACT_FORWARD_REF_TYPE; } function isFragment(object) { return typeOf(object) === REACT_FRAGMENT_TYPE; } function isLazy(object) { return typeOf(object) === REACT_LAZY_TYPE; } function isMemo(object) { return typeOf(object) === REACT_MEMO_TYPE; } function isPortal(object) { return typeOf(object) === REACT_PORTAL_TYPE; } function isProfiler(object) { return typeOf(object) === REACT_PROFILER_TYPE; } function isStrictMode(object) { return typeOf(object) === REACT_STRICT_MODE_TYPE; } function isSuspense(object) { return typeOf(object) === REACT_SUSPENSE_TYPE; } exports.AsyncMode = AsyncMode; exports.ConcurrentMode = ConcurrentMode; exports.ContextConsumer = ContextConsumer; exports.ContextProvider = ContextProvider; exports.Element = Element; exports.ForwardRef = ForwardRef; exports.Fragment = Fragment; exports.Lazy = Lazy; exports.Memo = Memo; exports.Portal = Portal; exports.Profiler = Profiler; exports.StrictMode = StrictMode; exports.Suspense = Suspense; exports.isAsyncMode = isAsyncMode; exports.isConcurrentMode = isConcurrentMode; exports.isContextConsumer = isContextConsumer; exports.isContextProvider = isContextProvider; exports.isElement = isElement; exports.isForwardRef = isForwardRef; exports.isFragment = isFragment; exports.isLazy = isLazy; exports.isMemo = isMemo; exports.isPortal = isPortal; exports.isProfiler = isProfiler; exports.isStrictMode = isStrictMode; exports.isSuspense = isSuspense; exports.isValidElementType = isValidElementType; exports.typeOf = typeOf; })(); } /***/ }), /***/ "../node_modules/prop-types/node_modules/react-is/index.js": /*!*****************************************************************!*\ !*** ../node_modules/prop-types/node_modules/react-is/index.js ***! \*****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; if (false) {} else { module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js"); } /***/ }), /***/ "../node_modules/react-dom/client.js": /*!*******************************************!*\ !*** ../node_modules/react-dom/client.js ***! \*******************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var m = __webpack_require__(/*! react-dom */ "react-dom"); if (false) {} else { var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; exports.createRoot = function(c, o) { i.usingClientEntryPoint = true; try { return m.createRoot(c, o); } finally { i.usingClientEntryPoint = false; } }; exports.hydrateRoot = function(c, h, o) { i.usingClientEntryPoint = true; try { return m.hydrateRoot(c, h, o); } finally { i.usingClientEntryPoint = false; } }; } /***/ }), /***/ "react": /*!************************!*\ !*** external "React" ***! \************************/ /***/ ((module) => { "use strict"; module.exports = React; /***/ }), /***/ "react-dom": /*!***************************!*\ !*** external "ReactDOM" ***! \***************************/ /***/ ((module) => { "use strict"; module.exports = ReactDOM; /***/ }), /***/ "@elementor/ui": /*!*********************************!*\ !*** external "elementorV2.ui" ***! \*********************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui; /***/ }), /***/ "@elementor/ui/Box": /*!****************************************!*\ !*** external "elementorV2.ui['Box']" ***! \****************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['Box']; /***/ }), /***/ "@elementor/ui/Button": /*!*******************************************!*\ !*** external "elementorV2.ui['Button']" ***! \*******************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['Button']; /***/ }), /***/ "@elementor/ui/Card": /*!*****************************************!*\ !*** external "elementorV2.ui['Card']" ***! \*****************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['Card']; /***/ }), /***/ "@elementor/ui/CardActions": /*!************************************************!*\ !*** external "elementorV2.ui['CardActions']" ***! \************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['CardActions']; /***/ }), /***/ "@elementor/ui/CardContent": /*!************************************************!*\ !*** external "elementorV2.ui['CardContent']" ***! \************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['CardContent']; /***/ }), /***/ "@elementor/ui/CardMedia": /*!**********************************************!*\ !*** external "elementorV2.ui['CardMedia']" ***! \**********************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['CardMedia']; /***/ }), /***/ "@elementor/ui/Dialog": /*!*******************************************!*\ !*** external "elementorV2.ui['Dialog']" ***! \*******************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['Dialog']; /***/ }), /***/ "@elementor/ui/DialogActions": /*!**************************************************!*\ !*** external "elementorV2.ui['DialogActions']" ***! \**************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['DialogActions']; /***/ }), /***/ "@elementor/ui/DialogContent": /*!**************************************************!*\ !*** external "elementorV2.ui['DialogContent']" ***! \**************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['DialogContent']; /***/ }), /***/ "@elementor/ui/DialogContentText": /*!******************************************************!*\ !*** external "elementorV2.ui['DialogContentText']" ***! \******************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['DialogContentText']; /***/ }), /***/ "@elementor/ui/DialogHeader": /*!*************************************************!*\ !*** external "elementorV2.ui['DialogHeader']" ***! \*************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['DialogHeader']; /***/ }), /***/ "@elementor/ui/DialogHeaderGroup": /*!******************************************************!*\ !*** external "elementorV2.ui['DialogHeaderGroup']" ***! \******************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['DialogHeaderGroup']; /***/ }), /***/ "@elementor/ui/DialogTitle": /*!************************************************!*\ !*** external "elementorV2.ui['DialogTitle']" ***! \************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['DialogTitle']; /***/ }), /***/ "@elementor/ui/Divider": /*!********************************************!*\ !*** external "elementorV2.ui['Divider']" ***! \********************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['Divider']; /***/ }), /***/ "@elementor/ui/Link": /*!*****************************************!*\ !*** external "elementorV2.ui['Link']" ***! \*****************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['Link']; /***/ }), /***/ "@elementor/ui/List": /*!*****************************************!*\ !*** external "elementorV2.ui['List']" ***! \*****************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['List']; /***/ }), /***/ "@elementor/ui/ListItem": /*!*********************************************!*\ !*** external "elementorV2.ui['ListItem']" ***! \*********************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['ListItem']; /***/ }), /***/ "@elementor/ui/ListItemButton": /*!***************************************************!*\ !*** external "elementorV2.ui['ListItemButton']" ***! \***************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['ListItemButton']; /***/ }), /***/ "@elementor/ui/ListItemText": /*!*************************************************!*\ !*** external "elementorV2.ui['ListItemText']" ***! \*************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['ListItemText']; /***/ }), /***/ "@elementor/ui/TextField": /*!**********************************************!*\ !*** external "elementorV2.ui['TextField']" ***! \**********************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['TextField']; /***/ }), /***/ "@elementor/ui/Typography": /*!***********************************************!*\ !*** external "elementorV2.ui['Typography']" ***! \***********************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['Typography']; /***/ }), /***/ "@wordpress/i18n": /*!**************************!*\ !*** external "wp.i18n" ***! \**************************/ /***/ ((module) => { "use strict"; module.exports = wp.i18n; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js": /*!******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***! \******************************************************************/ /***/ ((module) => { function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***! \****************************************************************/ /***/ ((module) => { function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/extends.js": /*!*********************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/extends.js ***! \*********************************************************/ /***/ ((module) => { function _extends() { return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, module.exports.__esModule = true, module.exports["default"] = module.exports, _extends.apply(null, arguments); } module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js": /*!***********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***! \***********************************************************************/ /***/ ((module) => { function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js": /*!**********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***! \**********************************************************************/ /***/ ((module) => { function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js": /*!*****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***! \*****************************************************************/ /***/ ((module) => { function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js": /*!**************************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js ***! \**************************************************************************/ /***/ ((module) => { function _objectDestructuringEmpty(t) { if (null == t) throw new TypeError("Cannot destructure " + t); } module.exports = _objectDestructuringEmpty, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js": /*!***************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js"); var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js"); var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js"); var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js"); function _slicedToArray(r, e) { return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest(); } module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/typeof.js": /*!********************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/typeof.js ***! \********************************************************/ /***/ ((module) => { function _typeof(o) { "@babel/helpers - typeof"; return module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof(o); } module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js": /*!****************************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***! \****************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js"); function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0; } } module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry needs to be wrapped in an IIFE because it needs to be in strict mode. (() => { "use strict"; /*!****************************************!*\ !*** ../modules/home/assets/js/app.js ***! \****************************************/ /* 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 _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _react2 = _interopRequireDefault(__webpack_require__(/*! elementor-utils/react */ "../assets/dev/js/utils/react.js")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var _homeScreen = _interopRequireDefault(__webpack_require__(/*! ./components/home-screen */ "../modules/home/assets/js/components/home-screen.js")); var App = function App(props) { return /*#__PURE__*/_react.default.createElement(_ui.DirectionProvider, { rtl: props.isRTL }, /*#__PURE__*/_react.default.createElement(_ui.LocalizationProvider, null, /*#__PURE__*/_react.default.createElement(_ui.ThemeProvider, { colorScheme: 'light' }, /*#__PURE__*/_react.default.createElement(_homeScreen.default, { homeScreenData: props.homeScreenData, adminUrl: props.adminUrl })))); }; var isRTL = elementorCommon.config.isRTL, adminUrl = elementorAppConfig.admin_url, rootElement = document.querySelector('#e-home-screen'); App.propTypes = { isRTL: PropTypes.bool, adminUrl: PropTypes.string, homeScreenData: PropTypes.object }; _react2.default.render(/*#__PURE__*/_react.default.createElement(App, { isRTL: isRTL, homeScreenData: elementorHomeScreenData, adminUrl: adminUrl }), rootElement); })(); /******/ })() ; //# sourceMappingURL=e-home-screen.js.map Online Casino Zonder IDIN en CRUKS – Paok https://paok.kr Punjabi Association of Korea Tue, 03 Mar 2026 22:41:02 +0000 en hourly 1 https://wordpress.org/?v=7.0.2 https://paok.kr/wp-content/uploads/2023/08/WhatsApp_Image_2023-08-22_at_17.04.05-removebg-preview-150x150.png Online Casino Zonder IDIN en CRUKS – Paok https://paok.kr 32 32 Casino’s Zonder iDIN 2026 ️ Informatie en Overzicht https://paok.kr/online-casino-zonder-idin-en-cruks/casino-s-zonder-idin-2026-informatie-en-overzicht-13/ https://paok.kr/online-casino-zonder-idin-en-cruks/casino-s-zonder-idin-2026-informatie-en-overzicht-13/#respond Tue, 03 Mar 2026 21:38:43 +0000 http://paok.kr/?p=245674 online casino zonder IDIN

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.

online casino zonder IDIN

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.

online casino zonder IDIN

Waar je op moet Letten bij het Kiezen van een iDEAL 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.

Beste casino’s zonder IDIN samenvatting

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.

  • Door gebruik te maken van de beveiligde systemen van de Nederlandse banken zorgt iDIN ervoor dat persoonsgegevens niet direct met online casino’s worden gedeeld.
  • Gokken zonder registratie betekent dat je niet eerst een uitgebreid account hoeft aan te maken of documenten hoeft te uploaden voordat je kunt spelen.
  • Ben je nieuwsgierig naar wat online casino’s zonder iDIN te bieden hebben?
  • De volgende 4 aanbieders beschouwen wij als de meest complete online casino’s zonder iDIN.
  • Dit type van casino biedt enkel meer vrijheid aan spelers omdat het niet verplicht is de regels van de Nederlandse kansspelautoriteit en Nederlandse banken te volgen.
  • Hoewel iDIN veilig is, brengt het ook extra stappen met zich mee.
  • Casino’s met een Gibraltar-licentie bieden een hoog niveau van veiligheid en betrouwbaarheid, vergelijkbaar met de MGA.
  • Het blijft echter belangrijk om te controleren hoe de identificatie en uitbetalingen precies geregeld zijn, zodat je weet waar je aan toe bent.
  • Heel vervelend, want daarmee kan je je winst niet laten uit betalen tot je leeftijdcontrole en identiteitsbvestiging in orde is.
  • Toch is het goed om te kijken hoe het zit met de uitbetalingskansen, je wilt er zeker van zijn dat het goed geregeld is.
  • LeoVegas is sinds 2023 actief op de Nederlandse markt en heeft internationaal meerdere awards ontvangen voor zijn mobiele platform.
  • We trappen af met een aantal van de beste casino’s zonder verificatie voor Nederlandse spelers.

Toplijst van online casino’s zonder iDIN 2026

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?

Verantwoord Gokken bij Casino’s Zonder iDIN

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.

Wat zijn de voor- en nadelen van een online casino zonder iDIN?

  • Een online casino zonder registratie in het buitenland biedt in sommige gevallen iDEAL aan, maar dit is niet altijd het geval.
  • Gokken zonder iDIN biedt meer vrijheid, maar vraagt ook om extra oplettendheid.
  • Om dit risico te beperken, kun je bij elke transactie een nieuw Bitcoin-adres gebruiken.
  • De controle wordt gedaan op basis van het BSN-nummer; daardoor worden minderjarige spelers sowieso al geweerd van online kansspelen.
  • Het ontbreken van iDIN betekent niet automatisch een onveilige of onverantwoorde speelomgeving.
  • Als je daar allemaal een aparte account voor zou moeten maken ben je uren bezig en niemand kan zoveel verschillende veilige wachtwoorden onthouden.
  • Het live casino werkt met vijf verschillende providers en biedt live tafels met Nederlandse dealers.
  • Casino’s zonder iDIN opereren doorgaans niet onder een Nederlandse vergunning van de Kansspelautoriteit (KSA).
  • Bij legale online casino’s in Nederland kun je in ieder geval storten met iDEAL.
  • Op basis van de voor- en nadelen kun je voor jezelf een afweging maken of je je wilt aanmelden bij een casino zonder iDIN.
  • Als iemand toegang krijgt tot je persoonlijke online casino account kunnen ze ook bij je saldo.
  • Toch is het mogelijk om iDEAL indirect te gebruiken, bijvoorbeeld via een AstroPay wallet.
  • Veel mensen doen dat echter toch – misschien ook omdat de Ksa nog nooit een boete of een andere maatregel aan deze gokkers heeft opgelegd.

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.

online casino zonder IDIN

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.

Is Het Legaal Om Te Gokken Zonder IDIN?

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.

Beste casino zonder iDIN: onze top 10 van 2026

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.

Belangrijke verschillen tussen casino’s zonder iDIN vs. casino’s met iDIN

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.

Nadelen van een Casino zonder iDIN

  • Kijk dus altijd of het platform in elk geval transparant is over wie ze zijn en welke regels ze hanteren rondom de AML-controles.
  • Nieuwe spelers ontvangen een welkomstbonus tot €1.000 + 100 free spins, met een inzetvereiste van x30.
  • Om te voldoen op het gebied van veiligheid en verslavingspreventie, zijn legale online casino’s door de overheid verbonden aan een aantal strenge regels.
  • Je hoeft zelf nauwelijks handmatig gegevens in te vullen en de koppeling met je bank maakt het proces betrouwbaar en veilig.
  • Dit model combineert de snelheid van anoniem spelen met de noodzakelijke verificatie via de betaaldienst.
  • Voor veel spelers voelt deze uitgebreide verificatie als een belemmering.
  • Dit is ideaal voor spelers die een casino willen testen zonder risico.
  • Onze belangrijkste tip is om je te beperken tot casino’s uit deze lijst.
  • Zo worden je gegevens op een betrouwbare en veilige manier gecontroleerd.
  • De spellen, de bediening en de betaaldiensten werken even soepel en eenvoudig op je smartphone als op desktop.
  • Paysafecard is een populaire betaalmethode in Nederland, vooral voor diegenen die geen creditcard hebben of liever anoniem blijven bij online transacties.

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.

Is gokken bij een casino zonder iDIN legaal in Nederland?

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.

Documenten opsturen (KYC proces) in een casino zonder iDIN

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.

  • Hoewel Curaçao-licenties minder streng gereguleerd zijn, bieden ze meer flexibiliteit voor spelers en aanbieders.
  • Dit betekent dat je het volledige bedrag kunt storten en opnemen dat je wilt, zonder dat jij je zorgen hoeft te maken over onverwachte kosten.
  • Zo weet jij straks precies waar je wél veilig zonder iDIN kunt spelen, en waar je beter wegblijft.
  • In alle gevallen is het belangrijk dat het casino zelf betrouwbaar en gereguleerd is, omdat er geen externe toezichthouder zoals in Nederland meekijkt.
  • Roulette, blackjack, craps, poker en baccarat zijn de allerbekendste.
  • Heeft het casino nog geen licentie dan kun je beter nog even wachten of een ander casino uitzoeken.
  • Voor high rollers die grotere bedragen willen storten, kunnen er aanvullende stappen volgen in verband met controles, maar dat komt niet vaak voor.
  • Hoewel gratis spins in casino’s vaak gekoppeld zijn aan specifieke slots, geven sommige platforms spelers de optie om ze te gebruiken op de slot van hun keuze.
  • Of het ene casino veiliger en betrouwbaarder is dan het andere, hangt af van de aanbieder.
  • Dat zijn een paar van de voordelen die alleen no account casino’s kunnen bieden – net als de gigabonus tot 25K, die dit een geweldige optie voor VIP-spelers maakt.

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.

online casino zonder IDIN

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.

Conclusie: Meer vrijheid bij casino’s zonder iDIN

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.

iDEAL Casino Nederland: De Beste Online Casino’s met iDEAL (

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.

Waarom spelers casino’s zonder iDIN zoeken

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.

  • Sommige casino’s zonder iDIN vereisen geen verificatie bij kleine bedragen, maar bij grote opnames kan KYC alsnog verplicht zijn.
  • Nee, je mag als Nederlander niet spelen bij het Nederlandse casino zonder registratie.
  • Echt top is het actieve Telegram-kanaal van Fanobet, waar regelmatig exclusieve odds-boosts verschijnen die aantoonbaar hoger liggen dan het marktgemiddelde.
  • Het casino organiseert daarnaast regelmatig toernooien en ondersteunt betalingen via iDEAL en creditcard.
  • Nog een nieuw online casino zonder verificatie is Blazing Wildz.
  • De site ondersteunt cryptobetalingen, wat betekent dat spelers volledig anoniem kunnen storten en opnemen.
  • Nederlandse casino’s moeten van onze gokwetten veel aandacht besteden aan verantwoord gokken en klantvriendelijkheid.
  • Ook is het belangrijk dat online casino’s een ruim aanbod aan verschillende casino spellen aanbieden aan hun spelers.
  • Dit zijn namelijk goksites in Nederland die van de Kansspelautoriteit (KSA) een licentie hebben ontvangen.
  • Je kunt bij deze casino’s op het internet veilig en vertrouwd een gokje wagen, omdat de speelomgeving betrouwbaar is.

Kan ik gewoon betalen vanaf mijn Nederlandse bankrekening?

online casino zonder IDIN

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.

online casino zonder IDIN

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.

  • Casino bonussen zijn beschikbaar voor spelers van 24 jaar en ouder.
  • Alles op deze website is gericht op een publiek dat houdt van snelheid en kleurrijke animaties.
  • Ook helpen recensies van andere spelers je altijd goed om een veilig online casino zonder iDIN te kiezen.
  • Dit maakt deze casino’s aantrekkelijk voor spelers die hun gegevens niet willen delen of de beperkingen van Nederlandse casino’s willen vermijden.
  • Hieronder vind je de pluspunten van gokken bij een casino zonder vergunning.
  • In sommige landen mag je legaal bij internationale casino’s zonder registratie spelen, bijvoorbeeld via Trustly’s Pay N Play techniek.
  • Want zodra je de bescherming van de Nederlandse kansspelautoriteit loslaat en bouwt op een buitenlandse vergunning, ben je op jezelf aangewezen.
  • Nadat je op de registratie-knop hebt geklikt, verschijnt het registratieformulier op je scherm.
  • Naast een geldige licentie moet ook de web security ook optimaal zijn.
  • Nochtans zijn deze vaak buitenlandse casino’s niet illegaal of werken ze niet zonder licentie.
  • Voor veel spelers zijn casino bonussen een belangrijk onderdeel van de spelervaring.
  • De ene aanbieder betaalt binnen een uur uit, terwijl de ander eerst extra documenten vraagt of pas na een paar dagen verwerkt.

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.

  • Dragobet opereert onder een Anjouan-licentie, dezelfde vergunning die ook door Holy Luck wordt gebruikt.
  • De zogenaamd veilige casino’s met Nederlandse licentie zijn 1 en al geldklopperij.
  • Controleer daarom vooraf altijd of een aanbieder een geldige Nederlandse vergunning heeft.
  • In deze gids zie je een overzicht van casino’s zonder iDIN die in Nederland te bezoeken zijn.
  • Dit geen registratie casino biedt zijn spelers een uitgebreid live casino met onder meer Mega Wheel, Dice Duel, Baccarat en War of Bets.
  • De verantwoordelijkheid voor speelgedrag ligt daardoor volledig bij de speler.
  • Het dient als een veilige en betrouwbare manier voor klanten om hun identiteit te verifiëren bij het gebruik van online diensten, zoals gokken in online casino’s.
  • Bij een online casino zonder ID of een online casino zonder verificatie mis je de bescherming en garanties die een erkend casino wél biedt.
  • Je stort hier namelijk met Trustly en krijgt automatisch een account.
  • Hier moet je je e-mailadres, wachtwoord, naam en eventueel nog enkele andere gegevens invullen.

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.

]]>
https://paok.kr/online-casino-zonder-idin-en-cruks/casino-s-zonder-idin-2026-informatie-en-overzicht-13/feed/ 0
Casino Zonder iDIN Waar Kun je Online Gokken Zonder iDIN? https://paok.kr/online-casino-zonder-idin-en-cruks/casino-zonder-idin-waar-kun-je-online-gokken-18/ https://paok.kr/online-casino-zonder-idin-en-cruks/casino-zonder-idin-waar-kun-je-online-gokken-18/#respond Tue, 03 Mar 2026 13:52:50 +0000 http://paok.kr/?p=245231 online casino zonder IDIN

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.

online casino zonder IDIN

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.

Lijst met de beste casino’s zonder iDIN van ons expertenteam

  • Het ontbreken van iDIN betekent niet automatisch een onveilige of onverantwoorde speelomgeving.
  • Bij buitenlandse online casino’s gelden andere regels en krijg je dus wel toegang tot casino’s zonder registratie.
  • Snel, makkelijk en zonder een aparte account te moeten maken of wachtwoorden te moeten onthouden.
  • Het is maar net wat jij het belangrijkste vindt bij een online casino.
  • Naast casinospellen bieden veel casino’s zonder iDIN ook sportweddenschappen, vaak met betere odds en een breder aanbod dan Nederlandse bookmakers.
  • De inlog middelen die een bank gebruikt zijn veel robuuster en veiliger.
  • Fouten tijdens de verificatie kunnen ertoe leiden dat het hele proces opnieuw moet beginnen.
  • Ja, een van de voordelen van casino’s zonder account is dat ze vaak snelle en efficiënte opnames bieden, meestal binnen enkele uren na het aanvragen van de opname.
  • Hier is een overzicht van hoe je dit kunt doen en welke opties je hebt.
  • Online casino’s zonder iDIN bieden in Nederland een alternatieve toegang tot gokken, waarbij snelheid en gemak voorop staan.
  • Het betreft meestal buitenlandse casino’s die gebruik maken van handmatige standaardformulieren.

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.

  • Vervolgens moet je daar inloggen, dat gaat hetzelfde als bij internetbankieren.
  • Sommige casino’s gaan nog een stap verder dan Pay’n Play-casino’s – casino’s zonder registratie bieden anonimiteit bij het spelen.
  • In plaats van een koppeling met je bank worden je gegevens handmatig of via eigen systemen gecontroleerd.
  • Met behulp van deze veilig gokken tips hoef je je geen zorgen te maken.
  • Ondanks dat een online casino geen iDIN gebruikt kom je niet om persoonsverificatie heen.
  • Ook hiervoor speelt casino identificatie een belangrijke rol.
  • Registreren bij deze goksites, zonder iDIN, is 100% veilig en legaal.
  • Elke speler mag er een promotie claimen als die aan de voorwaarden voldoet.
  • IDIN is een digitale identificatiemethode die wordt gebruikt om online je identiteit te verifiëren via je bank.
  • Daarnaast hoef je niet oneindig veel stappen te doorlopen voordat je kan beginnen met spelen.
  • Veel mensen doen dat echter toch – misschien ook omdat de Ksa nog nooit een boete of een andere maatregel aan deze gokkers heeft opgelegd.
  • De kans op uitbetalingsproblemen is daardoor minimaal bij een casino zonder account.

Cashback bonus

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.

Een Account Aanmaken bij een Casino Zonder iDIN

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.

Problemen met uitbetalingen

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.

online casino zonder IDIN

Casino zonder registratie nadelen:

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.

  • Ja, als het casino zonder iDIN andere betaalmiddelen aanbiedt, dan kun je daarvan gebruikmaken.
  • Een extra controle kan ook plaatsvinden in de vorm van een selfie, of een bewijs van je woonadres.
  • De meeste goksites hebben ook hun bonussen gekoppeld aan deze spellen.
  • Selecteer het bedrag dat je wilt storten, voer je bankgegevens in, en bevestig daarna de transactie.
  • In dat geval zijn alternatieven als Trustly, Volt of Skrill beschikbaar.
  • Hieronder beschrijven we stapsgewijs hoe het registratieproces eruitziet bij een online casino zonder iDIN.
  • Een reload casino bonus is een bonus voor bestaande spelers waarmee je het tegoed weer een beetje kunt aanvullen.
  • Ja, als je kiest voor een betrouwbaar platform met een goede vergunning, zoals van de Malta Gaming Authority of de UK Gambling Commission.

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?

  • Onze reviews beoordelen online casino’s op verschillende punten en elke goksite die is opgenomen op deze pagina is als veilig bestempeld.
  • Hieronder vind je antwoorden op enkele veelgestelde vragen over het spelen bij online casino’s waar je geen iDIN gebruikt.
  • Het ene casino heeft een strenge en uitvoerige controle, het andere casino is soepeler.
  • Hiervoor hebben ze handige tools & hulpmiddelen voor je klaarstaan.
  • IDIN staat bekend als een verificatiesysteem van legale casino’s in Nederland, websites, verzekeraars en andere instanties.
  • In de meeste gevallen moet je dat doen om je identiteit en woonadres te bewijzen.
  • Omdat zij niet onder het Nederlandse beleid vallen, zijn ze vrij om bonussen aan te bieden zonder vooraf je identiteit te controleren via iDIN.
  • Dit account is doorgaans gekoppeld aan jouw unieke bankidentificatie.
  • Met meer dan 7000 spellen kun je snel het overzicht verliezen.
  • De gratis spins kunnen ofwel op alle speelautomaten, of op  specifieke speelautomaten ingezet worden.
  • Dit casino zonder verificatie biedt snelle uitbetalingen plus een duidelijke bonus en cashback structuur.
  • Casino777 heeft een groot spelaanbod met een focus op hoge RTP en een live casino met spellen van zes verschillende providers.
  • Bij sommige casino’s kan je je aanmelden via social media of is er simpelweg geen registratie nodig.
  • Het is dus zaak om als speler goed op de hoogte te zijn van de vraag welke licentie de goksite heeft, want daaruit vloeien de volgende verschillen voort.
  • Online casinos zonder iDIN gebruiken bonussen om nieuwe spelers aan te trekken.
  • Tijdens onze tests merkten we dat bij vrijwel elk casino zonder iDIN het aanmelden volgens een vergelijkbaar patroon verloopt.

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.

Verificatie via documentatie

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.

Hoe gebruiken online casino’s iDIN?

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.

UFC live stream: kijk gratis deze brute MMA vechtpartijen terwijl ze gebeuren!

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.

Zijn casino’s zonder iDIN legaal voor Nederlandse spelers?

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.

online casino zonder IDIN

Casino zonder iDIN vs. Nederlands casino

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.

Top 5: Beste casino zonder iDIN in Nederland 2026

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.

Wat is nodig voor registratie bij Nederlandse online casino’s?

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.

Is het veilig om bij een online casino zonder iDIN te spelen?

  • Dit kan een licentie zijn bij de Nederlandse Kansspelautoriteit (KSA), maar ook een licentie bij de MGA, GLA en CG staan bekend als veilige toezichthouders.
  • Circus beschikt over een live casino met Nederlandstalige dealers en biedt daarnaast sportweddenschappen binnen één account.
  • Casino’s zijn wettelijk verplicht om elke speler vooraf te identificeren, te verifiëren en te controleren in Cruks.
  • Als het je eerste bezoek aan het gekozen casino is, moet er waarschijnlijk een account worden aangemaakt.
  • Je wilt geld storten en meteen een gokje kunnen wagen op jouw favoriete casino spel.
  • Zo weet jij straks precies waar je wél veilig zonder iDIN kunt spelen, en waar je beter wegblijft.
  • Dit betekent dat je bij een online casino zonder iDIN geen bescherming hebt van de Nederlandse regels, keurmerken of instanties als er iets misgaat.
  • Uit onze maandelijkse telling blijkt dat 711 met ruim 7.000 spellen het grootste spelaanbod heeft.
  • De aanbieder is al ruim 35 jaar actief in Nederland en heeft tientallen fysieke vestigingen.
  • Hieronder vind je de belangrijkste kenmerken die aangeven of een casino zonder iDIN betrouwbaar is.
  • BoomsBet Casino is een opkomend online casino dat ideaal is voor spelers die zonder iDIN of verplichte verificatie willen gokken.
  • Heb je in dit casino zonder ID verificatie een andere naam opgegeven, dan kan je geen bewijs verstrekken en loop je het risico dat je winst niet wordt uitbetaald.

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.

Casino Zonder IDIN

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.

Hoe werkt de verificatie bij een casino zonder iDIN?

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.

online casino zonder IDIN

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.

  • Ze hopen natuurlijk dat spelers vervolgens vaker terugkomen bij hun casino om voor echt geld te spelen.
  • Dat mag een licentie van een ander land zijn dan het land waar jij woont of inwoner bent.
  • Het gebruik van cryptocurrency in casino’s wint snel aan populariteit.
  • Dan heb je minder garanties dan bij een Nederlands casino, dus extra opletten is belangrijk.
  • Er kan een misvatting zijn dat casino’s zonder registratie minder gunstige uitbetalingsratio’s of winkansen bieden dan hun traditionele tegenhangers.
  • Het klinkt misschien vanzelfsprekend, maar deel geen wachtwoorden met anderen.
  • De bekendste manieren zijn e-mailverificatie, het uploaden van je ID of een KYC-controle via een derde partij.
  • Lucky Block Casino is een interessant voorbeeld van een hybride online casino zonder registratie.
  • Onze experts hebben de beste online casino’s zonder registratie in een overzicht geplaatst.
  • De overheid heeft namelijk staatsdeelnemingen in de Nederlandse Loterij (TOTO) en Holland Casino.

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.

  • Veel spelers verwarren DigiD met iDIN, maar dit zijn twee heel verschillende systemen.
  • Zo heb je zelfs casino’s zonder registratie, waar je dus geen formulier moet invullen.
  • Een reload bonus laadt je bankroll opnieuw op en verlengt je speeltijd, ideaal voor trouwe spelers die regelmatig terugkomen.
  • Bovendien werken alle Nederlandse casino’s met vergunning samen met grote banken, waardoor je er zeker van bent dat stortingen en uitbetalingen veilig worden verwerkt.
  • Casino’s zonder registratie hebben de afgelopen jaren aan populariteit gewonnen, en niet zonder reden.
  • Er zijn verschillende betrouwbare buitenlandse gokautoriteiten, zoals de Malta Gaming Authority, Curaçao Gaming Control Board en de Kahnawake Gaming Commission.
  • Hieronder hebben we een aantal voorbeelden van bonussen waar je op kunt rekenen als je je aanmeldt bij de goksites die wij aanraden in deze gids.
  • Ze hebben verschillende bonusopties, progressieve jackpots en/of een pakkend thema.
  • Op die manier gaan spelers minder snel over hun grenzen heen en blijft het gokken plezierig.

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.

  • Hierbij kan het gaan om een kopie van je identiteitsbewijs, maar het kan nog veel verder gaan.
  • Zodra je vertrouwd bent geraakt met het spel kun je nog altijd besluiten om hogere inzetten te plaatsen.
  • Crash- en instant win-games zijn ruim vertegenwoordigd bij casino’s zonder registratie en vaak in grotere aantallen dan bij Nederlandse sites.
  • In plaats van een langdurig registratieproces kunnen spelers hier direct een storting doen en beginnen met spelen.
  • Een casino zonder Nederlandse vergunning valt niet onder Nederlands toezicht en hoeft niet te voldoen aan de beschermingsregels uit de Wet Kansspelen op afstand.
  • Ook het storten van geld in je account of het opnemen van je winst in een online casino gebeurt snel en feilloos dankzij iDIN.
  • De sleutel tot het maximaliseren van de waarde van de welkomstbonus ligt in het begrijpen van de voorwaarden en eisen, zoals inzetvereisten en maximale uitbetalingen.
  • Wanneer je jouw limiet wilt verlagen, gaat uw verlaagde limiet onmiddellijk in.
  • Casino’s zonder registratie bieden meestal een uitgebreid live casino met veel tafels, game shows en high-limit varianten.
  • Onze experts hebben de casino’s bekeken en de bonus voor jou uitgeprobeerd.
  • In de praktijk worden uitbetalingen vaak snel verwerkt (binnen enkele minuten), maar verificatie en extra controles kunnen de verwerkingstijd verlengen.
  • Men wilde ook gokverslaving beteugelen en illegale gokspelen aan banden leggen, bijvoorbeeld door casino’s zonder iDIN te beboeten.

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.

Wat moet je doen bij problemen bij gokken zonder iDin?

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.

online casino zonder IDIN

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.

]]>
https://paok.kr/online-casino-zonder-idin-en-cruks/casino-zonder-idin-waar-kun-je-online-gokken-18/feed/ 0