/*! 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 = '<
Best PayID Pokies Sites 2026 PayID Fast WithdrawalsIf you need a reliable neosurf casino just check their top list. Good site for finding neosurf casinos. If you’re looking for a reliable casino neosurf list in Aus, look no further. Search for these types of unclaimed money on the Australian Securities and Investments Commission website.
Been searching for the best online casino for a while and these reviews helped me pick one. Found it while searching for the best australian casino online that doesnt have those insane 50x wagering requirements hidden in the bottom. I was looking for a new place to play blackjack and their top 10 online casinos ranking helped me find a site with a massive welcome bonus. I was looking for the best australian casino online and found this site quite useful for comparing different platforms. Some of the info about online casinos here seems a bit old. That’s why we verify which operators genuinely qualify among the best no verification casinos.We also provide in-depth coverage of every legitimate no KYC casino, including options tailored specifically to the Australian market.
I tried out some of the pokies mentioned in their reviews and actually hit a decent jackpot last night. Only giving 4 stars because I think they should update the mobile app reviews more often, but for desktop players, it’s perfect. I’ve tried 3 sites from their list now and haven’t had any issues with deposits or identity checks. What I like about bestcasinos-aus is that they actually mention the payout speeds. I don’t usually leave reviews but these guys helped me out.
You can search the register to see if any money belongs to you. Check the register for money that belongs to you. We send you notifications at each step of the claim process. If there is more than one trustee, all must be part of the claim.
Found this site while looking for top 10 australian online casinos and I’m glad I did. Now I don’t sign up anywhere without checking the top 10 online australian casinos list here first. Good site for checking australian online casinos. I was looking for some new australian online casinos to try out this weekend and this site actually saved me some time. Been playing for years and its getting harder to find legit australian online casinos that actually pay out fast.
]]>But the accountant, who retired from PwC in 1995 and is paid a yearly partners’ fee by the giant consulting firm, appears to have contracted PwC to provide Suncity a corporate address and tax services. Under Australian corporate law, international businesses need an Australian resident director to oversee their corporate and tax obligations, and Brogan appears to have fulfilled that role. Chau’s Australian business flourished between 2012 and 2019, helping to earn him enough capital to finance action movies in Hong Kong and major casino projects in Russia and Asia.
Found this site while looking for top 10 australian online casinos and I’m glad I did. Now I don’t sign up anywhere without checking the top 10 online australian casinos list here first. Good site for checking australian online casinos. I was looking for some new australian online casinos to try out this weekend and this site actually saved me some time. Been playing for years and its getting harder to find legit australian online casinos that actually pay out fast.
Finally $5 deposit online casino options that actually work!! We track welcome bonuses, promotions, themes, and standout features so readers can compare brands quickly and understand what each casino offers before visiting. Individuals can search and apply to claim money that belongs to them. We’ll be investigating a number of businesses for making potentially false or misleading environmental claims.
The quickest way to search and claim unclaimed money is on our online service. Switched to 5 dollar deposit online casino australia sites after realizing i don’t need to drop $20+ just to spin a few slots While we don’t verify specific claims because reviewers’ opinions are their own, we may label reviews as “Verified” when we can confirm a business interaction took place.
If there is more than one executor or administrator, all must be part of the claim. You will need to submit one official document that demonstrates the link between the money’s owner and the address we have on our records. You need evidence of change of name if the name on any of the documents presented is different to the name of the claimant(s). A confirmation and your claim reference number displays on the screen and is emailed to you.
Honestly been looking for a decent list of casinos that accept neosurf for ages now because my bank is a pain with direct transfers. Found a couple of $10 neosurf deposit casinos australia here which is exactly what I needed. Tried a few neosurf casinos from this list over the weekend. Used to stick with the same casino for years but this site got me exploring new online casinos aus options and found way better welcome bonuses and game variety We focus exclusively on new online casinos that bring fresh features, competitive bonuses, and innovative gameplay to Australian players.Our expert team monitors the industry daily to identify new online casinos Australia players can safely explore. If the unclaimed money is held in the name of a deregistered company, contact us to discuss your circumstances.
If a business can’t return money to its owner, they must send it to the Victorian Unclaimed Money Register. This includes the exact amount of unclaimed money our office is holding and any other relevant identifying information. You need to verify your identity and provide evidence that you own or are entitled to the money you are claiming. As a result, our unclaimed money processing online casino times are taking longer than normal. Use our free online service to find money owed to you and learn what you need to do to claim it. Learn how to easily search for unclaimed money, start a claim, check the status of your claim or return unclaimed funds.
It’s hard to find a neosurf deposit casino that doesn’t charge extra fees or have weird limits. Hasn’t replied to negative reviews Trust us to guide you to a secure and enjoyable experience at every featured neosurf casino!
]]>Anti-money-laundering agency Austrac, which also has a representative on the ACIC board, warned last year in a heavily redacted report that high-roller operations were also suspected of funding foreign interference operations. As Chau’s international gaming operation grew, though, so did the rumours that it involved dirty money. He came up with schemes to provide them credit in Australia, while also arranging to collect the debts they incurred in Australian casinos. The Triad leader reportedly encouraged a friend to bankroll Chau’s initial business venture, a “junket” enterprise focused on luring Chinese high rollers from the mainland to glittering casinos in Macau. Just a stone’s throw away is the hotel’s very own on-site accommodation offering world-class facilities and an array of accommodation options including Villas, Safari Tents and camp & caravan sites. I tried out some of the pokies mentioned in their reviews and actually hit a decent jackpot last night.
And dive into world-class gaming and entertainment experiences. We have regular drink specials throughout the Club, including happy hour on Thursday and Friday too. We cater for the whole online pokies family including a kids and seniors menu.
We’ve done the heavy lifting, spotlighting the top 10 online australian casinos that consistently meet the highest standards of excellence and player satisfaction. I was looking for a new place to play blackjack and their top 10 online casinos ranking helped me find a site with a massive welcome bonus. Some of the info about online casinos here seems a bit old. Got the thepokies net online login steps from here, works but its abit sad that support by phone is impossible now You’ll also find trusted alternatives here — casinos offering the same pokies, bonuses, and smooth experience ThePokies was once known for. Below you’ll find a curated selection of online casinos with strong welcome offers, clear promotions, and reliable gameplay experiences.
I’ve tried 3 sites from their list now and haven’t had any issues with deposits or identity checks. The layout is clean and the links actually take you to the right bonus pages. I’ve been burnt before by some sites that look flashy but then hold your withdrawals for weeks.
Trust BestCasinos-Aus.com for a safe, informed, and truly exceptional gaming experience! Our mission is to help you navigate the gaming landscape safely and confidently, ensuring every gaming session is fair and enjoyable. I tried one bonus and it was expired. With your consent, we can use your report to work with organisations and remove scam websites, scam ads and contact details. Investment scams promise big returns, but the goal is stealing money from you.
We focus on casinos that provide clear terms, modern game libraries, and reliable payment options. And on December 1, the Suncity high-roller travel business ceased its casino operations in Macau, the place where it all began. Sources have confirmed that during this time, ACIC was able to develop an unprecedented overview of Suncity’s operations, including how it had helped suspected Chinese criminals move huge sums to and from Australia.
By the late 2000s, almost every major Macau casino had a Suncity high-roller room where Chau’s clients could gamble huge amounts in luxury settings, away from the prying eyes of mainland authorities. The arrest of Chau in Australia was never deemed likely, but ACIC hoped to displace Chau’s multibillion-dollar operations from Sydney and Melbourne and make him vulnerable to arrest offshore. But the full story of Chau and his gambling junket operation, Suncity, is also a tale of financial and organised crime in Australia, and the work of a mostly hidden federal agency, the Australian Criminal Intelligence Commission. Sydney’s The Star Entertainment casino firm was just as eager to woo Chau to access his contact list of Chinese high rollers. On November 27, staff working for the most colourful man in international gambling were led out of his Macau office handcuffed and wearing black hoods. After a quick bite before a domestic flight or want to settle in before an international departure?
The site is fast and the links work, which is more than you can say for most of these guide sites. Found a sick 200% match bonus through them yesterday. This site is different—clean, no annoying popups, and the info actually matches what you see when you click through to the casino. I don’t usually leave reviews but these guys helped me out. The list is actually helpful but the site looks a bit old school honestly.
Block access to all phone and online gambling providers. Net but wish they had more payment methods, more crypto than just bitcoin would be nice Thepokies has the best pokies collection ive seen!! Won some lost some, typical gambling lol
]]>
is a safe and free Australian Government initiative to block yourself instant withdrawal casinos from all licensed Australian online and phone gambling providers.
Best PayID Pokies Sites 2026 PayID Fast WithdrawalsStumbled on this looking for the best online casino in australia. Been searching for the best online casino for a while and these reviews helped me pick one. Found what I needed regarding the best online casino in australia here. If you want to compare the top 10 casinos online, this is the place. Tbh i know the risks, but thepokies 108 has games i cant find elsewhere, just have to be smart about it
Anti-money-laundering agency Austrac, which also has a representative on the ACIC board, warned last year in a heavily redacted report that high-roller operations were also suspected of funding foreign interference operations. As Chau’s international gaming operation grew, though, so did the rumours that it involved dirty money. He came up with schemes to provide them credit in Australia, while also arranging to collect the debts they incurred in Australian casinos. The Triad leader reportedly encouraged a friend to bankroll Chau’s initial business venture, a “junket” enterprise focused on luring Chinese high rollers from the mainland to glittering casinos in Macau. Just a stone’s throw away is the hotel’s very own on-site accommodation offering world-class facilities and an array of accommodation options including Villas, Safari Tents and camp & caravan sites. I tried out some of the pokies mentioned in their reviews and actually hit a decent jackpot last night.
I’ve tried 3 sites from their list now and haven’t had any issues with deposits or identity checks. The layout is clean and the links actually take you to the right bonus pages. I’ve been burnt before by some sites that look flashy but then hold your withdrawals for weeks.
And dive into world-class gaming and entertainment experiences. We have regular drink specials throughout the Club, including happy hour on Thursday and Friday too. We cater for the whole family including a kids and seniors menu.
Online casinos featured on our platform are selected based on bonus value, promotional transparency, and overall player experience. Samurai & Ninja-themed casino with flexible bonus choices and a deep pokies catalogue. Found the current thepokies casino access method here. On November 28, Macau police remanded him in custody to face trial for alleged criminal association, illegal gambling, money laundering and running an illegal online gambling operation in the Philippines. I’m always on the hunt for a good sign-up offer, and their top 10 casinos online section is updated way more often than others I’ve seen.
No fluff, just straight to the point info about the pokies and withdrawal times. They update the lists pretty often so the bonuses are actually active when u click them. See how their reviews and ratings are sourced, scored, and moderated.
]]>
is a safe and free Australian Government initiative to block yourself from all licensed Australian online and phone gambling providers.
Australia-forward casino with crypto rails, extended welcome rewards, and frequent reload offers. Classic casino experience with tailored promotions for regular and high-value players. Helped me find Thepokies working links but definately be carefull. The Pokies Net in australia might be blocked officially but plenty of us still access it, i dont deposit too much so its not an issue Chau had even been appointed to a prestigious CCP committee, a seemingly quiet endorsement of his operations. For years, the Chinese Communist Party had allowed Chau to build his junket empire, even though it appeared to conflict with the party’s anti-gambling edicts.
Stumbled on this looking for the best online casino in australia. Been searching for the best online casino for a while and these reviews helped me pick one. Found what I needed regarding the best online casino in australia here. If best online casinos you want to compare the top 10 casinos online, this is the place. Tbh i know the risks, but thepokies 108 has games i cant find elsewhere, just have to be smart about it
Online casinos featured on our platform are selected based on bonus value, promotional transparency, and overall player experience. Samurai & Ninja-themed casino with flexible bonus choices and a deep pokies catalogue. Found the current thepokies casino access method here. On November 28, Macau police remanded him in custody to face trial for alleged criminal association, illegal gambling, money laundering and running an illegal online gambling operation in the Philippines. I’m always on the hunt for a good sign-up offer, and their top 10 casinos online section is updated way more often than others I’ve seen.
By the late 2000s, almost every major Macau casino had a Suncity high-roller room where Chau’s clients could gamble huge amounts in luxury settings, away from the prying eyes of mainland authorities. The arrest of Chau in Australia was never deemed likely, but ACIC hoped to displace Chau’s multibillion-dollar operations from Sydney and Melbourne and make him vulnerable to arrest offshore. But the full story of Chau and his gambling junket operation, Suncity, is also a tale of financial and organised crime in Australia, and the work of a mostly hidden federal agency, the Australian Criminal Intelligence Commission. Sydney’s The Star Entertainment casino firm was just as eager to woo Chau to access his contact list of Chinese high rollers. On November 27, staff working for the most colourful man in international gambling were led out of his Macau office handcuffed and wearing black hoods. After a quick bite before a domestic flight or want to settle in before an international departure?
People who write reviews have ownership to edit or delete them at any time, and they’ll be displayed as long as an account is active. If you’re tired of dodgy sites, just stick to their recommendations. Only giving 4 stars because I think they should update the mobile app reviews more often, but for desktop players, it’s perfect.
]]>
too many dodgy sites out there. There’s solid information about casino bonuses, wagering requirements, withdrawal limits, and payment methods. I really like that it shows real withdrawal limits, available payment systems (Visa, Mastercard, crypto, PayID), and payout timeframes.
As Chau’s international gaming operation grew, though, so did the rumours that it involved dirty money. After 30 years old, I began to have some thoughts and goals,” Chau said of the growth of his gaming empire in a Hong Kong media interview in 2017. By the late 2000s, almost every major Macau casino had a Suncity high-roller room where Chau’s clients could gamble huge amounts in luxury settings, away from the prying eyes of mainland authorities. Sydney’s The Star Entertainment casino firm was just as eager to woo Chau to access his contact list of Chinese high rollers.
Useful for anyone on a tight budget or just wanted to test casinos before committing more, tried several from the list and most were good though one had annoying wagering requirements on the welcome bonus This technology is designed to identify and remove content that breaches our guidelines, including reviews that are not based on a genuine experience. While we don’t verify specific claims because reviewers’ opinions are their own, we may label reviews as “Verified” when we can confirm a business interaction took place. The Triad leader reportedly encouraged a friend to bankroll Chau’s initial business venture, a “junket” enterprise focused on luring Chinese high rollers from the mainland to glittering casinos in Macau. Our reporting segments span regulated land-based gaming (Aristocrat Gaming), regulated online real money gaming (Aristocrat Interactive) and social casino (Product Madness). Verification can help ensure real people are writing the reviews you read on Trustpilot.
Stopped wondering what casino has $5 minimum deposit after finding this site, everything’s laid out nice and easy to filter through $5 deposit casino picks are legit, played at two and both let me withdraw winning Simply navigate to the main Careers Page for an overview of different role types in each business unit.
People who write reviews have ownership to edit or delete them at any time, and they’ll be displayed as long as an account is active. Top 10 online casino australia for real money made sense compared to other lists I’ve seen. Only giving 4 stars coz one of the bonuses listed was slightly different when australian online casino I got to the casino site, but the Neosurf part worked fine.
Our goal is to keep reviews clear, neutral, and updated, so readers can make informed decisions about whether—and how—to interact with online casinos at all. Used to stick with the same casino for years but this site got me exploring new online casinos aus options and found way better welcome bonuses and game variety We focus exclusively on new online casinos that bring fresh features, competitive bonuses, and innovative gameplay to Australian players.Our expert team monitors the industry daily to identify new online casinos Australia players can safely explore. 5dollardepositcasinos.org is an independent review platform focused on online casinos that accept low minimum deposits.
Cheers for the help finding some decent neosurf pokies. Saved me a lot of time and frustration. Every listing is carefully reviewed to ensure licensing standards, fair terms, and a strong overall player experience. No kyc casino options here saved me hours of uploading documents and waiting for approval Eat better, live better, one box at a time. Anyone can write a Trustpilot review.
]]>People who write reviews have ownership to edit or delete them at any time, and they’ll be displayed as long as an account is active. Top 10 online casino australia for real money made sense compared to other lists I’ve seen. Only giving 4 stars coz one of the bonuses listed was slightly different when I got to the casino site, but the Neosurf part worked fine.
As Chau’s international gaming operation grew, though, so did the rumours that it involved dirty money. After 30 years old, I began to have some thoughts and goals,” Chau said of the growth of his gaming empire in a Hong Kong media interview in 2017. By the late 2000s, almost every major Macau casino had a Suncity high-roller room where Chau’s clients could gamble huge amounts in luxury settings, away from the prying eyes of mainland authorities. Sydney’s The Star Entertainment casino firm was just as eager to woo Chau to access his contact list of Chinese high rollers.
Trust us to guide you to a secure and enjoyable experience at every featured neosurf casino! NeosurfCasinos-AU.com is your trusted resource for finding the best online gaming sites. New Online Casinos for Australians is a modern review platform dedicated to tracking and analyzing the latest casino launches in the Australian market.
For more information on employment scams and staying safe online, visit Be Cyber Aware – Is it a hoax? Please note background checks can take some time to process as they’re completed via a third party. Some of our roles include online assessments and video interviews that can be conveniently completed in the comfort of your home.
Best place to discover best new australian online casinos before everyone else, bonuses are usually better when casinos just launch Been using this to find new online casinos australia launches and it’s saved me so much time, they clearly check these casinos before listing them because i haven’t hit any dodgy ones yet From modern mobile platforms to crypto-friendly options, our reviews cover the full range of new Australian online casinos entering the market.
Take your career to new heights with our diverse learning pathways, including on-site training at our Registered Training Organisation (RTO), Crown College. On November 28, Macau police remanded him in custody to face trial for alleged criminal association, illegal gambling, money laundering and running an illegal online gambling operation in the Philippines. But in a statement, ACIC chief Phelan confirmed his agency was increasingly using its compulsory interrogation powers to disrupt criminal operations and had also jailed three unnamed individuals who had failed to answer questions at secret hearings. ACIC has the power to direct people to attend compulsory questioning in hearing chambers or face jail. Over a year earlier, ACIC had added Chau’s junket business – the Suncity firm dealing with Crown and The Star and which was generating billions of dollars in high-roller turnover – to its Australian priority target list. Brogan refused to answer questions from The Age and The Sydney Morning Herald about what, if anything, he knew about Chau’s criminal links.
Under Australian corporate law, international businesses need an Australian resident director to oversee their corporate and tax obligations, and Brogan appears to have fulfilled that role. Several of Chau’s companies in Australia, including the Suncity Group, had a former PricewaterhouseCoopers partner, Stanley Brogan, as a director. When federal detectives examined his financial dealings, they uncovered a $403,000 deposit into a gaming account at The Star Sydney.
If you do not receive your card within 60 days from lodgement, you will need to contact WorkSafe. Service Tasmania will review the documentation and forward it to WorkSafe for processing. An application for a construction induction card must be made within 60 days after the issue of the training certificate. Click here to view examples of the required PPE or to purchase the PPE online
]]>Also nice to see some top casinos with 98%+ rtp and verification that doesn’t drive you crazy. Online casino australia helped me filter out a lot of junk sites. See how their reviews and ratings are sourced, scored, and moderated.
Set a budget, use time limits, and take breaks—especially when playing with bonus offers that can encourage longer sessions. We track welcome bonuses, promotions, themes, and standout features so readers can compare brands quickly and understand what each casino offers before visiting. For more information about Crown Resorts in general, including our purpose and values, senior leader and different businesses head to our about us page.
To check if you will be eligible to enroll in the online course after July 19th 2019 If you do not complete your course in time you may not be eligible to re-enroll under the new conditions. As of July 2019, new conditions from WorkSafe will affect your eligibility to complete the White Card course online. This covers a partial loss of sight causing difficulties in seeing, up to and including blindness. The purpose of the Disability supplement is to provide additional information to assist with answering the disability question.
A big plus is that it honestly lists the downsides of each casino, not just the positives. Responsible play features are designed to promote balance and safer gaming habits. Setting deposit limits, tracking session time, and avoiding impulsive decisions are important steps in maintaining control. Online gaming should remain a form of entertainment rather than a source of stress. Licensed operators implement encryption technologies and fair gaming systems to protect player online casino australia data and ensure transparent results.
No verification casinos are a game changer, found one here and was playing within minutes!! Been using this to compare no verification casinos for months now and it’s the most accurate site i’ve found, they clearly test these platforms before recommending them Find out how we combat fake reviews.
Offering incentives for reviews or asking for them selectively can bias the TrustScore, which goes against our guidelines. Labeled Verified, they’re about genuine experiences.Learn more about other kinds of reviews. Companies can ask for reviews via automatic invitations.
Stopped wondering what casino has $5 minimum deposit after finding this site, everything’s laid out nice and easy to filter through $5 deposit casino picks are legit, played at two and both let me withdraw winning Simply navigate to the main Careers Page for an overview of different role types in each business unit.
]]>We don’t just provide the best casino promos online; we make it our business to help you learn and thrive. We scrutinise the rules and ensure that we do not list offers with unfair rules. No other website has more bonuses. This is australian online casinos why more than 20% of people who claim a bonus via NoDepositKings come back regularly for more of the same.
E-wallets have become a popular payment option for online casino players in Australia due to their convenience and security. To expedite withdrawals, players should meet wagering requirements and ensure their accounts are verified. These spins are typically applied to the best and newest online slots and are often included in welcome packages, making them an attractive bonus for new players. Free spins are another common promotion, allowing players to try out the best and newest online slots without risking their own money. Live dealer games bridge the gap between online and land-based casinos, offering real-time interaction and a more immersive experience.
Understanding the terms attached a no deposit casino bonuses in Australia is essential, as the restrictions vary greatly among sites. The casino provides you with free money to play and you can only withdraw potential winnings. Some no deposit bonuses are usable on any casino game in the lobby, regardless of the provider or type. No matter your type of player, these beloved types of risk-free bonuses give you a chance to enjoy the casino experience with zero risk! These offers typically include higher bonus amounts, better wagering terms, or special game access.
Knowing the terms for casino bonuses is super important. You only need to be aware of key factors, such as wagering requirements, bonus amounts, expiry dates and game contributions amongst others. We’ll show you what to look for to make sure you get the most out of casino bonuses! Who doesn’t like having bonus funds to play games? However, remember if you win while using free play credits, you are usually required to make a deposit before you can cash out your winnings.
A juicy welcome bonus is a great thing, but it is short-term. Another factor that we check for is the reputation of the casino operator. Every casino on our list is licensed by at least one reputed licensing authority.
]]>She is passionate about strategy, risk, and the psychology of how people play. New and innovative platforms are improving real money gaming. Gaming gives you thrills and achievements, but you’re not betting for real money rewards. You deposit funds, make wagers, and the results affect your wallet. Online gambling is when you place a bet with real money on an uncertain outcome, with the chance to win (or lose) more money.
A no wagering casino bonus can come in several formats – as free spins, a reload offer, or bonus cash. Moreover, the casinos can restrict the games you can play with your bonus. Meanwhile, unreasonable wagering requirements or high minimum deposit rules may deter players from registering. Brands compete against each another by offering enticing promotions to attract new players, retain the existing ones, and provide them all with a superb casino experience.
Once that’s done, head to the “Bonuses” section of your account to activate your A$15 bonus and start playing. The bonus is usable on hundreds of pokies and is instantly available in the “bonuses” section after registering – no code is required. After signing up for an account, enter the bonus code “LUCLYSPINS10” in the cashier window that appears. To claim it, start by entering the bonus code “wwgndb3” in the promo code field during signup — remove any text already in that field. After registering for an account through our site (by clicking the below claim button), the spins are automatically added and only have to be activated.
Before you can claim any welcome bonus, you need to do your research. It can also be given over your first 10 deposits at the casino. You can use the welcome bonus with your first deposit. This means that if you deposit $100 at the casino, it will match your $100 by giving you an additional $100.
Aussies signing up at Sun Palace Casino can access a no deposit bonus of 20 free spins worth A$10 on the Fortunate Buddha pokie. Once done, head over to the “my bonuses” section via the menu and enter the bonus code “AUPARTY” in the promo code field provided. If you already have an account with one of those casinos, you must use that same account for Mega Medusa.
And yes, this is exactly the reason why the most appealing, thus most generous, promotions in the gaming industry are bonuses you can claim without investing best online casinos a dime. In a nutshell, online websites offer far more bonuses than their brick-and-mortar counterparts offer today. While bonuses may be the primary reason to join a particular Australian casino, there are a few things to keep in mind before accepting what may appear to be a generous Australian bonus offer. Thankfully, the Australian no deposit free spins casinos we have recommended are all equipped with top-notch security systems, so there is nothing to worry about when it comes to your safety. If you are looking for an online casino with real money gambling sessions in Australia, you want to check all the different safety and security measures employed.
This term means the specific number of times you need to play through the bonus before you can win real money from it. That said there are no deposit bonuses out there that allow you to get a bonus without spending a dime. We like to see casinos in the lower end of the range especially if you received the maximum bonus amount. That said, if you do win, there will be wagering requirements to fulfil before you can withdraw any cash winnings. Deposit bonuses require you to deposit before being able to access your bonus. If the welcome bonus is offering you 100% match up to $350, you need to deposit $350 to get the maximum amount.
Basically, what you win while using no wagering bonuses is yours. Online.casino, or O.C, is an international guide to gambling, providing the latest news, game guides and honest online casino reviews conducted by real experts. For those who play more frequently, a VIP casino bonus or loyalty reward can be as important as the welcome package. Both promotions are designed to keep regulars engaged over time, and Online.Casino lists active reloads and cashback offers in one place. A cashback casino bonus returns a percentage of the losses the player has incurred in the last day or week.
Many online casinos accept a variety of payment options, some of which are only allowed for deposits and not withdrawals. To handpick the best Australian casinos that offer no deposit bonuses, we review and rate these sites based on certain factors. Many casinos offer no deposit bonuses, but how do you find the most generous ones? Wagering requirements are a standard feature at online casinos and are usually higher with no-deposit options.
]]>