"use strict";
(self["webpackChunkelementor"] = self["webpackChunkelementor"] || []).push([["node_modules_elementor_elementor-one-assets_locales_fr_common_json"],{
/***/ "../node_modules/@elementor/elementor-one-assets/locales/fr/common.json":
/*!******************************************************************************!*\
!*** ../node_modules/@elementor/elementor-one-assets/locales/fr/common.json ***!
\******************************************************************************/
/***/ ((module) => {
module.exports = /*#__PURE__*/JSON.parse('{"example":{"component":"Composant exemple"},"header":{"title":"constructeur de site Web","userInfo":"Mon compte","userProfileMenu":{"connectPreText":"Vous avez un forfait Elementor One ?","connect":"Connecter","goToMyAccount":"Allez sur Mon compte","disconnect":"Déconnecter","elementorOneActive":"Élémentor Un","active":"Actif","urlMismatch":"Incohérence d\'URL détectée","fixUrlMismatch":"Réparer maintenant"},"whatsNew":"Quoi de neuf","whatsNewError":"Une erreur s\'est produite lors de la récupération des notifications. Veuillez réessayer plus tard."}}');
/***/ })
}]);
/*! elementor-pro - v3.27.0 - 16-02-2025 */
"use strict";
(self["webpackChunkelementor_pro"] = self["webpackChunkelementor_pro"] || []).push([["hotspot"],{
/***/ "../modules/hotspot/assets/js/frontend/handlers/hotspot.js":
/*!*****************************************************************!*\
!*** ../modules/hotspot/assets/js/frontend/handlers/hotspot.js ***!
\*****************************************************************/
/***/ ((__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
class Hotspot extends elementorModules.frontend.handlers.Base {
getDefaultSettings() {
return {
selectors: {
hotspot: '.e-hotspot',
tooltip: '.e-hotspot__tooltip'
}
};
}
getDefaultElements() {
const selectors = this.getSettings('selectors');
return {
$hotspot: this.$element.find(selectors.hotspot),
$hotspotsExcludesLinks: this.$element.find(selectors.hotspot).filter(':not(.e-hotspot--no-tooltip)'),
$tooltip: this.$element.find(selectors.tooltip)
};
}
bindEvents() {
const tooltipTrigger = this.getCurrentDeviceSetting('tooltip_trigger'),
tooltipTriggerEvent = 'mouseenter' === tooltipTrigger ? 'mouseleave mouseenter' : tooltipTrigger;
if (tooltipTriggerEvent !== 'none') {
this.elements.$hotspotsExcludesLinks.on(tooltipTriggerEvent, event => this.onHotspotTriggerEvent(event));
}
}
onDeviceModeChange() {
this.elements.$hotspotsExcludesLinks.off();
this.bindEvents();
}
onHotspotTriggerEvent(event) {
const elementTarget = jQuery(event.target),
isHotspotButtonEvent = elementTarget.closest('.e-hotspot__button').length,
isTooltipMouseLeave = 'mouseleave' === event.type && (elementTarget.is('.e-hotspot--tooltip-position') || elementTarget.parents('.e-hotspot--tooltip-position').length),
isMobile = 'mobile' === elementorFrontend.getCurrentDeviceMode(),
isHotspotLink = elementTarget.closest('.e-hotspot--link').length,
triggerTooltip = !(isHotspotLink && isMobile && ('mouseleave' === event.type || 'mouseenter' === event.type));
if (triggerTooltip && (isHotspotButtonEvent || isTooltipMouseLeave)) {
const currentHotspot = jQuery(event.currentTarget);
this.elements.$hotspot.not(currentHotspot).removeClass('e-hotspot--active');
currentHotspot.toggleClass('e-hotspot--active');
}
}
// Fix bad UX of "Sequenced Animation" when editing other controls
editorAddSequencedAnimation() {
this.elements.$hotspot.toggleClass('e-hotspot--sequenced', 'yes' === this.getElementSettings('hotspot_sequenced_animation'));
}
hotspotSequencedAnimation() {
const elementSettings = this.getElementSettings(),
isSequencedAnimation = elementSettings.hotspot_sequenced_animation;
if ('no' === isSequencedAnimation) {
return;
}
// Start sequenced animation when element on viewport
const hotspotObserver = elementorModules.utils.Scroll.scrollObserver({
callback: event => {
if (event.isInViewport) {
hotspotObserver.unobserve(this.$element[0]);
// Add delay for each hotspot
this.elements.$hotspot.each((index, element) => {
if (0 === index) {
return;
}
const sequencedAnimation = elementSettings.hotspot_sequenced_animation_duration,
sequencedAnimationDuration = sequencedAnimation ? sequencedAnimation.size : 1000,
animationDelay = index * (sequencedAnimationDuration / this.elements.$hotspot.length);
element.style.animationDelay = animationDelay + 'ms';
});
}
}
});
hotspotObserver.observe(this.$element[0]);
}
setTooltipPositionControl() {
const elementSettings = this.getElementSettings(),
isDirectionAnimation = 'undefined' !== typeof elementSettings.tooltip_animation && elementSettings.tooltip_animation.match(/^e-hotspot--(slide|fade)-direction/);
if (isDirectionAnimation) {
this.elements.$tooltip.removeClass('e-hotspot--tooltip-animation-from-left e-hotspot--tooltip-animation-from-top e-hotspot--tooltip-animation-from-right e-hotspot--tooltip-animation-from-bottom');
this.elements.$tooltip.addClass('e-hotspot--tooltip-animation-from-' + elementSettings.tooltip_position);
}
}
onInit() {
super.onInit(...arguments);
this.hotspotSequencedAnimation();
this.setTooltipPositionControl();
if (window.elementor) {
elementor.listenTo(elementor.channels.deviceMode, 'change', () => this.onDeviceModeChange());
}
}
onElementChange(propertyName) {
if (propertyName.startsWith('tooltip_position')) {
this.setTooltipPositionControl();
}
if (propertyName.startsWith('hotspot_sequenced_animation')) {
this.editorAddSequencedAnimation();
}
}
}
exports["default"] = Hotspot;
/***/ })
}]);
//# sourceMappingURL=hotspot.d513dd152bf605a2ffbf.bundle.js.map"use strict";(globalThis.webpackChunkwoocommerce_payments=globalThis.webpackChunkwoocommerce_payments||[]).push([[2151],{1709(e,r,t){t.d(r,{A:()=>a});const a={SET_REPORTS_FEES:"SET_REPORTS_FEES",SET_ERROR_FOR_REPORTS_FEES:"SET_ERROR_FOR_REPORTS_FEES",SET_REPORTS_FEES_SUMMARY:"SET_REPORTS_FEES_SUMMARY",SET_ERROR_FOR_REPORTS_FEES_SUMMARY:"SET_ERROR_FOR_REPORTS_FEES_SUMMARY",SET_REPORTS_BALANCE_SUMMARY:"SET_REPORTS_BALANCE_SUMMARY",SET_ERROR_FOR_REPORTS_BALANCE_SUMMARY:"SET_ERROR_FOR_REPORTS_BALANCE_SUMMARY"}},9936(e,r,t){t.r(r),t.d(r,{updateErrorForReportsBalanceSummary:()=>i,updateErrorForReportsFees:()=>s,updateErrorForReportsFeesSummary:()=>c,updateReportsBalanceSummary:()=>d,updateReportsFees:()=>o,updateReportsFeesSummary:()=>n});var a=t(1709);function o(e,r){return{type:a.A.SET_REPORTS_FEES,query:e,data:r}}function s(e,r){return{type:a.A.SET_ERROR_FOR_REPORTS_FEES,query:e,error:r}}function n(e,r){return{type:a.A.SET_REPORTS_FEES_SUMMARY,query:e,data:r}}function c(e,r){return{type:a.A.SET_ERROR_FOR_REPORTS_FEES_SUMMARY,query:e,error:r}}function d(e,r){return{type:a.A.SET_REPORTS_BALANCE_SUMMARY,query:e,data:r}}function i(e,r){return{type:a.A.SET_ERROR_FOR_REPORTS_BALANCE_SUMMARY,query:e,error:r}}},9673(e,r,t){t.d(r,{AS:()=>p,Np:()=>u,qL:()=>i});var a=t(7143),o=t(6154),s=t.n(o),n=t(2954);const c={summary:{},error:{},isLoading:!1},d=e=>Array.isArray(e)?[...e].sort((e,r)=>s()(e).diff(s()(r))):e,i=({paged:e,per_page:r,orderby:t,order:o,match:s,date_before:c,date_after:i,date_between:u,payment_method_type:p,type:m,order_id:y,deposit_id:l,customer_email:_,search:R})=>(0,a.useSelect)(a=>{const{getReportsFees:S,getReportsFeesError:E,isResolving:f}=a(n.E),h={paged:Number.isNaN(parseInt(e??"",10))?"1":e,perPage:Number.isNaN(parseInt(r??"",10))?"25":r,orderby:t||"date",order:o||"desc",match:s,dateBefore:c,dateAfter:i,dateBetween:d(u),paymentMethodType:p,type:m,orderId:y,depositId:l,customerEmail:_,search:R};return{feesRows:S(h),feesError:E(h),isLoading:f("getReportsFees",[h])}},[e,r,t,o,s,c,i,JSON.stringify(u),p,JSON.stringify(m),y,l,_,JSON.stringify(R)]),u=(e,r=wcpaySettings.accountDefaultCurrency||"")=>(0,a.useSelect)(t=>{if(!e)return c;const{getReportsBalanceSummary:a,getReportsBalanceSummaryError:o,isResolving:s}=t(n.E),d={dateStart:e.start,dateEnd:e.end,currency:r.toLowerCase()};return{summary:a(d),error:o(d),isLoading:s("getReportsBalanceSummary",[d])}},[e?.start,e?.end,r]),p=({match:e,date_before:r,date_after:t,date_between:o,payment_method_type:s,type:c,order_id:i,deposit_id:u,customer_email:p,search:m})=>(0,a.useSelect)(a=>{const{getReportsFeesSummary:y,getReportsFeesSummaryError:l,isResolving:_}=a(n.E),R={match:e,dateBefore:r,dateAfter:t,dateBetween:d(o),paymentMethodType:s,type:c,orderId:i,depositId:u,customerEmail:p,search:m};return{feesSummary:y(R),feesSummaryError:l(R),isLoading:_("getReportsFeesSummary",[R])}},[e,r,t,JSON.stringify(o),s,JSON.stringify(c),i,u,p,JSON.stringify(m)])},579(e,r,t){t.d(r,{AS:()=>o.AS,M_:()=>a.M,Np:()=>o.Np,qL:()=>o.qL}),t(1539),t(69),t(9936),t(7712);var a=t(2954),o=t(9673)},1539(e,r,t){t.d(r,{A:()=>n});var a=t(1709),o=t(6858);const s={summary:{},balanceSummary:{}},n=(e=s,{type:r,query:t={},data:n=[],error:c})=>{const d=(0,o.m)(t);switch(r){case a.A.SET_REPORTS_FEES:return{...e,[d]:{...e[d],data:n,error:void 0}};case a.A.SET_ERROR_FOR_REPORTS_FEES:return{...e,[d]:{...e[d],error:c}};case a.A.SET_REPORTS_FEES_SUMMARY:return{...e,summary:{...e.summary,[d]:{...e.summary&&e.summary[d],data:n,error:void 0}}};case a.A.SET_ERROR_FOR_REPORTS_FEES_SUMMARY:return{...e,summary:{...e.summary,[d]:{...e.summary&&e.summary[d],error:c}}};case a.A.SET_REPORTS_BALANCE_SUMMARY:return{...e,balanceSummary:{...e.balanceSummary,[d]:{...e.balanceSummary&&e.balanceSummary[d],data:n,error:void 0}}};case a.A.SET_ERROR_FOR_REPORTS_BALANCE_SUMMARY:return{...e,balanceSummary:{...e.balanceSummary,[d]:{...e.balanceSummary&&e.balanceSummary[d],error:c}}}}return e}},7712(e,r,t){t.r(r),t.d(r,{feesDownloadEndpoint:()=>l,formatReportsBalanceQuery:()=>m,getFeesCSVRequestURL:()=>_,getReportsBalanceSummary:()=>S,getReportsFees:()=>y,getReportsFeesSummary:()=>R});var a=t(6161),o=t(7143),s=t(3832),n=t(7723),c=t(3138),d=t(9936),i=t(612);const u=e=>{if(null!=e&&""!==e)return Array.isArray(e)?e:[e]},p=e=>({match:e.match,date_before:(0,i.x1)(e.dateBefore,!0),date_after:(0,i.x1)(e.dateAfter),date_between:e.dateBetween&&[(0,i.x1)(e.dateBetween[0]),(0,i.x1)(e.dateBetween[1],!0)],payment_method_type:e.paymentMethodType,type:u(e.type),order_id:e.orderId,deposit_id:e.depositId,search:e.search,user_timezone:(0,i.fy)()}),m=({dateStart:e,dateEnd:r,currency:t})=>({date_start:e,date_end:r,currency:(t||"").toLowerCase()});function*y(e){const r=(0,s.addQueryArgs)(`${c.C}/reports/fees`,{page:e.paged,per_page:e.perPage,sort:e.orderby,direction:e.order,...p(e)});try{const t=yield(0,a.apiFetch)({path:r});yield(0,d.updateReportsFees)(e,(e=>Array.isArray(e)?e:e?.data||[])(t))}catch(r){yield o.controls.dispatch("core/notices","createErrorNotice",(0,n.__)("Error retrieving fees report.","woocommerce-payments")),yield(0,d.updateErrorForReportsFees)(e,r)}}const l=`${c.C}/reports/fees/download`;function _(e){return(0,s.addQueryArgs)(l,{...p(e),user_email:e.userEmail,locale:e.locale})}function*R(e){const r=(0,s.addQueryArgs)(`${c.C}/reports/fees/summary`,p(e));try{const t=yield(0,a.apiFetch)({path:r});yield(0,d.updateReportsFeesSummary)(e,t)}catch(r){yield o.controls.dispatch("core/notices","createErrorNotice",(0,n.__)("Error retrieving fees report summary.","woocommerce-payments")),yield(0,d.updateErrorForReportsFeesSummary)(e,r)}}function*S(e){const r=(0,s.addQueryArgs)(`${c.C}/reports/balance`,m(e));try{const t=yield(0,a.apiFetch)({path:r});yield(0,d.updateReportsBalanceSummary)(e,t)}catch(r){yield o.controls.dispatch("core/notices","createErrorNotice",(0,n.__)("Error retrieving balance report summary.","woocommerce-payments")),console.error("Balance summary resolver failed:",{query:e,error:r}),yield(0,d.updateErrorForReportsBalanceSummary)(e,r)}}},69(e,r,t){t.r(r),t.d(r,{getReportsBalanceSummary:()=>l,getReportsBalanceSummaryError:()=>_,getReportsFees:()=>d,getReportsFeesError:()=>i,getReportsFeesSummary:()=>p,getReportsFeesSummaryError:()=>m});var a=t(6858);const o=[],s={},n=e=>e&&e.reports||{summary:s,balanceSummary:s},c=(e,r)=>{const t=(0,a.m)(r);return n(e)[t]||{}},d=(e,r)=>c(e,r).data||o,i=(e,r)=>c(e,r).error||s,u=(e,r)=>{const t=(0,a.m)(r);return n(e).summary[t]||{}},p=(e,r)=>u(e,r).data||s,m=(e,r)=>u(e,r).error||s,y=(e,r)=>{const t=(0,a.m)(r);return n(e).balanceSummary?.[t]||{}},l=(e,r)=>y(e,r).data||s,_=(e,r)=>y(e,r).error||s},2954(e,r,t){t.d(r,{E:()=>i,M:()=>u});var a=t(7143),o=t(6161),s=t(1539),n=t(69),c=t(9936),d=t(7712);const i=t(2455).oV,u=(0,a.createReduxStore)(i,{reducer:(0,a.combineReducers)({reports:s.A}),actions:c,selectors:n,resolvers:d,controls:o.controls});(0,a.register)(u)},2455(e,r,t){t.d(r,{$q:()=>_,A4:()=>a,U9:()=>R,WW:()=>l,_k:()=>o,a9:()=>n,fP:()=>y,j_:()=>m,jb:()=>u,kM:()=>s,oV:()=>S,ox:()=>c,pU:()=>i,tH:()=>p,uM:()=>d});const a="wc/payments/deposits",o="wc/payments/transactions",s="wc/payments/charges",n="wc/payments/timeline",c="wc/payments/disputes",d="wc/payments/settings",i="wc/payments/readers",u="wc/payments/capital",p="wc/payments/documents",m="wc/payments/paymentIntents",y="wc/payments/authorizations",l="wc/payments/files",_="wc/payments/pmPromotions",R="wc/payments/disputeReadiness",S="wc/payments/reports"},7666(e,r,t){t.d(r,{u:()=>d});var a=t(1609),o=t(1455),s=t.n(o),n=t(7143),c=t(7723);const d=()=>{const[e,r]=(0,a.useState)(!1),{createNotice:t}=(0,n.useDispatch)("core/notices"),o=(0,a.useRef)(null);async function d({checkFileURL:e,userEmail:t,interval:a=1e3,retryCount:n=0,onSuccess:c,onError:i}){o.current=setTimeout(async()=>{const a=n+1;let o;try{o=await s()({path:e,method:"GET"})}catch(e){o={status:"error"}}if("success"===o.status&&o.download_url){const e=document.createElement("a");return e.href=o.download_url+"?force_download=true",e.click(),r(!1),void c?.()}a<5?d({checkFileURL:e,userEmail:t,retryCount:a,onSuccess:c,onError:i}):(r(!1),i?.({reason:"timeout"}))},a)}return(0,a.useEffect)(()=>()=>{o.current&&clearTimeout(o.current)},[o]),{requestReportExport:async function({exportRequestURL:e,exportFileAvailabilityEndpoint:a,userEmail:o,onSuccess:n,onError:i}){try{r(!0);const t=await s()({path:e,method:"POST"});t.export_id?d({checkFileURL:`${a}/${t.export_id}`,userEmail:o,onSuccess:n,onError:i}):(r(!1),i?.({reason:"request"}))}catch(e){r(!1),i?.({reason:"request"}),t("error",(0,c.__)("There was a problem generating your export.","woocommerce-payments"))}},isExportInProgress:e}}},4380(e,r,t){t.d(r,{W:()=>a});const a=(0,t(1609).createContext)(void 0)},6951(e,r,t){t.d(r,{K:()=>n,e:()=>s});const a=/^\d{4}-\d{2}-\d{2}$/,o=e=>"string"==typeof e&&a.test(e),s=e=>{const r=e.date_between;if(Array.isArray(r)&&2===r.length){const[e,t]=r;if(o(e)&&o(t))return e===t?{operator:"on",value:e}:{operator:"between",value:[e,t]}}const t=e.date_before;if(o(t))return{operator:"before",value:t};const a=e.date_after;return o(a)?{operator:"after",value:a}:void 0},n=e=>{const r={date_between:void 0,date_before:void 0,date_after:void 0};if(!e)return r;switch(e.operator){case"on":r.date_between=[e.value,e.value];break;case"between":r.date_between=e.value;break;case"before":r.date_before=e.value;break;case"after":r.date_after=e.value}return r}},3588(e,r,t){t.d(r,{Db:()=>i,HT:()=>d,N6:()=>n,cp:()=>c,d2:()=>u,eF:()=>p});var a=t(6951);const o=e=>"string"==typeof e&&/^\d{4}-\d{2}-\d{2}$/.test(e),s=e=>o(e)||(e=>"string"==typeof e&&/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(e))(e),n=e=>{if(e){if("between"===e.operator){const r=e.value;if(!Array.isArray(r)||2!==r.length)return;const[t,a]=r;return o(t)&&o(a)?{operator:"between",value:[t,a]}:void 0}return"on"!==e.operator&&"before"!==e.operator&&"after"!==e.operator||!o(e.value)?void 0:{operator:e.operator,value:e.value}}},c=e=>{const r=n(e);return r?"on"===r.operator?{date_between:[r.value,r.value]}:"between"===r.operator?{date_between:r.value}:"before"===r.operator?{date_before:r.value}:{date_after:r.value}:{}},d=e=>{const r=(0,a.e)(e);if(r)return{field:"date",operator:r.operator,value:r.value}},i=e=>{const r={},t=(e=>{if(!Array.isArray(e)||2!==e.length)return;const[r,t]=e;return s(r)&&s(t)?[r,t]:void 0})(e.date_between);return t&&(r.date_between=t),s(e.date_before)&&(r.date_before=e.date_before),s(e.date_after)&&(r.date_after=e.date_after),r},u=e=>({date_preset:void 0,...(0,a.K)(n(e))}),p=e=>{const r=n(e);if(!r||"between"!==r.operator)return null;const t=new Date(r.value[0]).getTime(),a=new Date(r.value[1]).getTime();return Math.round((a-t)/864e5)}},9321(e,r,t){t.r(r),t.d(r,{ReportsPage:()=>B,default:()=>P});var a=t(1609),o=t(6427),s=t(6476),n=t(2461),c=t(7583),d=t(7723),i=t(7143),u=t(7666),p=t(9673),m=t(7712),y=t(3588),l=t(579),_=t(4848);const R=e=>Array.isArray(e)?e.length>0:!!e,S=e=>({...(0,y.Db)(e),payment_method_type:e.payment_method_type,type:e.type,order_id:e.order_id,deposit_id:e.deposit_id,search:e.search,match:e.match}),E=()=>{const{requestReportExport:e,isExportInProgress:r}=(0,u.u)(),{createNotice:t}=(0,i.useDispatch)("core/notices"),a=S((0,s.getQuery)()),{feesSummary:c}=(0,p.AS)(a),y=c?.count??0;return(0,_.jsx)(o.Button,{variant:"primary",onClick:()=>{const r=wcpaySettings.currentUserEmail,a=wcSettings.locale.userLocale,o=S((0,s.getQuery)()),c=((e,r)=>{const t=(0,i.select)(l.M_).getReportsFeesSummary((e=>{return{match:e.match,dateBefore:e.date_before,dateAfter:e.date_after,dateBetween:(r=e.date_between,Array.isArray(r)?[...r].sort((e,r)=>new Date(e).getTime()-new Date(r).getTime()):r),paymentMethodType:e.payment_method_type,type:e.type,orderId:e.order_id,depositId:e.deposit_id,search:e.search};var r})(e));return"number"==typeof t?.count?t.count:r})(o,y);if(!(R(o.date_after)||R(o.date_before)||R(o.date_between)||R(o.payment_method_type)||R(o.type)||R(o.order_id)||R(o.deposit_id)||R(o.search))&&c>=1e4&&!window.confirm((0,d.sprintf)((0,d.__)("You are about to export %d fees. If you'd like to reduce the size of your export, you can use one or more filters. Would you like to continue?","woocommerce-payments"),c)))return;(0,n.yM)("wcpay_csv_export_click",{row_type:"fees",source:"payments_reports",exported_row_count:c});const u=(0,m.getFeesCSVRequestURL)({userEmail:r,locale:a,dateAfter:o.date_after,dateBefore:o.date_before,dateBetween:o.date_between,paymentMethodType:o.payment_method_type,type:o.type,orderId:o.order_id,depositId:o.deposit_id,search:o.search,match:o.match});e({exportRequestURL:u,exportFileAvailabilityEndpoint:m.feesDownloadEndpoint,userEmail:r,onSuccess:()=>(0,n.yM)("wcpay_reports_fees_export_success",{exported_row_count:c}),onError:({reason:e})=>(0,n.yM)("wcpay_reports_fees_export_error",{error_type:e})}),t("success",(0,d.sprintf)((0,d.__)("We’re processing your export. 🎉 The file will download automatically and be emailed to %s.","woocommerce-payments"),r))},disabled:r,accessibleWhenDisabled:!0,"aria-busy":r,isBusy:r,__next40pxDefaultSize:!0,children:(0,d.__)("Export","woocommerce-payments")})},f=(0,a.lazy)(()=>t.e(1505).then(t.bind(t,592)).then(({BalanceActions:e})=>({default:e}))),h=()=>(0,_.jsx)(a.Suspense,{fallback:null,children:(0,_.jsx)(f,{})}),w=({activeTab:e})=>(0,_.jsxs)("div",{className:"wcpay-reports-header",children:[(0,_.jsx)("h1",{className:"screen-reader-text",children:(0,d.__)("Reports","woocommerce-payments")}),(0,_.jsx)("div",{className:"wcpay-reports-header__intro",children:(0,_.jsx)("p",{children:(0,d.__)("View your reconciliation reports.","woocommerce-payments")})}),"fees"===e&&(0,_.jsx)("div",{className:"wcpay-reports-header__actions",children:(0,_.jsx)(E,{})}),"balance"===e&&(0,_.jsx)("div",{className:"wcpay-reports-header__actions",children:(0,_.jsx)(h,{})})]});var b=t(671);const g=({headingRef:e,headingTabIndex:r}={})=>(0,_.jsx)("div",{className:"wcpay-reports-state wcpay-reports-state--loading",role:"status",children:(0,_.jsx)("h2",{ref:e,tabIndex:r,children:(0,d.__)("Loading report","woocommerce-payments")})}),A=(0,a.lazy)(()=>Promise.all([t.e(5262),t.e(6231)]).then(t.bind(t,9823)).then(({BalanceReport:e})=>({default:e}))),v=({onReload:e})=>(0,_.jsx)(a.Suspense,{fallback:(0,_.jsx)(g,{}),children:(0,_.jsx)(A,{onReload:e})}),T=(0,a.lazy)(()=>Promise.all([t.e(5262),t.e(5838)]).then(t.bind(t,1756)).then(({FeesReport:e})=>({default:e}))),F=({onReload:e})=>(0,_.jsx)(a.Suspense,{fallback:(0,_.jsx)(g,{}),children:(0,_.jsx)(T,{onReload:e})}),x=[{name:"balance",title:(0,d.__)("Balance","woocommerce-payments"),className:"wcpay-reports-tab--balance"},{name:"fees",title:(0,d.__)("Fees","woocommerce-payments"),className:"wcpay-reports-tab--fees"}];function O(e){return"fees"===e?"fees":"balance"}const M=({tab:e,onReload:r})=>"fees"===e?(0,_.jsx)(F,{onReload:r}):(0,_.jsx)(v,{onReload:r});var N=t(4380);const B=({now:e})=>{const[r,t]=(0,a.useState)(()=>O((0,s.getQuery)().tab)),[d,u]=(0,a.useState)(0),p=(0,a.useRef)(e??new Date).current,m=(0,a.useRef)(null),y=(0,a.useRef)(r),R=(0,a.useMemo)(()=>(0,b.A)(p),[p]),S=function(e,r,t){const{invalidateResolution:o,invalidateResolutionForStoreSelector:s}=(0,i.useDispatch)(l.M_),n=t.toLowerCase();return(0,a.useCallback)(t=>{if("fees"===e)s("getReportsFees"),s("getReportsFeesSummary");else{const e=t??r;o("getReportsBalanceSummary",[{dateStart:e.start,dateEnd:e.end,currency:n}])}},[o,s,n,r,e])}(r,R,wcpaySettings.accountDefaultCurrency||"");return(0,a.useEffect)(()=>{const e=()=>{const e=O((0,s.getQuery)().tab);t(e),u(e=>e+1)};return window.addEventListener("popstate",e),()=>{window.removeEventListener("popstate",e)}},[]),(0,a.useEffect)(()=>{(0,n.yM)("page_view",{path:"payments_reports",tab:r})},[]),(0,a.useEffect)(()=>{y.current!==r&&m.current?.querySelector('[role="tab"][aria-selected="true"]')?.focus(),y.current=r},[r]),(0,_.jsx)(c.A,{className:"wcpay-reports-page",children:(0,_.jsxs)(N.W.Provider,{value:p,children:[(0,_.jsx)(w,{activeTab:r}),(0,_.jsx)("div",{ref:m,children:(0,_.jsx)(o.TabPanel,{className:"wcpay-reports-tab-panel",activeClass:"active-tab",onSelect:e=>{const a=O(e);a!==r&&((0,n.yM)("wcpay_reports_tab_change",{from_tab:r,to_tab:a}),t(a),(0,s.updateQueryString)({tab:a},"/payments/reports"))},initialTabName:r,tabs:x,children:e=>(0,_.jsx)("div",{className:"wcpay-reports-content",children:(0,_.jsx)(M,{tab:e.name,onReload:S})})},d)})]})})},P=B},671(e,r,t){function a(e=new Date){const r=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()-1,1,0,0,0)),t=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),0,23,59,59,999));return{start:r.toISOString(),end:t.toISOString()}}t.d(r,{A:()=>a})},6858(e,r,t){t.d(r,{m:()=>a});const a=e=>JSON.stringify(e,Object.keys(e).sort())}}]);:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.patterns-menu-items__convert-modal{z-index:1000001}.patterns-menu-items__convert-modal [role=dialog]>[role=document]{width:350px}.patterns-menu-items__convert-modal .patterns-menu-items__convert-modal-categories{position:relative}.patterns-menu-items__convert-modal .components-form-token-field__suggestions-list:not(:empty){background-color:#fff;border:1px solid var(--wp-admin-theme-color);border-bottom-left-radius:2px;border-bottom-right-radius:2px;box-shadow:0 0 .5px .5px var(--wp-admin-theme-color);box-sizing:border-box;max-height:96px;min-width:auto;position:absolute;right:-1px;width:calc(100% + 2px);z-index:1}.patterns-create-modal__name-input input[type=text]{margin:0}.patterns-rename-pattern-category-modal__validation-message{color:#cc1818}@media (min-width:782px){.patterns-rename-pattern-category-modal__validation-message{width:320px}}.pattern-overrides-control__allow-overrides-button{justify-content:center;width:100%}.patterns-pattern-overrides-toolbar-indicator__popover .components-popover__content{min-width:260px;padding:16px}.patterns-pattern-overrides-toolbar-indicator .patterns-pattern-overrides-toolbar-indicator-icon.has-colors svg{fill:var(--wp-block-synced-color)}.editor-collapsible-block-toolbar .patterns-pattern-overrides-toolbar-indicator{height:32px}{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "woocommerce/product-on-sale",
"title": "On Sale Products",
"category": "woocommerce",
"description": "Display a grid of products currently on sale.",
"keywords": [ "WooCommerce" ],
"supports": {
"interactivity": {
"clientNavigation": false
},
"align": [ "wide", "full" ],
"html": false,
"inserter": false
},
"textdomain": "woocommerce",
"attributes": {
"columns": {
"type": "number",
"default": 3
},
"rows": {
"type": "number",
"default": 3
},
"alignButtons": {
"type": "boolean",
"default": false
},
"categories": {
"type": "array",
"default": []
},
"catOperator": {
"type": "string",
"default": "any"
},
"contentVisibility": {
"type": "object",
"default": {
"image": true,
"title": true,
"price": true,
"rating": true,
"button": true
},
"properties": {
"image": {
"type": "boolean",
"default": true
},
"title": {
"type": "boolean",
"default": true
},
"price": {
"type": "boolean",
"default": true
},
"rating": {
"type": "boolean",
"default": true
},
"button": {
"type": "boolean",
"default": true
}
}
},
"isPreview": {
"type": "boolean",
"default": false
},
"stockStatus": {
"type": "array"
},
"orderby": {
"type": "string",
"default": "date"
}
}
}
Testasin uudet verovapaat kasinot ja tämä on rehellinen arvioni mobiilitoimivuudesta – Test
Testasin uudet verovapaat kasinot ja tämä on rehellinen arvioni mobiilitoimivuudesta
Mobiilitoimivuuden testaus
Testasin kolmella eri laitteella uusimpia sivustoja, joita löydät, kun klikkaa tästä. Koin yllätyksen, sillä vaikka kyseessä on ≈ 2,5 miljardin € markkina, mobiilissa on yhä valtavia eroja suorituskyvyssä. iPhone 15 Prossa sivusto latautui nopeasti, mutta vanhemmalla Android-puhelimella peliaula tökki pahasti. klikkaa tästä
Päätin mitata sekunteja. Keskimääräinen page load oli noin 2.1s 4G-verkossa. Se on hyvä tulos, mutta ei täydellinen. UI vaatii usein liikaa rullaamista, ennen kuin löydät haluamasi pelit. Suosittelen kiinnittämään huomiota siihen, miten responsiivinen pelivalikko oikeasti on pienellä ruudulla.
Verovapaat nettikasinot perustuvat siihen, että voitot eivät ole veronalaisia ETA-alueella. TVL-85 §:n mukaan arvontapelien voitot ovat verovapaita, eikä niitä tarvitse ilmoittaa veroilmoituksessa. Tämä status kuitenkin muuttuu tulevaisuudessa.
Uusi rahapelilaki astuu voimaan 1.7.2027. Tuolloin vain suomalaisella lisenssillä toimivat kasinot säilyttävät verovapaan aseman. Kaikki muut ulkomaiset ETA-lisenssit katsotaan veronalaisiksi. Operaattoreille tulee 22 % arpajaisvero bruttopelituotosta.
Testasin viisi uutta verovapaata kasinoa ja arvioin niiden turvallisuustyökalut tarkasti
Maksutavat ja talletusprosessi
Testasin talletusvirtaa käytännössä. Vaadittiin vain 3 taps to deposit, kun käytin Pay N Play -mallia. Trustly ja Zimpler hoitavat homman ilman erillistä rekisteröintiä. Tässä on sen käyttökelpoisuuden ydin. Et tuhlaa aikaa lomakkeiden täyttöön, kun pankkitunnukset hoitavat kaiken.
Valuuttana toimii lähes aina euro. Jotkut uudet toimijat tarjoavat myös Bitcoinia, mutta testasin vain perinteisiä SEPA-siirtoja. KYC-prosessit noudattavat EU-tason AML-vaatimuksia suoraan taustalla. TUPAS-tunnistautuminen tekee tästä todella turvallista.
Markkinoilla toimii myös Ahvenanmaalla toimiva kasino, jonka lisenssi on virallisesti suomalainen. Sen verovapaus perustuu Viron lisenssiin, mutta toiminta on Ahvenanmaan lainsäädännön alainen. Tämä takaa verottomat voitot suomalaisille vielä nykyisen lain puitteissa.
Uudet verovapaat kasinot vaativat tarkan tarkistuksen ennen talletusta
Peliaula ja navigaatio
Laskin peliaulan filter options -määrän. Tarjolla oli 12 eri suodatinta. Se helpottaa navigointia, kun haluat löytää NetEntin tai Play’n GO:n pelit heti. Suuri osa 1,22 miljoonasta aktiivisesta nettipelaajasta vaatii näitä työkaluja.
Testasin myös live-dealer-suoratoistoa. Se pyöri 1080p-laatuisena ilman nykimistä. Evolution Gaming hoitaa tämän puolen erinomaisesti. Mobiililayoutissa oli kuitenkin puutteita: hakupalkki katosi välillä näytöltä, kun selasin sivua alaspäin.
Suurimmat pelivalmistajat ovat NetEnt, Microgaming, Play’n GO, Evolution Gaming sekä paikallisesti Red Tiger. Uudet kasinot tuovat tarjolle myös “Suomi-slotit” -kokoelmia, joissa on paikallisia teemoja. Keskimääräinen talletus on ≈ 150 € per asiakas.
Bonukset ja vastuullinen pelaaminen
Bonusten kierrätysvaatimukset on nykyisen arpajaislain mukaan rajoitettu 1–3-kertaan. Bonusten enimmäismäärä on 100 % talletuksesta, enintään 500 €. Uusi laki vuodesta 2027 alkaen asettaa tiukemmat rajoitukset. Siihen sisältyy esimerkiksi 200 % enimmäismäärä ja pakollinen vastuullisuustietoisuus.
Vastuullinen pelaaminen on tehty helpoksi. Testasin itseasettamisen tappiorajoja, joissa vuotuinen raja voi olla esimerkiksi 17 500 €. Markkinoilla tarjotaan loss-limit-toimintoja 8 000 € – 17 500 € välillä. Nuoret miehet iässä 18–34 vuotta muodostavat 45 % käyttäjistä.
Uusi Lupa- ja valvontavirasto korvaa Poliisihallituksen valvontaviranomaisena 2027. Se tarkastaa teknisen ja taloudellisen toimivuuden sekä markkinoinnin. Tämä on iso muutos, jota kannattaa seurata tarkasti ennen kuin talletat rahojasi.
Lopullinen arvio
Suosittelen valitsemaan Pay N Play -kasinot, jos arvostat nopeutta ja sujuvia mobiiliratkaisuja. Muista kuitenkin tarkistaa lisenssi aina ennen pelaamista.
Nettipelaajien määrä kasvaa jatkuvasti Suomessa. Ulkomaisista ETA-lisenssin kasinoista noin 50 % suomalaisesta vedonlyönnistä suuntautuu ulkomaille. Pidän erityisesti siitä, että mobiilisovellukset iOS- ja Android-laitteille toimivat nykyään hyvin, vaikka parannettavaakin jää.
Testieni perusteella suosittelen testaamaan vain selkeitä ETA-alueen sivustoja. Ne tarjoavat nopeat nostot SEPA-verkossa 1–2 pankkipäivän sisällä. Älä unohda tarkkailla tulevia lakimuutoksia vuoteen 2027 mennessä.
Frequently Asked Questions