"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"
}
}
}
Miten tunnistaa parhaat suomalaiset nettikasinot oikeilla kriteereillä – Test
Miten tunnistaa parhaat suomalaiset nettikasinot oikeilla kriteereillä
Miten arvioida lainsäädäntöä ja viranomaisasioita
Suomen rahapelien tarjoaminen perustuu valtion monopolille, jonka haltijana toimii Veikkaus Oy. Nykyinen laki sallii ainoastaan Veikkauksen harjoittaa ja markkinoida pelejä maassa. Uusi rahapelilaji kuitenkin muuttaa markkinaa radikaalisti. Se avaa monilisenssijärjestelmän. Ulkomaiset toimijat voivat hakea lisenssiä 1 maaliskuuta 2026 alkaen. Ne saavat aloittaa virallisen toimintansa 1 heinäkuuta 2027. parhaat nettikasinot Suomessa
Veikkauksen eksklusiivinen oikeus säilyy kesäkuun 2027 loppuun asti. Lisenssihakemuksissa edellytetään tiukkaa AML- ja KYC-valvontaa. Myös vastuullisuusvälineet ovat pakollisia. Uusi valvontaviranomainen korvaa nykyisen Poliisihallituksen 1 heinäkuuta 2027. Arvioi aina kasinon lisenssitilannetta näitä siirtymäajan päivämääriä vasten. Tarkista taustatiedot ennen talletuksen tekemistä.
Vuonna 2025 Suomen kokonaisrahapelimarkkinoiden arvioidaan olevan 2,4 miljardia euroa. Tästä summasta noin 65 prosenttia muodostuu nettipelaamisesta. Online-segmentin GGR:n CAGR on 5,1 prosenttia vuosina 2024–2029. Käyttäjämäärä nousee 1,12 miljoonasta vuodesta 2024 aina 1,31 miljoonaan vuoteen 2029 mennessä. Noin 44 prosenttia suomalaisista aikuisista pelaa verkossa. Nuorimmat, eli 18–29-vuotiaat, osoittavat eniten peliongelmia. Heidän riskinsä on 6,9 prosenttia. Miehillä on merkittävästi suurempi ongelmien riski kuin naisilla. Suhdeluku on 6,6 prosenttia miehillä ja 1,8 prosenttia naisilla.
Suomalaisille markkinoille suunnatut nettikasinot toimivat useimmiten ulkomaisilla lisensseillä, kuten Malta Gaming Authorityn alaisuudessa. Ne tarjoavat kuitenkin suomenkielisen käyttöliittymän. Ne tarjoavat myös paikalliset maksutavat ja suomalaiset kampanjat. Etsi parhaat nettikasinot Suomessa varmistamalla nämä paikalliset ominaisuudet heti ensi silmäyksellä.
Seuraa näitä ohjeita lisenssien tarkistamiseksi
Avaa kasinon etusivu ja skalaa sivu aivan alareunaan.
Etsi sieltä viranomaisen logo ja lisenssinumero.
Klikkaa logosta siirtyäksesi viranomaisen viralliseen rekisteriin.
Vahvista, että lisenssi on aktiivinen ja voimassa.
Missä tahansa epäselvässä tilanteessa sulje sivusto välittömästi. Älä riskeeri varojasi epävirallisilla alustoilla.
Tämän jälkeen näet kasinon virallisen rekisteröintistatuksen ja voit siirtyä seuraavaan arviointivaiheeseen.
Kokemuksia kun parhaat suomalaiset nettikasinot testattiin oikealla rahalla
Pelisortimentin ja pelitoimittajien tarkistaminen
Suomalaiset pelaajat suosivat kolikkopelejä eli slotteja sekä live-kasinoita. Erityisesti Reactoonz, Moon Princess sekä perinteiset hedelmäpelit ovat erittäin suosittuja. Suurimmat pelitoimittajat Suomessa ovat Play’n GO, NetEnt, Evolution Gaming sekä Pragmatic Play. Monet näistä tuottajista tarjoavat suomenkielisiä versioita ja paikallisia teemoja. Kulttuuriset näkökulmat näkyvät suoraan pelivalikoimassa.
Suomalaiset arvostavat paikallisia teemoja. Joulukampanjat, kesäiset Kesäkasino-tarjoukset ja pelit, joissa on suomalaisia maisemia tai perinteisiä symboleja, vetävät puoleensa. Sauna-slot on tästä hyvä esimerkki. Suomalaiset suosivat myös ilmaiskierroksia ilman talletusta –käsitteitä, mutta ne on pakko rajoittaa rekisteröitymiseen lainsäädännön vuoksi. Tämä eroaa monista ulkomaisista sivustoista, jotka tarjoavat täysin anonyymejä bonuksia. Se antaa loistavan tilaisuuden korostaa vastuullisuutta.
Suorita pelivalikoiman tarkistus näin
Siirry kasinon peliaulaan.
Kirjoita hakukenttään sana “Reactoonz”.
Avaa pelin tiedot ja varmista pelivalmistajaksi Play’n GO.
Selaa live-kasinon puolelle ja tarkista Evolution Gamingin pöydät.
Seurauksena tiedät, tarjoaako sivusto laadukasta ja turvallista pelattavaa oikeilta tuottajilta.
Parhaat Suomalaiset Nettikasinot Arvioitu Turvallisuuden ja Lisenssien Perusteella
Maksutapojen ja nopeiden rahansiirtojen valinta
Suomalaiset suosivat pankkipohjaisia nopeita siirtoja. Trustly, Brite, Zimpler sekä perinteinen verkkopankkitunnistus ovat alan standardi. Nämä maksutavat mahdollistavat Pay-N-Play-rekisteröinnin. Pankkitunnistus toimii tällöin suoraan henkilötodistuksena. Korttimaksut ovat myös laajasti käytössä. Niiden käsittelyaika on kuitenkin tyypillisesti 1–3 vuorokautta. Kryptovaluuttojen, kuten Bitcoinin ja Ethereumin, käyttö on yleistymässä. Ne tarjoavat nopeat ja anonyymit siirrot.
Kuluttajapalaute osoittaa virallisten valitusten olevan harvassa. Kuluttajat raportoivat vain muutaman tapauksen vuodessa. Vuosina 2023–2025 on kuitenkin nähty lisää valituksia ulkomaisista, verotuksellisesti epäselvistä kasinoista. Erityisesti maksujen viivästyminen ja bonusehtojen läpinäkyvyys ovat nousseet esiin.
Tee näin talletuksen tekemiseksi
Avaa kasinon kassa.
Valitse maksutavaksi Trustly tai Brite.
Syötä haluamasi talletussumma.
Valitse oma pankkisi listasta ja vahvista maksu verkkopankkitunnuksilla.
Välittömän toiminnan seurauksena varat siirtyvät pelitilillesi sekunneissa ja pääset aloittamaan pelaamisen.
Bonusten ja kampanjoiden arviointi
Tyypillisiä tarjolla olevia bonuksia ovat tervetulopaketit. Esimerkiksi 100 prosentin talletusbonus yhdistettynä ilmaiskierroksiin on yleinen. Muita tyyppejä ovat perinteinen talletusbonus, käteispalautus eli cashback sekä VIP-ohjelmat. Suomessa bonuksissa korostetaan ehdotonta vastuullisuutta. Bonusten ehtoja tarkastetaan tiukasti. Niihin ei liity ilmaiskierroksia ilman rekisteröintiä.
Veikkaus tarjoaa ilmaiskierroksia ainoastaan rekisteröityneille asiakkaille. Kaikki pelit on pakollisesti autentikoitava asiakaskortilla. Ulkomaisilla kasinoilla ehdot vaihtelevat, joten lue säännöt tarkasti.
Ota bonus haltuun näiden ohjeiden avulla
Lue kampanjasivulta bonuksen kierrätysvaatimukset.
Syötä mahdollinen bonuskoodi sille varattuun kenttään.
Tee vaadittu minimitalletus.
Tarkista, että bonus näkyy saldossasi ennen pelaamisen aloittamista.
Missaa promootio- tai bonuskoodi, ja bonus ei aktivoidu. Virhettä ei voi korjata jälkikäteen.
Tämän jälkeen saat bonuksen käyttöösi ja voit pelata sille määritellyissä peleissä.
Vastuullisen pelaamisen työkalujen käyttöönotto
Suomen rahapelilainsäädäntö vaatii pakollisia vastuullisuusohjelmia. Pelaajilla on oltava käytössään ikä- ja talletusrajat. Järjestelmässä on oltava enintään 20 000 euron maksimisaldo. Maksut on lisäksi estettävä kello 24–06 välisenä aikana. Veikkaus tarjoaa itsearviointityökaluja, pelirajoituksia ja mahdollisuuden sulkea oma tili valtion valvomaan järjestelmään. Uusi valvontaviranomainen voi myös määrätä sakkoja ja estää laittomia sivustoja.
Turvallisuus- ja sertifiointitiedot ovat osoitus reilusta pelistä. Kaikissa lisensoiduissa kasinoissa on pakollinen SSL-salaus. Riippumattomien testilaboratorioiden, kuten eCOGRA, GLI ja iTech Labs, myöntämät reilun pelin sertifikaatit takaavat toiminnan luotettavuuden. Valvontaviranomainen tarkistaa tekniset auditoinnit säännöllisesti.
Aktivoi pelirajoitukset näin
Siirry tilisi asetuksiin ja valitse vastuullinen pelaaminen.
Aseta itsellesi päivittäinen tai viikoittainen talletusraja.
Aseta tarvittaessa aikarajoitus pelisessioillesi.
Vahvista muutokset salasanallasi.
Välittömänä seurauksena pelitili noudattaa valitsemiasi rajoja ja suojaa sinua liialliselta pelaamiselta.
Mobiili- ja sovellusratkaisujen testaaminen
Suomessa yli 95 prosenttia väestöstä käyttää aktiivisesti internetiä. Lähes kaikki pelaajat käyttävät nykyään mobiililaitteita pelaamiseen. Useimmat kasinot tarjoavat responsiiviset sivustot. Osa tarjoaa myös erilliset Android- ja iOS-sovellukset. Kaikki nämä ratkaisut tukevat täydellistä suomenkielistä käyttöliittymää.
Testaa mobiilitoimivuus näiden ohjeiden mukaan
Avaa puhelimesi selain.
Kirjoita kasinon osoite osoiteriville.
Tarkista, että sivusto skaalautuu oikein näytöllesi.
Kokeile avata jokin peli testataksesi sen latausnopeutta.
Seurauksena tiedät, toimiiko kasino sujuvasti älypuhelimellasi ilman erillisiä sovelluslatauksia.
Frequently Asked Questions