/*! 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 = '<
For example, if your company has a gross profit of $200,000, and total expenses (including operating expenses, interest, and taxes) amount to $150,000, your net profit would be $50,000. Next, determine your costs of goods sold (COGS), also known as your direct costs. To find it, add up what you pay in order to produce your product or service.
Based on your net profit, the financial institutions, like banks, decide whether to issue a loan or not. This stands true because net profit is a common field found on business tax forms. Furthermore, lenders and investors look at your company’s net profit to check if you own the capability to pay your future debts.
Use gross profit to see how much you make from sales before other costs. Since net profit accounts for all costs, you remove those except COGS to get gross profit. To find gross profit from net profit, add back all expenses except the cost of goods sold (COGS). If you’re just looking for a quick breakdown, here’s a side-by-side comparison of gross profit and net profit — including what they measure, how they’re calculated, and why each one matters. Net profit indicates if the company is making a profit or a loss overall, showing its financial health.
Your net profit value can impact decisions about when and how to grow your business and when to cut costs. Imagine that your company generated $10,000 in revenue during one accounting period and spent $3,000 on the total cost of goods sold. To calculate your gross profit, deduct $3,000 from $10,000 to arrive at $7,000. Are you a business owner analyzing the profit your business is making? Or perhaps you are an investor analyzing a particular business for investment, then you should have clarity on the difference between gross profit and net profit.
When comparing profit margins, consider the industry, the age of the company, and the performance of similar businesses to ensure your analysis is as accurate as possible. This may mean that a company has very low costs to produce goods and services or very high overhead costs like rent, utilities, and payroll (or, very often, both). A large difference is more common in certain industries but can also indicate inefficient cost management practices. Net profit margin takes into consideration the interest and taxes paid by a company. Net profit is calculated by subtracting interest and taxes from operating profit—also known as earnings before interest and taxes (EBIT). The net profit margin is then calculated by dividing net profit over total revenue.
Profit on its own is the amount of revenue left after costs and expenses. It can be reported at different levels, such as gross profit and operating profit, depending on which items are deducted from the gross revenue. Net profit margin is the third and final profit margin metric used in income statement analysis.
Both the metrics are very essential for making smart, data driven business decisions. Net profit what is the difference between gross profit and net profit reveals your true earnings after all the purchases and it is important for the long term financial health. For the businesses operating across borders, profit margins can be affected by a lot of factors like currency exchange rates, transfer delays, and payment fees. TransFi helps you to reduce these cross-border payment costs and manage multi-currency income.
To avoid facing a net loss after tax payments, the company should track expenses by developing a budget that includes potential tax payments per year. This will help them develop sales goals that meet their financial needs. Companies may go through different cycles of growth that lead to higher operational and interest expenses. A company may be investing more in marketing campaigns or capital investments that increase operating costs for a period, which can decrease operating profit margin. Companies may also raise capital through debt, which can decrease their net profit margin when interest payments rise.
A company’s ability to convert sales into profits is crucial to determine its success. If your business brought in income from sources outside normal operations, like investments, grants, or asset sales, add it back here. By keeping these revenue streams separate, you accurately capture the increase to your net profit without incorrectly attributing income not tied to sales or production to gross profit. Start with your total revenue from sales of goods or services (just like you did for gross profit). This is your top-line figure and the foundation of the rest of the calculation, so it’s important to be precise. Calculating net profit is a simple, powerful way to measure what your business really earns.
But if your net profit provides a more realistic number, you might be wondering why you need to know gross profits at all. We cover the difference between the two in our article on How to price a product. By keeping track of both, you can make informed decisions to strengthen your business’s financial health. If costs are rising but your pricing remains static, your profits will take a hit. Don’t be afraid to review your pricing regularly and ensure it reflects the value you provide.
By keeping track of these profits, companies can improve their operations and ensure they are financially healthy. Gross profit is the amount remaining after deducting only the cost of goods sold (COGS) from total revenue. It gives a clear picture of the direct profitability of a company’s core business activities. However, to calculate the net profit, we need to deduct all operating expenses as well.
For businesses involved in cross-border trades of goods or services, platforms like TransFi can help them save costs on transaction fees & forex markup, increasing the overall net profit. Gross revenue is simply all of the money that a company earns through sales. Gross profit, on the other hand, is a measure of how of a company’s gross revenue it can keep after paying all its expenses. Here, the total sales amount includes all goods and services in a financial period, excluding the sales of fixed assets like equipment or buildings.
Understanding gross profit trends, on the other hand, can help you find ways to minimize the cost of goods sold or raise your product prices. And if your gross profit is less than your net profit, then you know that you need to find a way to cut down your expenses. For a business owner, it is important to know the difference between profit and profitability.
]]>A vendor typically relies on the employer to promote their service and employers often do not put the energy into promotion and communication. Calculating the monthly cost under a PEPM model is a simple multiplication of the agreed-upon PEPM rate by the current number of employees or users. If a service charges $50 PEPM and a company has 100 employees, the monthly charge would be $5,000.
The pay cycle frequency for PEPM and PMPM earned commissions should be determined based on what makes the most sense for your business. However, as stated above, the number of active enrollees in a plan can change frequently and having PEPM and PMPM commissions paid to insurance producers monthly reduces the need for chargebacks. As more healthcare organizations look toward value-based care programs, we’ll discuss five ways you might measure value-based care success. While both plans allow employers to improve cost management and streamline administrative functions, they also have their own advantages. Rebecca Noori is a freelance HR Tech and SaaS writer who is obsessed with our world of work.
One area of increasing cost, but easily monitored via the PEPM, is pharmaceutical claims. In addition to understanding the year-over-year costs, there are many national benchmarks for pharmaceutical PEPMs, which brokers or advisors can provide. A number of innovative and well-established cost containment programs exist to effect change, and the vast majority of today’s programs focus on how and where to source the prescription. These international sourcing and/or patient assistance programs can drive savings from a moderate 10% to an astounding 100% subsidy.
Our flexible benefits accounts enable your HR teams and employees to stay in control of budgeting and allowances with real-time insights into how your workers use their benefits. A broker whose compensation isn’t tied solely to premiums is more likely to prioritize your interests, like finding creative ways to reduce costs while maintaining quality coverage. For example, if you have summer help and you forget to take them out of the system, you’ll end up paying for someone that hasn’t made you money.
Consider the time it takes your HR team to deploy the benefits and manage any changes throughout the cycle, for example, when employees join or leave the company. Naturally, when pricing everything up, you’ll want to maximize the value of your total benefits spend. Whether you aim to save money on the overall cost of benefits or maximize what your employees receive, follow these eight tips to stretch those dollars further. If an employee’s benefits membership card is lost or stolen, some providers charge a replacement fee every time, which can add up quickly.
But, the re-pricing of the claim will pay the contracted amount less co-pays regardless of the physician’s bill. Core Commissions’s intuitive, industry-leading software allows for easy, consistent, and accurate commission calculations. Capable of handling multiple commission rate calculations at once, Core’s software is ideal for insurance agencies utilizing PEPM as one of their commission calculation rules. Approximately 122 million Americans live what is pepm in an area with a shortage of mental health professionals.
The commission rate a producer receives can vary and depend on the individual policy, as well as the carrier. Caitlin Kapolas is a results-driven professional with a strong background in account management and retail. She is dedicated to improving client experiences and building lasting relationships. Caitlin excels in identifying client needs, resolving issues, and implementing customized solutions that drive value. Her effective communication skills ensure high client satisfaction and loyalty, making her a trusted advisor and partner in meeting client needs with precision and professionalism. With our combined engineering design knowledge and field experience, PEPM Group is capable of handling large- and small-scale projects.
This can be tricky to budget for with fluctuating currencies—one month, you may pay more than expected, and the next, you could gain a little back. Build the potential for price increases into your annual budget as your benefits provider will factor inflation, rising healthcare costs, and other externalities into their fees. The most obvious driver of employee benefits cost is the size of your business. But smaller businesses with fewer employees may access discounted plans through group policies or self-funded plans.
This accurate estimation of utilization can be tricky to nail down when employers are used to traditional models that drive low engagement and are switching to more innovative and engaging solutions. PEPM stands for “Per Employee Per Month.” It refers to the pricing model used by payroll service providers, where businesses pay a fixed monthly fee for each employee on their payroll. This pricing structure allows businesses to have better control over their payroll expenses and enables them to budget more accurately.
In this blog post, let’s unravel the secrets to launching your PEPM Benefits Program successfully. Get ready for some practical tips and insights that’ll make the implementation a breeze. For these reasons, employers are adding broader benefits encompassing mental health services, childcare support, and well-being programs to bolster their packages. Your benefits broker plays a critical role in managing one of your company’s largest expenses, but their compensation can significantly impact your costs and decision-making. By understanding how they’re paid, you can better ensure their priorities align with yours. Transparency isn’t just a compliance requirement—it’s a business necessity.
]]>Ordinary income, separately stated income, tax-exempt income and excess depletion all increase a shareholder’s basis. … Ordinary loss, separately stated loss, nondeductible expenses, non-dividend distributions, and depletion for oil and gas all decrease basis. To calculate, multiply a certain percentage, specified for each mineral, by your gross income from the property during the tax year. For this purpose, the term “property” means each separate interest business owned in each mineral deposit in each separate tract or parcel of land.
The write-off journal entry moves the asset’s book value to the income statement, where it is reported as an expense or loss and reduces the accounting period’s income. It involves accounting methods and practices determined at the corporate level. Gross IncomeThe difference between revenue and cost of goods sold is gross income, which is a profit margin made by a corporation from its operating activities. It is the amount of money an entity makes before paying non-operating expenses like interest, rent, and electricity.
Cost depletion is a valuable accounting method for businesses involved in the extraction or production of natural resources. By accurately allocating the cost of these resources over their productive life, companies can reflect the diminishing value of their assets. Understanding the calculation process, employing accurate estimates, and keeping detailed records are key to successfully applying cost depletion in your business. Depletion, by contrast, is tied exclusively to natural resources diminishing through extraction.
This calculator helps determine the depletion expense of natural resources such as minerals, timber, oil, or gas. It’s a key accounting tool for businesses involved in extraction industries to calculate asset reduction over time based on usage. Cost Depletion, closely tied to the actual cost of resource extraction, aligns well with tax reporting as it mirrors the tangible expenses incurred by a company. This method allows businesses to match their depletion deductions with actual outlays, providing a straightforward approach to tax calculations. However, its reliance on comprehensive data means it may not always be the most advantageous method for companies with fluctuating extraction rates or uncertain reserves.
Rather, the amount simply reflects an ongoing reduction in the amount of the original recorded cost of the natural resources. Depletion, on the other hand, is the actual use and exhaustion of natural resource reserves. However, the total sum of the deduction cannot exceed 50% (100% for the oil and gas industry) of the client’s taxable income. The percentage depletion method requires a lot of estimates and is, therefore, not a heavily relied upon or accepted method of depletion. In addition, Pensive Oil estimates that it will incur a site restoration cost of $57,000 once extraction is complete, so the total depletion base of the property is $600,000.
It’s a method that offers businesses the ability to track their costs and manage expenses in an effective manner. One of the most important aspects of depletion accounting is the ability to use a variety of methods to calculate the value of the depletion expense. There are different ways to calculate the depletion expense, including the units of production method, the percentage depletion method, and the cost depletion method, among others.
These resources are central to industries reliant on their extraction and sale, forming the core of depletion accounting. Accounting standards and tax regulations, such as those provided by the Financial Accounting Standards Board (FASB) under GAAP, govern eligibility and application. Depletion expense is a critical aspect of cost management in the oil and gas industry. It’s important to note that depletion accounting is not the same as depreciation. Depreciation is used to allocate the cost of fixed assets over their useful lives, while depletion is used to allocate the cost of natural resources over their consumption. The estimation of natural resources’ recoverable reserves is challenging due to uncertainties in exploration and extraction technologies.
The unsold part of the extracted natural resource should be recorded as inventory. While the depreciation expense represents the deterioration of the plant assets, the depletion expense represents the exhaustion of a natural resource. This is why the way that the company determines the depletion expense is similar to that of the depreciation expense. Depletion accounting is an important tool for companies that operate in the natural resource sector.
Instead, it provides a deduction based on a statutory percentage of the gross income, subject to certain limitations. The percentage varies depending on the resource type and is stipulated by tax regulations, such as those outlined by the IRS in the United States. This method can sometimes exceed the total cost of the resource, offering potential tax benefits. It is often favored by companies with limited reserve data or those seeking to optimize tax deductions, though it may not accurately reflect the economic reality of resource consumption.
Unlike property, plant and equipment that are used during the period, these assets get consumed as a result of extraction. Percentage depletion is a tax deduction method used by businesses involved in the extraction of natural resources such as oil, gas, coal, and minerals. It allows these businesses to recover their investment costs by deducting a percentage of their gross income derived from the sale of which method should be used to calculate depletion for a natural resource company? these resources.
This approach involves calculating the depletion expense based on the cost of the resource and the estimated quantity that can be economically extracted. The unit depletion rate is determined by dividing the total cost of the resource by the estimated recoverable units. Each period, the depletion expense is calculated by multiplying this unit rate by the number of units extracted. This method provides a direct link between the resource’s cost and its extraction, making it suitable for companies with detailed data on their reserves and extraction rates. Cost depletion allocates the cost of a natural resource asset based on the actual quantity extracted during a specific period. This method requires estimating total recoverable units, such as barrels of oil or tons of minerals, and dividing the total capitalized cost by the estimated total units to determine a per-unit cost.
Understanding these regulations allows businesses to optimize their tax strategies and potentially reduce their taxable income. Depletion accounting significantly influences a company’s financial statements, reshaping how assets, expenses, and profitability are perceived. Through the systematic allocation of depletion expenses, companies can adjust their asset valuations on the balance sheet. This adjustment ensures that the carrying value of natural resource assets reflects a more accurate financial picture, considering the gradual consumption of these resources over time. By allowing a fixed percentage of gross income to be deducted, this method can sometimes provide a more substantial tax benefit, especially in years of high revenue. This can be particularly advantageous for companies in the oil and gas industry, where the depletion rate can be as high as 15%.
]]>But understanding gross profits and net profits can help you make informed decisions about your business. These decisions can open the door to more opportunities — like attracting investors — and help you take your business to new places. If you use the Business Toolkit the taxable net profit is calculated for you.
TransFi Collections is designed to give businesses an efficient and smooth payment solution with the assurance of a secure and frictionless customer experience. Through our platform, businesses can accept payments in local currencies and convert automatically to stablecoins or fiat, making the hassles of currency exchange a thing of the past. With rapid and trusted settlement, businesses do not have to wait for slow international banking processing times anymore, gaining quicker access to funds.
In other words, the company is not generating enough income to cover all its costs and is operating at a loss. For businesses operating globally, profits are mostly impacted by foreign exchange, slow settlement of payments, high bank or SWIFT fees. It helps in enabling fast, secure, and low-cost international payments and also reduces overheads from cross-border payments which improves your net profit. It provides a multi-currency wallet so that you can manage revenues from different countries at any time without constant currency conversion losses. The more money a company makes on each sale, the higher its gross profit. Companies use gross profits to pay for the operating costs of running a business.
Gross profit is a profitability metric showing the portion of revenue remaining once direct costs tied to production or delivery have been allocated. You’ll find both gross profits and net profits on a company’s income statement. Both gross profit and net profit are backward-looking measures, focused on the amount of money a company made in a period that has already passed. Net profit is also called the company’s bottom line in income statements.
We’re here to help you navigate the world of business finance and make informed decisions for your success. Net profit acts as a risk management tool, providing financial stability and resilience against economic downturns or unexpected challenges. Businesses must prioritise maintaining a positive net profit to drive strategic planning, sustainable growth, and overall competitiveness in the market. Integrate TransFi Collections with your business and experience secure, seamless, and scalable payments that are not only efficient and reliable but also globally compliant. Drive efficiency and growth through customized high-performing payment solutions for enterprise. Learn how to build, read, and use financial statements for your business so you can make more informed decisions.
Some common concerns include overpaying for raw materials, setting the wrong product price, or even having more workers than you need. Say you realize you’re losing most of your gross profit to raw material costs. Divide your gross profit by your total revenue to calculate your gross profit margin. A healthy margin depends on your industry, but knowing yours can help you benchmark and adjust your pricing or production costs accordingly. A higher net profit margin indicates efficient cost management and a strong ability to convert revenue into profit.
It also includes any interest earned from short-term and long-term investments. It will take time, and likely some trial and error, to accurately determine your gross and net profits the first time around. But after doing it a few times, you’ll be a seasoned pro and wonder how you ever made decisions without this valuable knowledge. And if you’re looking for a financial partner on your startup journey — try Brex. Our business credit card offers benefits like no personal guarantee, 10-20x higher limits, and amazing rewards. And paired with our startup business account, you can grow and manage your cash seamlessly at every stage of growth.
These are the recurring costs required to run the business, like salaries, rent, software licenses, insurance, and marketing. This step gives you a clear view of how much cash you have left after keeping the lights on. Gross profit is the revenue your business earns from selling products or services, minus the cost of goods sold (COGS). Unlike gross profit, net income accounts for all of a business’s costs.
TransFi Collections is not merely a payment gateway but a full suite of solutions empowering businesses with scalable, compliant, and efficient payment collection services. Whether you collect payments from suppliers, freelancers, or international customers, our platform what is the difference between gross profit and net profit provides timely, cost-saving, and secure transactions. Step into a digital future of payments with TransFi and feel the force of borderless, seamless collections.
Analysing the net profit margin formula is vital for understanding a company’s financial health and profitability. The net profit margin takes into account all business expenses, not merely COGS, and is, therefore, a more stringent metric by which to measure profitability. Operating profit shows a company’s ability to manage its indirect costs. Therefore, this section of the income statement shows how a company is investing in areas it expects will help to improve its brand and business growth through several channels. A company may have a high gross profit margin but a relatively low operating profit margin if its indirect expenses for things like marketing or capital investment allocations are high. Yes, net profit, net income, and net earnings are essentially the same terms and are used interchangeably in financial reporting.
]]>If you signed in to any Google product before, such as Gmail, Maps, or YouTube, you already have a Google Account. You can use the same username and password you created to sign in to any other Google products. When you create a Google Account, we ask for some personal info. By providing accurate info, you can help keep your account secure and make our services more useful. To sign up for Gmail, create a Google Account.
Your Google Account password is used to access many Google products, like Gmail and YouTube. By default, account related notifications are sent to your new Gmail address, or to your non-Google email if you signed up with a different email address. You can search for “free email providers” to find another email provider you like and set up an account.
Learn how to improve your experience with your Google Account checklist. You don’t need to have a Gmail address to create a Google Account. You can also use a non-Gmail email address to create one instead.
You can use the username and password to sign in to Gmail and other Google products like YouTube, Google Play, and Google Drive. Choose a password that you haven’t already used with what is accounts payable definition process and examples this account. You can change your password for security reasons or reset it if you forget it.
]]>
While business insurance is essential for high-risk industries, such as manufacturing and construction, it’s also a good idea if you’re in a lower-risk industry, such as freelancing or bookkeeping. For example, if you get hit with a copyright infringement claim for one of your digital ads, your general liability insurance can cover your legal costs. A good small business insurance policy will help you pay for problems like lawsuits, workplace injuries and damaged business property.
To apply for a permit, visit the City of Fort Worth’s online permitting system, Accela Citizen Access (ACA). Projects with construction costs equal to or greater than $50,000 must register with the Texas Department of Licensing and Regulation for Architectural Barriers and provide registration number at time of application. Once plans are complete, submit them to the City of Fort Worth’s online permitting system, Accela Citizen Access (ACA).
Like any Texas business, businesses in The DFW Metroplex must obtain a Texas Sales Tax Permit if they sell tangible goods, lease personal property, or sell a taxable service in Texas, and operate in HOA Accounting Texas. To obtain a Texas Sales Tax Permit, file the permit application with the Texas Comptroller. Every business in Texas must be registered with the Texas Secretary of State, or the business’s local county clerk. In the Metroplex, some counties require all local businesses to register with the county clerk, even if they are already registered with the secretary of state.
A BOP won’t cover everything, so I recommend adding more coverage https://nhkcccan.com/salvage-value-how-to-determine-the-salvage-value/ types as necessary. If you get into an accident with your work vehicle, you’ll need to add commercial auto insurance. Similarly, if you have employees, you’ll need to add workers’ comp insurance in most states.
60+ business bank accounts rated with our objective, comprehensive business bank account rubrics (Methodology). When you click “Continue” you will be taken to a site sole proprietorship near me owned by , not GEICO. Any information that you provide directly to them is subject to the privacy policy posted on their website. With just a few clicks you can look up the GEICO Insurance Agency partner your Earthquake policy is with to find policy service options and contact information.
You may operate without registering and using your Social Security number for tax purposes. Nolo offers hundreds of consumer-friendly, do-it-yourself legal products for all types of legal situations. Find out when an EIN is required for a sole proprietor–and why it’s usually a good idea to get one anyway. The vast majority of small businesses would suffer financially if they were sued or experienced a devastating loss, such as losing inventory in a fire. The best way to find cheap business insurance is to compare business insurance quotes from several different insurers.
Consumer Health protects the public by providing an array of health and safety inspections to include food, child care and public swimming pools. Training is provided for food handlers, child care workers and pool operators. Utilize the City of Fort Worth’s Development Services tool, CFW Permit Assist, to see which permits you need and what they will cost.

While there are a lot of different opportunities for the county to charge property taxes, the rates on these taxes do tend to be low. As a sole proprietor, you don’t technically need to have a business name. However, if you are running your business under another name, that’s called a DBA. MLPF&S is a registered broker-dealer, registered investment adviser, Member SIPC, and a wholly owned subsidiary of BofA Corp. Sole proprietors possess full control and decision-making accountability for all the operational and business activities.

Federal tax obligations are filed through the Internal Revenue Service (IRS). State tax filings are done through the Comptroller of Public Accounts. For questions about local business and property taxes, consult our county’s appraisal district or tax assessor-collector. It’s appropriate to use a Social Security Number if your business is being registered as an individual, limited liability individual, or estate. If your business is a corporation, partnership, limited liability corporation, or limited liability partnership, it’s necessary to register for and get an EIN through the IRS.
]]>The financial leverage ratio is another way of measuring a company’s overall financial risk, and to what extent it has financed its assets through debt. In financial accounting this term refers to the amount of debt excluding interest. Payments on mortgage loans usually require monthly payments of principal and interest. This account balance or this calculated amount will be matched with the sales amount on the income statement.
Whether you are a business owner, employee, or investor, understanding the numbers in a Balance Sheet is a fundamental skill to acquire. Current assets are the assets that can be converted into cash within one year, including cash and cash equivalents, inventory, and accounts receivable. Balance sheets in various types of companies, whether it is manufacturing, trading, or service company, have three main components which are assets, liabilities, and equity.
You can gain valuable insights into ABC Corporation by looking at its Balance Sheet. The Balance Sheet will not give you an in-depth answer, but it will guide you toward asking balance sheet the right questions. You can browse through Note 7, which you can find in ABC Corporation’s Balance Sheet, and see a more detailed breakdown into inventory classes. You will often see companies preparing their Balance Sheets on a monthly or quarterly basis.
This will cover retained earnings, common stock, and other additional investments. The systematic allocation of the cost of an asset from the balance sheet to Depreciation Expense on the income statement over the useful life of the asset. (The depreciation journal entry includes a debit to Depreciation Expense and a credit to Accumulated Depreciation, a contra asset account). The purpose is to allocate the cost to expense in order to comply with the matching principle. In other words, the amount allocated to expense is not indicative of the economic value being consumed. Similarly, the amount not yet allocated is not an indication of its current market value.
A balance sheet is one of the core documents that includes the details of a company’s assets, liabilities, and owners’ equity. Typically, balance sheets are prepared on a set schedule, such as once a quarter. It is common to refer to a balance sheet as a snapshot of the company’s financial situation since it provides the financial position of the company as of a specific date. A balance sheet liability account that reports amounts received in advance of being earned.
Common Stock or Ordinary shares are the same, and this class of shares normally has voting right. The ordinary share is recorded at par value in the balance sheet under equity sections. Inventories are the main items in the Balance Sheet of a manufacturing company.
The balance sheet, along with the income statement and the statement of cash flows, is one of the primary financial statements used to understand a company’s financial situation. The balance sheet reports the business’s assets, liabilities, and equity, at a point in time. Assets minus liabilities equals shareholder equity, which is one measure of the value of the company to its owners. According to Generally Accepted Accounting Principles (GAAP), current assets must be listed separately from liabilities.
Unfortunately, he’s addicted to collecting extremely rare 18th century guides to bookkeeping. Until he can get his bibliophilia under control, his equity will continue to suffer. You can also compare your latest balance sheet to previous ones to examine how your finances have changed over time.
A relatively small percent of corporations will issue preferred stock in addition to their common stock. The amount received from issuing these shares will be reported separately in the stockholders’ equity section. The noncurrent balance sheet item other assets reports the company’s deferred costs which will be charged to expense more than a year after the balance sheet date. Assets are recorded in the company’s general ledger accounts at their cost when they were acquired. In accounting cost means all costs that were necessary to get the assets in place and ready for use.
For this reason, the balance sheet should be compared with the other statements and sheets from previous periods. With a greater understanding of a balance sheet and how it is constructed, we can review some techniques used to analyze the information contained within a balance sheet. Non-current assets can also be intangible assets, such as goodwill, patents, or copyrights. It is important to note that a balance sheet is just a snapshot of the company’s financial position at a single point in time.
Important ratios that use information from a balance sheet can be categorized as liquidity ratios, solvency ratios, financial strength ratios, and activity ratios. Liquidity and solvency ratios show how well a company can pay off its debts and obligations with existing assets. In order for the balance sheet to balance, total assets on one side have to equal total liabilities plus shareholders’ equity on the other side. Long-term liabilities are debts and other non-debt financial obligations, which are due after a period of at least one year from the date of the balance sheet. For instance, a company may issue bonds that mature in several years’ time. Current liabilities are the company’s liabilities that will come due, or must be paid, within one year.
]]>
The vertical analysis of its balance sheet might show a substantial increase in property, plant, and equipment as a percentage of total assets. This could indicate a strategic move towards more efficient operations, which could lead to increased profitability in the long term. Conversely, if this increase is accompanied by a significant rise in long-term debt, it might raise concerns about the company’s future financial flexibility. In the realm of financial analysis, vertical analysis stands out as a potent tool, offering a unique lens through which to examine comparative balance sheets. These pitfalls can skew interpretations and lead to misguided business decisions if not carefully navigated.
Remember, on a balance sheet, your base number is always your total assets and total liabilities, and equity. Vertical analysis is useful for single accounting period analysis, while horizontal analysis is used to compare company performance between two specific accounting periods, whether it’s quarterly or annually. Vertical analysis provides a better understanding of how each line item on the balance sheet fits into the company’s financial structure and is an invaluable decision-making tool. With the income statement and balance sheet under our belt, let’s look at the cash flow statement and all the insights it tells us about the business.

The cash flow statement is vital in assessing a company’s ability to generate cash and its cash management practices. You can compare companies in the same industry by standard comparisons of key line items. By comparing other companies’ percentages against your own, you can understand the strengths, weaknesses, and changes you will need to make. Vertical analysis lets you identify trends, growth areas, and patterns in your financial statements and build well-informed strategic plans. In this example, we calculated each line item’s percentage relative to net sales. This allows analyzing the composition of the income statement and understand the relative significance of each item in relation to the company’s revenue.

It’s particularly insightful when examining trends over time within the same company. By converting numbers into percentages, vertical analysis standardizes financial statements of firms of different sizes and allows for easy comparisons. When you apply vertical analysis to the balance sheet, you can understand the relative composition of assets, liabilities, and equity. Through accounting ratios, you can compare two-line items in your financial statement and point which items are bringing in more profit. By examining the proportional https://www.bookstime.com/ changes in these components, you can evaluate the company’s financial structure, liquidity, and leverage. It helps identify the impact of changes in asset or liability categories on the overall financial health of the organization.
This technique simplifies the comparison of financial statements over time or between different companies, making it easier to identify trends and assess the financial https://bcrelx.com/concentrix-hiring-accountant-i-fixed-asset/ health of an organization. For the balance sheet, the base could be total assets or total liabilities and equity. By converting absolute numbers into percentages, vertical analysis helps highlight the relative proportions of each item. Vertical analysis, a method used in proportional accounting assessments, involves evaluating financial statements by expressing each line item as a percentage of a base figure. When applied to the cash flow statement, this technique allows for a clearer understanding of how each component contributes to the overall cash flow. This approach helps in identifying trends and comparing financial performance across different periods or companies.

The opposite of the vertical analysis of financial statements is the Horizontal analysis always looks at the amount from the financial statement over the horizon of many years. The significance of vertical analysis accounting is well-established in businesses vertical analysis irrespective of their size or stature. A user can analyze it by comparing items of similar liquidity, for example, comparing the current assets with the firm’s current liabilities and fixed assets with the long-term debt of the company. Moreover, the analyst can gauge the current year’s change in assets, liabilities, and equity position when compared to that of the last year to interpret the company’s financial health. According to a recent report by the Corporate Finance Institute, AI-driven tools have significantly improved the efficiency and accuracy of vertical analysis.

This gives ACME’s finance team a clear picture of how much revenue goes to production and overhead, helping them quickly spot areas for improvement. In a case study, a company’s cash flow statement items are converted into percentages of total cash inflows or outflows. For example, if total cash inflows are $1,500,000 and cash outflows for investing activities are $300,000, the investing activities would be 20% of total cash inflows. A Common-Size Cash Flow Statement is a financial statement where each line item is expressed as a percentage of total cash inflows or outflows.
]]>Businesses are required to file Form 720 Federal Excise Tax Return quarterly, contributing to their administrative costs3. Specifically, the compliance costs can be substantial, especially for those in industries like fuel where the excise tax impact on businesses significantly affects operational decisions. In 2004, the U.S. federal government collected $72 billion in excise taxes, which represented four percent of its total tax revenues21.
The gasoline used in the personal lawn mower at home doesn’t qualify. If the first taxpayer’s report relates to fuel sold to more than one buyer, copies of that report must be made when the fuel is divided. Kerosene for use partly in commercial aviation and partly in nonexempt, noncommercial aviation.
The IRS’s commitment to LEP taxpayers is part of a multi-year timeline that began providing translations in 2023. You will continue to receive communications, including notices and letters, in English until they are translated to your preferred language. Payments of U.S. tax must be remitted to the IRS in U.S. dollars. Go to IRS.gov/Payments for information on how to make a payment using any of the following options. Go to IRS.gov/Account to securely access information about your federal tax account. Deposits for a semimonthly period must generally be at least 95% of the net tax liability for that period unless the safe harbor rule applies.
Refer to Business structures to find out which returns you must file based on the business entity established. The Highway Trust Fund may well require tax rate adjustments to stay solvent and make up for increasing fuel economy standards dictated by the Environmental Protection Agency or the increased use of untaxed plug-in electric vehicles. As fuel prices rise, there is a slight decrease in gallons of fuel bought as vehicles are made more efficient and/or travel shorter distances, all of which reduce Highway Trust Fund collections.
If you meet both requirements above, see Gas guzzler tax (IRS No. 40) in the Instructions for Form 720 for how to file and pay the tax. These records must clearly establish the type of policy or instrument, the gross premium paid, the identity of the insured and insurer, and the total premium charged. If the premium is to be paid in installments, the records must also establish the amount and anniversary date of each installment. Tax is imposed on insurance policies issued by foreign insurers. Any person who makes, signs, issues, or sells any of the documents and instruments subject to the tax, or for whose use or benefit they’re made, signed, issued, or sold, is liable for the tax. The first situation involves voyages on commercial passenger vessels extending over one or more nights.
So, the operator of a U.S. refinery that receives imported crude oil must establish that they’re not liable for the tax by establishing that the petroleum tax has already been imposed on the imported crude oil. Don’t claim a credit for any amount for which you have filed a refund or credit claim on Form 8849; 8864; or credit on Form 720, Schedule C. A nonprofit educational organization also includes a school operated by a church or other organization described in section 501(c)(3) if the school meets the above requirements. Export means fuel transported from the United States with the intention that the fuel remain in a foreign country or territory of the United States. Fuel isn’t exported if it’s in the fuel supply tank of a vehicle or aircraft.
A credit or payment of the tax on kerosene used in aviation may be allowed if the rate of tax on the use is less than the rate of tax that was charged on the kerosene. The credit or payment is allowable to the ultimate purchaser, registered ultimate vendor, or registered credit card issuer, depending on the how the kerosene was acquired and if certain conditions are satisfied. The registered ultimate vendor may make the claim if the ultimate purchaser waives its right to the credit or refund by providing the registered ultimate vendor with a waiver. The registered ultimate vendor may make the claim if the ultimate purchaser didn’t use a credit card and waives its right to the credit or refund by providing the registered ultimate vendor with a certificate. A sample certificate is included as Model Certificate M in the Appendix.
This statistic suggests that while they are significant, there is still room for growth and reform, particularly as governments evaluate their reliance on these taxes amidst changing consumption behaviors. Excise tax reforms are likely geared toward greater efficiency and effectiveness, ensuring these taxes fulfill their intended purpose of altering consumption patterns while generating necessary revenue for public services. For the payment of excise taxes, various methods are available to businesses.
They are typically paid by businesses, such as importers, manufacturers, and retailers, who then pass the costs onto consumers by incorporating them into the final price of the taxed products or services. Excise taxes can be imposed and collected at the point of production or importation or the point of sale and then remitted to the Internal Revenue Service or state or local taxing agency. Then, it remits to the states on a partially matching basis to pay for items like interstate highway construction, airport construction, or bridge repairs. Excise taxes are usually waived or refunded on goods being exported to encourage exports. Smugglers and other tax evaders will often seek to obtain items at a point where they are not taxed or taxed much lower and then later sell or use them at a price lower than the post-tax price in their jurisdiction. In this broad sense, income taxes, value added taxes (VATs), sales taxes, and transfer taxes are examples of other excise taxes but are typically not called excise taxes (in the United States) because of the different ways they are imposed.
The airport terminal doesn’t need to be a SAT for this rate to apply to hydrant removals. This is a storage and distribution facility supplied by pipeline or vessel, and from which taxable fuel may be removed at a rack. It doesn’t include a facility at which gasoline blendstocks are used in the manufacture of products other than finished gasoline if no gasoline is removed from the facility.
]]>A brink disadvantage is a special type of linear disadvantage which claims that the affirmative will aggravate the problem in the status quo to the extent that it passes a brink, at which time the impact happens all at once. The negative team claims that in the status quo, we are near the brink, but the affirmative team’s plan will push us “over the edge.” The internal link connects the link to the impact, or, it shows the steps the link causes to get to the impact. Not all DA’s use an internal link but some have multiple internals.1 The internal link in our example would be that government spending leads to economic collapse.
For example, the negative team argues that the affirmative plan will result in nuclear proliferation, it would also argue that the status quo will avoid nuclear proliferation. If the Affirmative claims that nuclear proliferation is already occurring, the negative team could argue that adoption of the plan would result in a unique increase in nuclear proliferation. If the plan causes no net change in the rate of nuclear proliferation, the disadvantage is not unique to the plan, and therefore not relevant. In some sections of the country, politics disadvantages are frowned upon because they link to virtually every affirmative plan, destroying the on case debate and focusing solely on the disadvantage.
When a video is uploaded, it is checked against the database, and flags the video as a copyright violation if a match is found.147 When this occurs, the content owner has the choice of blocking the video to make it unviewable, tracking the viewing statistics of the video, or adding advertisements to the video. In this case, the negative team could concede both arguments, arguing that since the plan prevents a desirable event from occurring, it should not be passed. Other debate theorists have often reshaped models of fiat that preclude the politics disadvantage. Its use in any given debate round is entirely dependent on how well the affirmative argues that the judge should accept the model, a somewhat time-consuming process.
Supporters say the politics disadvantages are “real world” and provide education on how bills are passed and politics in general. Non-kritikal linear disadvantages frequently face attacks from the Affirmative on debate theory; the theory that linear disadvantages are abusive (i.e. unfair) to the affirmative team has much popularity. The negative concedes that the status quo has a problem but insists the plan increases that problem’s severity. A commonly accepted theory holds that a sufficiently philosophical linear disadvantage with an alternative becomes a kritik.
Since its purchase by Google, YouTube has expanded beyond the core website into mobile apps, network television, and the ability to link with other platforms. Video categories on YouTube include music videos, video clips, news, short and feature films, songs, documentaries, movie trailers, teasers, TV spots, live streams, vlogs, and more. Most content is generated by individuals, including collaborations between YouTubers and corporate sponsors. Established media, news, and entertainment corporations have also created and expanded their visibility to YouTube channels to reach bigger audiences.
The affirmative could then argue that a strong US military in the status quo will result in nuclear war and thus that the plan should be passed to prevent the war from occurring. Notably, the affirmative cannot make any further takeouts without compromising the straight impact turn; otherwise, the negative would be able to kick the disadvantage by conceding that the US military is weak already (uniqueness) or that the plan does not weaken the US military (link). YouTube has had unprecedented social impact, influencing popular culture, internet trends, and creating multimillionaire celebrities.
Vote No argues that the debate should be a simulation of the debate before Congress and thus the president has already exerted political capital, meaning there is no disadvantage. Argument from Intrinsicness is there is no reason that Congress can’t pass both the plan and the bill, meaning they are not competitive. The Political DA, as misunderstood as politicians’ political capital, has no warrant in traditional Fiat theory. This would make the disadvantage a reason why the plan is desirable, as it would strengthen the US military and prevent a nuclear war. In this case, the affirmative could not read an impact takeout; if they did, the negative could kick the disadvantage by arguing that even if the plan strengthens the US military, doing so does not affect the probability of a nuclear war. Using the example above, a no-internal-link could either be that failure to pass the deal will not reduce American influence on the Indian subcontinent, or that reduction of American influence on the Indian subcontinent will not lead to nuclear war between India and Pakistan.
In this case, the argument that the plan increases US military power would be a link turn. Math is ruthlessly cumulative, the report says, where gaps in early years tend to compound years later, particularly for students from disadvantaged backgrounds.
There is also much controversy over kritiks being linear disadvantages, due to the fact that most kritik argue the affirmative plan over a discursive level, while a disadvantage argues the affirmative’s actions. The developer, Google, indicated that the app’s privacy practices may include handling of data as described below. A disadvantage can also be answered by no longer doing a part of the plan that causes the aff to link into the disadvantage. This is often referred to as a severance perm, because by making this claim the affirmative does all parts of the plan except the part that links to the disadvantage, thus severing out of part of their own plan. This argument is also rarely made, due to the theory arguments it brings up on the affirmative changing its plan in the round in order to avoid the disadvantage. This policy particularly disadvantages smaller startups and research institutions that cannot afford such enormous fees, while potentially creating opportunities for corruption through selective fee exemptions.
Despite its growth and success, the platform has been criticized for its facilitation of the spread of misinformation and copyrighted content, routinely violating its users’ privacy, excessive censorship, endangering the safety of children and their well-being, and for its inconsistent implementation of platform guidelines. Internal links are often undesirable things by themselves, and could be considered impacts. The worst of the consequences, or the final one in the chain of events, is usually given the label of “impact”. For example, nuclear war is probably worse than economic collapse, so nuclear war is given the “impact” label, even though economic collapse (the internal link) could itself be viewed as an impact.
Your information will be used in accordance with Google’s privacy policy. Other terminal impacts might include severe human rights abuses, such as near disadvantages of llc universal slavery or loss of individuality. These types of impacts are usually argued under a deontological framework or as a turn to a human rights advantage. In January he said English teams are at a disadvantage in Europe because of Premier League scheduling as they always put “the toughest schedules for the European teams in the important stages”. The defence, he added, was disadvantaged by being “devoid of the opportunity to test and challenge” the statements.
]]>