/*! elementor - v3.20.0 - 10-04-2024 */ .elementor-button, .e-btn, #elementor-deactivate-feedback-modal .dialog-skip, #elementor-deactivate-feedback-modal .dialog-submit { font-size: 12px; font-weight: 500; line-height: 1.2; padding: 8px 16px; outline: none; border: none; border-radius: var(--e-a-border-radius); background-color: var(--e-a-btn-bg); color: var(--e-a-btn-color-invert); transition: var(--e-a-transition-hover); } .elementor-button:hover, .e-btn:hover, #elementor-deactivate-feedback-modal .dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-submit:hover { border: none; } .elementor-button:hover, .elementor-button:focus, .e-btn:hover, #elementor-deactivate-feedback-modal .dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-submit:hover, .e-btn:focus, #elementor-deactivate-feedback-modal .dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-submit:focus { background-color: var(--e-a-btn-bg-hover); color: var(--e-a-btn-color-invert); } .elementor-button:active, .e-btn:active, #elementor-deactivate-feedback-modal .dialog-skip:active, #elementor-deactivate-feedback-modal .dialog-submit:active { background-color: var(--e-a-btn-bg-active); } .elementor-button:not([disabled]), .e-btn:not([disabled]), #elementor-deactivate-feedback-modal .dialog-skip:not([disabled]), #elementor-deactivate-feedback-modal .dialog-submit:not([disabled]) { cursor: pointer; } .elementor-button:disabled, .e-btn:disabled, #elementor-deactivate-feedback-modal .dialog-skip:disabled, #elementor-deactivate-feedback-modal .dialog-submit:disabled { background-color: var(--e-a-btn-bg-disabled); color: var(--e-a-btn-color-disabled); } .elementor-button:not(.elementor-button-state) .elementor-state-icon, .e-btn:not(.elementor-button-state) .elementor-state-icon, #elementor-deactivate-feedback-modal .dialog-skip:not(.elementor-button-state) .elementor-state-icon, #elementor-deactivate-feedback-modal .dialog-submit:not(.elementor-button-state) .elementor-state-icon { display: none; } .elementor-button.e-btn-txt, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-cancel, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-cancel, .e-btn.e-btn-txt, #elementor-deactivate-feedback-modal .dialog-skip, #elementor-deactivate-feedback-modal .e-btn-txt.dialog-submit, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.dialog-button.dialog-cancel, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit, .dialog-type-alert .dialog-buttons-wrapper .e-btn.dialog-button.dialog-cancel, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit { background: transparent; color: var(--e-a-color-txt); } .elementor-button.e-btn-txt:hover, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-cancel:hover, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-cancel:hover, .elementor-button.e-btn-txt:focus, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-cancel:focus, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-cancel:focus, .e-btn.e-btn-txt:hover, #elementor-deactivate-feedback-modal .dialog-skip:hover, #elementor-deactivate-feedback-modal .e-btn-txt.dialog-submit:hover, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.dialog-button.dialog-cancel:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit:hover, .dialog-type-alert .dialog-buttons-wrapper .e-btn.dialog-button.dialog-cancel:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit:hover, .e-btn.e-btn-txt:focus, #elementor-deactivate-feedback-modal .dialog-skip:focus, #elementor-deactivate-feedback-modal .e-btn-txt.dialog-submit:focus, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.dialog-button.dialog-cancel:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit:focus, .dialog-type-alert .dialog-buttons-wrapper .e-btn.dialog-button.dialog-cancel:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit:focus { background: var(--e-a-bg-hover); color: var(--e-a-color-txt-hover); } .elementor-button.e-btn-txt:disabled, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-cancel:disabled, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-cancel:disabled, .e-btn.e-btn-txt:disabled, #elementor-deactivate-feedback-modal .dialog-skip:disabled, #elementor-deactivate-feedback-modal .e-btn-txt.dialog-submit:disabled, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.dialog-button.dialog-cancel:disabled, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit:disabled, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit:disabled, .dialog-type-alert .dialog-buttons-wrapper .e-btn.dialog-button.dialog-cancel:disabled, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit:disabled, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit:disabled { background: transparent; color: var(--e-a-color-txt-disabled); } .elementor-button.e-btn-txt-border, .e-btn.e-btn-txt-border, #elementor-deactivate-feedback-modal .e-btn-txt-border.dialog-skip, #elementor-deactivate-feedback-modal .e-btn-txt-border.dialog-submit { border: 1px solid var(--e-a-color-txt-muted); } .elementor-button.elementor-button-success, .elementor-button.e-success, .e-btn.elementor-button-success, #elementor-deactivate-feedback-modal .elementor-button-success.dialog-skip, #elementor-deactivate-feedback-modal .elementor-button-success.dialog-submit, .e-btn.e-success, #elementor-deactivate-feedback-modal .e-success.dialog-skip, #elementor-deactivate-feedback-modal .e-success.dialog-submit { background-color: var(--e-a-btn-bg-success); } .elementor-button.elementor-button-success:hover, .elementor-button.elementor-button-success:focus, .elementor-button.e-success:hover, .elementor-button.e-success:focus, .e-btn.elementor-button-success:hover, #elementor-deactivate-feedback-modal .elementor-button-success.dialog-skip:hover, #elementor-deactivate-feedback-modal .elementor-button-success.dialog-submit:hover, .e-btn.elementor-button-success:focus, #elementor-deactivate-feedback-modal .elementor-button-success.dialog-skip:focus, #elementor-deactivate-feedback-modal .elementor-button-success.dialog-submit:focus, .e-btn.e-success:hover, #elementor-deactivate-feedback-modal .e-success.dialog-skip:hover, #elementor-deactivate-feedback-modal .e-success.dialog-submit:hover, .e-btn.e-success:focus, #elementor-deactivate-feedback-modal .e-success.dialog-skip:focus, #elementor-deactivate-feedback-modal .e-success.dialog-submit:focus { background-color: var(--e-a-btn-bg-success-hover); } .elementor-button.e-primary, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-take_over, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-take_over, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-ok, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-ok, .e-btn.e-primary, #elementor-deactivate-feedback-modal .e-primary.dialog-skip, #elementor-deactivate-feedback-modal .dialog-submit, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.dialog-button.dialog-take_over, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-take_over.dialog-skip, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over.dialog-skip, .dialog-type-alert .dialog-buttons-wrapper .e-btn.dialog-button.dialog-take_over, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-take_over.dialog-skip, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over.dialog-skip, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.dialog-button.dialog-ok, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-skip, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-skip, .dialog-type-alert .dialog-buttons-wrapper .e-btn.dialog-button.dialog-ok, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-skip, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-skip { background-color: var(--e-a-btn-bg-primary); color: var(--e-a-btn-color); } .elementor-button.e-primary:hover, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-take_over:hover, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-take_over:hover, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-ok:hover, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-ok:hover, .elementor-button.e-primary:focus, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-take_over:focus, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-take_over:focus, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-ok:focus, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-ok:focus, .e-btn.e-primary:hover, #elementor-deactivate-feedback-modal .e-primary.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-submit:hover, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.dialog-button.dialog-take_over:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-take_over.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over.dialog-skip:hover, .dialog-type-alert .dialog-buttons-wrapper .e-btn.dialog-button.dialog-take_over:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-take_over.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over.dialog-skip:hover, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.dialog-button.dialog-ok:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-skip:hover, .dialog-type-alert .dialog-buttons-wrapper .e-btn.dialog-button.dialog-ok:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-skip:hover, .e-btn.e-primary:focus, #elementor-deactivate-feedback-modal .e-primary.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-submit:focus, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.dialog-button.dialog-take_over:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-take_over.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over.dialog-skip:focus, .dialog-type-alert .dialog-buttons-wrapper .e-btn.dialog-button.dialog-take_over:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-take_over.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over.dialog-skip:focus, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.dialog-button.dialog-ok:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-skip:focus, .dialog-type-alert .dialog-buttons-wrapper .e-btn.dialog-button.dialog-ok:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-skip:focus { background-color: var(--e-a-btn-bg-primary-hover); color: var(--e-a-btn-color); } .elementor-button.e-primary.e-btn-txt, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.e-btn-txt.dialog-button.dialog-take_over, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.e-btn-txt.dialog-button.dialog-take_over, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.e-primary.dialog-button.dialog-cancel, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-cancel.dialog-take_over, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.e-primary.dialog-button.dialog-cancel, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-cancel.dialog-take_over, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.e-btn-txt.dialog-button.dialog-ok, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-ok.dialog-cancel, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.e-btn-txt.dialog-button.dialog-ok, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-ok.dialog-cancel, .e-btn.e-primary.e-btn-txt, #elementor-deactivate-feedback-modal .e-primary.dialog-skip, #elementor-deactivate-feedback-modal .e-btn-txt.dialog-submit, #elementor-deactivate-feedback-modal .dialog-submit.dialog-skip, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.e-btn-txt.dialog-button.dialog-take_over, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-take_over.dialog-skip, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over.dialog-skip, .dialog-type-alert .dialog-buttons-wrapper .e-btn.e-btn-txt.dialog-button.dialog-take_over, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-take_over.dialog-skip, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over.dialog-skip, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.e-primary.dialog-button.dialog-cancel, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.dialog-button.dialog-cancel.dialog-take_over, .dialog-type-alert .dialog-buttons-wrapper .e-btn.e-primary.dialog-button.dialog-cancel, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit, .dialog-type-alert .dialog-buttons-wrapper .e-btn.dialog-button.dialog-cancel.dialog-take_over, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.e-btn-txt.dialog-button.dialog-ok, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-skip, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-skip, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.dialog-button.dialog-ok.dialog-cancel, .dialog-type-alert .dialog-buttons-wrapper .e-btn.e-btn-txt.dialog-button.dialog-ok, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-skip, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-skip, .dialog-type-alert .dialog-buttons-wrapper .e-btn.dialog-button.dialog-ok.dialog-cancel { background: transparent; color: var(--e-a-color-primary-bold); } .elementor-button.e-primary.e-btn-txt:hover, #elementor-deactivate-feedback-modal .elementor-button.e-primary.dialog-skip:hover, #elementor-deactivate-feedback-modal .elementor-button.e-btn-txt.dialog-submit:hover, #elementor-deactivate-feedback-modal .elementor-button.dialog-submit.dialog-skip:hover, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.e-btn-txt.dialog-button.dialog-take_over:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .elementor-button.dialog-button.dialog-take_over.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-take_over.dialog-skip:hover, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.e-btn-txt.dialog-button.dialog-take_over:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .elementor-button.dialog-button.dialog-take_over.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-take_over.dialog-skip:hover, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.e-primary.dialog-button.dialog-cancel:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .elementor-button.dialog-button.dialog-cancel.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-cancel.dialog-submit:hover, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-cancel.dialog-take_over:hover, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.e-primary.dialog-button.dialog-cancel:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .elementor-button.dialog-button.dialog-cancel.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-cancel.dialog-submit:hover, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-cancel.dialog-take_over:hover, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.e-btn-txt.dialog-button.dialog-ok:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .elementor-button.dialog-button.dialog-ok.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-ok.dialog-skip:hover, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-ok.dialog-cancel:hover, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.e-btn-txt.dialog-button.dialog-ok:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .elementor-button.dialog-button.dialog-ok.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-ok.dialog-skip:hover, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-ok.dialog-cancel:hover, .elementor-button.e-primary.e-btn-txt:focus, #elementor-deactivate-feedback-modal .elementor-button.e-primary.dialog-skip:focus, #elementor-deactivate-feedback-modal .elementor-button.e-btn-txt.dialog-submit:focus, #elementor-deactivate-feedback-modal .elementor-button.dialog-submit.dialog-skip:focus, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.e-btn-txt.dialog-button.dialog-take_over:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .elementor-button.dialog-button.dialog-take_over.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-take_over.dialog-skip:focus, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.e-btn-txt.dialog-button.dialog-take_over:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .elementor-button.dialog-button.dialog-take_over.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-take_over.dialog-skip:focus, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.e-primary.dialog-button.dialog-cancel:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .elementor-button.dialog-button.dialog-cancel.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-cancel.dialog-submit:focus, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-cancel.dialog-take_over:focus, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.e-primary.dialog-button.dialog-cancel:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .elementor-button.dialog-button.dialog-cancel.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-cancel.dialog-submit:focus, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-cancel.dialog-take_over:focus, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.e-btn-txt.dialog-button.dialog-ok:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .elementor-button.dialog-button.dialog-ok.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-ok.dialog-skip:focus, .dialog-type-confirm .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-ok.dialog-cancel:focus, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.e-btn-txt.dialog-button.dialog-ok:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .elementor-button.dialog-button.dialog-ok.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-ok.dialog-skip:focus, .dialog-type-alert .dialog-buttons-wrapper .elementor-button.dialog-button.dialog-ok.dialog-cancel:focus, .e-btn.e-primary.e-btn-txt:hover, #elementor-deactivate-feedback-modal .e-btn.e-primary.dialog-skip:hover, #elementor-deactivate-feedback-modal .e-primary.e-btn-txt.dialog-skip:hover, #elementor-deactivate-feedback-modal .e-primary.dialog-skip:hover, #elementor-deactivate-feedback-modal .e-btn.e-btn-txt.dialog-submit:hover, #elementor-deactivate-feedback-modal .e-btn.dialog-submit.dialog-skip:hover, #elementor-deactivate-feedback-modal .e-btn-txt.dialog-submit.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-submit.dialog-skip:hover, #elementor-deactivate-feedback-modal .e-primary.e-btn-txt.dialog-submit:hover, #elementor-deactivate-feedback-modal .e-primary.dialog-submit.dialog-skip:hover, #elementor-deactivate-feedback-modal .e-btn-txt.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-submit.dialog-skip:hover, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.e-btn-txt.dialog-button.dialog-take_over:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn.dialog-button.dialog-take_over.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .e-btn.dialog-button.dialog-take_over.dialog-skip:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn-txt.dialog-button.dialog-take_over.dialog-skip:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-take_over.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .e-btn-txt.dialog-button.dialog-take_over.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over.dialog-skip:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn-txt.dialog-button.dialog-take_over.dialog-submit:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-take_over.dialog-submit.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .e-btn-txt.dialog-button.dialog-take_over.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over.dialog-submit.dialog-skip:hover, .dialog-type-alert .dialog-buttons-wrapper .e-btn.e-btn-txt.dialog-button.dialog-take_over:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn.dialog-button.dialog-take_over.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .e-btn.dialog-button.dialog-take_over.dialog-skip:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn-txt.dialog-button.dialog-take_over.dialog-skip:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-take_over.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .e-btn-txt.dialog-button.dialog-take_over.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over.dialog-skip:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn-txt.dialog-button.dialog-take_over.dialog-submit:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-take_over.dialog-submit.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .e-btn-txt.dialog-button.dialog-take_over.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over.dialog-submit.dialog-skip:hover, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.e-primary.dialog-button.dialog-cancel:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-primary.dialog-button.dialog-cancel.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .e-primary.dialog-button.dialog-cancel.dialog-skip:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn.dialog-button.dialog-cancel.dialog-submit:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .e-btn.dialog-button.dialog-cancel.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit.dialog-skip:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-primary.dialog-button.dialog-cancel.dialog-submit:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .e-primary.dialog-button.dialog-cancel.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit:hover, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.dialog-button.dialog-cancel.dialog-take_over:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-take_over.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over.dialog-skip:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-take_over.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over.dialog-submit:hover, .dialog-type-alert .dialog-buttons-wrapper .e-btn.e-primary.dialog-button.dialog-cancel:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-primary.dialog-button.dialog-cancel.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .e-primary.dialog-button.dialog-cancel.dialog-skip:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn.dialog-button.dialog-cancel.dialog-submit:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .e-btn.dialog-button.dialog-cancel.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit.dialog-skip:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-primary.dialog-button.dialog-cancel.dialog-submit:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .e-primary.dialog-button.dialog-cancel.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit:hover, .dialog-type-alert .dialog-buttons-wrapper .e-btn.dialog-button.dialog-cancel.dialog-take_over:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-take_over.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over.dialog-skip:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-take_over.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over.dialog-submit:hover, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.e-btn-txt.dialog-button.dialog-ok:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn.dialog-button.dialog-ok.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .e-btn.dialog-button.dialog-ok.dialog-skip:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn-txt.dialog-button.dialog-ok.dialog-skip:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .e-btn-txt.dialog-button.dialog-ok.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-skip:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn-txt.dialog-button.dialog-ok.dialog-submit:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-submit.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .e-btn-txt.dialog-button.dialog-ok.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-submit.dialog-skip:hover, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.dialog-button.dialog-ok.dialog-cancel:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-cancel.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel.dialog-skip:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-cancel.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel.dialog-submit:hover, .dialog-type-alert .dialog-buttons-wrapper .e-btn.e-btn-txt.dialog-button.dialog-ok:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn.dialog-button.dialog-ok.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .e-btn.dialog-button.dialog-ok.dialog-skip:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn-txt.dialog-button.dialog-ok.dialog-skip:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .e-btn-txt.dialog-button.dialog-ok.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-skip:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn-txt.dialog-button.dialog-ok.dialog-submit:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-submit.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .e-btn-txt.dialog-button.dialog-ok.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-submit.dialog-skip:hover, .dialog-type-alert .dialog-buttons-wrapper .e-btn.dialog-button.dialog-ok.dialog-cancel:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-cancel.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel.dialog-skip:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-cancel.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel.dialog-submit:hover, .e-btn.e-primary.e-btn-txt:focus, #elementor-deactivate-feedback-modal .e-btn.e-primary.dialog-skip:focus, #elementor-deactivate-feedback-modal .e-primary.e-btn-txt.dialog-skip:focus, #elementor-deactivate-feedback-modal .e-primary.dialog-skip:focus, #elementor-deactivate-feedback-modal .e-btn.e-btn-txt.dialog-submit:focus, #elementor-deactivate-feedback-modal .e-btn.dialog-submit.dialog-skip:focus, #elementor-deactivate-feedback-modal .e-btn-txt.dialog-submit.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-submit.dialog-skip:focus, #elementor-deactivate-feedback-modal .e-primary.e-btn-txt.dialog-submit:focus, #elementor-deactivate-feedback-modal .e-primary.dialog-submit.dialog-skip:focus, #elementor-deactivate-feedback-modal .e-btn-txt.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-submit.dialog-skip:focus, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.e-btn-txt.dialog-button.dialog-take_over:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn.dialog-button.dialog-take_over.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .e-btn.dialog-button.dialog-take_over.dialog-skip:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn-txt.dialog-button.dialog-take_over.dialog-skip:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-take_over.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .e-btn-txt.dialog-button.dialog-take_over.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over.dialog-skip:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn-txt.dialog-button.dialog-take_over.dialog-submit:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-take_over.dialog-submit.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .e-btn-txt.dialog-button.dialog-take_over.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over.dialog-submit.dialog-skip:focus, .dialog-type-alert .dialog-buttons-wrapper .e-btn.e-btn-txt.dialog-button.dialog-take_over:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn.dialog-button.dialog-take_over.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .e-btn.dialog-button.dialog-take_over.dialog-skip:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn-txt.dialog-button.dialog-take_over.dialog-skip:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-take_over.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .e-btn-txt.dialog-button.dialog-take_over.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over.dialog-skip:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn-txt.dialog-button.dialog-take_over.dialog-submit:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-take_over.dialog-submit.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .e-btn-txt.dialog-button.dialog-take_over.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over.dialog-submit.dialog-skip:focus, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.e-primary.dialog-button.dialog-cancel:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-primary.dialog-button.dialog-cancel.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .e-primary.dialog-button.dialog-cancel.dialog-skip:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn.dialog-button.dialog-cancel.dialog-submit:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .e-btn.dialog-button.dialog-cancel.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit.dialog-skip:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-primary.dialog-button.dialog-cancel.dialog-submit:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .e-primary.dialog-button.dialog-cancel.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit:focus, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.dialog-button.dialog-cancel.dialog-take_over:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-take_over.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over.dialog-skip:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-take_over.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over.dialog-submit:focus, .dialog-type-alert .dialog-buttons-wrapper .e-btn.e-primary.dialog-button.dialog-cancel:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-primary.dialog-button.dialog-cancel.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .e-primary.dialog-button.dialog-cancel.dialog-skip:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn.dialog-button.dialog-cancel.dialog-submit:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .e-btn.dialog-button.dialog-cancel.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit.dialog-skip:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-primary.dialog-button.dialog-cancel.dialog-submit:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .e-primary.dialog-button.dialog-cancel.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit:focus, .dialog-type-alert .dialog-buttons-wrapper .e-btn.dialog-button.dialog-cancel.dialog-take_over:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-take_over.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over.dialog-skip:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-take_over.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over.dialog-submit:focus, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.e-btn-txt.dialog-button.dialog-ok:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn.dialog-button.dialog-ok.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .e-btn.dialog-button.dialog-ok.dialog-skip:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn-txt.dialog-button.dialog-ok.dialog-skip:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .e-btn-txt.dialog-button.dialog-ok.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-skip:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn-txt.dialog-button.dialog-ok.dialog-submit:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-submit.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .e-btn-txt.dialog-button.dialog-ok.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-submit.dialog-skip:focus, .dialog-type-confirm .dialog-buttons-wrapper .e-btn.dialog-button.dialog-ok.dialog-cancel:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-cancel.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel.dialog-skip:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-cancel.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel.dialog-submit:focus, .dialog-type-alert .dialog-buttons-wrapper .e-btn.e-btn-txt.dialog-button.dialog-ok:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn.dialog-button.dialog-ok.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .e-btn.dialog-button.dialog-ok.dialog-skip:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn-txt.dialog-button.dialog-ok.dialog-skip:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .e-btn-txt.dialog-button.dialog-ok.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-skip:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .e-btn-txt.dialog-button.dialog-ok.dialog-submit:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-submit.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .e-btn-txt.dialog-button.dialog-ok.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-submit.dialog-skip:focus, .dialog-type-alert .dialog-buttons-wrapper .e-btn.dialog-button.dialog-ok.dialog-cancel:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-cancel.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel.dialog-skip:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-cancel.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel.dialog-submit:focus { background: var(--e-a-bg-primary); } .elementor-button.go-pro, .elementor-button.e-accent, .e-btn.go-pro, #elementor-deactivate-feedback-modal .go-pro.dialog-skip, #elementor-deactivate-feedback-modal .go-pro.dialog-submit, .e-btn.e-accent, #elementor-deactivate-feedback-modal .e-accent.dialog-skip, #elementor-deactivate-feedback-modal .e-accent.dialog-submit { background-color: var(--e-a-btn-bg-accent); } .elementor-button.go-pro:hover, .elementor-button.go-pro:focus, .elementor-button.e-accent:hover, .elementor-button.e-accent:focus, .e-btn.go-pro:hover, #elementor-deactivate-feedback-modal .go-pro.dialog-skip:hover, #elementor-deactivate-feedback-modal .go-pro.dialog-submit:hover, .e-btn.go-pro:focus, #elementor-deactivate-feedback-modal .go-pro.dialog-skip:focus, #elementor-deactivate-feedback-modal .go-pro.dialog-submit:focus, .e-btn.e-accent:hover, #elementor-deactivate-feedback-modal .e-accent.dialog-skip:hover, #elementor-deactivate-feedback-modal .e-accent.dialog-submit:hover, .e-btn.e-accent:focus, #elementor-deactivate-feedback-modal .e-accent.dialog-skip:focus, #elementor-deactivate-feedback-modal .e-accent.dialog-submit:focus { background-color: var(--e-a-btn-bg-accent-hover); } .elementor-button.go-pro:active, .elementor-button.e-accent:active, .e-btn.go-pro:active, #elementor-deactivate-feedback-modal .go-pro.dialog-skip:active, #elementor-deactivate-feedback-modal .go-pro.dialog-submit:active, .e-btn.e-accent:active, #elementor-deactivate-feedback-modal .e-accent.dialog-skip:active, #elementor-deactivate-feedback-modal .e-accent.dialog-submit:active { background-color: var(--e-a-btn-bg-accent-active); } .elementor-button.elementor-button-info, .elementor-button.e-info, .e-btn.elementor-button-info, #elementor-deactivate-feedback-modal .elementor-button-info.dialog-skip, #elementor-deactivate-feedback-modal .elementor-button-info.dialog-submit, .e-btn.e-info, #elementor-deactivate-feedback-modal .e-info.dialog-skip, #elementor-deactivate-feedback-modal .e-info.dialog-submit { background-color: var(--e-a-btn-bg-info); } .elementor-button.elementor-button-info:hover, .elementor-button.elementor-button-info:focus, .elementor-button.e-info:hover, .elementor-button.e-info:focus, .e-btn.elementor-button-info:hover, #elementor-deactivate-feedback-modal .elementor-button-info.dialog-skip:hover, #elementor-deactivate-feedback-modal .elementor-button-info.dialog-submit:hover, .e-btn.elementor-button-info:focus, #elementor-deactivate-feedback-modal .elementor-button-info.dialog-skip:focus, #elementor-deactivate-feedback-modal .elementor-button-info.dialog-submit:focus, .e-btn.e-info:hover, #elementor-deactivate-feedback-modal .e-info.dialog-skip:hover, #elementor-deactivate-feedback-modal .e-info.dialog-submit:hover, .e-btn.e-info:focus, #elementor-deactivate-feedback-modal .e-info.dialog-skip:focus, #elementor-deactivate-feedback-modal .e-info.dialog-submit:focus { background-color: var(--e-a-btn-bg-info-hover); } .elementor-button.elementor-button-warning, .elementor-button.e-warning, .e-btn.elementor-button-warning, #elementor-deactivate-feedback-modal .elementor-button-warning.dialog-skip, #elementor-deactivate-feedback-modal .elementor-button-warning.dialog-submit, .e-btn.e-warning, #elementor-deactivate-feedback-modal .e-warning.dialog-skip, #elementor-deactivate-feedback-modal .e-warning.dialog-submit { background-color: var(--e-a-btn-bg-warning); } .elementor-button.elementor-button-warning:hover, .elementor-button.elementor-button-warning:focus, .elementor-button.e-warning:hover, .elementor-button.e-warning:focus, .e-btn.elementor-button-warning:hover, #elementor-deactivate-feedback-modal .elementor-button-warning.dialog-skip:hover, #elementor-deactivate-feedback-modal .elementor-button-warning.dialog-submit:hover, .e-btn.elementor-button-warning:focus, #elementor-deactivate-feedback-modal .elementor-button-warning.dialog-skip:focus, #elementor-deactivate-feedback-modal .elementor-button-warning.dialog-submit:focus, .e-btn.e-warning:hover, #elementor-deactivate-feedback-modal .e-warning.dialog-skip:hover, #elementor-deactivate-feedback-modal .e-warning.dialog-submit:hover, .e-btn.e-warning:focus, #elementor-deactivate-feedback-modal .e-warning.dialog-skip:focus, #elementor-deactivate-feedback-modal .e-warning.dialog-submit:focus { background-color: var(--e-a-btn-bg-warning-hover); } .elementor-button.elementor-button-danger, .elementor-button.e-danger, .e-btn.elementor-button-danger, #elementor-deactivate-feedback-modal .elementor-button-danger.dialog-skip, #elementor-deactivate-feedback-modal .elementor-button-danger.dialog-submit, .e-btn.e-danger, #elementor-deactivate-feedback-modal .e-danger.dialog-skip, #elementor-deactivate-feedback-modal .e-danger.dialog-submit { background-color: var(--e-a-btn-bg-danger); } .elementor-button.elementor-button-danger:hover, .elementor-button.elementor-button-danger:focus, .elementor-button.e-danger:hover, .elementor-button.e-danger:focus, .e-btn.elementor-button-danger:hover, #elementor-deactivate-feedback-modal .elementor-button-danger.dialog-skip:hover, #elementor-deactivate-feedback-modal .elementor-button-danger.dialog-submit:hover, .e-btn.elementor-button-danger:focus, #elementor-deactivate-feedback-modal .elementor-button-danger.dialog-skip:focus, #elementor-deactivate-feedback-modal .elementor-button-danger.dialog-submit:focus, .e-btn.e-danger:hover, #elementor-deactivate-feedback-modal .e-danger.dialog-skip:hover, #elementor-deactivate-feedback-modal .e-danger.dialog-submit:hover, .e-btn.e-danger:focus, #elementor-deactivate-feedback-modal .e-danger.dialog-skip:focus, #elementor-deactivate-feedback-modal .e-danger.dialog-submit:focus { background-color: var(--e-a-btn-bg-danger-hover); } .elementor-button i, .e-btn i, #elementor-deactivate-feedback-modal .dialog-skip i, #elementor-deactivate-feedback-modal .dialog-submit i { margin-inline-end: 5px; } #adminmenu #toplevel_page_elementor div.wp-menu-image:before { content: "\e813"; font-family: eicons; font-size: 18px; margin-block-start: 1px; } #adminmenu #toplevel_page_elementor a[href="admin.php?page=go_elementor_pro"] { font-weight: 600; background-color: #93003f; color: #ffffff; margin: 3px 10px 0; display: block; text-align: center; border-radius: 3px; transition: all 0.3s; } #adminmenu #toplevel_page_elementor a[href="admin.php?page=go_elementor_pro"]:hover, #adminmenu #toplevel_page_elementor a[href="admin.php?page=go_elementor_pro"]:focus { background-color: #c60055; box-shadow: none; } #adminmenu #menu-posts-elementor_library .wp-menu-image:before { content: "\e8ff"; font-family: eicons; font-size: 18px; } #e-admin-menu__kit-library { color: #5cb85c; } .elementor-plugins-gopro { color: #93003f; font-weight: bold; } .elementor-plugins-gopro:hover, .elementor-plugins-gopro:focus { color: #c60055; } #elementor-switch-mode { margin: 15px 0; } #elementor-switch-mode-button, #elementor-editor-button { outline: none; cursor: pointer; } #elementor-switch-mode-button i, #elementor-editor-button i { margin-inline-end: 3px; font-size: 125%; font-style: normal; } body.elementor-editor-active .elementor-switch-mode-off { display: none; } body.elementor-editor-active #elementor-switch-mode-button { background-color: #f7f7f7; color: #555; border-color: #ccc; box-shadow: 0 1px 0 #ccc !important; text-shadow: unset; } body.elementor-editor-active #elementor-switch-mode-button:hover { background-color: #e9e9e9; } body.elementor-editor-active #elementor-switch-mode-button:active { box-shadow: inset 0 1px 0 #ccc; transform: translateY(1px); } body.elementor-editor-active #postdivrich { display: none !important; } body.elementor-editor-active .editor-block-list__layout, body.elementor-editor-active .block-editor-block-list__layout { display: none; } body.elementor-editor-inactive .elementor-switch-mode-on { display: none; } body.elementor-editor-inactive #elementor-editor { display: none; } body.elementor-editor-active .editor-block-list__layout { display: none; } body.elementor-editor-active .edit-post-layout__content .edit-post-visual-editor { flex-basis: auto; } body.elementor-editor-active #elementor-editor { margin-block-end: 50px; } body.elementor-editor-active .edit-post-text-editor__body .editor-post-text-editor { display: none; } body.elementor-editor-active :is(.is-desktop-preview, .is-tablet-preview, .is-mobile-preview) :is(.editor-styles-wrapper, iframe[name=editor-canvas]) { height: auto !important; padding: 0 !important; flex: 0 !important; } body .block-editor #elementor-switch-mode { margin: 0 15px; } body .block-editor #elementor-switch-mode .button { margin: 2px; height: 33px; font-size: 13px; line-height: 1; } body .block-editor #elementor-switch-mode .button i { padding-inline-end: 5px; } .elementor-button { font-size: 13px; text-decoration: none; padding: 15px 40px; } #elementor-editor { height: 300px; width: 100%; transition: all 0.5s ease; } #elementor-editor .elementor-loader-wrapper { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 300px; display: flex; flex-direction: column; align-items: center; gap: 30px; } #elementor-editor .elementor-loader { border-radius: 50%; padding: 40px; height: 150px; width: 150px; background-color: var(--e-a-bg-active); box-sizing: border-box; box-shadow: 2px 2px 20px 4px rgba(0, 0, 0, 0.02); } #elementor-editor .elementor-loader-boxes { height: 100%; width: 100%; position: relative; } #elementor-editor .elementor-loader-box { position: absolute; background-color: var(--e-a-color-txt-hover); animation: load 1.8s linear infinite; } #elementor-editor .elementor-loader-box:nth-of-type(1) { width: 20%; height: 100%; left: 0; top: 0; } #elementor-editor .elementor-loader-box:not(:nth-of-type(1)) { right: 0; height: 20%; width: 60%; } #elementor-editor .elementor-loader-box:nth-of-type(2) { top: 0; animation-delay: calc(1.8s / 4 * -1); } #elementor-editor .elementor-loader-box:nth-of-type(3) { top: 40%; animation-delay: calc(1.8s / 4 * -2); } #elementor-editor .elementor-loader-box:nth-of-type(4) { bottom: 0; animation-delay: calc(1.8s / 4 * -3); } #elementor-editor .elementor-loading-title { color: var(--e-a-color-txt); text-align: center; text-transform: uppercase; letter-spacing: 7px; text-indent: 7px; font-size: 10px; width: 100%; } #elementor-go-to-edit-page-link { height: 100%; display: flex; justify-content: center; align-items: center; border: 1px solid #DDD; background-color: #F7F7F7; text-decoration: none; position: relative; font-family: Sans-serif; } #elementor-go-to-edit-page-link:hover { background-color: #ffffff; } #elementor-go-to-edit-page-link:focus { box-shadow: none; } #elementor-go-to-edit-page-link.elementor-animate #elementor-editor-button { display: none; } #elementor-go-to-edit-page-link:not(.elementor-animate) .elementor-loader-wrapper { display: none; } .elementor-button-spinner:before { font: normal 20px/0.5 dashicons; speak: none; display: inline-block; padding: 0; inset-block-start: 8px; inset-inline-start: -4px; position: relative; vertical-align: top; content: "\f463"; } .elementor-button-spinner.loading:before { animation: rotation 1s infinite linear; } .elementor-button-spinner.success:before { content: "\f147"; color: #46b450; } .elementor-blank_state { padding: 5em 0; margin: auto; max-width: 520px; text-align: center; font-family: var(--e-a-font-family); } .elementor-blank_state i { font-size: 50px; } .elementor-blank_state h3 { font-size: 32px; font-weight: 300; color: inherit; margin: 20px 0 10px; line-height: 1.2; } .elementor-blank_state p { font-size: 16px; font-weight: normal; margin-block-end: 40px; } .elementor-blank_state .elementor-button { display: inline-block; } #available-widgets [class*=elementor-template] .widget-title:before { content: "\e813"; font-family: eicons; font-size: 17px; } .elementor-settings-form-page { padding-block-start: 30px; } .elementor-settings-form-page:not(.elementor-active) { display: none; } ._elementor_settings_update_time { display: none; } body.post-type-attachment table.media .column-title .media-icon img[src$=".svg"] { width: 100%; } .e-major-update-warning { margin-block-end: 5px; max-width: 1000px; display: flex; } .e-major-update-warning__separator { margin: 15px -12px; } .e-major-update-warning__icon { font-size: 17px; margin-inline-end: 9px; margin-inline-start: 2px; } .e-major-update-warning__title { font-weight: 600; margin-block-end: 10px; } .e-major-update-warning + p { display: none; } .notice-success .e-major-update-warning__separator { border: 1px solid #46b450; } .notice-success .e-major-update-warning__icon { color: #79ba49; } .notice-warning .e-major-update-warning__separator { border: 1px solid #ffb900; } .notice-warning .e-major-update-warning__icon { color: #f56e28; } .plugins table.e-compatibility-update-table tr { background: transparent; } .plugins table.e-compatibility-update-table tr th { font-weight: 600; } .plugins table.e-compatibility-update-table tr th, .plugins table.e-compatibility-update-table tr td { min-width: 250px; font-size: 13px; background: transparent; box-shadow: none; border: none; padding-block-start: 5px; padding-block-end: 5px; padding-inline-end: 15px; padding-inline-start: 0; } :root { --e-focus-color: rgba(0, 115, 170, .4); --e-context-primary-color: #0073aa; --e-context-primary-color-dark: #005177; --e-context-primary-tint-4: rgba(0, 115, 170, 0.4); --e-context-primary-tint-1: rgba(0, 115, 170, 0.04); --e-context-success-color: #0A875A; --e-context-success-color-dark: #06583a; --e-context-success-tint-4: rgba(10, 135, 90, 0.4); --e-context-success-tint-1: rgba(10, 135, 90, 0.04); --e-context-info-color: #2563EB; --e-context-info-color-dark: #134cca; --e-context-info-tint-4: rgba(37, 99, 235, 0.4); --e-context-info-tint-1: rgba(37, 99, 235, 0.04); --e-context-warning-color: #F59E0B; --e-context-warning-color-dark: #c57f08; --e-context-warning-tint-4: rgba(245, 158, 11, 0.4); --e-context-warning-tint-1: rgba(245, 158, 11, 0.04); --e-context-error-color: #DC2626; --e-context-error-color-dark: #b21d1d; --e-context-error-tint-4: rgba(220, 38, 38, 0.4); --e-context-error-tint-1: rgba(220, 38, 38, 0.04); --e-context-cta-color: #524CFF; --e-context-cta-color-dark: #2119ff; --e-context-cta-tint-4: rgba(82, 76, 255, 0.4); --e-context-cta-tint-1: rgba(82, 76, 255, 0.04); } .e-getting-started { max-width: 900px; padding: 2.5em 0; margin: auto; text-align: center; } .e-getting-started__header { display: flex; flex-direction: row; justify-content: space-between; align-items: center; box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); } .e-getting-started__header .e-logo-wrapper { font-size: 10px; margin-inline-end: 10px; } .e-getting-started__title { padding: 0 15px; font-weight: 600; text-transform: uppercase; display: flex; align-items: center; } .e-getting-started__skip { border-inline-start: 1px solid #eee; font-size: 16px; color: inherit; } .e-getting-started__skip i { padding: 15px; } .e-getting-started__content { padding: 50px; } .e-getting-started__content h2 { font-size: 2em; margin-block-start: 0; } .e-getting-started__content--narrow { max-width: 500px; margin: auto; } .e-getting-started__video { margin: 40px 0 60px; } .e-getting-started__video iframe { box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.15); } .e-getting-started__actions .button-primary { margin-inline-end: 20px; } :root { --e-button-padding-block: 0.4375rem; --e-button-padding-inline: 0.75rem; --e-button-font-size: 0.8125rem; --e-button-font-weight: 500; --e-button-line-height: 0.9375rem; --e-button-border-radius: 3px; --e-button-context-color: var(--e-context-primary-color); --e-button-context-color-dark: var(--e-context-primary-color-dark); --e-button-context-tint: var(--e-context-primary-tint-1); } .e-button { display: inline-block; font-weight: var(--e-button-font-weight); text-align: center; white-space: nowrap; vertical-align: middle; -webkit-user-select: none; -moz-user-select: none; user-select: none; color: #ffffff; border: 0; text-decoration: none; background: var(--e-button-context-color); padding: var(--e-button-padding-block) var(--e-button-padding-inline); font-size: var(--e-button-font-size); line-height: var(--e-button-line-height); border-radius: var(--e-button-border-radius); transition: background-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } .e-button:active, .e-button:hover, .e-button:focus { color: #ffffff; text-decoration: none; background: var(--e-button-context-color-dark); } .e-button:focus, .e-button.focus { outline: 0; box-shadow: 0 0 0 2px var(--e-focus-color); } .e-button.disabled, .e-button:disabled { opacity: 0.5; box-shadow: none; } .e-button:not(:disabled):not(.disabled) { cursor: pointer; } .e-button:not(:disabled):not(.disabled):active:focus, .e-button:not(:disabled):not(.disabled).active:focus { box-shadow: 0 0 0 2px var(--e-focus-color); } .e-button--primary { --e-button-context-color: var(--e-context-primary-color); --e-button-context-color-dark: var(--e-context-primary-color-dark); --e-button-context-tint: var(--e-context-primary-tint-1); --e-focus-color: var(--e-context-primary-tint-4); } .e-button--success { --e-button-context-color: var(--e-context-success-color); --e-button-context-color-dark: var(--e-context-success-color-dark); --e-button-context-tint: var(--e-context-success-tint-1); --e-focus-color: var(--e-context-success-tint-4); } .e-button--info { --e-button-context-color: var(--e-context-info-color); --e-button-context-color-dark: var(--e-context-info-color-dark); --e-button-context-tint: var(--e-context-info-tint-1); --e-focus-color: var(--e-context-info-tint-4); } .e-button--warning { --e-button-context-color: var(--e-context-warning-color); --e-button-context-color-dark: var(--e-context-warning-color-dark); --e-button-context-tint: var(--e-context-warning-tint-1); --e-focus-color: var(--e-context-warning-tint-4); } .e-button--error { --e-button-context-color: var(--e-context-error-color); --e-button-context-color-dark: var(--e-context-error-color-dark); --e-button-context-tint: var(--e-context-error-tint-1); --e-focus-color: var(--e-context-error-tint-4); } .e-button--cta { --e-button-context-color: var(--e-context-cta-color); --e-button-context-color-dark: var(--e-context-cta-color-dark); --e-button-context-tint: var(--e-context-cta-tint-1); --e-focus-color: var(--e-context-cta-tint-4); } .e-button.e-button--outline { color: var(--e-button-context-color); background: none; border: 1px solid currentColor; } .e-button.e-button--outline:hover, .e-button.e-button--outline:focus { color: var(--e-button-context-color-dark); background: var(--e-button-context-tint); } .e-button.e-button--outline.disabled, .e-button.e-button--outline:disabled { color: var(--e-button-context-color-dark); background: #69727D; } .e-button > i { line-height: inherit; height: var(--e-button-line-height); width: -moz-min-content; width: min-content; } .e-button > * + * { margin-inline-start: 0.5ch; } .e-button--link { color: var(--e-button-context-color); background-color: transparent; } .e-button--link:hover, .e-button--link:focus { color: var(--e-button-context-color-dark); background: var(--e-button-context-tint); } .e-button--link:disabled, .e-button--link.disabled { color: #69727D; } a.e-button.disabled, fieldset:disabled a.e-button { pointer-events: none; } :root { --e-notice-bg: #fff; --e-notice-border-color: #ccd0d4; --e-notice-context-color: #93003f; --e-notice-context-tint: var(--e-context-cta-tint-1); --e-notice-box-shadow: 0 1px 4px rgba(0,0,0,.15); --e-notice-dismiss-color: #3f444b; } .e-notice { position: relative; display: flex; font-family: Roboto, Arial, Helvetica, sans-serif; background: var(--e-notice-bg); border: 1px solid var(--e-notice-border-color); border-inline-start-width: 4px; box-shadow: var(--e-notice-box-shadow); margin: 5px 20px 5px 2px; } .e-notice.notice { padding: 0; } .e-notice::before { display: block; content: ""; position: absolute; inset-inline-start: -4px; inset-block-start: -1px; inset-block-end: -1px; width: 4px; background-color: var(--e-notice-context-color); } .e-notice--primary { --e-notice-context-color: var(--e-context-primary-color); --e-notice-context-color-dark: var(--e-context-primary-color-dark); --e-notice-context-tint: var(--e-context-primary-tint-1); } .e-notice--success { --e-notice-context-color: var(--e-context-success-color); --e-notice-context-color-dark: var(--e-context-success-color-dark); --e-notice-context-tint: var(--e-context-success-tint-1); } .e-notice--info { --e-notice-context-color: var(--e-context-info-color); --e-notice-context-color-dark: var(--e-context-info-color-dark); --e-notice-context-tint: var(--e-context-info-tint-1); } .e-notice--warning { --e-notice-context-color: var(--e-context-warning-color); --e-notice-context-color-dark: var(--e-context-warning-color-dark); --e-notice-context-tint: var(--e-context-warning-tint-1); } .e-notice--error { --e-notice-context-color: var(--e-context-error-color); --e-notice-context-color-dark: var(--e-context-error-color-dark); --e-notice-context-tint: var(--e-context-error-tint-1); } .e-notice--cta { --e-notice-context-color: var(--e-context-cta-color); --e-notice-context-color-dark: var(--e-context-cta-color-dark); --e-notice-context-tint: var(--e-context-cta-tint-1); } .e-notice--extended { --e-notice-is-extended: 1; } .e-notice--dismissible { padding-inline-end: 38px; } .e-notice__aside { overflow: hidden; background-color: var(--e-notice-context-tint); width: calc(var(--e-notice-is-extended, 0) * 50px); text-align: center; padding-block-start: 15px; flex-grow: 0; flex-shrink: 0; } .e-notice__icon-wrapper { display: inline-block; font-size: 0.625rem; max-height: 1.5rem; width: 1.5rem; line-height: 1.5rem; border-radius: 100px; background: var(--e-notice-context-color); color: #fff; text-shadow: 0 0 3px var(--e-notice-context-color-dark), 0 0 1px var(--e-notice-context-color-dark), 0 0 1px var(--e-notice-context-color-dark); } .e-notice__content { padding: 20px; } .e-notice__actions { display: flex; } .e-notice__actions > * + * { margin-inline-start: 8px; } .e-notice__dismiss { width: 20px; height: 20px; line-height: 20px; font-size: 0.8125rem; text-align: center; background: none; display: block; position: absolute; inset-block-start: 0; inset-inline-end: 1px; border: none; margin: 0; padding: 9px; cursor: pointer; font-style: normal; } .e-notice__dismiss:before { font-family: eicons; display: inline-block; content: "\e87f"; color: var(--e-notice-dismiss-color); width: 20px; border-radius: 20px; speak: none; text-align: center; } .e-notice__dismiss:hover:before, .e-notice__dismiss:active:before, .e-notice__dismiss:focus:before { font-weight: bold; } .e-notice__dismiss:focus:before { color: #fff; background: var(--e-notice-dismiss-color); outline: none; } .e-notice__dismiss:focus { outline: none; } .e-notice p { line-height: 1.2; padding: 0; margin: 0; } .e-notice p + .e-notice__actions { margin-block-start: 1rem; } .e-notice h3 { font-size: 1.0625rem; line-height: 1.2; margin: 0; } .e-notice h3 + p { margin-block-start: 8px; } /*= Elementor Admin Alert ---------------------------------------*/ .elementor-admin-alert { padding: 15px; border-inline-start: 3px solid transparent; position: relative; font-size: 12px; line-height: 1.5; text-align: start; } .elementor-admin-alert a { color: inherit; } .elementor-admin-alert.elementor-alert-info { color: var(--e-a-color-info); background-color: var(--e-a-bg-info); border-color: var(--e-a-color-info); } .elementor-admin-alert.elementor-alert-success { color: var(--e-a-color-success); background-color: var(--e-a-bg-success); border-color: var(--e-a-color-success); } .elementor-admin-alert.elementor-alert-warning { color: var(--e-admin-color-warning); background-color: var(--e-a-bg-warning); border-color: var(--e-a-color-warning); } .elementor-admin-alert.elementor-alert-danger { color: var(--e-a-color-danger); background-color: var(--e-a-bg-danger); border-color: var(--e-a-color-danger); } /*= Elementor System Info ---------------------------------------*/ #elementor-system-info { padding: 15px; } #elementor-system-info .elementor-system-info-header { display: flex; justify-content: space-between; align-items: center; } #elementor-system-info .elementor-system-info-section { margin-block-end: 10px; } #elementor-system-info .elementor-system-info-section .widefat { white-space: pre; } #elementor-system-info .elementor-system-info-section .elementor-log-entries { white-space: pre-wrap; } #elementor-system-info .elementor-system-info-section:not(.elementor-system-info-log) tbody td:first-child { width: 300px; } #elementor-system-info .elementor-system-info-section:not(.elementor-system-info-log) td { white-space: break-spaces; } #elementor-system-info .elementor-system-info-field-recommendation { padding-inline-start: 10px; color: #7F7F7F; } #elementor-system-info .elementor-system-info-plugin-name { color: #000; } #elementor-system-info .elementor-system-info-plugin-properties { padding: 10px; } #elementor-system-info #elementor-system-info-raw-code { width: 100%; height: 200px; } #elementor-system-info #elementor-system-info-raw-code-label { padding: 5px; display: block; } #elementor-system-info .elementor-warning td:first-child { border-inline-start: 3px solid #F59E0B; } #elementor-system-info a.box-title-tool { font-size: 80%; margin-inline-start: 15px; color: #69727D; } #elementor-system-info a.box-title-tool:hover { text-decoration: underline; } #elementor-system-info #elementor-usage-recalc { font-size: 12px; color: #ffffff; background-color: #9DA5AE; padding: 4px 18px 5px 18px; border-radius: 3px; } .dialog-type-confirm .dialog-widget-content, .dialog-type-alert .dialog-widget-content { margin: auto; width: 400px; padding: 20px; } .dialog-type-confirm .dialog-header, .dialog-type-alert .dialog-header { font-size: 15px; font-weight: 500; } .dialog-type-confirm .dialog-header:after, .dialog-type-alert .dialog-header:after { content: ""; display: block; border-block-end: var(--e-a-border); padding-block-end: 10px; margin-block-end: 10px; margin-inline-start: -20px; margin-inline-end: -20px; } .dialog-type-confirm .dialog-message, .dialog-type-alert .dialog-message { min-height: 50px; } .dialog-type-confirm .dialog-buttons-wrapper, .dialog-type-alert .dialog-buttons-wrapper { padding-block-start: 10px; display: flex; justify-content: flex-end; gap: 15px; } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button, .dialog-type-alert .dialog-buttons-wrapper .dialog-button { font-size: 12px; font-weight: 500; line-height: 1.2; padding: 8px 16px; outline: none; border: none; border-radius: var(--e-a-border-radius); background-color: var(--e-a-btn-bg); color: var(--e-a-btn-color-invert); transition: var(--e-a-transition-hover); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button:hover { border: none; } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button:focus { background-color: var(--e-a-btn-bg-hover); color: var(--e-a-btn-color-invert); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button:active, .dialog-type-alert .dialog-buttons-wrapper .dialog-button:active { background-color: var(--e-a-btn-bg-active); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button:not([disabled]), .dialog-type-alert .dialog-buttons-wrapper .dialog-button:not([disabled]) { cursor: pointer; } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button:disabled, .dialog-type-alert .dialog-buttons-wrapper .dialog-button:disabled { background-color: var(--e-a-btn-bg-disabled); color: var(--e-a-btn-color-disabled); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button:not(.elementor-button-state) .elementor-state-icon, .dialog-type-alert .dialog-buttons-wrapper .dialog-button:not(.elementor-button-state) .elementor-state-icon { display: none; } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-skip, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-skip, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-skip, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-skip, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel { background: transparent; color: var(--e-a-color-txt); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-skip:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-skip:focus, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-skip:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-skip:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel:focus { background: var(--e-a-bg-hover); color: var(--e-a-color-txt-hover); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt:disabled, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-skip:disabled, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-skip:disabled, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel:disabled, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt:disabled, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-skip:disabled, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-skip:disabled, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel:disabled { background: transparent; color: var(--e-a-color-txt-disabled); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt-border, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt-border { border: 1px solid var(--e-a-color-txt-muted); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-success, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-success, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-success, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-success { background-color: var(--e-a-btn-bg-success); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-success:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-success:focus, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-success:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-success:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-success:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-success:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-success:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-success:focus { background-color: var(--e-a-btn-bg-success-hover); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-submit, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-submit, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-submit, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-submit, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok { background-color: var(--e-a-btn-bg-primary); color: var(--e-a-btn-color); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-submit:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-submit:focus, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over:focus, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-submit:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-submit:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok:focus { background-color: var(--e-a-btn-bg-primary-hover); color: var(--e-a-btn-color); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.e-primary.dialog-skip, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.dialog-skip, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.e-btn-txt.dialog-submit, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-submit.dialog-skip, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-submit, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-submit.dialog-skip, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-take_over.dialog-skip, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over.dialog-skip, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-skip, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-skip, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.e-primary.dialog-skip, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.dialog-skip, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.e-btn-txt.dialog-submit, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-submit.dialog-skip, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-submit, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-submit.dialog-skip, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-take_over.dialog-skip, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over.dialog-skip, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-skip, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-skip, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel { background: transparent; color: var(--e-a-color-primary-bold); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.e-primary.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.dialog-skip:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.e-btn-txt.dialog-submit:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-submit.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-submit.dialog-skip:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-take_over.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over.dialog-skip:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok:hover, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-skip:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.e-primary.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.dialog-skip:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.e-btn-txt.dialog-submit:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-submit.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-submit.dialog-skip:focus, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-take_over.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over.dialog-skip:focus, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit:focus, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over:focus, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok:focus, .dialog-type-confirm .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-skip:focus, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.e-primary.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.dialog-skip:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.e-btn-txt.dialog-submit:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-submit.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-submit.dialog-skip:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-take_over.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over.dialog-skip:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok:hover, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-skip:hover, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-skip:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.e-primary.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.dialog-skip:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.e-btn-txt.dialog-submit:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-submit.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-submit.dialog-skip:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-take_over.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over.dialog-skip:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-cancel.dialog-submit:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-submit:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok:focus, .dialog-type-alert .dialog-buttons-wrapper #elementor-deactivate-feedback-modal .dialog-button.dialog-ok.dialog-skip:focus, #elementor-deactivate-feedback-modal .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-skip:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel:focus { background: var(--e-a-bg-primary); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.go-pro, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-accent, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.go-pro, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-accent { background-color: var(--e-a-btn-bg-accent); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.go-pro:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.go-pro:focus, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-accent:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-accent:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.go-pro:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.go-pro:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-accent:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-accent:focus { background-color: var(--e-a-btn-bg-accent-hover); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.go-pro:active, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-accent:active, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.go-pro:active, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-accent:active { background-color: var(--e-a-btn-bg-accent-active); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-info, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-info, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-info, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-info { background-color: var(--e-a-btn-bg-info); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-info:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-info:focus, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-info:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-info:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-info:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-info:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-info:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-info:focus { background-color: var(--e-a-btn-bg-info-hover); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-warning, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-warning, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-warning, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-warning { background-color: var(--e-a-btn-bg-warning); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-warning:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-warning:focus, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-warning:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-warning:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-warning:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-warning:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-warning:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-warning:focus { background-color: var(--e-a-btn-bg-warning-hover); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-danger, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-danger, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-danger, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-danger { background-color: var(--e-a-btn-bg-danger); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-danger:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-danger:focus, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-danger:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-danger:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-danger:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-danger:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-danger:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-danger:focus { background-color: var(--e-a-btn-bg-danger-hover); } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button i, .dialog-type-alert .dialog-buttons-wrapper .dialog-button i { margin-inline-end: 5px; } .dialog-type-confirm .dialog-buttons-wrapper .dialog-button:hover, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button:focus, .dialog-type-confirm .dialog-buttons-wrapper .dialog-button:visited, .dialog-type-alert .dialog-buttons-wrapper .dialog-button:hover, .dialog-type-alert .dialog-buttons-wrapper .dialog-button:focus, .dialog-type-alert .dialog-buttons-wrapper .dialog-button:visited { color: initial; } @keyframes elementor-rotation { 0% { transform: rotate(0deg); } 100% { transform: rotate(359deg); } } #elementor-deactivate-feedback-dialog-wrapper { display: none; } #elementor-deactivate-feedback-modal { color: var(--e-a-color-txt); } #elementor-deactivate-feedback-modal .dialog-widget-content { width: 550px; } #elementor-deactivate-feedback-modal .dialog-header { padding: 18px 15px; box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); text-align: start; } #elementor-deactivate-feedback-modal .dialog-message { padding: 30px; padding-block-end: 0; text-align: start; } #elementor-deactivate-feedback-modal .elementor-deactivate-feedback-dialog-input { margin-block: 0; margin-inline: 0 15px; box-shadow: none; } #elementor-deactivate-feedback-modal .elementor-deactivate-feedback-dialog-input:not(:checked) ~ .elementor-feedback-text { display: none; } #elementor-deactivate-feedback-modal .elementor-deactivate-feedback-dialog-label { display: block; font-size: 13px; } #elementor-deactivate-feedback-modal .elementor-feedback-text { background-color: transparent; color: var(--e-a-color-txt); margin-block: 10px 0; margin-inline: 30px 0; padding: 5px; box-shadow: none; width: 92%; } #elementor-deactivate-feedback-modal .dialog-buttons-wrapper { display: flex; justify-content: space-between; padding: 20px 30px 30px; } #elementor-deactivate-feedback-modal .dialog-submit.elementor-loading:before { display: inline-block; content: "\f463"; font: 18px dashicons; animation: elementor-rotation 2s infinite linear; } #elementor-deactivate-feedback-modal[data-feedback-selected=elementor_pro] .elementor-feedback-text { color: #F59E0B; padding: 0; } #elementor-deactivate-feedback-modal[data-feedback-selected=elementor_pro] .dialog-submit { display: none; } #elementor-deactivate-feedback-dialog-header i { font-size: 19px; } #elementor-deactivate-feedback-dialog-header-title { font-size: 15px; text-transform: uppercase; font-weight: bold; padding-inline-start: 5px; } #elementor-deactivate-feedback-dialog-form-caption { font-weight: bold; font-size: 15px; line-height: 1.4; } #elementor-deactivate-feedback-dialog-form-body { padding-block-start: 30px; padding-block-end: 15px; } .elementor-deactivate-feedback-dialog-input-wrapper { display: flex; align-items: center; line-height: 2; overflow: hidden; } #elementor-hidden-area { display: none; } #elementor-import-template-trigger { cursor: pointer; } #elementor-import-template-area { display: none; margin: 50px 0 30px; text-align: center; } #elementor-import-template-form { display: inline-block; margin-block-start: 30px; padding: 30px 50px; background-color: #FFFFFF; border: 1px solid #e5e5e5; } #elementor-import-template-title { font-size: 18px; color: #555d66; } .form-table:not(.elementor-maintenance-mode-is-enabled) .elementor-default-hide { display: none; } .elementor-maintenance-mode-error { color: red; line-height: 1.6; display: none; } #tab-replace_url.elementor-active ~ p.submit, #tab-fontawesome4_migration.elementor-active ~ p.submit, #tab-import-export-kit.elementor-active ~ p.submit { display: none; } #elementor_replace_url > div { max-width: 800px; } #elementor_replace_url > div input { margin-block-end: 6px; } #elementor_rollback > div, #elementor_rollback_pro > div { display: flex; } #elementor_rollback > div input, #elementor_rollback > div select, #elementor_rollback_pro > div input, #elementor_rollback_pro > div select { margin-inline-end: 6px; } .tab-import-export-kit__wrapper { margin: 40px 0; max-width: 700px; } .tab-import-export-kit__container { background-color: white; font-size: 16px; max-width: 700px; padding: 30px; } .tab-import-export-kit__container:not(:first-child) { margin-block-start: 5px; } .tab-import-export-kit__container p { font-size: 16px; margin: 20px 0 25px; } .tab-import-export-kit__info { font-size: 14px; } .tab-import-export-kit__container a:not(.elementor-button), .tab-import-export-kit__info a { color: var(--e-a-color-info); text-decoration: underline; } .tab-import-export-kit__box { display: flex; justify-content: space-between; align-items: flex-start; } .tab-import-export-kit__box h2 { font-size: 28px; font-weight: normal; line-height: 1; margin: 0; } .tab-import-export-kit__box .elementor-button.elementor-button-success { font-weight: bold; padding: 8px 16px; text-transform: initial; } .tab-import-export-kit__revert .tab-import-export-kit__kit-item { background-color: rgba(255, 255, 255, 0.5); box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05); border-radius: 0.1875rem; margin-block-end: 15px; display: inline-block; } .tab-import-export-kit__revert .tab-import-export-kit__kit-item header { border-block-end: 1px solid #F1F2F3; padding: 0.625rem; } .tab-import-export-kit__revert .tab-import-export-kit__kit-item h3 { font-size: 0.875rem; margin: 0; } .tab-import-export-kit__revert .tab-import-export-kit__kit-item img { width: 330px; height: 315px; padding: 0.625rem; } .tab-import-export-kit__revert .button, .tab-import-export-kit__revert .button:hover { color: #a94442; border-color: #a94442; display: inline-block; } #dashboard-widgets .e-dashboard-widget h3.e-heading { font-weight: 600; margin-block-end: 13px; } #dashboard-widgets .e-dashboard-widget .e-divider_bottom { border-block-end: 1px solid #eee; margin: 0 -12px; padding: 6px 12px; } #dashboard-widgets .e-dashboard-widget .e-divider_top { border-block-start: 1px solid #eee; margin: 0 -12px; padding: 12px 12px 0; } #dashboard-widgets .e-dashboard-widget .e-quick-actions-wrap .e-divider_top, #dashboard-widgets .e-dashboard-widget .e-news-feed-wrap .e-divider_top { padding-block-start: 18px; margin-block-start: 18px; } .e-dashboard-widget .dashicons { color: #606a73; } .e-dashboard-widget ul.e-action-list li { margin-block-start: 14px; } .e-dashboard-widget ul.e-action-list li a { margin-inline-start: 5px; } .e-dashboard-overview .dashicons { vertical-align: middle; font-size: 17px; } .e-dashboard-overview .e-overview__header { display: table; width: 100%; box-shadow: 0 5px 8px rgba(0, 0, 0, 0.05); margin: 0 -12px 8px; padding: 0 12px 12px; } .e-dashboard-overview .e-overview__logo, .e-dashboard-overview .e-overview__versions, .e-dashboard-overview .e-overview__create { display: table-cell; vertical-align: middle; } .e-dashboard-overview .e-overview__logo { width: 30px; } .e-dashboard-overview .e-overview__versions { padding: 0 10px; font-size: 0.9em; line-height: 1.5; } .e-dashboard-overview .e-overview__version { display: block; } .e-dashboard-overview .e-overview__create { text-align: end; } .e-dashboard-overview .e-overview__feed { font-size: 14px; font-weight: 500; } .e-dashboard-overview .e-overview__post { margin-block-start: 10px; } .e-dashboard-overview .e-overview__post-link { display: inline-block; } .e-dashboard-overview .e-overview__badge { background: #0A875A; color: white; font-size: 0.75em; padding: 3px 6px; border-radius: 3px; text-transform: uppercase; } .e-dashboard-overview .e-overview__post-description { margin: 0 0 1.5em; } .e-dashboard-overview .e-overview__recently-edited li { color: #72777c; } .e-dashboard-overview .e-overview__footer.e-divider_top { padding-block-start: 12px; padding-block-end: 0; } .e-dashboard-overview .e-overview__footer ul { display: flex; list-style: none; margin: 0; padding: 0; } .e-dashboard-overview .e-overview__footer ul li { padding: 0 10px; margin: 0; border-inline-start: 1px solid #ddd; } .e-dashboard-overview .e-overview__footer ul li:first-child { padding-inline-start: 0; border: none; } .e-dashboard-overview .e-overview__go-pro a, .e-dashboard-overview .e-overview__ai a { color: #93003f; font-weight: 500; } .post-type-elementor_library #elementor-template-library-tabs-wrapper { padding-block-start: 2em; margin-block-end: 2em; } .post-type-elementor_library th#taxonomy-elementor_library_category { width: 110px; } #elementor-new-template-modal .dialog-message { max-height: 70vh; } #elementor-new-template-modal .e-hidden { display: none !important; } #elementor-new-template-dialog-content { display: flex; align-items: center; height: 100%; text-align: start; } @media (max-width: 1439px) { #elementor-new-template-dialog-content { padding: 0 50px; } } @media (min-width: 1440px) { #elementor-new-template-dialog-content { padding: 0 120px; } } #elementor-new-template__description { width: 35%; max-width: 300px; padding-inline-end: 100px; } #elementor-new-template__description__title { font-size: 30px; } #elementor-new-template__description__title span { font-weight: bold; } #elementor-new-template__description__content { font-size: 16px; padding: 30px 0; } #elementor-new-template__take_a_tour { display: flex; align-items: center; font-size: 15px; } #elementor-new-template__take_a_tour i { color: var(--e-a-color-accent); font-size: 30px; } #elementor-new-template__take_a_tour a { padding-inline-start: 10px; font-weight: 500; } #elementor-new-template__form { flex-grow: 1; max-width: 440px; padding: 55px; background-color: var(--e-a-color-white); border-radius: var(--e-a-border-radius); border: var(--e-a-border); } #elementor-new-template__form__title { font-size: 23px; } #elementor-new-template__form__template-type.elementor-form-field__select { max-width: initial; } #elementor-new-template__form__template-type-badge { position: absolute; display: flex; align-items: center; justify-content: center; gap: 2px; border-radius: 2px; background-color: #F1F2F3; padding: 4px; font-size: 8px; font-weight: 500; line-height: 1; text-transform: uppercase; inset-block-start: 50%; inset-inline-end: 28px; transform: translateY(-50%); } #elementor-new-template__form .elementor-form-field__label { display: block; margin: 25px 0 7px; font-size: 14px; line-height: 1; } #elementor-new-template__form .elementor-form-field input, #elementor-new-template__form .elementor-form-field select { width: 100%; height: 50px; padding: 10px; font-size: 14px; box-shadow: none; border-radius: var(--e-a-border-radius); background: none; border: var(--e-a-border-bold); outline: none; } #elementor-new-template__form .elementor-form-field input:focus, #elementor-new-template__form .elementor-form-field select:focus { border-color: var(--e-a-border-color-focus); } #elementor-new-template__form .elementor-form-field__select { -webkit-appearance: none; -moz-appearance: none; appearance: none; cursor: pointer; } #elementor-new-template__form .elementor-form-field__select__wrapper { position: relative; } #elementor-new-template__form .elementor-form-field__select__wrapper:after { font-family: eicons; content: "\e8ad"; position: absolute; inset-block-start: 50%; inset-inline-end: 10px; transform: translateY(-50%); } #elementor-new-template__form__submit, #elementor-new-template__form__lock_button { display: block; width: 100%; height: 50px; margin-block-start: 24px; box-sizing: border-box; text-align: center; } @media (max-width: 1024px) { #elementor-new-template__description { max-width: 250px; padding-inline-end: 30px; } } @media (max-width: 767px) { #elementor-new-template__description { display: none; } } #elementor-role-manager { max-width: 500px; margin-block-start: 50px; } #elementor-role-manager h3 { color: #3f444b; font-weight: normal; font-size: 22px; } #elementor-role-manager .elementor-settings-form-page { padding: 0; } #elementor-role-manager .elementor-role-row { background: #ffffff; color: #3f444b; margin-block-end: 2px; } #elementor-role-manager .elementor-role-row .elementor-role-label { display: flex; padding: 15px 20px; font-weight: 500; cursor: pointer; } #elementor-role-manager .elementor-role-row .elementor-role-label span.elementor-role-name { padding-inline-end: 20px; } #elementor-role-manager .elementor-role-row .elementor-role-label span.elementor-role-toggle { text-align: end; flex-grow: 1; } #elementor-role-manager .elementor-role-row .elementor-role-label span.elementor-role-excluded-indicator { color: #9DA5AE; } #elementor-role-manager .elementor-role-row .elementor-role-controls { background-color: #F9FAFA; padding: 20px 20px 5px; } #elementor-role-manager .elementor-role-row .elementor-role-controls > div { margin-block-end: 15px; } #elementor-role-manager .elementor-role-row .elementor-role-controls .elementor-role-go-pro { display: flex; align-items: center; } #elementor-role-manager .elementor-role-row .elementor-role-controls .elementor-role-go-pro .elementor-role-go-pro__desc { font-weight: 500; font-style: italic; flex-grow: 1; } #elementor-role-manager .elementor-role-row .elementor-role-controls .elementor-role-go-pro .elementor-role-go-pro__link { display: flex; } #elementor-role-manager .elementor-role-row .elementor-role-controls-advanced > div + div { margin-block-start: 15px; } #elementor-role-manager .elementor-role-control-warning { color: var(--e-a-color-danger); } #elementor-beta-tester-modal { color: var(--e-a-color-txt); } #elementor-beta-tester-modal .elementor-templates-modal__header__items-area { color: var(--e-a-color-txt); cursor: pointer; } #elementor-beta-tester-modal .elementor-templates-modal__header__items-area:hover .elementor-beta-tester-do-not-show-again, #elementor-beta-tester-modal .elementor-templates-modal__header__items-area:hover .elementor-templates-modal__header__item > i { color: var(--e-a-color-txt-hover); } #elementor-beta-tester-modal .elementor-templates-modal__header__items-area .elementor-templates-modal__header__close { border: none; } #elementor-beta-tester-modal .elementor-templates-modal__header__items-area .elementor-beta-tester-do-not-show-again { text-transform: uppercase; font-weight: bold; font-size: 12px; transition: var(--e-a-transition-hover); } #elementor-beta-tester-modal .dialog-lightbox-widget-content { max-width: 500px; height: initial; } #elementor-beta-tester-modal .dialog-lightbox-message { padding: 40px; height: 300px; background-color: var(--e-a-bg-default); } #elementor-beta-tester-form__caption { font-weight: bold; font-size: 20px; } #elementor-beta-tester-form__description { font-size: 15px; margin-block-start: 10px; } #elementor-beta-tester-form__input-wrapper { display: flex; margin-block-start: 30px; } #elementor-beta-tester-form__input-wrapper .elementor-button { border-start-start-radius: 0; border-start-end-radius: 3px; border-end-start-radius: 0; border-end-end-radius: 3px; } #elementor-beta-tester-form__email { flex-grow: 1; border: var(--e-a-border); border-inline-end: 0; border-start-start-radius: 3px; border-start-end-radius: 0; border-end-start-radius: 3px; border-end-end-radius: 0; margin: 0; padding: 10px; height: 50px; } #elementor-beta-tester-form__terms { margin-block-start: 40px; font-size: 11px; color: var(--e-a-color-txt-muted); } .e-experiment__title { display: flex; align-items: flex-start; flex-direction: column; } .e-experiment__title__indicator { position: absolute; height: 10px; width: 10px; border-radius: 50%; border: 2px solid white; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); flex-shrink: 0; margin-block-start: 2px; } .e-experiment__title__indicator--active { background: #39b54a; } .e-experiment__title__label { margin-inline-start: 24px; } .e-experiment__title__tag { background: #0085ba; color: #ffffff; font-size: 0.8em; padding: 3px 6px; line-height: 1; border-radius: 3px; font-weight: 600; margin-block-start: 5px; margin-inline-start: 24px; } .e-experiment__title__tag__secondary { background: rgba(0, 0, 0, 0.1); color: inherit; } .e-experiment__table-title { margin: 30px 0; } .e-experiment__dependency, .e-experiment__status { margin-block-start: 4px; font-size: 0.9em; line-height: 18px; font-weight: bold; font-style: italic; } .e-experiment__button.button { margin-block: 18px 22px; margin-inline: 0 14px; } .e-experiment__dependency { color: #21759b; } .e-experiment__dependency__title { font-weight: inherit; } #tab-experiments .form-table tr { border-block-end: 1px solid #dcdcde; } #tab-experiments .form-table tr:last-child { border-block-end: none; } #tab-experiments .form-table tr .description { font-size: 0.9em; margin: 10px 0; max-width: 820px; } .e-landing-pages-empty .elementor-blank_state { padding: 5em 0 2em 0; } .e-landing-pages-empty .e-trashed-items { text-align: center; } .e-feature-promotion { --e-a-top-bar-height: 50px; --e-a-content-area-spacing: 110px; --e-black: #000000; width: 1220px; height: calc(100vh - var(--e-a-top-bar-height) - var(--e-a-content-area-spacing)); display: grid; grid-template-columns: repeat(2, auto); grid-template-rows: auto; justify-content: space-between; align-items: center; align-content: center; margin: auto; transform: translate(-10px, 40px); text-align: center; font-family: var(--e-a-font-family); } .e-feature-promotion_data { grid-column: 1/2; grid-row: 1/2; display: flex; flex-direction: column; justify-content: center; align-items: self-start; margin-inline-start: 15px; padding-inline-end: 40px; max-width: 608px; } .e-feature-promotion_data h3 { margin-block-start: 0; margin-inline-end: 0; margin-block-end: 33px; margin-inline-start: 0; text-align: start; font-size: 1.85rem; font-weight: 300; color: var(--e-black); line-height: 1.2; } .e-feature-promotion_data ul { margin-block-start: 0; margin-block-end: 1.6rem; text-align: start; } .e-feature-promotion_data ul > li { margin-block-start: 0; margin-inline-end: 9px; margin-block-end: 8px; margin-inline-start: 8px; display: flex; font-size: 1rem; line-height: 21px; color: var(--e-black); } .e-feature-promotion_data ul > li:before { content: url("data:image/svg+xml,%3Csvg width='25' height='24' viewBox='0 0 25 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M21.5201 6.46967C21.813 6.76256 21.813 7.23744 21.5201 7.53033L11.5201 17.5303C11.2272 17.8232 10.7523 17.8232 10.4594 17.5303L5.45942 12.5303C5.16652 12.2374 5.16652 11.7626 5.45942 11.4697C5.75231 11.1768 6.22718 11.1768 6.52008 11.4697L10.9897 15.9393L20.4594 6.46967C20.7523 6.17678 21.2272 6.17678 21.5201 6.46967Z' fill='%230C0D0E'/%3E%3C/svg%3E%0A"); font-size: 1.4rem; margin-block-start: -3px; margin-inline-end: 9px; margin-block-end: 0; margin-inline-start: -9px; } .e-feature-promotion_data > .go-pro { display: flex; align-items: center; padding: 9px 15px; font-size: 0.9rem; } .e-feature-promotion_data > .side-note { justify-self: baseline; margin-block-start: 2rem; text-align: start; } .e-feature-promotion_iframe { grid-column: 2/3; grid-row: 1/2; aspect-ratio: 16/9; width: 608px; border: none; } body.rtl .e-feature-promotion { transform: translateX(10px); } @media (max-width: 1410px) { .e-feature-promotion { display: flex; flex-direction: column; justify-content: flex-start; width: 90%; } .e-feature-promotion_data { margin-block-end: 2rem; margin-inline-start: unset; padding-inline-end: unset; } .e-feature-promotion_iframe { max-width: 90%; aspect-ratio: 16/9; } } .elementor-control-notice { display: flex; justify-content: flex-start; align-items: flex-start; gap: 8px; padding: 16px; border-radius: 3px; border: 1px solid var(--notice-control-color, var(--e-a-color-txt)); color: var(--e-a-color-txt); font-size: 12px; font-weight: 400; line-height: 1.5; text-align: start; margin-block-start: 10px; } .elementor-control-notice-type-info { --notice-control-color: var(--e-a-color-info); } .elementor-control-notice-type-success { --notice-control-color: var(--e-a-color-success); } .elementor-control-notice-type-warning { --notice-control-color: var(--e-a-color-warning); } .elementor-control-notice-type-danger { --notice-control-color: var(--e-a-color-danger); } .elementor-control-notice-icon { flex-basis: 18px; color: var(--notice-control-color); } .elementor-control-notice-main { display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 6px; flex: 1; } .elementor-control-notice-main-heading { font-weight: 700; font-style: italic; } .elementor-control-notice-main-content { font-style: italic; line-height: 1.5; } .elementor-control-notice-main-actions { display: flex; gap: 10px; padding-block-start: 8px; } .elementor-control-notice-main a { color: inherit; font-weight: 700; cursor: pointer; } .elementor-control-notice-main a:hover, .elementor-control-notice-main a:focus { color: inherit; } .elementor-control-notice-dismiss { -webkit-appearance: none; -moz-appearance: none; appearance: none; background-color: transparent; border: 0; padding: 0; margin: 0; cursor: pointer; } /*# sourceMappingURL=admin.css.map *//*! elementor - v3.25.0 - 24-11-2024 */ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "../node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js": /*!******************************************************************!*\ !*** ../node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ EnhancerArray: () => (/* binding */ EnhancerArray), /* harmony export */ MiddlewareArray: () => (/* binding */ MiddlewareArray), /* harmony export */ SHOULD_AUTOBATCH: () => (/* binding */ SHOULD_AUTOBATCH), /* harmony export */ TaskAbortError: () => (/* binding */ TaskAbortError), /* harmony export */ __DO_NOT_USE__ActionTypes: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_0__.__DO_NOT_USE__ActionTypes), /* harmony export */ addListener: () => (/* binding */ addListener), /* harmony export */ applyMiddleware: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_0__.applyMiddleware), /* harmony export */ autoBatchEnhancer: () => (/* binding */ autoBatchEnhancer), /* harmony export */ bindActionCreators: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_0__.bindActionCreators), /* harmony export */ clearAllListeners: () => (/* binding */ clearAllListeners), /* harmony export */ combineReducers: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_0__.combineReducers), /* harmony export */ compose: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_0__.compose), /* harmony export */ configureStore: () => (/* binding */ configureStore), /* harmony export */ createAction: () => (/* binding */ createAction), /* harmony export */ createActionCreatorInvariantMiddleware: () => (/* binding */ createActionCreatorInvariantMiddleware), /* harmony export */ createAsyncThunk: () => (/* binding */ createAsyncThunk), /* harmony export */ createDraftSafeSelector: () => (/* binding */ createDraftSafeSelector), /* harmony export */ createEntityAdapter: () => (/* binding */ createEntityAdapter), /* harmony export */ createImmutableStateInvariantMiddleware: () => (/* binding */ createImmutableStateInvariantMiddleware), /* harmony export */ createListenerMiddleware: () => (/* binding */ createListenerMiddleware), /* harmony export */ createNextState: () => (/* reexport safe */ immer__WEBPACK_IMPORTED_MODULE_2__["default"]), /* harmony export */ createReducer: () => (/* binding */ createReducer), /* harmony export */ createSelector: () => (/* reexport safe */ reselect__WEBPACK_IMPORTED_MODULE_1__.createSelector), /* harmony export */ createSerializableStateInvariantMiddleware: () => (/* binding */ createSerializableStateInvariantMiddleware), /* harmony export */ createSlice: () => (/* binding */ createSlice), /* harmony export */ createStore: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_0__.createStore), /* harmony export */ current: () => (/* reexport safe */ immer__WEBPACK_IMPORTED_MODULE_2__.current), /* harmony export */ findNonSerializableValue: () => (/* binding */ findNonSerializableValue), /* harmony export */ freeze: () => (/* reexport safe */ immer__WEBPACK_IMPORTED_MODULE_2__.freeze), /* harmony export */ getDefaultMiddleware: () => (/* binding */ getDefaultMiddleware), /* harmony export */ getType: () => (/* binding */ getType), /* harmony export */ isAction: () => (/* binding */ isAction), /* harmony export */ isActionCreator: () => (/* binding */ isActionCreator), /* harmony export */ isAllOf: () => (/* binding */ isAllOf), /* harmony export */ isAnyOf: () => (/* binding */ isAnyOf), /* harmony export */ isAsyncThunkAction: () => (/* binding */ isAsyncThunkAction), /* harmony export */ isDraft: () => (/* reexport safe */ immer__WEBPACK_IMPORTED_MODULE_2__.isDraft), /* harmony export */ isFluxStandardAction: () => (/* binding */ isFSA), /* harmony export */ isFulfilled: () => (/* binding */ isFulfilled), /* harmony export */ isImmutableDefault: () => (/* binding */ isImmutableDefault), /* harmony export */ isPending: () => (/* binding */ isPending), /* harmony export */ isPlain: () => (/* binding */ isPlain), /* harmony export */ isPlainObject: () => (/* binding */ isPlainObject), /* harmony export */ isRejected: () => (/* binding */ isRejected), /* harmony export */ isRejectedWithValue: () => (/* binding */ isRejectedWithValue), /* harmony export */ legacy_createStore: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_0__.legacy_createStore), /* harmony export */ miniSerializeError: () => (/* binding */ miniSerializeError), /* harmony export */ nanoid: () => (/* binding */ nanoid), /* harmony export */ original: () => (/* reexport safe */ immer__WEBPACK_IMPORTED_MODULE_2__.original), /* harmony export */ prepareAutoBatched: () => (/* binding */ prepareAutoBatched), /* harmony export */ removeListener: () => (/* binding */ removeListener), /* harmony export */ unwrapResult: () => (/* binding */ unwrapResult) /* harmony export */ }); /* harmony import */ var immer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! immer */ "../node_modules/@reduxjs/toolkit/node_modules/immer/dist/immer.esm.mjs"); /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! redux */ "../node_modules/redux/es/redux.js"); /* harmony import */ var reselect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! reselect */ "../node_modules/reselect/es/index.js"); /* harmony import */ var redux_thunk__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! redux-thunk */ "../node_modules/redux-thunk/es/index.js"); var __extends = (undefined && undefined.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __generator = (undefined && undefined.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; var __spreadArray = (undefined && undefined.__spreadArray) || function (to, from) { for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) to[j] = from[i]; return to; }; var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = function (obj, key, value) { return key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value: value }) : obj[key] = value; }; var __spreadValues = function (a, b) { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) for (var _i = 0, _c = __getOwnPropSymbols(b); _i < _c.length; _i++) { var prop = _c[_i]; if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } return a; }; var __spreadProps = function (a, b) { return __defProps(a, __getOwnPropDescs(b)); }; var __async = function (__this, __arguments, generator) { return new Promise(function (resolve, reject) { var fulfilled = function (value) { try { step(generator.next(value)); } catch (e) { reject(e); } }; var rejected = function (value) { try { step(generator.throw(value)); } catch (e) { reject(e); } }; var step = function (x) { return x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); }; step((generator = generator.apply(__this, __arguments)).next()); }); }; // src/index.ts // src/createDraftSafeSelector.ts var createDraftSafeSelector = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var selector = reselect__WEBPACK_IMPORTED_MODULE_1__.createSelector.apply(void 0, args); var wrappedSelector = function (value) { var rest = []; for (var _i = 1; _i < arguments.length; _i++) { rest[_i - 1] = arguments[_i]; } return selector.apply(void 0, __spreadArray([(0,immer__WEBPACK_IMPORTED_MODULE_2__.isDraft)(value) ? (0,immer__WEBPACK_IMPORTED_MODULE_2__.current)(value) : value], rest)); }; return wrappedSelector; }; // src/configureStore.ts // src/devtoolsExtension.ts var composeWithDevTools = typeof window !== "undefined" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : function () { if (arguments.length === 0) return void 0; if (typeof arguments[0] === "object") return redux__WEBPACK_IMPORTED_MODULE_0__.compose; return redux__WEBPACK_IMPORTED_MODULE_0__.compose.apply(null, arguments); }; var devToolsEnhancer = typeof window !== "undefined" && window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__ : function () { return function (noop2) { return noop2; }; }; // src/isPlainObject.ts function isPlainObject(value) { if (typeof value !== "object" || value === null) return false; var proto = Object.getPrototypeOf(value); if (proto === null) return true; var baseProto = proto; while (Object.getPrototypeOf(baseProto) !== null) { baseProto = Object.getPrototypeOf(baseProto); } return proto === baseProto; } // src/getDefaultMiddleware.ts // src/tsHelpers.ts var hasMatchFunction = function (v) { return v && typeof v.match === "function"; }; // src/createAction.ts function createAction(type, prepareAction) { function actionCreator() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (prepareAction) { var prepared = prepareAction.apply(void 0, args); if (!prepared) { throw new Error("prepareAction did not return an object"); } return __spreadValues(__spreadValues({ type: type, payload: prepared.payload }, "meta" in prepared && { meta: prepared.meta }), "error" in prepared && { error: prepared.error }); } return { type: type, payload: args[0] }; } actionCreator.toString = function () { return "" + type; }; actionCreator.type = type; actionCreator.match = function (action) { return action.type === type; }; return actionCreator; } function isAction(action) { return isPlainObject(action) && "type" in action; } function isActionCreator(action) { return typeof action === "function" && "type" in action && hasMatchFunction(action); } function isFSA(action) { return isAction(action) && typeof action.type === "string" && Object.keys(action).every(isValidKey); } function isValidKey(key) { return ["type", "payload", "error", "meta"].indexOf(key) > -1; } function getType(actionCreator) { return "" + actionCreator; } // src/actionCreatorInvariantMiddleware.ts function getMessage(type) { var splitType = type ? ("" + type).split("/") : []; var actionName = splitType[splitType.length - 1] || "actionCreator"; return "Detected an action creator with type \"" + (type || "unknown") + "\" being dispatched. \nMake sure you're calling the action creator before dispatching, i.e. `dispatch(" + actionName + "())` instead of `dispatch(" + actionName + ")`. This is necessary even if the action has no payload."; } function createActionCreatorInvariantMiddleware(options) { if (options === void 0) { options = {}; } if (false) {} var _c = options.isActionCreator, isActionCreator2 = _c === void 0 ? isActionCreator : _c; return function () { return function (next) { return function (action) { if (isActionCreator2(action)) { console.warn(getMessage(action.type)); } return next(action); }; }; }; } // src/utils.ts function getTimeMeasureUtils(maxDelay, fnName) { var elapsed = 0; return { measureTime: function (fn) { var started = Date.now(); try { return fn(); } finally { var finished = Date.now(); elapsed += finished - started; } }, warnIfExceeded: function () { if (elapsed > maxDelay) { console.warn(fnName + " took " + elapsed + "ms, which is more than the warning threshold of " + maxDelay + "ms. \nIf your state or actions are very large, you may want to disable the middleware as it might cause too much of a slowdown in development mode. See https://redux-toolkit.js.org/api/getDefaultMiddleware for instructions.\nIt is disabled in production builds, so you don't need to worry about that."); } } }; } var MiddlewareArray = /** @class */ (function (_super) { __extends(MiddlewareArray, _super); function MiddlewareArray() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var _this = _super.apply(this, args) || this; Object.setPrototypeOf(_this, MiddlewareArray.prototype); return _this; } Object.defineProperty(MiddlewareArray, Symbol.species, { get: function () { return MiddlewareArray; }, enumerable: false, configurable: true }); MiddlewareArray.prototype.concat = function () { var arr = []; for (var _i = 0; _i < arguments.length; _i++) { arr[_i] = arguments[_i]; } return _super.prototype.concat.apply(this, arr); }; MiddlewareArray.prototype.prepend = function () { var arr = []; for (var _i = 0; _i < arguments.length; _i++) { arr[_i] = arguments[_i]; } if (arr.length === 1 && Array.isArray(arr[0])) { return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr[0].concat(this))))(); } return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr.concat(this))))(); }; return MiddlewareArray; }(Array)); var EnhancerArray = /** @class */ (function (_super) { __extends(EnhancerArray, _super); function EnhancerArray() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var _this = _super.apply(this, args) || this; Object.setPrototypeOf(_this, EnhancerArray.prototype); return _this; } Object.defineProperty(EnhancerArray, Symbol.species, { get: function () { return EnhancerArray; }, enumerable: false, configurable: true }); EnhancerArray.prototype.concat = function () { var arr = []; for (var _i = 0; _i < arguments.length; _i++) { arr[_i] = arguments[_i]; } return _super.prototype.concat.apply(this, arr); }; EnhancerArray.prototype.prepend = function () { var arr = []; for (var _i = 0; _i < arguments.length; _i++) { arr[_i] = arguments[_i]; } if (arr.length === 1 && Array.isArray(arr[0])) { return new (EnhancerArray.bind.apply(EnhancerArray, __spreadArray([void 0], arr[0].concat(this))))(); } return new (EnhancerArray.bind.apply(EnhancerArray, __spreadArray([void 0], arr.concat(this))))(); }; return EnhancerArray; }(Array)); function freezeDraftable(val) { return (0,immer__WEBPACK_IMPORTED_MODULE_2__.isDraftable)(val) ? (0,immer__WEBPACK_IMPORTED_MODULE_2__["default"])(val, function () { }) : val; } // src/immutableStateInvariantMiddleware.ts var isProduction = "development" === "production"; var prefix = "Invariant failed"; function invariant(condition, message) { if (condition) { return; } if (isProduction) { throw new Error(prefix); } throw new Error(prefix + ": " + (message || "")); } function stringify(obj, serializer, indent, decycler) { return JSON.stringify(obj, getSerialize(serializer, decycler), indent); } function getSerialize(serializer, decycler) { var stack = [], keys = []; if (!decycler) decycler = function (_, value) { if (stack[0] === value) return "[Circular ~]"; return "[Circular ~." + keys.slice(0, stack.indexOf(value)).join(".") + "]"; }; return function (key, value) { if (stack.length > 0) { var thisPos = stack.indexOf(this); ~thisPos ? stack.splice(thisPos + 1) : stack.push(this); ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key); if (~stack.indexOf(value)) value = decycler.call(this, key, value); } else stack.push(value); return serializer == null ? value : serializer.call(this, key, value); }; } function isImmutableDefault(value) { return typeof value !== "object" || value == null || Object.isFrozen(value); } function trackForMutations(isImmutable, ignorePaths, obj) { var trackedProperties = trackProperties(isImmutable, ignorePaths, obj); return { detectMutations: function () { return detectMutations(isImmutable, ignorePaths, trackedProperties, obj); } }; } function trackProperties(isImmutable, ignorePaths, obj, path, checkedObjects) { if (ignorePaths === void 0) { ignorePaths = []; } if (path === void 0) { path = ""; } if (checkedObjects === void 0) { checkedObjects = new Set(); } var tracked = { value: obj }; if (!isImmutable(obj) && !checkedObjects.has(obj)) { checkedObjects.add(obj); tracked.children = {}; for (var key in obj) { var childPath = path ? path + "." + key : key; if (ignorePaths.length && ignorePaths.indexOf(childPath) !== -1) { continue; } tracked.children[key] = trackProperties(isImmutable, ignorePaths, obj[key], childPath); } } return tracked; } function detectMutations(isImmutable, ignoredPaths, trackedProperty, obj, sameParentRef, path) { if (ignoredPaths === void 0) { ignoredPaths = []; } if (sameParentRef === void 0) { sameParentRef = false; } if (path === void 0) { path = ""; } var prevObj = trackedProperty ? trackedProperty.value : void 0; var sameRef = prevObj === obj; if (sameParentRef && !sameRef && !Number.isNaN(obj)) { return { wasMutated: true, path: path }; } if (isImmutable(prevObj) || isImmutable(obj)) { return { wasMutated: false }; } var keysToDetect = {}; for (var key in trackedProperty.children) { keysToDetect[key] = true; } for (var key in obj) { keysToDetect[key] = true; } var hasIgnoredPaths = ignoredPaths.length > 0; var _loop_1 = function (key) { var nestedPath = path ? path + "." + key : key; if (hasIgnoredPaths) { var hasMatches = ignoredPaths.some(function (ignored) { if (ignored instanceof RegExp) { return ignored.test(nestedPath); } return nestedPath === ignored; }); if (hasMatches) { return "continue"; } } var result = detectMutations(isImmutable, ignoredPaths, trackedProperty.children[key], obj[key], sameRef, nestedPath); if (result.wasMutated) { return { value: result }; } }; for (var key in keysToDetect) { var state_1 = _loop_1(key); if (typeof state_1 === "object") return state_1.value; } return { wasMutated: false }; } function createImmutableStateInvariantMiddleware(options) { if (options === void 0) { options = {}; } if (false) {} var _c = options.isImmutable, isImmutable = _c === void 0 ? isImmutableDefault : _c, ignoredPaths = options.ignoredPaths, _d = options.warnAfter, warnAfter = _d === void 0 ? 32 : _d, ignore = options.ignore; ignoredPaths = ignoredPaths || ignore; var track = trackForMutations.bind(null, isImmutable, ignoredPaths); return function (_c) { var getState = _c.getState; var state = getState(); var tracker = track(state); var result; return function (next) { return function (action) { var measureUtils = getTimeMeasureUtils(warnAfter, "ImmutableStateInvariantMiddleware"); measureUtils.measureTime(function () { state = getState(); result = tracker.detectMutations(); tracker = track(state); invariant(!result.wasMutated, "A state mutation was detected between dispatches, in the path '" + (result.path || "") + "'. This may cause incorrect behavior. (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)"); }); var dispatchedAction = next(action); measureUtils.measureTime(function () { state = getState(); result = tracker.detectMutations(); tracker = track(state); result.wasMutated && invariant(!result.wasMutated, "A state mutation was detected inside a dispatch, in the path: " + (result.path || "") + ". Take a look at the reducer(s) handling the action " + stringify(action) + ". (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)"); }); measureUtils.warnIfExceeded(); return dispatchedAction; }; }; }; } // src/serializableStateInvariantMiddleware.ts function isPlain(val) { var type = typeof val; return val == null || type === "string" || type === "boolean" || type === "number" || Array.isArray(val) || isPlainObject(val); } function findNonSerializableValue(value, path, isSerializable, getEntries, ignoredPaths, cache) { if (path === void 0) { path = ""; } if (isSerializable === void 0) { isSerializable = isPlain; } if (ignoredPaths === void 0) { ignoredPaths = []; } var foundNestedSerializable; if (!isSerializable(value)) { return { keyPath: path || "", value: value }; } if (typeof value !== "object" || value === null) { return false; } if (cache == null ? void 0 : cache.has(value)) return false; var entries = getEntries != null ? getEntries(value) : Object.entries(value); var hasIgnoredPaths = ignoredPaths.length > 0; var _loop_2 = function (key, nestedValue) { var nestedPath = path ? path + "." + key : key; if (hasIgnoredPaths) { var hasMatches = ignoredPaths.some(function (ignored) { if (ignored instanceof RegExp) { return ignored.test(nestedPath); } return nestedPath === ignored; }); if (hasMatches) { return "continue"; } } if (!isSerializable(nestedValue)) { return { value: { keyPath: nestedPath, value: nestedValue } }; } if (typeof nestedValue === "object") { foundNestedSerializable = findNonSerializableValue(nestedValue, nestedPath, isSerializable, getEntries, ignoredPaths, cache); if (foundNestedSerializable) { return { value: foundNestedSerializable }; } } }; for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) { var _c = entries_1[_i], key = _c[0], nestedValue = _c[1]; var state_2 = _loop_2(key, nestedValue); if (typeof state_2 === "object") return state_2.value; } if (cache && isNestedFrozen(value)) cache.add(value); return false; } function isNestedFrozen(value) { if (!Object.isFrozen(value)) return false; for (var _i = 0, _c = Object.values(value); _i < _c.length; _i++) { var nestedValue = _c[_i]; if (typeof nestedValue !== "object" || nestedValue === null) continue; if (!isNestedFrozen(nestedValue)) return false; } return true; } function createSerializableStateInvariantMiddleware(options) { if (options === void 0) { options = {}; } if (false) {} var _c = options.isSerializable, isSerializable = _c === void 0 ? isPlain : _c, getEntries = options.getEntries, _d = options.ignoredActions, ignoredActions = _d === void 0 ? [] : _d, _e = options.ignoredActionPaths, ignoredActionPaths = _e === void 0 ? ["meta.arg", "meta.baseQueryMeta"] : _e, _f = options.ignoredPaths, ignoredPaths = _f === void 0 ? [] : _f, _g = options.warnAfter, warnAfter = _g === void 0 ? 32 : _g, _h = options.ignoreState, ignoreState = _h === void 0 ? false : _h, _j = options.ignoreActions, ignoreActions = _j === void 0 ? false : _j, _k = options.disableCache, disableCache = _k === void 0 ? false : _k; var cache = !disableCache && WeakSet ? new WeakSet() : void 0; return function (storeAPI) { return function (next) { return function (action) { var result = next(action); var measureUtils = getTimeMeasureUtils(warnAfter, "SerializableStateInvariantMiddleware"); if (!ignoreActions && !(ignoredActions.length && ignoredActions.indexOf(action.type) !== -1)) { measureUtils.measureTime(function () { var foundActionNonSerializableValue = findNonSerializableValue(action, "", isSerializable, getEntries, ignoredActionPaths, cache); if (foundActionNonSerializableValue) { var keyPath = foundActionNonSerializableValue.keyPath, value = foundActionNonSerializableValue.value; console.error("A non-serializable value was detected in an action, in the path: `" + keyPath + "`. Value:", value, "\nTake a look at the logic that dispatched this action: ", action, "\n(See https://redux.js.org/faq/actions#why-should-type-be-a-string-or-at-least-serializable-why-should-my-action-types-be-constants)", "\n(To allow non-serializable values see: https://redux-toolkit.js.org/usage/usage-guide#working-with-non-serializable-data)"); } }); } if (!ignoreState) { measureUtils.measureTime(function () { var state = storeAPI.getState(); var foundStateNonSerializableValue = findNonSerializableValue(state, "", isSerializable, getEntries, ignoredPaths, cache); if (foundStateNonSerializableValue) { var keyPath = foundStateNonSerializableValue.keyPath, value = foundStateNonSerializableValue.value; console.error("A non-serializable value was detected in the state, in the path: `" + keyPath + "`. Value:", value, "\nTake a look at the reducer(s) handling this action type: " + action.type + ".\n(See https://redux.js.org/faq/organizing-state#can-i-put-functions-promises-or-other-non-serializable-items-in-my-store-state)"); } }); measureUtils.warnIfExceeded(); } return result; }; }; }; } // src/getDefaultMiddleware.ts function isBoolean(x) { return typeof x === "boolean"; } function curryGetDefaultMiddleware() { return function curriedGetDefaultMiddleware(options) { return getDefaultMiddleware(options); }; } function getDefaultMiddleware(options) { if (options === void 0) { options = {}; } var _c = options.thunk, thunk = _c === void 0 ? true : _c, _d = options.immutableCheck, immutableCheck = _d === void 0 ? true : _d, _e = options.serializableCheck, serializableCheck = _e === void 0 ? true : _e, _f = options.actionCreatorCheck, actionCreatorCheck = _f === void 0 ? true : _f; var middlewareArray = new MiddlewareArray(); if (thunk) { if (isBoolean(thunk)) { middlewareArray.push(redux_thunk__WEBPACK_IMPORTED_MODULE_3__["default"]); } else { middlewareArray.push(redux_thunk__WEBPACK_IMPORTED_MODULE_3__["default"].withExtraArgument(thunk.extraArgument)); } } if (true) { if (immutableCheck) { var immutableOptions = {}; if (!isBoolean(immutableCheck)) { immutableOptions = immutableCheck; } middlewareArray.unshift(createImmutableStateInvariantMiddleware(immutableOptions)); } if (serializableCheck) { var serializableOptions = {}; if (!isBoolean(serializableCheck)) { serializableOptions = serializableCheck; } middlewareArray.push(createSerializableStateInvariantMiddleware(serializableOptions)); } if (actionCreatorCheck) { var actionCreatorOptions = {}; if (!isBoolean(actionCreatorCheck)) { actionCreatorOptions = actionCreatorCheck; } middlewareArray.unshift(createActionCreatorInvariantMiddleware(actionCreatorOptions)); } } return middlewareArray; } // src/configureStore.ts var IS_PRODUCTION = "development" === "production"; function configureStore(options) { var curriedGetDefaultMiddleware = curryGetDefaultMiddleware(); var _c = options || {}, _d = _c.reducer, reducer = _d === void 0 ? void 0 : _d, _e = _c.middleware, middleware = _e === void 0 ? curriedGetDefaultMiddleware() : _e, _f = _c.devTools, devTools = _f === void 0 ? true : _f, _g = _c.preloadedState, preloadedState = _g === void 0 ? void 0 : _g, _h = _c.enhancers, enhancers = _h === void 0 ? void 0 : _h; var rootReducer; if (typeof reducer === "function") { rootReducer = reducer; } else if (isPlainObject(reducer)) { rootReducer = (0,redux__WEBPACK_IMPORTED_MODULE_0__.combineReducers)(reducer); } else { throw new Error('"reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers'); } var finalMiddleware = middleware; if (typeof finalMiddleware === "function") { finalMiddleware = finalMiddleware(curriedGetDefaultMiddleware); if (!IS_PRODUCTION && !Array.isArray(finalMiddleware)) { throw new Error("when using a middleware builder function, an array of middleware must be returned"); } } if (!IS_PRODUCTION && finalMiddleware.some(function (item) { return typeof item !== "function"; })) { throw new Error("each middleware provided to configureStore must be a function"); } var middlewareEnhancer = redux__WEBPACK_IMPORTED_MODULE_0__.applyMiddleware.apply(void 0, finalMiddleware); var finalCompose = redux__WEBPACK_IMPORTED_MODULE_0__.compose; if (devTools) { finalCompose = composeWithDevTools(__spreadValues({ trace: !IS_PRODUCTION }, typeof devTools === "object" && devTools)); } var defaultEnhancers = new EnhancerArray(middlewareEnhancer); var storeEnhancers = defaultEnhancers; if (Array.isArray(enhancers)) { storeEnhancers = __spreadArray([middlewareEnhancer], enhancers); } else if (typeof enhancers === "function") { storeEnhancers = enhancers(defaultEnhancers); } var composedEnhancer = finalCompose.apply(void 0, storeEnhancers); return (0,redux__WEBPACK_IMPORTED_MODULE_0__.createStore)(rootReducer, preloadedState, composedEnhancer); } // src/createReducer.ts // src/mapBuilders.ts function executeReducerBuilderCallback(builderCallback) { var actionsMap = {}; var actionMatchers = []; var defaultCaseReducer; var builder = { addCase: function (typeOrActionCreator, reducer) { if (true) { if (actionMatchers.length > 0) { throw new Error("`builder.addCase` should only be called before calling `builder.addMatcher`"); } if (defaultCaseReducer) { throw new Error("`builder.addCase` should only be called before calling `builder.addDefaultCase`"); } } var type = typeof typeOrActionCreator === "string" ? typeOrActionCreator : typeOrActionCreator.type; if (!type) { throw new Error("`builder.addCase` cannot be called with an empty action type"); } if (type in actionsMap) { throw new Error("`builder.addCase` cannot be called with two reducers for the same action type"); } actionsMap[type] = reducer; return builder; }, addMatcher: function (matcher, reducer) { if (true) { if (defaultCaseReducer) { throw new Error("`builder.addMatcher` should only be called before calling `builder.addDefaultCase`"); } } actionMatchers.push({ matcher: matcher, reducer: reducer }); return builder; }, addDefaultCase: function (reducer) { if (true) { if (defaultCaseReducer) { throw new Error("`builder.addDefaultCase` can only be called once"); } } defaultCaseReducer = reducer; return builder; } }; builderCallback(builder); return [actionsMap, actionMatchers, defaultCaseReducer]; } // src/createReducer.ts function isStateFunction(x) { return typeof x === "function"; } var hasWarnedAboutObjectNotation = false; function createReducer(initialState, mapOrBuilderCallback, actionMatchers, defaultCaseReducer) { if (actionMatchers === void 0) { actionMatchers = []; } if (true) { if (typeof mapOrBuilderCallback === "object") { if (!hasWarnedAboutObjectNotation) { hasWarnedAboutObjectNotation = true; console.warn("The object notation for `createReducer` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer"); } } } var _c = typeof mapOrBuilderCallback === "function" ? executeReducerBuilderCallback(mapOrBuilderCallback) : [mapOrBuilderCallback, actionMatchers, defaultCaseReducer], actionsMap = _c[0], finalActionMatchers = _c[1], finalDefaultCaseReducer = _c[2]; var getInitialState; if (isStateFunction(initialState)) { getInitialState = function () { return freezeDraftable(initialState()); }; } else { var frozenInitialState_1 = freezeDraftable(initialState); getInitialState = function () { return frozenInitialState_1; }; } function reducer(state, action) { if (state === void 0) { state = getInitialState(); } var caseReducers = __spreadArray([ actionsMap[action.type] ], finalActionMatchers.filter(function (_c) { var matcher = _c.matcher; return matcher(action); }).map(function (_c) { var reducer2 = _c.reducer; return reducer2; })); if (caseReducers.filter(function (cr) { return !!cr; }).length === 0) { caseReducers = [finalDefaultCaseReducer]; } return caseReducers.reduce(function (previousState, caseReducer) { if (caseReducer) { if ((0,immer__WEBPACK_IMPORTED_MODULE_2__.isDraft)(previousState)) { var draft = previousState; var result = caseReducer(draft, action); if (result === void 0) { return previousState; } return result; } else if (!(0,immer__WEBPACK_IMPORTED_MODULE_2__.isDraftable)(previousState)) { var result = caseReducer(previousState, action); if (result === void 0) { if (previousState === null) { return previousState; } throw Error("A case reducer on a non-draftable value must not return undefined"); } return result; } else { return (0,immer__WEBPACK_IMPORTED_MODULE_2__["default"])(previousState, function (draft) { return caseReducer(draft, action); }); } } return previousState; }, state); } reducer.getInitialState = getInitialState; return reducer; } // src/createSlice.ts var hasWarnedAboutObjectNotation2 = false; function getType2(slice, actionKey) { return slice + "/" + actionKey; } function createSlice(options) { var name = options.name; if (!name) { throw new Error("`name` is a required option for createSlice"); } if (typeof process !== "undefined" && "development" === "development") { if (options.initialState === void 0) { console.error("You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`"); } } var initialState = typeof options.initialState == "function" ? options.initialState : freezeDraftable(options.initialState); var reducers = options.reducers || {}; var reducerNames = Object.keys(reducers); var sliceCaseReducersByName = {}; var sliceCaseReducersByType = {}; var actionCreators = {}; reducerNames.forEach(function (reducerName) { var maybeReducerWithPrepare = reducers[reducerName]; var type = getType2(name, reducerName); var caseReducer; var prepareCallback; if ("reducer" in maybeReducerWithPrepare) { caseReducer = maybeReducerWithPrepare.reducer; prepareCallback = maybeReducerWithPrepare.prepare; } else { caseReducer = maybeReducerWithPrepare; } sliceCaseReducersByName[reducerName] = caseReducer; sliceCaseReducersByType[type] = caseReducer; actionCreators[reducerName] = prepareCallback ? createAction(type, prepareCallback) : createAction(type); }); function buildReducer() { if (true) { if (typeof options.extraReducers === "object") { if (!hasWarnedAboutObjectNotation2) { hasWarnedAboutObjectNotation2 = true; console.warn("The object notation for `createSlice.extraReducers` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice"); } } } var _c = typeof options.extraReducers === "function" ? executeReducerBuilderCallback(options.extraReducers) : [options.extraReducers], _d = _c[0], extraReducers = _d === void 0 ? {} : _d, _e = _c[1], actionMatchers = _e === void 0 ? [] : _e, _f = _c[2], defaultCaseReducer = _f === void 0 ? void 0 : _f; var finalCaseReducers = __spreadValues(__spreadValues({}, extraReducers), sliceCaseReducersByType); return createReducer(initialState, function (builder) { for (var key in finalCaseReducers) { builder.addCase(key, finalCaseReducers[key]); } for (var _i = 0, actionMatchers_1 = actionMatchers; _i < actionMatchers_1.length; _i++) { var m = actionMatchers_1[_i]; builder.addMatcher(m.matcher, m.reducer); } if (defaultCaseReducer) { builder.addDefaultCase(defaultCaseReducer); } }); } var _reducer; return { name: name, reducer: function (state, action) { if (!_reducer) _reducer = buildReducer(); return _reducer(state, action); }, actions: actionCreators, caseReducers: sliceCaseReducersByName, getInitialState: function () { if (!_reducer) _reducer = buildReducer(); return _reducer.getInitialState(); } }; } // src/entities/entity_state.ts function getInitialEntityState() { return { ids: [], entities: {} }; } function createInitialStateFactory() { function getInitialState(additionalState) { if (additionalState === void 0) { additionalState = {}; } return Object.assign(getInitialEntityState(), additionalState); } return { getInitialState: getInitialState }; } // src/entities/state_selectors.ts function createSelectorsFactory() { function getSelectors(selectState) { var selectIds = function (state) { return state.ids; }; var selectEntities = function (state) { return state.entities; }; var selectAll = createDraftSafeSelector(selectIds, selectEntities, function (ids, entities) { return ids.map(function (id) { return entities[id]; }); }); var selectId = function (_, id) { return id; }; var selectById = function (entities, id) { return entities[id]; }; var selectTotal = createDraftSafeSelector(selectIds, function (ids) { return ids.length; }); if (!selectState) { return { selectIds: selectIds, selectEntities: selectEntities, selectAll: selectAll, selectTotal: selectTotal, selectById: createDraftSafeSelector(selectEntities, selectId, selectById) }; } var selectGlobalizedEntities = createDraftSafeSelector(selectState, selectEntities); return { selectIds: createDraftSafeSelector(selectState, selectIds), selectEntities: selectGlobalizedEntities, selectAll: createDraftSafeSelector(selectState, selectAll), selectTotal: createDraftSafeSelector(selectState, selectTotal), selectById: createDraftSafeSelector(selectGlobalizedEntities, selectId, selectById) }; } return { getSelectors: getSelectors }; } // src/entities/state_adapter.ts function createSingleArgumentStateOperator(mutator) { var operator = createStateOperator(function (_, state) { return mutator(state); }); return function operation(state) { return operator(state, void 0); }; } function createStateOperator(mutator) { return function operation(state, arg) { function isPayloadActionArgument(arg2) { return isFSA(arg2); } var runMutator = function (draft) { if (isPayloadActionArgument(arg)) { mutator(arg.payload, draft); } else { mutator(arg, draft); } }; if ((0,immer__WEBPACK_IMPORTED_MODULE_2__.isDraft)(state)) { runMutator(state); return state; } else { return (0,immer__WEBPACK_IMPORTED_MODULE_2__["default"])(state, runMutator); } }; } // src/entities/utils.ts function selectIdValue(entity, selectId) { var key = selectId(entity); if ( true && key === void 0) { console.warn("The entity passed to the `selectId` implementation returned undefined.", "You should probably provide your own `selectId` implementation.", "The entity that was passed:", entity, "The `selectId` implementation:", selectId.toString()); } return key; } function ensureEntitiesArray(entities) { if (!Array.isArray(entities)) { entities = Object.values(entities); } return entities; } function splitAddedUpdatedEntities(newEntities, selectId, state) { newEntities = ensureEntitiesArray(newEntities); var added = []; var updated = []; for (var _i = 0, newEntities_1 = newEntities; _i < newEntities_1.length; _i++) { var entity = newEntities_1[_i]; var id = selectIdValue(entity, selectId); if (id in state.entities) { updated.push({ id: id, changes: entity }); } else { added.push(entity); } } return [added, updated]; } // src/entities/unsorted_state_adapter.ts function createUnsortedStateAdapter(selectId) { function addOneMutably(entity, state) { var key = selectIdValue(entity, selectId); if (key in state.entities) { return; } state.ids.push(key); state.entities[key] = entity; } function addManyMutably(newEntities, state) { newEntities = ensureEntitiesArray(newEntities); for (var _i = 0, newEntities_2 = newEntities; _i < newEntities_2.length; _i++) { var entity = newEntities_2[_i]; addOneMutably(entity, state); } } function setOneMutably(entity, state) { var key = selectIdValue(entity, selectId); if (!(key in state.entities)) { state.ids.push(key); } state.entities[key] = entity; } function setManyMutably(newEntities, state) { newEntities = ensureEntitiesArray(newEntities); for (var _i = 0, newEntities_3 = newEntities; _i < newEntities_3.length; _i++) { var entity = newEntities_3[_i]; setOneMutably(entity, state); } } function setAllMutably(newEntities, state) { newEntities = ensureEntitiesArray(newEntities); state.ids = []; state.entities = {}; addManyMutably(newEntities, state); } function removeOneMutably(key, state) { return removeManyMutably([key], state); } function removeManyMutably(keys, state) { var didMutate = false; keys.forEach(function (key) { if (key in state.entities) { delete state.entities[key]; didMutate = true; } }); if (didMutate) { state.ids = state.ids.filter(function (id) { return id in state.entities; }); } } function removeAllMutably(state) { Object.assign(state, { ids: [], entities: {} }); } function takeNewKey(keys, update, state) { var original2 = state.entities[update.id]; var updated = Object.assign({}, original2, update.changes); var newKey = selectIdValue(updated, selectId); var hasNewKey = newKey !== update.id; if (hasNewKey) { keys[update.id] = newKey; delete state.entities[update.id]; } state.entities[newKey] = updated; return hasNewKey; } function updateOneMutably(update, state) { return updateManyMutably([update], state); } function updateManyMutably(updates, state) { var newKeys = {}; var updatesPerEntity = {}; updates.forEach(function (update) { if (update.id in state.entities) { updatesPerEntity[update.id] = { id: update.id, changes: __spreadValues(__spreadValues({}, updatesPerEntity[update.id] ? updatesPerEntity[update.id].changes : null), update.changes) }; } }); updates = Object.values(updatesPerEntity); var didMutateEntities = updates.length > 0; if (didMutateEntities) { var didMutateIds = updates.filter(function (update) { return takeNewKey(newKeys, update, state); }).length > 0; if (didMutateIds) { state.ids = Object.keys(state.entities); } } } function upsertOneMutably(entity, state) { return upsertManyMutably([entity], state); } function upsertManyMutably(newEntities, state) { var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1]; updateManyMutably(updated, state); addManyMutably(added, state); } return { removeAll: createSingleArgumentStateOperator(removeAllMutably), addOne: createStateOperator(addOneMutably), addMany: createStateOperator(addManyMutably), setOne: createStateOperator(setOneMutably), setMany: createStateOperator(setManyMutably), setAll: createStateOperator(setAllMutably), updateOne: createStateOperator(updateOneMutably), updateMany: createStateOperator(updateManyMutably), upsertOne: createStateOperator(upsertOneMutably), upsertMany: createStateOperator(upsertManyMutably), removeOne: createStateOperator(removeOneMutably), removeMany: createStateOperator(removeManyMutably) }; } // src/entities/sorted_state_adapter.ts function createSortedStateAdapter(selectId, sort) { var _c = createUnsortedStateAdapter(selectId), removeOne = _c.removeOne, removeMany = _c.removeMany, removeAll = _c.removeAll; function addOneMutably(entity, state) { return addManyMutably([entity], state); } function addManyMutably(newEntities, state) { newEntities = ensureEntitiesArray(newEntities); var models = newEntities.filter(function (model) { return !(selectIdValue(model, selectId) in state.entities); }); if (models.length !== 0) { merge(models, state); } } function setOneMutably(entity, state) { return setManyMutably([entity], state); } function setManyMutably(newEntities, state) { newEntities = ensureEntitiesArray(newEntities); if (newEntities.length !== 0) { merge(newEntities, state); } } function setAllMutably(newEntities, state) { newEntities = ensureEntitiesArray(newEntities); state.entities = {}; state.ids = []; addManyMutably(newEntities, state); } function updateOneMutably(update, state) { return updateManyMutably([update], state); } function updateManyMutably(updates, state) { var appliedUpdates = false; for (var _i = 0, updates_1 = updates; _i < updates_1.length; _i++) { var update = updates_1[_i]; var entity = state.entities[update.id]; if (!entity) { continue; } appliedUpdates = true; Object.assign(entity, update.changes); var newId = selectId(entity); if (update.id !== newId) { delete state.entities[update.id]; state.entities[newId] = entity; } } if (appliedUpdates) { resortEntities(state); } } function upsertOneMutably(entity, state) { return upsertManyMutably([entity], state); } function upsertManyMutably(newEntities, state) { var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1]; updateManyMutably(updated, state); addManyMutably(added, state); } function areArraysEqual(a, b) { if (a.length !== b.length) { return false; } for (var i = 0; i < a.length && i < b.length; i++) { if (a[i] === b[i]) { continue; } return false; } return true; } function merge(models, state) { models.forEach(function (model) { state.entities[selectId(model)] = model; }); resortEntities(state); } function resortEntities(state) { var allEntities = Object.values(state.entities); allEntities.sort(sort); var newSortedIds = allEntities.map(selectId); var ids = state.ids; if (!areArraysEqual(ids, newSortedIds)) { state.ids = newSortedIds; } } return { removeOne: removeOne, removeMany: removeMany, removeAll: removeAll, addOne: createStateOperator(addOneMutably), updateOne: createStateOperator(updateOneMutably), upsertOne: createStateOperator(upsertOneMutably), setOne: createStateOperator(setOneMutably), setMany: createStateOperator(setManyMutably), setAll: createStateOperator(setAllMutably), addMany: createStateOperator(addManyMutably), updateMany: createStateOperator(updateManyMutably), upsertMany: createStateOperator(upsertManyMutably) }; } // src/entities/create_adapter.ts function createEntityAdapter(options) { if (options === void 0) { options = {}; } var _c = __spreadValues({ sortComparer: false, selectId: function (instance) { return instance.id; } }, options), selectId = _c.selectId, sortComparer = _c.sortComparer; var stateFactory = createInitialStateFactory(); var selectorsFactory = createSelectorsFactory(); var stateAdapter = sortComparer ? createSortedStateAdapter(selectId, sortComparer) : createUnsortedStateAdapter(selectId); return __spreadValues(__spreadValues(__spreadValues({ selectId: selectId, sortComparer: sortComparer }, stateFactory), selectorsFactory), stateAdapter); } // src/nanoid.ts var urlAlphabet = "ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW"; var nanoid = function (size) { if (size === void 0) { size = 21; } var id = ""; var i = size; while (i--) { id += urlAlphabet[Math.random() * 64 | 0]; } return id; }; // src/createAsyncThunk.ts var commonProperties = [ "name", "message", "stack", "code" ]; var RejectWithValue = /** @class */ (function () { function RejectWithValue(payload, meta) { this.payload = payload; this.meta = meta; } return RejectWithValue; }()); var FulfillWithMeta = /** @class */ (function () { function FulfillWithMeta(payload, meta) { this.payload = payload; this.meta = meta; } return FulfillWithMeta; }()); var miniSerializeError = function (value) { if (typeof value === "object" && value !== null) { var simpleError = {}; for (var _i = 0, commonProperties_1 = commonProperties; _i < commonProperties_1.length; _i++) { var property = commonProperties_1[_i]; if (typeof value[property] === "string") { simpleError[property] = value[property]; } } return simpleError; } return { message: String(value) }; }; var createAsyncThunk = (function () { function createAsyncThunk2(typePrefix, payloadCreator, options) { var fulfilled = createAction(typePrefix + "/fulfilled", function (payload, requestId, arg, meta) { return ({ payload: payload, meta: __spreadProps(__spreadValues({}, meta || {}), { arg: arg, requestId: requestId, requestStatus: "fulfilled" }) }); }); var pending = createAction(typePrefix + "/pending", function (requestId, arg, meta) { return ({ payload: void 0, meta: __spreadProps(__spreadValues({}, meta || {}), { arg: arg, requestId: requestId, requestStatus: "pending" }) }); }); var rejected = createAction(typePrefix + "/rejected", function (error, requestId, arg, payload, meta) { return ({ payload: payload, error: (options && options.serializeError || miniSerializeError)(error || "Rejected"), meta: __spreadProps(__spreadValues({}, meta || {}), { arg: arg, requestId: requestId, rejectedWithValue: !!payload, requestStatus: "rejected", aborted: (error == null ? void 0 : error.name) === "AbortError", condition: (error == null ? void 0 : error.name) === "ConditionError" }) }); }); var displayedWarning = false; var AC = typeof AbortController !== "undefined" ? AbortController : /** @class */ (function () { function class_1() { this.signal = { aborted: false, addEventListener: function () { }, dispatchEvent: function () { return false; }, onabort: function () { }, removeEventListener: function () { }, reason: void 0, throwIfAborted: function () { } }; } class_1.prototype.abort = function () { if (true) { if (!displayedWarning) { displayedWarning = true; console.info("This platform does not implement AbortController. \nIf you want to use the AbortController to react to `abort` events, please consider importing a polyfill like 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only'."); } } }; return class_1; }()); function actionCreator(arg) { return function (dispatch, getState, extra) { var requestId = (options == null ? void 0 : options.idGenerator) ? options.idGenerator(arg) : nanoid(); var abortController = new AC(); var abortReason; var started = false; function abort(reason) { abortReason = reason; abortController.abort(); } var promise2 = function () { return __async(this, null, function () { var _a, _b, finalAction, conditionResult, abortedPromise, err_1, skipDispatch; return __generator(this, function (_c) { switch (_c.label) { case 0: _c.trys.push([0, 4, , 5]); conditionResult = (_a = options == null ? void 0 : options.condition) == null ? void 0 : _a.call(options, arg, { getState: getState, extra: extra }); if (!isThenable(conditionResult)) return [3 /*break*/, 2]; return [4 /*yield*/, conditionResult]; case 1: conditionResult = _c.sent(); _c.label = 2; case 2: if (conditionResult === false || abortController.signal.aborted) { throw { name: "ConditionError", message: "Aborted due to condition callback returning false." }; } started = true; abortedPromise = new Promise(function (_, reject) { return abortController.signal.addEventListener("abort", function () { return reject({ name: "AbortError", message: abortReason || "Aborted" }); }); }); dispatch(pending(requestId, arg, (_b = options == null ? void 0 : options.getPendingMeta) == null ? void 0 : _b.call(options, { requestId: requestId, arg: arg }, { getState: getState, extra: extra }))); return [4 /*yield*/, Promise.race([ abortedPromise, Promise.resolve(payloadCreator(arg, { dispatch: dispatch, getState: getState, extra: extra, requestId: requestId, signal: abortController.signal, abort: abort, rejectWithValue: function (value, meta) { return new RejectWithValue(value, meta); }, fulfillWithValue: function (value, meta) { return new FulfillWithMeta(value, meta); } })).then(function (result) { if (result instanceof RejectWithValue) { throw result; } if (result instanceof FulfillWithMeta) { return fulfilled(result.payload, requestId, arg, result.meta); } return fulfilled(result, requestId, arg); }) ])]; case 3: finalAction = _c.sent(); return [3 /*break*/, 5]; case 4: err_1 = _c.sent(); finalAction = err_1 instanceof RejectWithValue ? rejected(null, requestId, arg, err_1.payload, err_1.meta) : rejected(err_1, requestId, arg); return [3 /*break*/, 5]; case 5: skipDispatch = options && !options.dispatchConditionRejection && rejected.match(finalAction) && finalAction.meta.condition; if (!skipDispatch) { dispatch(finalAction); } return [2 /*return*/, finalAction]; } }); }); }(); return Object.assign(promise2, { abort: abort, requestId: requestId, arg: arg, unwrap: function () { return promise2.then(unwrapResult); } }); }; } return Object.assign(actionCreator, { pending: pending, rejected: rejected, fulfilled: fulfilled, typePrefix: typePrefix }); } createAsyncThunk2.withTypes = function () { return createAsyncThunk2; }; return createAsyncThunk2; })(); function unwrapResult(action) { if (action.meta && action.meta.rejectedWithValue) { throw action.payload; } if (action.error) { throw action.error; } return action.payload; } function isThenable(value) { return value !== null && typeof value === "object" && typeof value.then === "function"; } // src/matchers.ts var matches = function (matcher, action) { if (hasMatchFunction(matcher)) { return matcher.match(action); } else { return matcher(action); } }; function isAnyOf() { var matchers = []; for (var _i = 0; _i < arguments.length; _i++) { matchers[_i] = arguments[_i]; } return function (action) { return matchers.some(function (matcher) { return matches(matcher, action); }); }; } function isAllOf() { var matchers = []; for (var _i = 0; _i < arguments.length; _i++) { matchers[_i] = arguments[_i]; } return function (action) { return matchers.every(function (matcher) { return matches(matcher, action); }); }; } function hasExpectedRequestMetadata(action, validStatus) { if (!action || !action.meta) return false; var hasValidRequestId = typeof action.meta.requestId === "string"; var hasValidRequestStatus = validStatus.indexOf(action.meta.requestStatus) > -1; return hasValidRequestId && hasValidRequestStatus; } function isAsyncThunkArray(a) { return typeof a[0] === "function" && "pending" in a[0] && "fulfilled" in a[0] && "rejected" in a[0]; } function isPending() { var asyncThunks = []; for (var _i = 0; _i < arguments.length; _i++) { asyncThunks[_i] = arguments[_i]; } if (asyncThunks.length === 0) { return function (action) { return hasExpectedRequestMetadata(action, ["pending"]); }; } if (!isAsyncThunkArray(asyncThunks)) { return isPending()(asyncThunks[0]); } return function (action) { var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.pending; }); var combinedMatcher = isAnyOf.apply(void 0, matchers); return combinedMatcher(action); }; } function isRejected() { var asyncThunks = []; for (var _i = 0; _i < arguments.length; _i++) { asyncThunks[_i] = arguments[_i]; } if (asyncThunks.length === 0) { return function (action) { return hasExpectedRequestMetadata(action, ["rejected"]); }; } if (!isAsyncThunkArray(asyncThunks)) { return isRejected()(asyncThunks[0]); } return function (action) { var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.rejected; }); var combinedMatcher = isAnyOf.apply(void 0, matchers); return combinedMatcher(action); }; } function isRejectedWithValue() { var asyncThunks = []; for (var _i = 0; _i < arguments.length; _i++) { asyncThunks[_i] = arguments[_i]; } var hasFlag = function (action) { return action && action.meta && action.meta.rejectedWithValue; }; if (asyncThunks.length === 0) { return function (action) { var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag); return combinedMatcher(action); }; } if (!isAsyncThunkArray(asyncThunks)) { return isRejectedWithValue()(asyncThunks[0]); } return function (action) { var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag); return combinedMatcher(action); }; } function isFulfilled() { var asyncThunks = []; for (var _i = 0; _i < arguments.length; _i++) { asyncThunks[_i] = arguments[_i]; } if (asyncThunks.length === 0) { return function (action) { return hasExpectedRequestMetadata(action, ["fulfilled"]); }; } if (!isAsyncThunkArray(asyncThunks)) { return isFulfilled()(asyncThunks[0]); } return function (action) { var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.fulfilled; }); var combinedMatcher = isAnyOf.apply(void 0, matchers); return combinedMatcher(action); }; } function isAsyncThunkAction() { var asyncThunks = []; for (var _i = 0; _i < arguments.length; _i++) { asyncThunks[_i] = arguments[_i]; } if (asyncThunks.length === 0) { return function (action) { return hasExpectedRequestMetadata(action, ["pending", "fulfilled", "rejected"]); }; } if (!isAsyncThunkArray(asyncThunks)) { return isAsyncThunkAction()(asyncThunks[0]); } return function (action) { var matchers = []; for (var _i = 0, asyncThunks_1 = asyncThunks; _i < asyncThunks_1.length; _i++) { var asyncThunk = asyncThunks_1[_i]; matchers.push(asyncThunk.pending, asyncThunk.rejected, asyncThunk.fulfilled); } var combinedMatcher = isAnyOf.apply(void 0, matchers); return combinedMatcher(action); }; } // src/listenerMiddleware/utils.ts var assertFunction = function (func, expected) { if (typeof func !== "function") { throw new TypeError(expected + " is not a function"); } }; var noop = function () { }; var catchRejection = function (promise2, onError) { if (onError === void 0) { onError = noop; } promise2.catch(onError); return promise2; }; var addAbortSignalListener = function (abortSignal, callback) { abortSignal.addEventListener("abort", callback, { once: true }); return function () { return abortSignal.removeEventListener("abort", callback); }; }; var abortControllerWithReason = function (abortController, reason) { var signal = abortController.signal; if (signal.aborted) { return; } if (!("reason" in signal)) { Object.defineProperty(signal, "reason", { enumerable: true, value: reason, configurable: true, writable: true }); } ; abortController.abort(reason); }; // src/listenerMiddleware/exceptions.ts var task = "task"; var listener = "listener"; var completed = "completed"; var cancelled = "cancelled"; var taskCancelled = "task-" + cancelled; var taskCompleted = "task-" + completed; var listenerCancelled = listener + "-" + cancelled; var listenerCompleted = listener + "-" + completed; var TaskAbortError = /** @class */ (function () { function TaskAbortError(code) { this.code = code; this.name = "TaskAbortError"; this.message = task + " " + cancelled + " (reason: " + code + ")"; } return TaskAbortError; }()); // src/listenerMiddleware/task.ts var validateActive = function (signal) { if (signal.aborted) { throw new TaskAbortError(signal.reason); } }; function raceWithSignal(signal, promise2) { var cleanup = noop; return new Promise(function (resolve, reject) { var notifyRejection = function () { return reject(new TaskAbortError(signal.reason)); }; if (signal.aborted) { notifyRejection(); return; } cleanup = addAbortSignalListener(signal, notifyRejection); promise2.finally(function () { return cleanup(); }).then(resolve, reject); }).finally(function () { cleanup = noop; }); } var runTask = function (task2, cleanUp) { return __async(void 0, null, function () { var value, error_1; return __generator(this, function (_c) { switch (_c.label) { case 0: _c.trys.push([0, 3, 4, 5]); return [4 /*yield*/, Promise.resolve()]; case 1: _c.sent(); return [4 /*yield*/, task2()]; case 2: value = _c.sent(); return [2 /*return*/, { status: "ok", value: value }]; case 3: error_1 = _c.sent(); return [2 /*return*/, { status: error_1 instanceof TaskAbortError ? "cancelled" : "rejected", error: error_1 }]; case 4: cleanUp == null ? void 0 : cleanUp(); return [7 /*endfinally*/]; case 5: return [2 /*return*/]; } }); }); }; var createPause = function (signal) { return function (promise2) { return catchRejection(raceWithSignal(signal, promise2).then(function (output) { validateActive(signal); return output; })); }; }; var createDelay = function (signal) { var pause = createPause(signal); return function (timeoutMs) { return pause(new Promise(function (resolve) { return setTimeout(resolve, timeoutMs); })); }; }; // src/listenerMiddleware/index.ts var assign = Object.assign; var INTERNAL_NIL_TOKEN = {}; var alm = "listenerMiddleware"; var createFork = function (parentAbortSignal, parentBlockingPromises) { var linkControllers = function (controller) { return addAbortSignalListener(parentAbortSignal, function () { return abortControllerWithReason(controller, parentAbortSignal.reason); }); }; return function (taskExecutor, opts) { assertFunction(taskExecutor, "taskExecutor"); var childAbortController = new AbortController(); linkControllers(childAbortController); var result = runTask(function () { return __async(void 0, null, function () { var result2; return __generator(this, function (_c) { switch (_c.label) { case 0: validateActive(parentAbortSignal); validateActive(childAbortController.signal); return [4 /*yield*/, taskExecutor({ pause: createPause(childAbortController.signal), delay: createDelay(childAbortController.signal), signal: childAbortController.signal })]; case 1: result2 = _c.sent(); validateActive(childAbortController.signal); return [2 /*return*/, result2]; } }); }); }, function () { return abortControllerWithReason(childAbortController, taskCompleted); }); if (opts == null ? void 0 : opts.autoJoin) { parentBlockingPromises.push(result); } return { result: createPause(parentAbortSignal)(result), cancel: function () { abortControllerWithReason(childAbortController, taskCancelled); } }; }; }; var createTakePattern = function (startListening, signal) { var take = function (predicate, timeout) { return __async(void 0, null, function () { var unsubscribe, tuplePromise, promises, output; return __generator(this, function (_c) { switch (_c.label) { case 0: validateActive(signal); unsubscribe = function () { }; tuplePromise = new Promise(function (resolve, reject) { var stopListening = startListening({ predicate: predicate, effect: function (action, listenerApi) { listenerApi.unsubscribe(); resolve([ action, listenerApi.getState(), listenerApi.getOriginalState() ]); } }); unsubscribe = function () { stopListening(); reject(); }; }); promises = [ tuplePromise ]; if (timeout != null) { promises.push(new Promise(function (resolve) { return setTimeout(resolve, timeout, null); })); } _c.label = 1; case 1: _c.trys.push([1, , 3, 4]); return [4 /*yield*/, raceWithSignal(signal, Promise.race(promises))]; case 2: output = _c.sent(); validateActive(signal); return [2 /*return*/, output]; case 3: unsubscribe(); return [7 /*endfinally*/]; case 4: return [2 /*return*/]; } }); }); }; return function (predicate, timeout) { return catchRejection(take(predicate, timeout)); }; }; var getListenerEntryPropsFrom = function (options) { var type = options.type, actionCreator = options.actionCreator, matcher = options.matcher, predicate = options.predicate, effect = options.effect; if (type) { predicate = createAction(type).match; } else if (actionCreator) { type = actionCreator.type; predicate = actionCreator.match; } else if (matcher) { predicate = matcher; } else if (predicate) { } else { throw new Error("Creating or removing a listener requires one of the known fields for matching an action"); } assertFunction(effect, "options.listener"); return { predicate: predicate, type: type, effect: effect }; }; var createListenerEntry = function (options) { var _c = getListenerEntryPropsFrom(options), type = _c.type, predicate = _c.predicate, effect = _c.effect; var id = nanoid(); var entry = { id: id, effect: effect, type: type, predicate: predicate, pending: new Set(), unsubscribe: function () { throw new Error("Unsubscribe not initialized"); } }; return entry; }; var cancelActiveListeners = function (entry) { entry.pending.forEach(function (controller) { abortControllerWithReason(controller, listenerCancelled); }); }; var createClearListenerMiddleware = function (listenerMap) { return function () { listenerMap.forEach(cancelActiveListeners); listenerMap.clear(); }; }; var safelyNotifyError = function (errorHandler, errorToNotify, errorInfo) { try { errorHandler(errorToNotify, errorInfo); } catch (errorHandlerError) { setTimeout(function () { throw errorHandlerError; }, 0); } }; var addListener = createAction(alm + "/add"); var clearAllListeners = createAction(alm + "/removeAll"); var removeListener = createAction(alm + "/remove"); var defaultErrorHandler = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } console.error.apply(console, __spreadArray([alm + "/error"], args)); }; function createListenerMiddleware(middlewareOptions) { var _this = this; if (middlewareOptions === void 0) { middlewareOptions = {}; } var listenerMap = new Map(); var extra = middlewareOptions.extra, _c = middlewareOptions.onError, onError = _c === void 0 ? defaultErrorHandler : _c; assertFunction(onError, "onError"); var insertEntry = function (entry) { entry.unsubscribe = function () { return listenerMap.delete(entry.id); }; listenerMap.set(entry.id, entry); return function (cancelOptions) { entry.unsubscribe(); if (cancelOptions == null ? void 0 : cancelOptions.cancelActive) { cancelActiveListeners(entry); } }; }; var findListenerEntry = function (comparator) { for (var _i = 0, _c = Array.from(listenerMap.values()); _i < _c.length; _i++) { var entry = _c[_i]; if (comparator(entry)) { return entry; } } return void 0; }; var startListening = function (options) { var entry = findListenerEntry(function (existingEntry) { return existingEntry.effect === options.effect; }); if (!entry) { entry = createListenerEntry(options); } return insertEntry(entry); }; var stopListening = function (options) { var _c = getListenerEntryPropsFrom(options), type = _c.type, effect = _c.effect, predicate = _c.predicate; var entry = findListenerEntry(function (entry2) { var matchPredicateOrType = typeof type === "string" ? entry2.type === type : entry2.predicate === predicate; return matchPredicateOrType && entry2.effect === effect; }); if (entry) { entry.unsubscribe(); if (options.cancelActive) { cancelActiveListeners(entry); } } return !!entry; }; var notifyListener = function (entry, action, api, getOriginalState) { return __async(_this, null, function () { var internalTaskController, take, autoJoinPromises, listenerError_1; return __generator(this, function (_c) { switch (_c.label) { case 0: internalTaskController = new AbortController(); take = createTakePattern(startListening, internalTaskController.signal); autoJoinPromises = []; _c.label = 1; case 1: _c.trys.push([1, 3, 4, 6]); entry.pending.add(internalTaskController); return [4 /*yield*/, Promise.resolve(entry.effect(action, assign({}, api, { getOriginalState: getOriginalState, condition: function (predicate, timeout) { return take(predicate, timeout).then(Boolean); }, take: take, delay: createDelay(internalTaskController.signal), pause: createPause(internalTaskController.signal), extra: extra, signal: internalTaskController.signal, fork: createFork(internalTaskController.signal, autoJoinPromises), unsubscribe: entry.unsubscribe, subscribe: function () { listenerMap.set(entry.id, entry); }, cancelActiveListeners: function () { entry.pending.forEach(function (controller, _, set) { if (controller !== internalTaskController) { abortControllerWithReason(controller, listenerCancelled); set.delete(controller); } }); } })))]; case 2: _c.sent(); return [3 /*break*/, 6]; case 3: listenerError_1 = _c.sent(); if (!(listenerError_1 instanceof TaskAbortError)) { safelyNotifyError(onError, listenerError_1, { raisedBy: "effect" }); } return [3 /*break*/, 6]; case 4: return [4 /*yield*/, Promise.allSettled(autoJoinPromises)]; case 5: _c.sent(); abortControllerWithReason(internalTaskController, listenerCompleted); entry.pending.delete(internalTaskController); return [7 /*endfinally*/]; case 6: return [2 /*return*/]; } }); }); }; var clearListenerMiddleware = createClearListenerMiddleware(listenerMap); var middleware = function (api) { return function (next) { return function (action) { if (!isAction(action)) { return next(action); } if (addListener.match(action)) { return startListening(action.payload); } if (clearAllListeners.match(action)) { clearListenerMiddleware(); return; } if (removeListener.match(action)) { return stopListening(action.payload); } var originalState = api.getState(); var getOriginalState = function () { if (originalState === INTERNAL_NIL_TOKEN) { throw new Error(alm + ": getOriginalState can only be called synchronously"); } return originalState; }; var result; try { result = next(action); if (listenerMap.size > 0) { var currentState = api.getState(); var listenerEntries = Array.from(listenerMap.values()); for (var _i = 0, listenerEntries_1 = listenerEntries; _i < listenerEntries_1.length; _i++) { var entry = listenerEntries_1[_i]; var runListener = false; try { runListener = entry.predicate(action, currentState, originalState); } catch (predicateError) { runListener = false; safelyNotifyError(onError, predicateError, { raisedBy: "predicate" }); } if (!runListener) { continue; } notifyListener(entry, action, api, getOriginalState); } } } finally { originalState = INTERNAL_NIL_TOKEN; } return result; }; }; }; return { middleware: middleware, startListening: startListening, stopListening: stopListening, clearListeners: clearListenerMiddleware }; } // src/autoBatchEnhancer.ts var SHOULD_AUTOBATCH = "RTK_autoBatch"; var prepareAutoBatched = function () { return function (payload) { var _c; return ({ payload: payload, meta: (_c = {}, _c[SHOULD_AUTOBATCH] = true, _c) }); }; }; var promise; var queueMicrotaskShim = typeof queueMicrotask === "function" ? queueMicrotask.bind(typeof window !== "undefined" ? window : typeof __webpack_require__.g !== "undefined" ? __webpack_require__.g : globalThis) : function (cb) { return (promise || (promise = Promise.resolve())).then(cb).catch(function (err) { return setTimeout(function () { throw err; }, 0); }); }; var createQueueWithTimer = function (timeout) { return function (notify) { setTimeout(notify, timeout); }; }; var rAF = typeof window !== "undefined" && window.requestAnimationFrame ? window.requestAnimationFrame : createQueueWithTimer(10); var autoBatchEnhancer = function (options) { if (options === void 0) { options = { type: "raf" }; } return function (next) { return function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var store = next.apply(void 0, args); var notifying = true; var shouldNotifyAtEndOfTick = false; var notificationQueued = false; var listeners = new Set(); var queueCallback = options.type === "tick" ? queueMicrotaskShim : options.type === "raf" ? rAF : options.type === "callback" ? options.queueNotification : createQueueWithTimer(options.timeout); var notifyListeners = function () { notificationQueued = false; if (shouldNotifyAtEndOfTick) { shouldNotifyAtEndOfTick = false; listeners.forEach(function (l) { return l(); }); } }; return Object.assign({}, store, { subscribe: function (listener2) { var wrappedListener = function () { return notifying && listener2(); }; var unsubscribe = store.subscribe(wrappedListener); listeners.add(listener2); return function () { unsubscribe(); listeners.delete(listener2); }; }, dispatch: function (action) { var _a; try { notifying = !((_a = action == null ? void 0 : action.meta) == null ? void 0 : _a[SHOULD_AUTOBATCH]); shouldNotifyAtEndOfTick = !notifying; if (shouldNotifyAtEndOfTick) { if (!notificationQueued) { notificationQueued = true; queueCallback(notifyListeners); } } return store.dispatch(action); } finally { notifying = true; } } }); }; }; }; // src/index.ts (0,immer__WEBPACK_IMPORTED_MODULE_2__.enableES5)(); //# sourceMappingURL=redux-toolkit.esm.js.map /***/ }), /***/ "../assets/dev/js/editor/utils/is-instanceof.js": /*!******************************************************!*\ !*** ../assets/dev/js/editor/utils/is-instanceof.js ***! \******************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } /** * Some FileAPI objects such as FileList, DataTransferItem and DataTransferItemList has inconsistency with the retrieved * object (from events, etc.) and the actual JavaScript object so a regular instanceof doesn't work. This function can * check whether it's instanceof by using the objects constructor and prototype names. * * @param object * @param constructors * @return {boolean} */ var _default = function _default(object, constructors) { constructors = Array.isArray(constructors) ? constructors : [constructors]; var _iterator = _createForOfIteratorHelper(constructors), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var _constructor = _step.value; if (object.constructor.name === _constructor.prototype[Symbol.toStringTag]) { return true; } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } return false; }; exports["default"] = _default; /***/ }), /***/ "../assets/dev/js/modules/imports/args-object.js": /*!*******************************************************!*\ !*** ../assets/dev/js/modules/imports/args-object.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; 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 _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _instanceType = _interopRequireDefault(__webpack_require__(/*! ./instance-type */ "../assets/dev/js/modules/imports/instance-type.js")); var _isInstanceof = _interopRequireDefault(__webpack_require__(/*! ../../editor/utils/is-instanceof */ "../assets/dev/js/editor/utils/is-instanceof.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var ArgsObject = /*#__PURE__*/function (_InstanceType) { (0, _inherits2.default)(ArgsObject, _InstanceType); var _super = _createSuper(ArgsObject); /** * Function constructor(). * * Create ArgsObject. * * @param {{}} args */ function ArgsObject(args) { var _this; (0, _classCallCheck2.default)(this, ArgsObject); _this = _super.call(this); _this.args = args; return _this; } /** * Function requireArgument(). * * Validate property in args. * * @param {string} property * @param {{}} args * * @throws {Error} */ (0, _createClass2.default)(ArgsObject, [{ key: "requireArgument", value: function requireArgument(property) { var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.args; if (!Object.prototype.hasOwnProperty.call(args, property)) { throw Error("".concat(property, " is required.")); } } /** * Function requireArgumentType(). * * Validate property in args using `type === typeof(args.whatever)`. * * @param {string} property * @param {string} type * @param {{}} args * * @throws {Error} */ }, { key: "requireArgumentType", value: function requireArgumentType(property, type) { var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.args; this.requireArgument(property, args); if ((0, _typeof2.default)(args[property]) !== type) { throw Error("".concat(property, " invalid type: ").concat(type, ".")); } } /** * Function requireArgumentInstance(). * * Validate property in args using `args.whatever instanceof instance`. * * @param {string} property * @param {*} instance * @param {{}} args * * @throws {Error} */ }, { key: "requireArgumentInstance", value: function requireArgumentInstance(property, instance) { var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.args; this.requireArgument(property, args); if (!(args[property] instanceof instance) && !(0, _isInstanceof.default)(args[property], instance)) { throw Error("".concat(property, " invalid instance.")); } } /** * Function requireArgumentConstructor(). * * Validate property in args using `type === args.whatever.constructor`. * * @param {string} property * @param {*} type * @param {{}} args * * @throws {Error} */ }, { key: "requireArgumentConstructor", value: function requireArgumentConstructor(property, type) { var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.args; this.requireArgument(property, args); // Note: Converting the constructor to string in order to avoid equation issues // due to different memory addresses between iframes (window.Object !== window.top.Object). if (args[property].constructor.toString() !== type.prototype.constructor.toString()) { throw Error("".concat(property, " invalid constructor type.")); } } }], [{ key: "getInstanceType", value: function getInstanceType() { return 'ArgsObject'; } }]); return ArgsObject; }(_instanceType.default); exports["default"] = ArgsObject; /***/ }), /***/ "../assets/dev/js/modules/imports/instance-type.js": /*!*********************************************************!*\ !*** ../assets/dev/js/modules/imports/instance-type.js ***! \*********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; 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 _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var InstanceType = /*#__PURE__*/function (_Symbol$hasInstance) { function InstanceType() { var _this = this; (0, _classCallCheck2.default)(this, InstanceType); // Since anonymous classes sometimes do not get validated by babel, do it manually. var target = this instanceof InstanceType ? this.constructor : void 0; var prototypes = []; while (target.__proto__ && target.__proto__.name) { prototypes.push(target.__proto__); target = target.__proto__; } prototypes.reverse().forEach(function (proto) { return _this instanceof proto; }); } (0, _createClass2.default)(InstanceType, null, [{ key: _Symbol$hasInstance, value: function value(target) { /** * This is function extending being called each time JS uses instanceOf, since babel use it each time it create new class * its give's opportunity to mange capabilities of instanceOf operator. * saving current class each time will give option later to handle instanceOf manually. */ var result = (0, _get2.default)((0, _getPrototypeOf2.default)(InstanceType), Symbol.hasInstance, this).call(this, target); // Act normal when validate a class, which does not have instance type. if (target && !target.constructor.getInstanceType) { return result; } if (target) { if (!target.instanceTypes) { target.instanceTypes = []; } if (!result) { if (this.getInstanceType() === target.constructor.getInstanceType()) { result = true; } } if (result) { var name = this.getInstanceType === InstanceType.getInstanceType ? 'BaseInstanceType' : this.getInstanceType(); if (-1 === target.instanceTypes.indexOf(name)) { target.instanceTypes.push(name); } } } if (!result && target) { // Check if the given 'target', is instance of known types. result = target.instanceTypes && Array.isArray(target.instanceTypes) && -1 !== target.instanceTypes.indexOf(this.getInstanceType()); } return result; } }, { key: "getInstanceType", value: function getInstanceType() { elementorModules.ForceMethodImplementation(); } }]); return InstanceType; }(Symbol.hasInstance); exports["default"] = InstanceType; /***/ }), /***/ "../assets/dev/js/modules/imports/module.js": /*!**************************************************!*\ !*** ../assets/dev/js/modules/imports/module.js ***! \**************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js")); var Module = function Module() { var $ = jQuery, instanceParams = arguments, self = this, events = {}; var settings; var ensureClosureMethods = function ensureClosureMethods() { $.each(self, function (methodName) { var oldMethod = self[methodName]; if ('function' !== typeof oldMethod) { return; } self[methodName] = function () { return oldMethod.apply(self, arguments); }; }); }; var initSettings = function initSettings() { settings = self.getDefaultSettings(); var instanceSettings = instanceParams[0]; if (instanceSettings) { $.extend(true, settings, instanceSettings); } }; var init = function init() { self.__construct.apply(self, instanceParams); ensureClosureMethods(); initSettings(); self.trigger('init'); }; this.getItems = function (items, itemKey) { if (itemKey) { var keyStack = itemKey.split('.'), currentKey = keyStack.splice(0, 1); if (!keyStack.length) { return items[currentKey]; } if (!items[currentKey]) { return; } return this.getItems(items[currentKey], keyStack.join('.')); } return items; }; this.getSettings = function (setting) { return this.getItems(settings, setting); }; this.setSettings = function (settingKey, value, settingsContainer) { if (!settingsContainer) { settingsContainer = settings; } if ('object' === (0, _typeof2.default)(settingKey)) { $.extend(settingsContainer, settingKey); return self; } var keyStack = settingKey.split('.'), currentKey = keyStack.splice(0, 1); if (!keyStack.length) { settingsContainer[currentKey] = value; return self; } if (!settingsContainer[currentKey]) { settingsContainer[currentKey] = {}; } return self.setSettings(keyStack.join('.'), value, settingsContainer[currentKey]); }; this.getErrorMessage = function (type, functionName) { var message; switch (type) { case 'forceMethodImplementation': message = "The method '".concat(functionName, "' must to be implemented in the inheritor child."); break; default: message = 'An error occurs'; } return message; }; // TODO: This function should be deleted ?. this.forceMethodImplementation = function (functionName) { throw new Error(this.getErrorMessage('forceMethodImplementation', functionName)); }; this.on = function (eventName, callback) { if ('object' === (0, _typeof2.default)(eventName)) { $.each(eventName, function (singleEventName) { self.on(singleEventName, this); }); return self; } var eventNames = eventName.split(' '); eventNames.forEach(function (singleEventName) { if (!events[singleEventName]) { events[singleEventName] = []; } events[singleEventName].push(callback); }); return self; }; this.off = function (eventName, callback) { if (!events[eventName]) { return self; } if (!callback) { delete events[eventName]; return self; } var callbackIndex = events[eventName].indexOf(callback); if (-1 !== callbackIndex) { delete events[eventName][callbackIndex]; // Reset array index (for next off on same event). events[eventName] = events[eventName].filter(function (val) { return val; }); } return self; }; this.trigger = function (eventName) { var methodName = 'on' + eventName[0].toUpperCase() + eventName.slice(1), params = Array.prototype.slice.call(arguments, 1); if (self[methodName]) { self[methodName].apply(self, params); } var callbacks = events[eventName]; if (!callbacks) { return self; } $.each(callbacks, function (index, callback) { callback.apply(self, params); }); return self; }; init(); }; Module.prototype.__construct = function () {}; Module.prototype.getDefaultSettings = function () { return {}; }; Module.prototype.getConstructorID = function () { return this.constructor.name; }; Module.extend = function (properties) { var $ = jQuery, parent = this; var child = function child() { return parent.apply(this, arguments); }; $.extend(child, parent); child.prototype = Object.create($.extend({}, parent.prototype, properties)); child.prototype.constructor = child; child.__super__ = parent.prototype; return child; }; module.exports = Module; /***/ }), /***/ "../modules/atomic-widgets/assets/js/editor/commands-internal/create-style.js": /*!************************************************************************************!*\ !*** ../modules/atomic-widgets/assets/js/editor/commands-internal/create-style.js ***! \************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var sprintf = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["sprintf"]; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = exports.CreateStyle = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var PROP_TYPE_CLASSES = 'classes'; /** * @typedef {import('elementor/assets/dev/js/editor/container/container')} Container */ var CreateStyle = /*#__PURE__*/function (_$e$modules$editor$Co) { (0, _inherits2.default)(CreateStyle, _$e$modules$editor$Co); var _super = _createSuper(CreateStyle); function CreateStyle() { (0, _classCallCheck2.default)(this, CreateStyle); return _super.apply(this, arguments); } (0, _createClass2.default)(CreateStyle, [{ key: "validateArgs", value: function validateArgs(args) { this.requireContainer(args); this.requireArgumentConstructor('bind', String, args); } }, { key: "randomId", value: function randomId(containerId) { return "s-".concat(containerId, "-").concat(elementorCommon.helpers.getUniqueId()); } }, { key: "apply", value: function apply(args) { var _container$settings$g; var container = args.container, styleDefID = args.styleDefID, bind = args.bind; var oldStyles = container.model.get('styles') || {}; /* Translators: 1: container label, 2: number of old styles */ var label = sprintf((0, _i18n.__)('%1$s Style %2$s', 'elementor'), container.label, Object.keys(oldStyles).length + 1); var newStyle = { id: styleDefID !== null && styleDefID !== void 0 ? styleDefID : this.randomId(container.id), label: label, type: 'class', variants: [] }; var oldBindSetting = (_container$settings$g = container.settings.get(bind)) !== null && _container$settings$g !== void 0 ? _container$settings$g : { $$type: PROP_TYPE_CLASSES, value: [] }; if (oldBindSetting.$$type !== PROP_TYPE_CLASSES || !Array.isArray(oldBindSetting.value)) { throw new Error('Invalid bind setting prop type'); } var newBindSetting = (0, _defineProperty2.default)({}, bind, { $$type: PROP_TYPE_CLASSES, value: [].concat((0, _toConsumableArray2.default)(oldBindSetting.value), [newStyle.id]) }); $e.internal('document/elements/set-settings', { container: container, settings: newBindSetting }); var newStyles = _objectSpread(_objectSpread({}, oldStyles), {}, (0, _defineProperty2.default)({}, newStyle.id, newStyle)); container.model.set('styles', newStyles); return newStyle; } }]); return CreateStyle; }($e.modules.editor.CommandContainerInternalBase); exports.CreateStyle = CreateStyle; var _default = CreateStyle; exports["default"] = _default; /***/ }), /***/ "../modules/atomic-widgets/assets/js/editor/commands-internal/create-variant.js": /*!**************************************************************************************!*\ !*** ../modules/atomic-widgets/assets/js/editor/commands-internal/create-variant.js ***! \**************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = exports.CreateVariant = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _getVariants = __webpack_require__(/*! ../utils/get-variants */ "../modules/atomic-widgets/assets/js/editor/utils/get-variants.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** * @typedef {import('elementor/assets/dev/js/editor/container/container')} Container */ var CreateVariant = /*#__PURE__*/function (_$e$modules$editor$Co) { (0, _inherits2.default)(CreateVariant, _$e$modules$editor$Co); var _super = _createSuper(CreateVariant); function CreateVariant() { (0, _classCallCheck2.default)(this, CreateVariant); return _super.apply(this, arguments); } (0, _createClass2.default)(CreateVariant, [{ key: "validateArgs", value: function validateArgs(args) { this.requireContainer(args); this.requireArgumentConstructor('styleDefID', String, args); this.requireArgumentConstructor('meta', Object, args); if (!('breakpoint' in args.meta && 'state' in args.meta)) { throw new Error('Invalid meta arg'); } } }, { key: "apply", value: function apply(args) { var container = args.container, styleDefID = args.styleDefID, meta = args.meta; var oldStyles = container.model.get('styles') || {}; if (!oldStyles[styleDefID]) { throw new Error('Style Def not found'); } var style = oldStyles[styleDefID]; if ((0, _getVariants.getVariantByMeta)(style.variants, meta)) { throw new Error('Style Variant already exits'); } style.variants.push({ meta: meta, props: {} }); var newStyles = _objectSpread(_objectSpread({}, oldStyles), {}, (0, _defineProperty2.default)({}, styleDefID, style)); container.model.set('styles', newStyles); } }]); return CreateVariant; }($e.modules.editor.CommandContainerInternalBase); exports.CreateVariant = CreateVariant; var _default = CreateVariant; exports["default"] = _default; /***/ }), /***/ "../modules/atomic-widgets/assets/js/editor/commands-internal/delete-style.js": /*!************************************************************************************!*\ !*** ../modules/atomic-widgets/assets/js/editor/commands-internal/delete-style.js ***! \************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = exports.DeleteStyle = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** * @typedef {import('elementor/assets/dev/js/editor/container/container')} Container */ var DeleteStyle = /*#__PURE__*/function (_$e$modules$editor$Co) { (0, _inherits2.default)(DeleteStyle, _$e$modules$editor$Co); var _super = _createSuper(DeleteStyle); function DeleteStyle() { (0, _classCallCheck2.default)(this, DeleteStyle); return _super.apply(this, arguments); } (0, _createClass2.default)(DeleteStyle, [{ key: "validateArgs", value: function validateArgs(args) { this.requireContainer(args); this.requireArgumentConstructor('styleDefID', String, args); this.requireArgumentConstructor('bind', String, args); } }, { key: "apply", value: function apply(args) { var container = args.container, styleDefID = args.styleDefID, bind = args.bind; var oldBindSetting = container.settings.get(bind); if (!oldBindSetting) { throw new Error('Setting not found'); } var newBindSetting = (0, _defineProperty2.default)({}, bind, { $$type: 'classes', value: oldBindSetting.value.filter(function (id) { return id !== styleDefID; }) }); $e.internal('document/elements/set-settings', { container: container, settings: newBindSetting }); var styles = container.model.get('styles') || {}; delete styles[styleDefID]; container.model.set('styles', styles); } }]); return DeleteStyle; }($e.modules.editor.CommandContainerInternalBase); exports.DeleteStyle = DeleteStyle; var _default = DeleteStyle; exports["default"] = _default; /***/ }), /***/ "../modules/atomic-widgets/assets/js/editor/commands-internal/delete-variant.js": /*!**************************************************************************************!*\ !*** ../modules/atomic-widgets/assets/js/editor/commands-internal/delete-variant.js ***! \**************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = exports.DeleteVariant = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _getVariants = __webpack_require__(/*! ../utils/get-variants */ "../modules/atomic-widgets/assets/js/editor/utils/get-variants.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** * @typedef {import('elementor/assets/dev/js/editor/container/container')} Container */ var DeleteVariant = /*#__PURE__*/function (_$e$modules$editor$Co) { (0, _inherits2.default)(DeleteVariant, _$e$modules$editor$Co); var _super = _createSuper(DeleteVariant); function DeleteVariant() { (0, _classCallCheck2.default)(this, DeleteVariant); return _super.apply(this, arguments); } (0, _createClass2.default)(DeleteVariant, [{ key: "validateArgs", value: function validateArgs(args) { this.requireContainer(args); this.requireArgumentConstructor('styleDefID', String, args); this.requireArgumentConstructor('meta', Object, args); if (!('breakpoint' in args.meta && 'state' in args.meta)) { throw new Error('Invalid meta arg'); } } }, { key: "apply", value: function apply(args) { var container = args.container, styleDefID = args.styleDefID, meta = args.meta; var oldStyles = container.model.get('styles') || {}; var style = {}; if (!oldStyles[styleDefID]) { throw new Error('Style Def not found'); } style = oldStyles[styleDefID]; style.variants = (0, _getVariants.getVariantsWithoutMeta)(style.variants, meta); var newStyles = _objectSpread(_objectSpread({}, oldStyles), {}, (0, _defineProperty2.default)({}, style.id, style)); container.model.set('styles', newStyles); } }]); return DeleteVariant; }($e.modules.editor.CommandContainerInternalBase); exports.DeleteVariant = DeleteVariant; var _default = DeleteVariant; exports["default"] = _default; /***/ }), /***/ "../modules/atomic-widgets/assets/js/editor/commands-internal/index.js": /*!*****************************************************************************!*\ !*** ../modules/atomic-widgets/assets/js/editor/commands-internal/index.js ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "CreateStyle", ({ enumerable: true, get: function get() { return _createStyle.CreateStyle; } })); Object.defineProperty(exports, "CreateVariant", ({ enumerable: true, get: function get() { return _createVariant.CreateVariant; } })); Object.defineProperty(exports, "DeleteStyle", ({ enumerable: true, get: function get() { return _deleteStyle.DeleteStyle; } })); Object.defineProperty(exports, "DeleteVariant", ({ enumerable: true, get: function get() { return _deleteVariant.DeleteVariant; } })); Object.defineProperty(exports, "UpdateProps", ({ enumerable: true, get: function get() { return _updateProps.UpdateProps; } })); var _updateProps = __webpack_require__(/*! ./update-props */ "../modules/atomic-widgets/assets/js/editor/commands-internal/update-props.js"); var _createStyle = __webpack_require__(/*! ./create-style */ "../modules/atomic-widgets/assets/js/editor/commands-internal/create-style.js"); var _deleteStyle = __webpack_require__(/*! ./delete-style */ "../modules/atomic-widgets/assets/js/editor/commands-internal/delete-style.js"); var _createVariant = __webpack_require__(/*! ./create-variant */ "../modules/atomic-widgets/assets/js/editor/commands-internal/create-variant.js"); var _deleteVariant = __webpack_require__(/*! ./delete-variant */ "../modules/atomic-widgets/assets/js/editor/commands-internal/delete-variant.js"); /***/ }), /***/ "../modules/atomic-widgets/assets/js/editor/commands-internal/update-props.js": /*!************************************************************************************!*\ !*** ../modules/atomic-widgets/assets/js/editor/commands-internal/update-props.js ***! \************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = exports.UpdateProps = void 0; var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _getVariants = __webpack_require__(/*! ../utils/get-variants */ "../modules/atomic-widgets/assets/js/editor/utils/get-variants.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** * @typedef {import('elementor/assets/dev/js/editor/container/container')} Container */ var UpdateProps = /*#__PURE__*/function (_$e$modules$editor$Co) { (0, _inherits2.default)(UpdateProps, _$e$modules$editor$Co); var _super = _createSuper(UpdateProps); function UpdateProps() { (0, _classCallCheck2.default)(this, UpdateProps); return _super.apply(this, arguments); } (0, _createClass2.default)(UpdateProps, [{ key: "validateArgs", value: function validateArgs(args) { this.requireContainer(args); this.requireArgumentConstructor('styleDefID', String, args); this.requireArgumentConstructor('meta', Object, args); this.requireArgumentConstructor('props', Object, args); if (!('breakpoint' in args.meta && 'state' in args.meta)) { throw new Error('Invalid meta arg'); } if (0 === Object.keys(args.props).length) { throw new Error('Props are empty'); } } }, { key: "updateExistingVariant", value: function updateExistingVariant(style, variant, props) { variant.props = _objectSpread(_objectSpread({}, variant.props), props); Object.entries(variant.props).forEach(function (_ref) { var _ref2 = (0, _slicedToArray2.default)(_ref, 2), key = _ref2[0], value = _ref2[1]; if (null === value || undefined === value) { delete variant.props[key]; } }); return _objectSpread(_objectSpread({}, style), {}, { variants: style.variants.map(function (v) { return variant.meta.breakpoint === v.breakpoint && variant.meta.state === v.state ? variant : v; }) }); } }, { key: "apply", value: function apply(args) { var container = args.container, styleDefID = args.styleDefID, meta = args.meta, props = args.props; var oldStyles = container.model.get('styles') || {}; var style = oldStyles[styleDefID]; if (!style) { throw new Error('Style Def not found'); } var variant = (0, _getVariants.getVariantByMeta)(style.variants, meta); if (!variant) { throw new Error('Style Variant not found'); } style = this.updateExistingVariant(style, variant, props); var newStyles = _objectSpread(_objectSpread({}, oldStyles), {}, (0, _defineProperty2.default)({}, style.id, style)); container.model.set('styles', newStyles); } }]); return UpdateProps; }($e.modules.editor.CommandContainerInternalBase); exports.UpdateProps = UpdateProps; var _default = UpdateProps; exports["default"] = _default; /***/ }), /***/ "../modules/atomic-widgets/assets/js/editor/commands/index.js": /*!********************************************************************!*\ !*** ../modules/atomic-widgets/assets/js/editor/commands/index.js ***! \********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "Styles", ({ enumerable: true, get: function get() { return _styles.Styles; } })); var _styles = __webpack_require__(/*! ./styles */ "../modules/atomic-widgets/assets/js/editor/commands/styles.js"); /***/ }), /***/ "../modules/atomic-widgets/assets/js/editor/commands/styles.js": /*!*********************************************************************!*\ !*** ../modules/atomic-widgets/assets/js/editor/commands/styles.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = exports.Styles = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _getVariants = __webpack_require__(/*! ../utils/get-variants */ "../modules/atomic-widgets/assets/js/editor/utils/get-variants.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** * @typedef {import('elementor/assets/dev/js/editor/container/container')} Container */ var Styles = /*#__PURE__*/function (_$e$modules$editor$do) { (0, _inherits2.default)(Styles, _$e$modules$editor$do); var _super = _createSuper(Styles); function Styles() { (0, _classCallCheck2.default)(this, Styles); return _super.apply(this, arguments); } (0, _createClass2.default)(Styles, [{ key: "validateArgs", value: function validateArgs(args) { this.requireContainer(args); if (!args.bind && !args.styleDefID) { throw new Error('Missing bind or styleDefID'); } if (args.bind && 'string' !== typeof args.bind) { throw new Error('Invalid bind arg'); } if (args.styleDefID && 'string' !== typeof args.styleDefID) { throw new Error('Invalid styleDefID arg'); } } /** * Function restore(). * * Redo/Restore. * * @param {{}} historyItem * @param {boolean} isRedo */ }, { key: "addToHistory", value: /** * Function addToHistory(). * * @param {Container} container * @param {string} bind * @param {string} styleDefID * @param {{}} meta * @param {{}} props * @param {{}} oldProps */ function addToHistory(container, bind, styleDefID, meta, props, oldProps) { var newPropsEmpty = Object.keys(props).reduce(function (emptyValues, key) { emptyValues[key] = undefined; return emptyValues; }, {}); var changes = (0, _defineProperty2.default)({}, container.id, { bind: bind, styleDefID: styleDefID, meta: meta, old: { props: _objectSpread(_objectSpread({}, newPropsEmpty), oldProps) }, new: { props: props } }), historyItem = { container: container, data: { changes: changes }, type: 'change', restore: Styles.restore }; $e.internal('document/history/add-transaction', historyItem); } }, { key: "getHistory", value: function getHistory(args) { var container = args.container, subTitle = this.constructor.getSubTitle(args); return { container: container, subTitle: subTitle, type: 'change' }; } }, { key: "apply", value: function apply(args) { var _args$styleDefID, _structuredClone; var container = args.container; var bind = args.bind, meta = args.meta, props = args.props; container = container.lookup(); var styleDefID = (_args$styleDefID = args.styleDefID) !== null && _args$styleDefID !== void 0 ? _args$styleDefID : null; var currentStyle = (_structuredClone = structuredClone(container.model.get('styles'))) !== null && _structuredClone !== void 0 ? _structuredClone : {}; var style = {}; if (!styleDefID) { // Create a new style definition for the first time style = $e.internal('document/atomic-widgets/create-style', { container: container, bind: bind }); styleDefID = style.id; } else if (!currentStyle[styleDefID]) { // Create a new style definition with the given ID // used when the style is deleted and then re-applied (i.e. history undo/redo) style = $e.internal('document/atomic-widgets/create-style', { container: container, styleDefID: styleDefID, bind: bind }); } else { // Use the existing style definition style = currentStyle[styleDefID]; } var currentVariant = (0, _getVariants.getVariantByMeta)(style.variants, meta); if (!currentVariant) { $e.internal('document/atomic-widgets/create-variant', { container: container, styleDefID: styleDefID, meta: meta }); } var nonEmptyValues = Object.values(_objectSpread(_objectSpread({}, currentVariant === null || currentVariant === void 0 ? void 0 : currentVariant.props), props)).filter(function (value) { return value !== undefined; }); if (0 === nonEmptyValues.length) { // Doesn't have any props to use for this variant $e.internal('document/atomic-widgets/delete-variant', { container: container, styleDefID: styleDefID, meta: meta }); var newStyles = container.model.get('styles'); var newVariants = newStyles[styleDefID].variants; if (0 === newVariants.length) { // After deleting the variant, there are no variants left $e.internal('document/atomic-widgets/delete-style', { container: container, styleDefID: styleDefID, bind: bind }); } } else { // Has valid props in the current variant $e.internal('document/atomic-widgets/update-props', { container: container, styleDefID: styleDefID, bind: bind, meta: meta, props: props }); } if (this.isHistoryActive()) { var _getVariantByMeta; var oldStyleDef = currentStyle[styleDefID]; var oldProps = oldStyleDef !== null && oldStyleDef !== void 0 && oldStyleDef.variants ? (_getVariantByMeta = (0, _getVariants.getVariantByMeta)(oldStyleDef.variants, meta)) === null || _getVariantByMeta === void 0 ? void 0 : _getVariantByMeta.props : {}; this.addToHistory(container, bind, styleDefID, meta, props, oldProps); } } }], [{ key: "getSubTitle", value: function getSubTitle() { return __('Style', 'elementor'); } }, { key: "restore", value: function restore(historyItem, isRedo) { var container = historyItem.get('container'); var changes = historyItem.get('data').changes[container.id]; var bind = changes.bind, styleDefID = changes.styleDefID, meta = changes.meta; var _ref = isRedo ? changes.new : changes.old, props = _ref.props; $e.run('document/atomic-widgets/styles', { container: container, bind: bind, styleDefID: styleDefID, meta: meta, props: props }); } }]); return Styles; }($e.modules.editor.document.CommandHistoryDebounceBase); exports.Styles = Styles; var _default = Styles; exports["default"] = _default; /***/ }), /***/ "../modules/atomic-widgets/assets/js/editor/component.js": /*!***************************************************************!*\ !*** ../modules/atomic-widgets/assets/js/editor/component.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 _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _componentBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/component-base */ "../modules/web-cli/assets/js/modules/component-base.js")); var commands = _interopRequireWildcard(__webpack_require__(/*! ./commands/ */ "../modules/atomic-widgets/assets/js/editor/commands/index.js")); var commandsInternal = _interopRequireWildcard(__webpack_require__(/*! ./commands-internal/ */ "../modules/atomic-widgets/assets/js/editor/commands-internal/index.js")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var Component = /*#__PURE__*/function (_ComponentBase) { (0, _inherits2.default)(Component, _ComponentBase); var _super = _createSuper(Component); function Component() { (0, _classCallCheck2.default)(this, Component); return _super.apply(this, arguments); } (0, _createClass2.default)(Component, [{ key: "getNamespace", value: function getNamespace() { return 'document/atomic-widgets'; } }, { key: "defaultCommands", value: function defaultCommands() { return this.importCommands(commands); } }, { key: "defaultCommandsInternal", value: function defaultCommandsInternal() { return this.importCommands(commandsInternal); } }]); return Component; }(_componentBase.default); exports["default"] = Component; /***/ }), /***/ "../modules/atomic-widgets/assets/js/editor/utils/get-variants.js": /*!************************************************************************!*\ !*** ../modules/atomic-widgets/assets/js/editor/utils/get-variants.js ***! \************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.getVariantByMeta = getVariantByMeta; exports.getVariantsWithoutMeta = getVariantsWithoutMeta; function getVariantByMeta(variants, meta) { return variants.find(function (variant) { return variant.meta.breakpoint === meta.breakpoint && variant.meta.state === meta.state; }); } function getVariantsWithoutMeta(variants, meta) { return variants.filter(function (variant) { return variant.meta.breakpoint !== meta.breakpoint || variant.meta.state !== meta.state; }); } /***/ }), /***/ "../modules/web-cli/assets/js/modules/command-base.js": /*!************************************************************!*\ !*** ../modules/web-cli/assets/js/modules/command-base.js ***! \************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; 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 _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _commandInfra = _interopRequireDefault(__webpack_require__(/*! ./command-infra */ "../modules/web-cli/assets/js/modules/command-infra.js")); var _deprecation = _interopRequireDefault(__webpack_require__(/*! elementor-api/utils/deprecation */ "../modules/web-cli/assets/js/utils/deprecation.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** * @name $e.modules.CommandBase */ var CommandBase = /*#__PURE__*/function (_CommandInfra) { (0, _inherits2.default)(CommandBase, _CommandInfra); var _super = _createSuper(CommandBase); function CommandBase() { (0, _classCallCheck2.default)(this, CommandBase); return _super.apply(this, arguments); } (0, _createClass2.default)(CommandBase, [{ key: "onBeforeRun", value: function onBeforeRun() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; $e.hooks.runUIBefore(this.command, args); } }, { key: "onAfterRun", value: function onAfterRun() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var result = arguments.length > 1 ? arguments[1] : undefined; $e.hooks.runUIAfter(this.command, args, result); } }, { key: "onBeforeApply", value: function onBeforeApply() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; $e.hooks.runDataDependency(this.command, args); } }, { key: "onAfterApply", value: function onAfterApply() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var result = arguments.length > 1 ? arguments[1] : undefined; $e.hooks.runDataAfter(this.command, args, result); } }, { key: "onCatchApply", value: function onCatchApply(e) { this.runCatchHooks(e); } /** * Run all the catch hooks. * * @param {Error} e */ }, { key: "runCatchHooks", value: function runCatchHooks(e) { $e.hooks.runDataCatch(this.command, this.args, e); $e.hooks.runUICatch(this.command, this.args, e); } /** * TODO - Remove - Backwards compatibility. * * Function requireContainer(). * * Validate `arg.container` & `arg.containers`. * * @param {{}} args * @deprecated since 3.7.0, extend `$e.modules.editor.CommandContainerBase` or `$e.modules.editor.CommandContainerInternalBase` instead. * * @throws {Error} */ }, { key: "requireContainer", value: function requireContainer() { var _this = this; var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.args; _deprecation.default.deprecated('requireContainer()', '3.7.0', 'Extend `$e.modules.editor.CommandContainerBase` or `$e.modules.editor.CommandContainerInternalBase`'); if (!args.container && !args.containers) { throw Error('container or containers are required.'); } if (args.container && args.containers) { throw Error('container and containers cannot go together please select one of them.'); } var containers = args.containers || [args.container]; containers.forEach(function (container) { _this.requireArgumentInstance('container', elementorModules.editor.Container, { container: container }); }); } }], [{ key: "getInstanceType", value: function getInstanceType() { return 'CommandBase'; } }]); return CommandBase; }(_commandInfra.default); exports["default"] = CommandBase; /***/ }), /***/ "../modules/web-cli/assets/js/modules/command-callback-base.js": /*!*********************************************************************!*\ !*** ../modules/web-cli/assets/js/modules/command-callback-base.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; 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 _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _commandBase = _interopRequireDefault(__webpack_require__(/*! ./command-base */ "../modules/web-cli/assets/js/modules/command-base.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** * To support pure callbacks in the API(commands.js), to ensure they have registered with the proper context. */ var CommandCallbackBase = /*#__PURE__*/function (_CommandBase) { (0, _inherits2.default)(CommandCallbackBase, _CommandBase); var _super = _createSuper(CommandCallbackBase); function CommandCallbackBase() { (0, _classCallCheck2.default)(this, CommandCallbackBase); return _super.apply(this, arguments); } (0, _createClass2.default)(CommandCallbackBase, [{ key: "apply", value: function apply() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return this.constructor.getCallback()(args); } }], [{ key: "getInstanceType", value: function getInstanceType() { return 'CommandCallbackBase'; } /** * Get original callback of the command. * * Support pure callbacks ( Non command-base ). * * @return {()=>{}} Command Results. */ }, { key: "getCallback", value: function getCallback() { return this.registerConfig.callback; } }]); return CommandCallbackBase; }(_commandBase.default); exports["default"] = CommandCallbackBase; /***/ }), /***/ "../modules/web-cli/assets/js/modules/command-infra.js": /*!*************************************************************!*\ !*** ../modules/web-cli/assets/js/modules/command-infra.js ***! \*************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; 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 _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var _argsObject = _interopRequireDefault(__webpack_require__(/*! elementor-assets-js/modules/imports/args-object */ "../assets/dev/js/modules/imports/args-object.js")); var _deprecation = _interopRequireDefault(__webpack_require__(/*! elementor-api/utils/deprecation */ "../modules/web-cli/assets/js/utils/deprecation.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** * @typedef {import('../modules/component-base')} ComponentBase */ var CommandInfra = /*#__PURE__*/function (_ArgsObject) { (0, _inherits2.default)(CommandInfra, _ArgsObject); var _super = _createSuper(CommandInfra); /** * Function constructor(). * * Create Commands Base. * * @param {{}} args */ function CommandInfra() { var _this; var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; (0, _classCallCheck2.default)(this, CommandInfra); _this = _super.call(this, args); if (!_this.constructor.registerConfig) { throw RangeError('Doing it wrong: Each command type should have `registerConfig`.'); } // Acknowledge self about which command it run. _this.command = _this.constructor.getCommand(); // Assign instance of current component. _this.component = _this.constructor.getComponent(); // Who ever need do something before without `super` the constructor can use `initialize` method. _this.initialize(args); // Refresh args, maybe the changed via `initialize`. args = _this.args; // Validate args before run. _this.validateArgs(args); return _this; } /** * Function initialize(). * * Initialize command, called after construction. * * @param {{}} args */ (0, _createClass2.default)(CommandInfra, [{ key: "currentCommand", get: /** * @deprecated since 3.7.0, use `this.command` instead. */ function get() { _deprecation.default.deprecated('this.currentCommand', '3.7.0', 'this.command'); return this.command; } }, { key: "initialize", value: function initialize() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; } // eslint-disable-line no-unused-vars /** * Function validateArgs(). * * Validate command arguments. * * @param {{}} args */ }, { key: "validateArgs", value: function validateArgs() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; } // eslint-disable-line no-unused-vars // eslint-disable-next-line jsdoc/require-returns-check /** * Function apply(). * * Do the actual command. * * @param {{}} args * * @return {*} Command results. */ }, { key: "apply", value: function apply() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; // eslint-disable-line no-unused-vars elementorModules.ForceMethodImplementation(); } /** * Function run(). * * Run command with history & hooks. * * @return {*} Command results. */ }, { key: "run", value: function run() { return this.apply(this.args); } /** * Function onBeforeRun. * * Called before run(). * * @param {{}} args */ }, { key: "onBeforeRun", value: function onBeforeRun() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; } // eslint-disable-line no-unused-vars /** * Function onAfterRun. * * Called after run(). * * @param {{}} args * @param {*} result */ }, { key: "onAfterRun", value: function onAfterRun() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var result = arguments.length > 1 ? arguments[1] : undefined; } // eslint-disable-line no-unused-vars /** * Function onBeforeApply. * * Called before apply(). * * @param {{}} args */ }, { key: "onBeforeApply", value: function onBeforeApply() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; } // eslint-disable-line no-unused-vars /** * Function onAfterApply. * * Called after apply(). * * @param {{}} args * @param {*} result */ }, { key: "onAfterApply", value: function onAfterApply() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var result = arguments.length > 1 ? arguments[1] : undefined; } // eslint-disable-line no-unused-vars /** * Function onCatchApply. * * Called after apply() failed. * * @param {Error} e */ }, { key: "onCatchApply", value: function onCatchApply(e) {} // eslint-disable-line no-unused-vars }], [{ key: "getInstanceType", value: function getInstanceType() { return 'CommandInfra'; } /** * Get info of command. * * @return {Object} Extra information about the command. */ }, { key: "getInfo", value: function getInfo() { return {}; } /** * @return {string} Self command name. */ }, { key: "getCommand", value: function getCommand() { return this.registerConfig.command; } /** * @return {ComponentBase} Self component */ }, { key: "getComponent", value: function getComponent() { return this.registerConfig.component; } }, { key: "setRegisterConfig", value: function setRegisterConfig(config) { this.registerConfig = Object.freeze(config); } }]); return CommandInfra; }(_argsObject.default); exports["default"] = CommandInfra; /** * @type {Object} */ (0, _defineProperty2.default)(CommandInfra, "registerConfig", null); /***/ }), /***/ "../modules/web-cli/assets/js/modules/component-base.js": /*!**************************************************************!*\ !*** ../modules/web-cli/assets/js/modules/component-base.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; 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 _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _commandCallbackBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/command-callback-base */ "../modules/web-cli/assets/js/modules/command-callback-base.js")); var _toolkit = __webpack_require__(/*! @reduxjs/toolkit */ "../node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js"); var _module = _interopRequireDefault(__webpack_require__(/*! elementor/assets/dev/js/modules/imports/module.js */ "../assets/dev/js/modules/imports/module.js")); var _forceMethodImplementation = _interopRequireDefault(__webpack_require__(/*! ../utils/force-method-implementation */ "../modules/web-cli/assets/js/utils/force-method-implementation.js")); var _deprecation = _interopRequireDefault(__webpack_require__(/*! elementor-api/utils/deprecation */ "../modules/web-cli/assets/js/utils/deprecation.js")); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** * @typedef {import('./command-infra')} CommandInfra * @typedef {import('./hook-base')} HookBase * @typedef {import('../core/states/ui-state-base')} UiStateBase */ var ComponentBase = /*#__PURE__*/function (_Module) { (0, _inherits2.default)(ComponentBase, _Module); var _super = _createSuper(ComponentBase); function ComponentBase() { (0, _classCallCheck2.default)(this, ComponentBase); return _super.apply(this, arguments); } (0, _createClass2.default)(ComponentBase, [{ key: "__construct", value: function __construct() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; if (args.manager) { this.manager = args.manager; } this.commands = this.defaultCommands(); this.commandsInternal = this.defaultCommandsInternal(); this.hooks = this.defaultHooks(); this.routes = this.defaultRoutes(); this.tabs = this.defaultTabs(); this.shortcuts = this.defaultShortcuts(); this.utils = this.defaultUtils(); this.data = this.defaultData(); this.uiStates = this.defaultUiStates(); this.states = this.defaultStates(); this.defaultRoute = ''; this.currentTab = ''; } }, { key: "registerAPI", value: function registerAPI() { var _this = this; Object.entries(this.getTabs()).forEach(function (tab) { return _this.registerTabRoute(tab[0]); }); Object.entries(this.getRoutes()).forEach(function (_ref) { var _ref2 = (0, _slicedToArray2.default)(_ref, 2), route = _ref2[0], callback = _ref2[1]; return _this.registerRoute(route, callback); }); Object.entries(this.getCommands()).forEach(function (_ref3) { var _ref4 = (0, _slicedToArray2.default)(_ref3, 2), command = _ref4[0], callback = _ref4[1]; return _this.registerCommand(command, callback); }); Object.entries(this.getCommandsInternal()).forEach(function (_ref5) { var _ref6 = (0, _slicedToArray2.default)(_ref5, 2), command = _ref6[0], callback = _ref6[1]; return _this.registerCommandInternal(command, callback); }); Object.values(this.getHooks()).forEach(function (instance) { return _this.registerHook(instance); }); Object.entries(this.getData()).forEach(function (_ref7) { var _ref8 = (0, _slicedToArray2.default)(_ref7, 2), command = _ref8[0], callback = _ref8[1]; return _this.registerData(command, callback); }); Object.values(this.getUiStates()).forEach(function (instance) { return _this.registerUiState(instance); }); Object.entries(this.getStates()).forEach(function (_ref9) { var _ref10 = (0, _slicedToArray2.default)(_ref9, 2), id = _ref10[0], state = _ref10[1]; return _this.registerState(id, state); }); } // eslint-disable-next-line jsdoc/require-returns-check /** * @return {string} namespace */ }, { key: "getNamespace", value: function getNamespace() { (0, _forceMethodImplementation.default)(); } /** * @deprecated since 3.7.0, use `getServiceName()` instead. */ }, { key: "getRootContainer", value: function getRootContainer() { _deprecation.default.deprecated('getRootContainer()', '3.7.0', 'getServiceName()'); return this.getServiceName(); } }, { key: "getServiceName", value: function getServiceName() { return this.getNamespace().split('/')[0]; } }, { key: "store", get: function get() { return $e.store.get(this.getNamespace()); } }, { key: "defaultTabs", value: function defaultTabs() { return {}; } }, { key: "defaultRoutes", value: function defaultRoutes() { return {}; } }, { key: "defaultCommands", value: function defaultCommands() { return {}; } }, { key: "defaultCommandsInternal", value: function defaultCommandsInternal() { return {}; } }, { key: "defaultHooks", value: function defaultHooks() { return {}; } /** * Get the component's default UI states. * * @return {Object} default UI states */ }, { key: "defaultUiStates", value: function defaultUiStates() { return {}; } /** * Get the component's Redux slice settings. * * @return {Object} Redux slice settings */ }, { key: "defaultStates", value: function defaultStates() { return {}; } }, { key: "defaultShortcuts", value: function defaultShortcuts() { return {}; } }, { key: "defaultUtils", value: function defaultUtils() { return {}; } }, { key: "defaultData", value: function defaultData() { return {}; } }, { key: "getCommands", value: function getCommands() { return this.commands; } }, { key: "getCommandsInternal", value: function getCommandsInternal() { return this.commandsInternal; } }, { key: "getHooks", value: function getHooks() { return this.hooks; } /** * Retrieve the component's UI states. * * @return {Object} UI states */ }, { key: "getUiStates", value: function getUiStates() { return this.uiStates; } /** * Retrieve the component's Redux Slice. * * @return {Object} Redux Slice */ }, { key: "getStates", value: function getStates() { return this.states; } }, { key: "getRoutes", value: function getRoutes() { return this.routes; } }, { key: "getTabs", value: function getTabs() { return this.tabs; } }, { key: "getShortcuts", value: function getShortcuts() { return this.shortcuts; } }, { key: "getData", value: function getData() { return this.data; } /** * @param {string} command * @param {(()=>{}|CommandInfra)} context * @param {'default'|'internal'|'data'} commandsType */ }, { key: "registerCommand", value: function registerCommand(command, context) { var commandsType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'default'; var commandsManager; switch (commandsType) { case 'default': commandsManager = $e.commands; break; case 'internal': commandsManager = $e.commandsInternal; break; case 'data': commandsManager = $e.data; break; default: throw new Error("Invalid commands type: '".concat(command, "'")); } var fullCommand = this.getNamespace() + '/' + command, instanceType = context.getInstanceType ? context.getInstanceType() : false, registerConfig = { command: fullCommand, component: this }; // Support pure callback. if (!instanceType) { if ($e.devTools) { $e.devTools.log.warn("Attach command-callback-base, on command: '".concat(fullCommand, "', context is unknown type.")); } registerConfig.callback = context; // Unique class. context = /*#__PURE__*/function (_CommandCallbackBase) { (0, _inherits2.default)(context, _CommandCallbackBase); var _super2 = _createSuper(context); function context() { (0, _classCallCheck2.default)(this, context); return _super2.apply(this, arguments); } return (0, _createClass2.default)(context); }(_commandCallbackBase.default); } context.setRegisterConfig(registerConfig); commandsManager.register(this, command, context); } /** * @param {HookBase} instance */ }, { key: "registerHook", value: function registerHook(instance) { return instance.register(); } }, { key: "registerCommandInternal", value: function registerCommandInternal(command, context) { this.registerCommand(command, context, 'internal'); } /** * Register a UI state. * * @param {UiStateBase} instance - UI state instance. * * @return {void} */ }, { key: "registerUiState", value: function registerUiState(instance) { $e.uiStates.register(instance); } /** * Register a Redux Slice. * * @param {string} id - State id. * @param {Object} stateConfig - The state config. * * @return {void} */ }, { key: "registerState", value: function registerState(id, stateConfig) { id = this.getNamespace() + (id ? "/".concat(id) : ''); var slice = (0, _toolkit.createSlice)(_objectSpread(_objectSpread({}, stateConfig), {}, { name: id })); $e.store.register(id, slice); } }, { key: "registerRoute", value: function registerRoute(route, callback) { $e.routes.register(this, route, callback); } }, { key: "registerData", value: function registerData(command, context) { this.registerCommand(command, context, 'data'); } }, { key: "unregisterRoute", value: function unregisterRoute(route) { $e.routes.unregister(this, route); } }, { key: "registerTabRoute", value: function registerTabRoute(tab) { var _this2 = this; this.registerRoute(tab, function (args) { return _this2.activateTab(tab, args); }); } }, { key: "dependency", value: function dependency() { return true; } }, { key: "open", value: function open() { return true; } }, { key: "close", value: function close() { if (!this.isOpen) { return false; } this.isOpen = false; this.inactivate(); $e.routes.clearCurrent(this.getNamespace()); $e.routes.clearHistory(this.getServiceName()); return true; } }, { key: "activate", value: function activate() { $e.components.activate(this.getNamespace()); } }, { key: "inactivate", value: function inactivate() { $e.components.inactivate(this.getNamespace()); } }, { key: "isActive", value: function isActive() { return $e.components.isActive(this.getNamespace()); } }, { key: "onRoute", value: function onRoute(route) { this.toggleRouteClass(route, true); this.toggleHistoryClass(); this.activate(); this.trigger('route/open', route); } }, { key: "onCloseRoute", value: function onCloseRoute(route) { this.toggleRouteClass(route, false); this.inactivate(); this.trigger('route/close', route); } }, { key: "setDefaultRoute", value: function setDefaultRoute(route) { this.defaultRoute = this.getNamespace() + '/' + route; } }, { key: "getDefaultRoute", value: function getDefaultRoute() { return this.defaultRoute; } }, { key: "removeTab", value: function removeTab(tab) { delete this.tabs[tab]; this.unregisterRoute(tab); } }, { key: "hasTab", value: function hasTab(tab) { return !!this.tabs[tab]; } }, { key: "addTab", value: function addTab(tab, args, position) { var _this3 = this; this.tabs[tab] = args; // It can be 0. if ('undefined' !== typeof position) { var newTabs = {}; var ids = Object.keys(this.tabs); // Remove new tab ids.pop(); // Add it to position. ids.splice(position, 0, tab); ids.forEach(function (id) { newTabs[id] = _this3.tabs[id]; }); this.tabs = newTabs; } this.registerTabRoute(tab); } }, { key: "getTabsWrapperSelector", value: function getTabsWrapperSelector() { return ''; } }, { key: "getTabRoute", value: function getTabRoute(tab) { return this.getNamespace() + '/' + tab; } }, { key: "renderTab", value: function renderTab(tab) {} // eslint-disable-line }, { key: "activateTab", value: function activateTab(tab, args) { var _this4 = this; this.renderTab(tab, args); jQuery(this.getTabsWrapperSelector() + ' .elementor-component-tab').off('click').on('click', function (event) { $e.route(_this4.getTabRoute(event.currentTarget.dataset.tab), args); }).removeClass('elementor-active').filter('[data-tab="' + tab + '"]').addClass('elementor-active'); } }, { key: "getActiveTabConfig", value: function getActiveTabConfig() { return this.tabs[this.currentTab] || {}; } }, { key: "getBodyClass", value: function getBodyClass(route) { return 'e-route-' + route.replace(/\//g, '-'); } /** * If command includes uppercase character convert it to lowercase and add `-`. * e.g: `CopyAll` is converted to `copy-all`. * * @param {string} commandName */ }, { key: "normalizeCommandName", value: function normalizeCommandName(commandName) { return commandName.replace(/[A-Z]/g, function (match, offset) { return (offset > 0 ? '-' : '') + match.toLowerCase(); }); } /** * @param {{}} commandsFromImport * @return {{}} imported commands */ }, { key: "importCommands", value: function importCommands(commandsFromImport) { var _this5 = this; var commands = {}; // Convert `Commands` to `ComponentBase` workable format. Object.entries(commandsFromImport).forEach(function (_ref11) { var _ref12 = (0, _slicedToArray2.default)(_ref11, 2), className = _ref12[0], Class = _ref12[1]; var command = _this5.normalizeCommandName(className); commands[command] = Class; }); return commands; } }, { key: "importHooks", value: function importHooks(hooksFromImport) { var hooks = {}; for (var key in hooksFromImport) { var hook = new hooksFromImport[key](); hooks[hook.getId()] = hook; } return hooks; } /** * Import & initialize the component's UI states. * Should be used inside `defaultUiState()`. * * @param {Object} statesFromImport - UI states from import. * * @return {Object} UI States */ }, { key: "importUiStates", value: function importUiStates(statesFromImport) { var _this6 = this; var uiStates = {}; Object.values(statesFromImport).forEach(function (className) { var uiState = new className(_this6); uiStates[uiState.getId()] = uiState; }); return uiStates; } /** * Set a UI state value. * TODO: Should we provide such function? Maybe the developer should implicitly pass the full state ID? * * @param {string} state - Non-prefixed state ID. * @param {*} value - New state value. * * @return {void} */ }, { key: "setUiState", value: function setUiState(state, value) { $e.uiStates.set("".concat(this.getNamespace(), "/").concat(state), value); } }, { key: "toggleRouteClass", value: function toggleRouteClass(route, state) { document.body.classList.toggle(this.getBodyClass(route), state); } }, { key: "toggleHistoryClass", value: function toggleHistoryClass() { document.body.classList.toggle('e-routes-has-history', !!$e.routes.getHistory(this.getServiceName()).length); } }]); return ComponentBase; }(_module.default); exports["default"] = ComponentBase; /***/ }), /***/ "../modules/web-cli/assets/js/utils/console.js": /*!*****************************************************!*\ !*** ../modules/web-cli/assets/js/utils/console.js ***! \*****************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; 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 _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var Console = /*#__PURE__*/function () { function Console() { (0, _classCallCheck2.default)(this, Console); } (0, _createClass2.default)(Console, null, [{ key: "error", value: function error(message) { // Show an error if devTools is available. if ($e.devTools) { $e.devTools.log.error(message); } // If not a 'Hook-Break' then show error. if (!(message instanceof $e.modules.HookBreak)) { // eslint-disable-next-line no-console console.error(message); } } }, { key: "warn", value: function warn() { var _console; var style = "font-size: 12px; background-image: url(\"".concat(elementorWebCliConfig.urls.assets, "images/logo-icon.png\"); background-repeat: no-repeat; background-size: contain;"); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } args.unshift('%c %c', style, ''); (_console = console).warn.apply(_console, args); // eslint-disable-line no-console } }]); return Console; }(); exports["default"] = Console; /***/ }), /***/ "../modules/web-cli/assets/js/utils/deprecation.js": /*!*********************************************************!*\ !*** ../modules/web-cli/assets/js/utils/deprecation.js ***! \*********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; 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 _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _console = _interopRequireDefault(__webpack_require__(/*! elementor-api/utils/console */ "../modules/web-cli/assets/js/utils/console.js")); // Copied from `modules/dev-tools/assets/js/deprecation.js` /** * @typedef {Object} Version * @property {number} major1 The first number * @property {number} major2 The second number * @property {number} minor The third number * @property {string} build The fourth number */ var softDeprecated = function softDeprecated(name, version, replacement) { if (elementorWebCliConfig.isDebug) { deprecatedMessage('soft', name, version, replacement); } }; var hardDeprecated = function hardDeprecated(name, version, replacement) { deprecatedMessage('hard', name, version, replacement); }; var deprecatedMessage = function deprecatedMessage(type, name, version, replacement) { var message = "`".concat(name, "` is ").concat(type, " deprecated since ").concat(version); if (replacement) { message += " - Use `".concat(replacement, "` instead"); } _console.default.warn(message); }; var Deprecation = /*#__PURE__*/function () { function Deprecation() { (0, _classCallCheck2.default)(this, Deprecation); } (0, _createClass2.default)(Deprecation, null, [{ key: "deprecated", value: function deprecated(name, version, replacement) { if (this.isHardDeprecated(version)) { hardDeprecated(name, version, replacement); } else { softDeprecated(name, version, replacement); } } /** * @param {string} version * * @return {Version} */ }, { key: "parseVersion", value: function parseVersion(version) { var versionParts = version.split('.'); if (versionParts.length < 3 || versionParts.length > 4) { throw new RangeError('Invalid Semantic Version string provided'); } var _versionParts = (0, _slicedToArray2.default)(versionParts, 4), major1 = _versionParts[0], major2 = _versionParts[1], minor = _versionParts[2], _versionParts$ = _versionParts[3], build = _versionParts$ === void 0 ? '' : _versionParts$; return { major1: parseInt(major1), major2: parseInt(major2), minor: parseInt(minor), build: build }; } /** * Get total of major. * * Since `get_total_major` cannot determine how much really versions between 2.9.0 and 3.3.0 if there is 2.10.0 version for example, * versions with major2 more then 9 will be added to total. * * @param {Version} versionObj * * @return {number} */ }, { key: "getTotalMajor", value: function getTotalMajor(versionObj) { var total = parseInt("".concat(versionObj.major1).concat(versionObj.major2, "0")); total = Number((total / 10).toFixed(0)); if (versionObj.major2 > 9) { total = versionObj.major2 - 9; } return total; } /** * @param {string} version1 * @param {string} version2 * * @return {number} */ }, { key: "compareVersion", value: function compareVersion(version1, version2) { var _this = this; return [this.parseVersion(version1), this.parseVersion(version2)].map(function (versionObj) { return _this.getTotalMajor(versionObj); }).reduce(function (acc, major) { return acc - major; }); } /** * @param {string} version * * @return {boolean} */ }, { key: "isSoftDeprecated", value: function isSoftDeprecated(version) { var total = this.compareVersion(version, elementorWebCliConfig.version); return total <= 4; } /** * @param {string} version * @return {boolean} */ }, { key: "isHardDeprecated", value: function isHardDeprecated(version) { var total = this.compareVersion(version, elementorWebCliConfig.version); return total < 0 || total >= 8; } }]); return Deprecation; }(); exports["default"] = Deprecation; /***/ }), /***/ "../modules/web-cli/assets/js/utils/force-method-implementation.js": /*!*************************************************************************!*\ !*** ../modules/web-cli/assets/js/utils/force-method-implementation.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = exports.ForceMethodImplementation = void 0; var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _wrapNativeSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/wrapNativeSuper */ "../node_modules/@babel/runtime/helpers/wrapNativeSuper.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } // TODO: Copied from `assets/dev/js/modules/imports/force-method-implementation.js`; var ForceMethodImplementation = /*#__PURE__*/function (_Error) { (0, _inherits2.default)(ForceMethodImplementation, _Error); var _super = _createSuper(ForceMethodImplementation); function ForceMethodImplementation() { var _this; var info = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; (0, _classCallCheck2.default)(this, ForceMethodImplementation); _this = _super.call(this, "".concat(info.isStatic ? 'static ' : '').concat(info.fullName, "() should be implemented, please provide '").concat(info.functionName || info.fullName, "' functionality.")); Error.captureStackTrace((0, _assertThisInitialized2.default)(_this), ForceMethodImplementation); return _this; } return (0, _createClass2.default)(ForceMethodImplementation); }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error)); exports.ForceMethodImplementation = ForceMethodImplementation; var _default = function _default() { var stack = Error().stack, caller = stack.split('\n')[2].trim(), callerName = caller.startsWith('at new') ? 'constructor' : caller.split(' ')[1], info = {}; info.functionName = callerName; info.fullName = callerName; if (info.functionName.includes('.')) { var parts = info.functionName.split('.'); info.className = parts[0]; info.functionName = parts[1]; } else { info.isStatic = true; } throw new ForceMethodImplementation(info); }; exports["default"] = _default; /***/ }), /***/ "../node_modules/redux-thunk/es/index.js": /*!***********************************************!*\ !*** ../node_modules/redux-thunk/es/index.js ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /** A function that accepts a potential "extra argument" value to be injected later, * and returns an instance of the thunk middleware that uses that value */ function createThunkMiddleware(extraArgument) { // Standard Redux middleware definition pattern: // See: https://redux.js.org/tutorials/fundamentals/part-4-store#writing-custom-middleware var middleware = function middleware(_ref) { var dispatch = _ref.dispatch, getState = _ref.getState; return function (next) { return function (action) { // The thunk middleware looks for any functions that were passed to `store.dispatch`. // If this "action" is really a function, call it and return the result. if (typeof action === 'function') { // Inject the store's `dispatch` and `getState` methods, as well as any "extra arg" return action(dispatch, getState, extraArgument); } // Otherwise, pass the action down the middleware chain as usual return next(action); }; }; }; return middleware; } var thunk = createThunkMiddleware(); // Attach the factory function so users can create a customized version // with whatever "extra arg" they want to inject into their thunks thunk.withExtraArgument = createThunkMiddleware; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (thunk); /***/ }), /***/ "../node_modules/redux/es/redux.js": /*!*****************************************!*\ !*** ../node_modules/redux/es/redux.js ***! \*****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __DO_NOT_USE__ActionTypes: () => (/* binding */ ActionTypes), /* harmony export */ applyMiddleware: () => (/* binding */ applyMiddleware), /* harmony export */ bindActionCreators: () => (/* binding */ bindActionCreators), /* harmony export */ combineReducers: () => (/* binding */ combineReducers), /* harmony export */ compose: () => (/* binding */ compose), /* harmony export */ createStore: () => (/* binding */ createStore), /* harmony export */ legacy_createStore: () => (/* binding */ legacy_createStore) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectSpread2 */ "../node_modules/@babel/runtime/helpers/esm/objectSpread2.js"); /** * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js * * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes * during build. * @param {number} code */ function formatProdErrorMessage(code) { return "Minified Redux error #" + code + "; visit https://redux.js.org/Errors?code=" + code + " for the full message or " + 'use the non-minified dev environment for full errors. '; } // Inlined version of the `symbol-observable` polyfill var $$observable = (function () { return typeof Symbol === 'function' && Symbol.observable || '@@observable'; })(); /** * These are private action types reserved by Redux. * For any unknown actions, you must return the current state. * If the current state is undefined, you must return the initial state. * Do not reference these action types directly in your code. */ var randomString = function randomString() { return Math.random().toString(36).substring(7).split('').join('.'); }; var ActionTypes = { INIT: "@@redux/INIT" + randomString(), REPLACE: "@@redux/REPLACE" + randomString(), PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() { return "@@redux/PROBE_UNKNOWN_ACTION" + randomString(); } }; /** * @param {any} obj The object to inspect. * @returns {boolean} True if the argument appears to be a plain object. */ function isPlainObject(obj) { if (typeof obj !== 'object' || obj === null) return false; var proto = obj; while (Object.getPrototypeOf(proto) !== null) { proto = Object.getPrototypeOf(proto); } return Object.getPrototypeOf(obj) === proto; } // Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of function miniKindOf(val) { if (val === void 0) return 'undefined'; if (val === null) return 'null'; var type = typeof val; switch (type) { case 'boolean': case 'string': case 'number': case 'symbol': case 'function': { return type; } } if (Array.isArray(val)) return 'array'; if (isDate(val)) return 'date'; if (isError(val)) return 'error'; var constructorName = ctorName(val); switch (constructorName) { case 'Symbol': case 'Promise': case 'WeakMap': case 'WeakSet': case 'Map': case 'Set': return constructorName; } // other return type.slice(8, -1).toLowerCase().replace(/\s/g, ''); } function ctorName(val) { return typeof val.constructor === 'function' ? val.constructor.name : null; } function isError(val) { return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number'; } function isDate(val) { if (val instanceof Date) return true; return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function'; } function kindOf(val) { var typeOfVal = typeof val; if (true) { typeOfVal = miniKindOf(val); } return typeOfVal; } /** * @deprecated * * **We recommend using the `configureStore` method * of the `@reduxjs/toolkit` package**, which replaces `createStore`. * * Redux Toolkit is our recommended approach for writing Redux logic today, * including store setup, reducers, data fetching, and more. * * **For more details, please read this Redux docs page:** * **https://redux.js.org/introduction/why-rtk-is-redux-today** * * `configureStore` from Redux Toolkit is an improved version of `createStore` that * simplifies setup and helps avoid common bugs. * * You should not be using the `redux` core package by itself today, except for learning purposes. * The `createStore` method from the core `redux` package will not be removed, but we encourage * all users to migrate to using Redux Toolkit for all Redux code. * * If you want to use `createStore` without this visual deprecation warning, use * the `legacy_createStore` import instead: * * `import { legacy_createStore as createStore} from 'redux'` * */ function createStore(reducer, preloadedState, enhancer) { var _ref2; if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') { throw new Error( false ? 0 : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.'); } if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') { enhancer = preloadedState; preloadedState = undefined; } if (typeof enhancer !== 'undefined') { if (typeof enhancer !== 'function') { throw new Error( false ? 0 : "Expected the enhancer to be a function. Instead, received: '" + kindOf(enhancer) + "'"); } return enhancer(createStore)(reducer, preloadedState); } if (typeof reducer !== 'function') { throw new Error( false ? 0 : "Expected the root reducer to be a function. Instead, received: '" + kindOf(reducer) + "'"); } var currentReducer = reducer; var currentState = preloadedState; var currentListeners = []; var nextListeners = currentListeners; var isDispatching = false; /** * This makes a shallow copy of currentListeners so we can use * nextListeners as a temporary list while dispatching. * * This prevents any bugs around consumers calling * subscribe/unsubscribe in the middle of a dispatch. */ function ensureCanMutateNextListeners() { if (nextListeners === currentListeners) { nextListeners = currentListeners.slice(); } } /** * Reads the state tree managed by the store. * * @returns {any} The current state tree of your application. */ function getState() { if (isDispatching) { throw new Error( false ? 0 : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.'); } return currentState; } /** * Adds a change listener. It will be called any time an action is dispatched, * and some part of the state tree may potentially have changed. You may then * call `getState()` to read the current state tree inside the callback. * * You may call `dispatch()` from a change listener, with the following * caveats: * * 1. The subscriptions are snapshotted just before every `dispatch()` call. * If you subscribe or unsubscribe while the listeners are being invoked, this * will not have any effect on the `dispatch()` that is currently in progress. * However, the next `dispatch()` call, whether nested or not, will use a more * recent snapshot of the subscription list. * * 2. The listener should not expect to see all state changes, as the state * might have been updated multiple times during a nested `dispatch()` before * the listener is called. It is, however, guaranteed that all subscribers * registered before the `dispatch()` started will be called with the latest * state by the time it exits. * * @param {Function} listener A callback to be invoked on every dispatch. * @returns {Function} A function to remove this change listener. */ function subscribe(listener) { if (typeof listener !== 'function') { throw new Error( false ? 0 : "Expected the listener to be a function. Instead, received: '" + kindOf(listener) + "'"); } if (isDispatching) { throw new Error( false ? 0 : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.'); } var isSubscribed = true; ensureCanMutateNextListeners(); nextListeners.push(listener); return function unsubscribe() { if (!isSubscribed) { return; } if (isDispatching) { throw new Error( false ? 0 : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.'); } isSubscribed = false; ensureCanMutateNextListeners(); var index = nextListeners.indexOf(listener); nextListeners.splice(index, 1); currentListeners = null; }; } /** * Dispatches an action. It is the only way to trigger a state change. * * The `reducer` function, used to create the store, will be called with the * current state tree and the given `action`. Its return value will * be considered the **next** state of the tree, and the change listeners * will be notified. * * The base implementation only supports plain object actions. If you want to * dispatch a Promise, an Observable, a thunk, or something else, you need to * wrap your store creating function into the corresponding middleware. For * example, see the documentation for the `redux-thunk` package. Even the * middleware will eventually dispatch plain object actions using this method. * * @param {Object} action A plain object representing “what changed”. It is * a good idea to keep actions serializable so you can record and replay user * sessions, or use the time travelling `redux-devtools`. An action must have * a `type` property which may not be `undefined`. It is a good idea to use * string constants for action types. * * @returns {Object} For convenience, the same action object you dispatched. * * Note that, if you use a custom middleware, it may wrap `dispatch()` to * return something else (for example, a Promise you can await). */ function dispatch(action) { if (!isPlainObject(action)) { throw new Error( false ? 0 : "Actions must be plain objects. Instead, the actual type was: '" + kindOf(action) + "'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples."); } if (typeof action.type === 'undefined') { throw new Error( false ? 0 : 'Actions may not have an undefined "type" property. You may have misspelled an action type string constant.'); } if (isDispatching) { throw new Error( false ? 0 : 'Reducers may not dispatch actions.'); } try { isDispatching = true; currentState = currentReducer(currentState, action); } finally { isDispatching = false; } var listeners = currentListeners = nextListeners; for (var i = 0; i < listeners.length; i++) { var listener = listeners[i]; listener(); } return action; } /** * Replaces the reducer currently used by the store to calculate the state. * * You might need this if your app implements code splitting and you want to * load some of the reducers dynamically. You might also need this if you * implement a hot reloading mechanism for Redux. * * @param {Function} nextReducer The reducer for the store to use instead. * @returns {void} */ function replaceReducer(nextReducer) { if (typeof nextReducer !== 'function') { throw new Error( false ? 0 : "Expected the nextReducer to be a function. Instead, received: '" + kindOf(nextReducer)); } currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT. // Any reducers that existed in both the new and old rootReducer // will receive the previous state. This effectively populates // the new state tree with any relevant data from the old one. dispatch({ type: ActionTypes.REPLACE }); } /** * Interoperability point for observable/reactive libraries. * @returns {observable} A minimal observable of state changes. * For more information, see the observable proposal: * https://github.com/tc39/proposal-observable */ function observable() { var _ref; var outerSubscribe = subscribe; return _ref = { /** * The minimal observable subscription method. * @param {Object} observer Any object that can be used as an observer. * The observer object should have a `next` method. * @returns {subscription} An object with an `unsubscribe` method that can * be used to unsubscribe the observable from the store, and prevent further * emission of values from the observable. */ subscribe: function subscribe(observer) { if (typeof observer !== 'object' || observer === null) { throw new Error( false ? 0 : "Expected the observer to be an object. Instead, received: '" + kindOf(observer) + "'"); } function observeState() { if (observer.next) { observer.next(getState()); } } observeState(); var unsubscribe = outerSubscribe(observeState); return { unsubscribe: unsubscribe }; } }, _ref[$$observable] = function () { return this; }, _ref; } // When a store is created, an "INIT" action is dispatched so that every // reducer returns their initial state. This effectively populates // the initial state tree. dispatch({ type: ActionTypes.INIT }); return _ref2 = { dispatch: dispatch, subscribe: subscribe, getState: getState, replaceReducer: replaceReducer }, _ref2[$$observable] = observable, _ref2; } /** * Creates a Redux store that holds the state tree. * * **We recommend using `configureStore` from the * `@reduxjs/toolkit` package**, which replaces `createStore`: * **https://redux.js.org/introduction/why-rtk-is-redux-today** * * The only way to change the data in the store is to call `dispatch()` on it. * * There should only be a single store in your app. To specify how different * parts of the state tree respond to actions, you may combine several reducers * into a single reducer function by using `combineReducers`. * * @param {Function} reducer A function that returns the next state tree, given * the current state tree and the action to handle. * * @param {any} [preloadedState] The initial state. You may optionally specify it * to hydrate the state from the server in universal apps, or to restore a * previously serialized user session. * If you use `combineReducers` to produce the root reducer function, this must be * an object with the same shape as `combineReducers` keys. * * @param {Function} [enhancer] The store enhancer. You may optionally specify it * to enhance the store with third-party capabilities such as middleware, * time travel, persistence, etc. The only store enhancer that ships with Redux * is `applyMiddleware()`. * * @returns {Store} A Redux store that lets you read the state, dispatch actions * and subscribe to changes. */ var legacy_createStore = createStore; /** * Prints a warning in the console if it exists. * * @param {String} message The warning message. * @returns {void} */ function warning(message) { /* eslint-disable no-console */ if (typeof console !== 'undefined' && typeof console.error === 'function') { console.error(message); } /* eslint-enable no-console */ try { // This error was thrown as a convenience so that if you enable // "break on all exceptions" in your console, // it would pause the execution at this line. throw new Error(message); } catch (e) {} // eslint-disable-line no-empty } function getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) { var reducerKeys = Object.keys(reducers); var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer'; if (reducerKeys.length === 0) { return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.'; } if (!isPlainObject(inputState)) { return "The " + argumentName + " has unexpected type of \"" + kindOf(inputState) + "\". Expected argument to be an object with the following " + ("keys: \"" + reducerKeys.join('", "') + "\""); } var unexpectedKeys = Object.keys(inputState).filter(function (key) { return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key]; }); unexpectedKeys.forEach(function (key) { unexpectedKeyCache[key] = true; }); if (action && action.type === ActionTypes.REPLACE) return; if (unexpectedKeys.length > 0) { return "Unexpected " + (unexpectedKeys.length > 1 ? 'keys' : 'key') + " " + ("\"" + unexpectedKeys.join('", "') + "\" found in " + argumentName + ". ") + "Expected to find one of the known reducer keys instead: " + ("\"" + reducerKeys.join('", "') + "\". Unexpected keys will be ignored."); } } function assertReducerShape(reducers) { Object.keys(reducers).forEach(function (key) { var reducer = reducers[key]; var initialState = reducer(undefined, { type: ActionTypes.INIT }); if (typeof initialState === 'undefined') { throw new Error( false ? 0 : "The slice reducer for key \"" + key + "\" returned undefined during initialization. " + "If the state passed to the reducer is undefined, you must " + "explicitly return the initial state. The initial state may " + "not be undefined. If you don't want to set a value for this reducer, " + "you can use null instead of undefined."); } if (typeof reducer(undefined, { type: ActionTypes.PROBE_UNKNOWN_ACTION() }) === 'undefined') { throw new Error( false ? 0 : "The slice reducer for key \"" + key + "\" returned undefined when probed with a random type. " + ("Don't try to handle '" + ActionTypes.INIT + "' or other actions in \"redux/*\" ") + "namespace. They are considered private. Instead, you must return the " + "current state for any unknown actions, unless it is undefined, " + "in which case you must return the initial state, regardless of the " + "action type. The initial state may not be undefined, but can be null."); } }); } /** * Turns an object whose values are different reducer functions, into a single * reducer function. It will call every child reducer, and gather their results * into a single state object, whose keys correspond to the keys of the passed * reducer functions. * * @param {Object} reducers An object whose values correspond to different * reducer functions that need to be combined into one. One handy way to obtain * it is to use ES6 `import * as reducers` syntax. The reducers may never return * undefined for any action. Instead, they should return their initial state * if the state passed to them was undefined, and the current state for any * unrecognized action. * * @returns {Function} A reducer function that invokes every reducer inside the * passed object, and builds a state object with the same shape. */ function combineReducers(reducers) { var reducerKeys = Object.keys(reducers); var finalReducers = {}; for (var i = 0; i < reducerKeys.length; i++) { var key = reducerKeys[i]; if (true) { if (typeof reducers[key] === 'undefined') { warning("No reducer provided for key \"" + key + "\""); } } if (typeof reducers[key] === 'function') { finalReducers[key] = reducers[key]; } } var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same // keys multiple times. var unexpectedKeyCache; if (true) { unexpectedKeyCache = {}; } var shapeAssertionError; try { assertReducerShape(finalReducers); } catch (e) { shapeAssertionError = e; } return function combination(state, action) { if (state === void 0) { state = {}; } if (shapeAssertionError) { throw shapeAssertionError; } if (true) { var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache); if (warningMessage) { warning(warningMessage); } } var hasChanged = false; var nextState = {}; for (var _i = 0; _i < finalReducerKeys.length; _i++) { var _key = finalReducerKeys[_i]; var reducer = finalReducers[_key]; var previousStateForKey = state[_key]; var nextStateForKey = reducer(previousStateForKey, action); if (typeof nextStateForKey === 'undefined') { var actionType = action && action.type; throw new Error( false ? 0 : "When called with an action of type " + (actionType ? "\"" + String(actionType) + "\"" : '(unknown type)') + ", the slice reducer for key \"" + _key + "\" returned undefined. " + "To ignore an action, you must explicitly return the previous state. " + "If you want this reducer to hold no value, you can return null instead of undefined."); } nextState[_key] = nextStateForKey; hasChanged = hasChanged || nextStateForKey !== previousStateForKey; } hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length; return hasChanged ? nextState : state; }; } function bindActionCreator(actionCreator, dispatch) { return function () { return dispatch(actionCreator.apply(this, arguments)); }; } /** * Turns an object whose values are action creators, into an object with the * same keys, but with every function wrapped into a `dispatch` call so they * may be invoked directly. This is just a convenience method, as you can call * `store.dispatch(MyActionCreators.doSomething())` yourself just fine. * * For convenience, you can also pass an action creator as the first argument, * and get a dispatch wrapped function in return. * * @param {Function|Object} actionCreators An object whose values are action * creator functions. One handy way to obtain it is to use ES6 `import * as` * syntax. You may also pass a single function. * * @param {Function} dispatch The `dispatch` function available on your Redux * store. * * @returns {Function|Object} The object mimicking the original object, but with * every action creator wrapped into the `dispatch` call. If you passed a * function as `actionCreators`, the return value will also be a single * function. */ function bindActionCreators(actionCreators, dispatch) { if (typeof actionCreators === 'function') { return bindActionCreator(actionCreators, dispatch); } if (typeof actionCreators !== 'object' || actionCreators === null) { throw new Error( false ? 0 : "bindActionCreators expected an object or a function, but instead received: '" + kindOf(actionCreators) + "'. " + "Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?"); } var boundActionCreators = {}; for (var key in actionCreators) { var actionCreator = actionCreators[key]; if (typeof actionCreator === 'function') { boundActionCreators[key] = bindActionCreator(actionCreator, dispatch); } } return boundActionCreators; } /** * Composes single-argument functions from right to left. The rightmost * function can take multiple arguments as it provides the signature for * the resulting composite function. * * @param {...Function} funcs The functions to compose. * @returns {Function} A function obtained by composing the argument functions * from right to left. For example, compose(f, g, h) is identical to doing * (...args) => f(g(h(...args))). */ function compose() { for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) { funcs[_key] = arguments[_key]; } if (funcs.length === 0) { return function (arg) { return arg; }; } if (funcs.length === 1) { return funcs[0]; } return funcs.reduce(function (a, b) { return function () { return a(b.apply(void 0, arguments)); }; }); } /** * Creates a store enhancer that applies middleware to the dispatch method * of the Redux store. This is handy for a variety of tasks, such as expressing * asynchronous actions in a concise manner, or logging every action payload. * * See `redux-thunk` package as an example of the Redux middleware. * * Because middleware is potentially asynchronous, this should be the first * store enhancer in the composition chain. * * Note that each middleware will be given the `dispatch` and `getState` functions * as named arguments. * * @param {...Function} middlewares The middleware chain to be applied. * @returns {Function} A store enhancer applying the middleware. */ function applyMiddleware() { for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) { middlewares[_key] = arguments[_key]; } return function (createStore) { return function () { var store = createStore.apply(void 0, arguments); var _dispatch = function dispatch() { throw new Error( false ? 0 : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.'); }; var middlewareAPI = { getState: store.getState, dispatch: function dispatch() { return _dispatch.apply(void 0, arguments); } }; var chain = middlewares.map(function (middleware) { return middleware(middlewareAPI); }); _dispatch = compose.apply(void 0, chain)(store.dispatch); return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__["default"])({}, store), {}, { dispatch: _dispatch }); }; }; } /***/ }), /***/ "../node_modules/reselect/es/defaultMemoize.js": /*!*****************************************************!*\ !*** ../node_modules/reselect/es/defaultMemoize.js ***! \*****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createCacheKeyComparator: () => (/* binding */ createCacheKeyComparator), /* harmony export */ defaultEqualityCheck: () => (/* binding */ defaultEqualityCheck), /* harmony export */ defaultMemoize: () => (/* binding */ defaultMemoize) /* harmony export */ }); // Cache implementation based on Erik Rasmussen's `lru-memoize`: // https://github.com/erikras/lru-memoize var NOT_FOUND = 'NOT_FOUND'; function createSingletonCache(equals) { var entry; return { get: function get(key) { if (entry && equals(entry.key, key)) { return entry.value; } return NOT_FOUND; }, put: function put(key, value) { entry = { key: key, value: value }; }, getEntries: function getEntries() { return entry ? [entry] : []; }, clear: function clear() { entry = undefined; } }; } function createLruCache(maxSize, equals) { var entries = []; function get(key) { var cacheIndex = entries.findIndex(function (entry) { return equals(key, entry.key); }); // We found a cached entry if (cacheIndex > -1) { var entry = entries[cacheIndex]; // Cached entry not at top of cache, move it to the top if (cacheIndex > 0) { entries.splice(cacheIndex, 1); entries.unshift(entry); } return entry.value; } // No entry found in cache, return sentinel return NOT_FOUND; } function put(key, value) { if (get(key) === NOT_FOUND) { // TODO Is unshift slow? entries.unshift({ key: key, value: value }); if (entries.length > maxSize) { entries.pop(); } } } function getEntries() { return entries; } function clear() { entries = []; } return { get: get, put: put, getEntries: getEntries, clear: clear }; } var defaultEqualityCheck = function defaultEqualityCheck(a, b) { return a === b; }; function createCacheKeyComparator(equalityCheck) { return function areArgumentsShallowlyEqual(prev, next) { if (prev === null || next === null || prev.length !== next.length) { return false; } // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible. var length = prev.length; for (var i = 0; i < length; i++) { if (!equalityCheck(prev[i], next[i])) { return false; } } return true; }; } // defaultMemoize now supports a configurable cache size with LRU behavior, // and optional comparison of the result value with existing values function defaultMemoize(func, equalityCheckOrOptions) { var providedOptions = typeof equalityCheckOrOptions === 'object' ? equalityCheckOrOptions : { equalityCheck: equalityCheckOrOptions }; var _providedOptions$equa = providedOptions.equalityCheck, equalityCheck = _providedOptions$equa === void 0 ? defaultEqualityCheck : _providedOptions$equa, _providedOptions$maxS = providedOptions.maxSize, maxSize = _providedOptions$maxS === void 0 ? 1 : _providedOptions$maxS, resultEqualityCheck = providedOptions.resultEqualityCheck; var comparator = createCacheKeyComparator(equalityCheck); var cache = maxSize === 1 ? createSingletonCache(comparator) : createLruCache(maxSize, comparator); // we reference arguments instead of spreading them for performance reasons function memoized() { var value = cache.get(arguments); if (value === NOT_FOUND) { // @ts-ignore value = func.apply(null, arguments); if (resultEqualityCheck) { var entries = cache.getEntries(); var matchingEntry = entries.find(function (entry) { return resultEqualityCheck(entry.value, value); }); if (matchingEntry) { value = matchingEntry.value; } } cache.put(arguments, value); } return value; } memoized.clearCache = function () { return cache.clear(); }; return memoized; } /***/ }), /***/ "../node_modules/reselect/es/index.js": /*!********************************************!*\ !*** ../node_modules/reselect/es/index.js ***! \********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createSelector: () => (/* binding */ createSelector), /* harmony export */ createSelectorCreator: () => (/* binding */ createSelectorCreator), /* harmony export */ createStructuredSelector: () => (/* binding */ createStructuredSelector), /* harmony export */ defaultEqualityCheck: () => (/* reexport safe */ _defaultMemoize__WEBPACK_IMPORTED_MODULE_0__.defaultEqualityCheck), /* harmony export */ defaultMemoize: () => (/* reexport safe */ _defaultMemoize__WEBPACK_IMPORTED_MODULE_0__.defaultMemoize) /* harmony export */ }); /* harmony import */ var _defaultMemoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defaultMemoize */ "../node_modules/reselect/es/defaultMemoize.js"); function getDependencies(funcs) { var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs; if (!dependencies.every(function (dep) { return typeof dep === 'function'; })) { var dependencyTypes = dependencies.map(function (dep) { return typeof dep === 'function' ? "function " + (dep.name || 'unnamed') + "()" : typeof dep; }).join(', '); throw new Error("createSelector expects all input-selectors to be functions, but received the following types: [" + dependencyTypes + "]"); } return dependencies; } function createSelectorCreator(memoize) { for (var _len = arguments.length, memoizeOptionsFromArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { memoizeOptionsFromArgs[_key - 1] = arguments[_key]; } var createSelector = function createSelector() { for (var _len2 = arguments.length, funcs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { funcs[_key2] = arguments[_key2]; } var _recomputations = 0; var _lastResult; // Due to the intricacies of rest params, we can't do an optional arg after `...funcs`. // So, start by declaring the default value here. // (And yes, the words 'memoize' and 'options' appear too many times in this next sequence.) var directlyPassedOptions = { memoizeOptions: undefined }; // Normally, the result func or "output selector" is the last arg var resultFunc = funcs.pop(); // If the result func is actually an _object_, assume it's our options object if (typeof resultFunc === 'object') { directlyPassedOptions = resultFunc; // and pop the real result func off resultFunc = funcs.pop(); } if (typeof resultFunc !== 'function') { throw new Error("createSelector expects an output function after the inputs, but received: [" + typeof resultFunc + "]"); } // Determine which set of options we're using. Prefer options passed directly, // but fall back to options given to createSelectorCreator. var _directlyPassedOption = directlyPassedOptions, _directlyPassedOption2 = _directlyPassedOption.memoizeOptions, memoizeOptions = _directlyPassedOption2 === void 0 ? memoizeOptionsFromArgs : _directlyPassedOption2; // Simplifying assumption: it's unlikely that the first options arg of the provided memoizer // is an array. In most libs I've looked at, it's an equality function or options object. // Based on that, if `memoizeOptions` _is_ an array, we assume it's a full // user-provided array of options. Otherwise, it must be just the _first_ arg, and so // we wrap it in an array so we can apply it. var finalMemoizeOptions = Array.isArray(memoizeOptions) ? memoizeOptions : [memoizeOptions]; var dependencies = getDependencies(funcs); var memoizedResultFunc = memoize.apply(void 0, [function recomputationWrapper() { _recomputations++; // apply arguments instead of spreading for performance. return resultFunc.apply(null, arguments); }].concat(finalMemoizeOptions)); // If a selector is called with the exact same arguments we don't need to traverse our dependencies again. var selector = memoize(function dependenciesChecker() { var params = []; var length = dependencies.length; for (var i = 0; i < length; i++) { // apply arguments instead of spreading and mutate a local list of params for performance. // @ts-ignore params.push(dependencies[i].apply(null, arguments)); } // apply arguments instead of spreading for performance. _lastResult = memoizedResultFunc.apply(null, params); return _lastResult; }); Object.assign(selector, { resultFunc: resultFunc, memoizedResultFunc: memoizedResultFunc, dependencies: dependencies, lastResult: function lastResult() { return _lastResult; }, recomputations: function recomputations() { return _recomputations; }, resetRecomputations: function resetRecomputations() { return _recomputations = 0; } }); return selector; }; // @ts-ignore return createSelector; } var createSelector = /* #__PURE__ */createSelectorCreator(_defaultMemoize__WEBPACK_IMPORTED_MODULE_0__.defaultMemoize); // Manual definition of state and output arguments var createStructuredSelector = function createStructuredSelector(selectors, selectorCreator) { if (selectorCreator === void 0) { selectorCreator = createSelector; } if (typeof selectors !== 'object') { throw new Error('createStructuredSelector expects first argument to be an object ' + ("where each property is a selector, instead received a " + typeof selectors)); } var objectKeys = Object.keys(selectors); var resultSelector = selectorCreator( // @ts-ignore objectKeys.map(function (key) { return selectors[key]; }), function () { for (var _len3 = arguments.length, values = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { values[_key3] = arguments[_key3]; } return values.reduce(function (composition, value, index) { composition[objectKeys[index]] = value; return composition; }, {}); }); return resultSelector; }; /***/ }), /***/ "@wordpress/i18n": /*!**************************!*\ !*** external "wp.i18n" ***! \**************************/ /***/ ((module) => { "use strict"; module.exports = wp.i18n; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js": /*!******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***! \******************************************************************/ /***/ ((module) => { function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***! \****************************************************************/ /***/ ((module) => { function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js": /*!*******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***! \*******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js"); function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return arrayLikeToArray(arr); } module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js": /*!***********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***! \***********************************************************************/ /***/ ((module) => { function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***! \****************************************************************/ /***/ ((module) => { function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/construct.js": /*!***********************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/construct.js ***! \***********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js"); var isNativeReflectConstruct = __webpack_require__(/*! ./isNativeReflectConstruct.js */ "../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js"); function _construct(t, e, r) { if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && setPrototypeOf(p, r.prototype), p; } module.exports = _construct, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/createClass.js": /*!*************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/createClass.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js"); function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***! \****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js"); function _defineProperty(obj, key, value) { key = toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/get.js": /*!*****************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/get.js ***! \*****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var superPropBase = __webpack_require__(/*! ./superPropBase.js */ "../node_modules/@babel/runtime/helpers/superPropBase.js"); function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { module.exports = _get = Reflect.get.bind(), module.exports.__esModule = true, module.exports["default"] = module.exports; } else { module.exports = _get = function _get(target, property, receiver) { var base = superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }, module.exports.__esModule = true, module.exports["default"] = module.exports; } return _get.apply(this, arguments); } module.exports = _get, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***! \****************************************************************/ /***/ ((module) => { function _getPrototypeOf(o) { module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }, module.exports.__esModule = true, module.exports["default"] = module.exports; return _getPrototypeOf(o); } module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/inherits.js": /*!**********************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/inherits.js ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js"); function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) setPrototypeOf(subClass, superClass); } module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js": /*!***********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***! \***********************************************************************/ /***/ ((module) => { function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/isNativeFunction.js": /*!******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/isNativeFunction.js ***! \******************************************************************/ /***/ ((module) => { function _isNativeFunction(fn) { try { return Function.toString.call(fn).indexOf("[native code]") !== -1; } catch (e) { return typeof fn === "function"; } } module.exports = _isNativeFunction, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js": /*!**************************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js ***! \**************************************************************************/ /***/ ((module) => { function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; }, module.exports.__esModule = true, module.exports["default"] = module.exports)(); } module.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/iterableToArray.js": /*!*****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/iterableToArray.js ***! \*****************************************************************/ /***/ ((module) => { function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js": /*!**********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***! \**********************************************************************/ /***/ ((module) => { function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js": /*!*****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***! \*****************************************************************/ /***/ ((module) => { function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js": /*!*******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/nonIterableSpread.js ***! \*******************************************************************/ /***/ ((module) => { function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js": /*!***************************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***! \***************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]); var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"); function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return assertThisInitialized(self); } module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***! \****************************************************************/ /***/ ((module) => { function _setPrototypeOf(o, p) { module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }, module.exports.__esModule = true, module.exports["default"] = module.exports; return _setPrototypeOf(o, p); } module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js": /*!***************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js"); var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js"); var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js"); var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js"); function _slicedToArray(arr, i) { return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); } module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/superPropBase.js": /*!***************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/superPropBase.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var getPrototypeOf = __webpack_require__(/*! ./getPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"); function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = getPrototypeOf(object); if (object === null) break; } return object; } module.exports = _superPropBase, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/toConsumableArray.js": /*!*******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/toConsumableArray.js ***! \*******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js"); var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ "../node_modules/@babel/runtime/helpers/iterableToArray.js"); var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js"); var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js"); function _toConsumableArray(arr) { return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread(); } module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js": /*!*************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]); function toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js": /*!***************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]); var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js"); function toPropertyKey(t) { var i = toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/typeof.js": /*!********************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/typeof.js ***! \********************************************************/ /***/ ((module) => { function _typeof(o) { "@babel/helpers - typeof"; return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o); } module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js": /*!****************************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***! \****************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js"); function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen); } module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/wrapNativeSuper.js": /*!*****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/wrapNativeSuper.js ***! \*****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var getPrototypeOf = __webpack_require__(/*! ./getPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"); var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js"); var isNativeFunction = __webpack_require__(/*! ./isNativeFunction.js */ "../node_modules/@babel/runtime/helpers/isNativeFunction.js"); var construct = __webpack_require__(/*! ./construct.js */ "../node_modules/@babel/runtime/helpers/construct.js"); function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !isNativeFunction(Class)) return Class; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return construct(Class, arguments, getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return setPrototypeOf(Wrapper, Class); }, module.exports.__esModule = true, module.exports["default"] = module.exports; return _wrapNativeSuper(Class); } module.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/esm/defineProperty.js": /*!********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/esm/defineProperty.js ***! \********************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _defineProperty) /* harmony export */ }); /* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); function _defineProperty(obj, key, value) { key = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } /***/ }), /***/ "../node_modules/@babel/runtime/helpers/esm/objectSpread2.js": /*!*******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/esm/objectSpread2.js ***! \*******************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _objectSpread2) /* harmony export */ }); /* harmony import */ var _defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defineProperty.js */ "../node_modules/@babel/runtime/helpers/esm/defineProperty.js"); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0,_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /***/ }), /***/ "../node_modules/@babel/runtime/helpers/esm/toPrimitive.js": /*!*****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***! \*****************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ toPrimitive) /* harmony export */ }); /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/esm/typeof.js"); function toPrimitive(t, r) { if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /***/ }), /***/ "../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js": /*!*******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***! \*******************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ toPropertyKey) /* harmony export */ }); /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/esm/typeof.js"); /* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/esm/toPrimitive.js"); function toPropertyKey(t) { var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__["default"])(t, "string"); return "symbol" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i) ? i : String(i); } /***/ }), /***/ "../node_modules/@babel/runtime/helpers/esm/typeof.js": /*!************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/esm/typeof.js ***! \************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _typeof) /* harmony export */ }); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } /***/ }), /***/ "../node_modules/@reduxjs/toolkit/node_modules/immer/dist/immer.esm.mjs": /*!******************************************************************************!*\ !*** ../node_modules/@reduxjs/toolkit/node_modules/immer/dist/immer.esm.mjs ***! \******************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Immer: () => (/* binding */ un), /* harmony export */ applyPatches: () => (/* binding */ pn), /* harmony export */ castDraft: () => (/* binding */ K), /* harmony export */ castImmutable: () => (/* binding */ $), /* harmony export */ createDraft: () => (/* binding */ ln), /* harmony export */ current: () => (/* binding */ R), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ enableAllPlugins: () => (/* binding */ J), /* harmony export */ enableES5: () => (/* binding */ F), /* harmony export */ enableMapSet: () => (/* binding */ C), /* harmony export */ enablePatches: () => (/* binding */ T), /* harmony export */ finishDraft: () => (/* binding */ dn), /* harmony export */ freeze: () => (/* binding */ d), /* harmony export */ immerable: () => (/* binding */ L), /* harmony export */ isDraft: () => (/* binding */ r), /* harmony export */ isDraftable: () => (/* binding */ t), /* harmony export */ nothing: () => (/* binding */ H), /* harmony export */ original: () => (/* binding */ e), /* harmony export */ produce: () => (/* binding */ fn), /* harmony export */ produceWithPatches: () => (/* binding */ cn), /* harmony export */ setAutoFreeze: () => (/* binding */ sn), /* harmony export */ setUseProxies: () => (/* binding */ vn) /* harmony export */ }); function n(n){for(var r=arguments.length,t=Array(r>1?r-1:0),e=1;e3?r.i-4:r.i:Array.isArray(n)?1:s(n)?2:v(n)?3:0}function u(n,r){return 2===o(n)?n.has(r):Object.prototype.hasOwnProperty.call(n,r)}function a(n,r){return 2===o(n)?n.get(r):n[r]}function f(n,r,t){var e=o(n);2===e?n.set(r,t):3===e?n.add(t):n[r]=t}function c(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r}function s(n){return X&&n instanceof Map}function v(n){return q&&n instanceof Set}function p(n){return n.o||n.t}function l(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var r=rn(n);delete r[Q];for(var t=nn(r),e=0;e1&&(n.set=n.add=n.clear=n.delete=h),Object.freeze(n),e&&i(n,(function(n,r){return d(r,!0)}),!0)),n}function h(){n(2)}function y(n){return null==n||"object"!=typeof n||Object.isFrozen(n)}function b(r){var t=tn[r];return t||n(18,r),t}function m(n,r){tn[n]||(tn[n]=r)}function _(){return false||U||n(0),U}function j(n,r){r&&(b("Patches"),n.u=[],n.s=[],n.v=r)}function g(n){O(n),n.p.forEach(S),n.p=null}function O(n){n===U&&(U=n.l)}function w(n){return U={p:[],l:U,h:n,m:!0,_:0}}function S(n){var r=n[Q];0===r.i||1===r.i?r.j():r.g=!0}function P(r,e){e._=e.p.length;var i=e.p[0],o=void 0!==r&&r!==i;return e.h.O||b("ES5").S(e,r,o),o?(i[Q].P&&(g(e),n(4)),t(r)&&(r=M(e,r),e.l||x(e,r)),e.u&&b("Patches").M(i[Q].t,r,e.u,e.s)):r=M(e,i,[]),g(e),e.u&&e.v(e.u,e.s),r!==H?r:void 0}function M(n,r,t){if(y(r))return r;var e=r[Q];if(!e)return i(r,(function(i,o){return A(n,e,r,i,o,t)}),!0),r;if(e.A!==n)return r;if(!e.P)return x(n,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var o=4===e.i||5===e.i?e.o=l(e.k):e.o,u=o,a=!1;3===e.i&&(u=new Set(o),o.clear(),a=!0),i(u,(function(r,i){return A(n,e,o,r,i,t,a)})),x(n,o,!1),t&&n.u&&b("Patches").N(e,t,n.u,n.s)}return e.o}function A(e,i,o,a,c,s,v){if( true&&c===o&&n(5),r(c)){var p=M(e,c,s&&i&&3!==i.i&&!u(i.R,a)?s.concat(a):void 0);if(f(o,a,p),!r(p))return;e.m=!1}else v&&o.add(c);if(t(c)&&!y(c)){if(!e.h.D&&e._<1)return;M(e,c),i&&i.A.l||x(e,c)}}function x(n,r,t){void 0===t&&(t=!1),!n.l&&n.h.D&&n.m&&d(r,t)}function z(n,r){var t=n[Q];return(t?p(t):n)[r]}function I(n,r){if(r in n)for(var t=Object.getPrototypeOf(n);t;){var e=Object.getOwnPropertyDescriptor(t,r);if(e)return e;t=Object.getPrototypeOf(t)}}function k(n){n.P||(n.P=!0,n.l&&k(n.l))}function E(n){n.o||(n.o=l(n.t))}function N(n,r,t){var e=s(r)?b("MapSet").F(r,t):v(r)?b("MapSet").T(r,t):n.O?function(n,r){var t=Array.isArray(n),e={i:t?1:0,A:r?r.A:_(),P:!1,I:!1,R:{},l:r,t:n,k:null,o:null,j:null,C:!1},i=e,o=en;t&&(i=[e],o=on);var u=Proxy.revocable(i,o),a=u.revoke,f=u.proxy;return e.k=f,e.j=a,f}(r,t):b("ES5").J(r,t);return(t?t.A:_()).p.push(e),e}function R(e){return r(e)||n(22,e),function n(r){if(!t(r))return r;var e,u=r[Q],c=o(r);if(u){if(!u.P&&(u.i<4||!b("ES5").K(u)))return u.t;u.I=!0,e=D(r,c),u.I=!1}else e=D(r,c);return i(e,(function(r,t){u&&a(u.t,r)===t||f(e,r,n(t))})),3===c?new Set(e):e}(e)}function D(n,r){switch(r){case 2:return new Map(n);case 3:return Array.from(n)}return l(n)}function F(){function t(n,r){var t=s[n];return t?t.enumerable=r:s[n]=t={configurable:!0,enumerable:r,get:function(){var r=this[Q];return true&&f(r),en.get(r,n)},set:function(r){var t=this[Q]; true&&f(t),en.set(t,n,r)}},t}function e(n){for(var r=n.length-1;r>=0;r--){var t=n[r][Q];if(!t.P)switch(t.i){case 5:a(t)&&k(t);break;case 4:o(t)&&k(t)}}}function o(n){for(var r=n.t,t=n.k,e=nn(t),i=e.length-1;i>=0;i--){var o=e[i];if(o!==Q){var a=r[o];if(void 0===a&&!u(r,o))return!0;var f=t[o],s=f&&f[Q];if(s?s.t!==a:!c(f,a))return!0}}var v=!!r[Q];return e.length!==nn(r).length+(v?0:1)}function a(n){var r=n.k;if(r.length!==n.t.length)return!0;var t=Object.getOwnPropertyDescriptor(r,r.length-1);if(t&&!t.get)return!0;for(var e=0;e1?t-1:0),o=1;o1?t-1:0),o=1;o=0;e--){var i=t[e];if(0===i.path.length&&"replace"===i.op){n=i.value;break}}e>-1&&(t=t.slice(e+1));var o=b("Patches").$;return r(n)?o(n,t):this.produce(n,(function(n){return o(n,t)}))},e}(),an=new un,fn=an.produce,cn=an.produceWithPatches.bind(an),sn=an.setAutoFreeze.bind(an),vn=an.setUseProxies.bind(an),pn=an.applyPatches.bind(an),ln=an.createDraft.bind(an),dn=an.finishDraft.bind(an);/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (fn); //# sourceMappingURL=immer.esm.js.map /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = (exports, definition) => { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/global */ /******/ (() => { /******/ __webpack_require__.g = (function() { /******/ if (typeof globalThis === 'object') return globalThis; /******/ try { /******/ return this || new Function('return this')(); /******/ } catch (e) { /******/ if (typeof window === 'object') return window; /******/ } /******/ })(); /******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ (() => { /******/ // define __esModule on exports /******/ __webpack_require__.r = (exports) => { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ })(); /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry need to be wrapped in an IIFE because it need to be in strict mode. (() => { "use strict"; /*!************************************************************!*\ !*** ../modules/atomic-widgets/assets/js/editor/module.js ***! \************************************************************/ var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _component = _interopRequireDefault(__webpack_require__(/*! ./component */ "../modules/atomic-widgets/assets/js/editor/component.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var Module = /*#__PURE__*/function (_elementorModules$edi) { (0, _inherits2.default)(Module, _elementorModules$edi); var _super = _createSuper(Module); function Module() { (0, _classCallCheck2.default)(this, Module); return _super.apply(this, arguments); } (0, _createClass2.default)(Module, [{ key: "onInit", value: function onInit() { $e.components.register(new _component.default()); } }]); return Module; }(elementorModules.editor.utils.Module); new Module(); })(); /******/ })() ; //# sourceMappingURL=atomic-widgets-editor.js.map
FTP mostbet – Aratus Advisory

Posts

Players which lose on that will bet will acquire up to $1, 000 back within bonuses from mostbet” “Sportsbook. This is a new great opportunity for somebody who feels assured in a Saints-Broncos bet. Brazilian legislation prohibits anyone underneath 18 from engaging in gambling. The online gambling sector is ever-growing in addition to complex, with various states having their particular own regulations and rules.

Which Countries Is Mostbet Obtainable In?

Below are some good examples of the finest other stuff currently available at the greatest betting sites. Mostbet was established in the year 2000 and is governed with the Gibraltar Wagering and Gaming Organization. In an effort to provide the best possible sports betting knowledge, mostbet is usually working to improve and provide new tools to their customers, letting bettors to take control of their stake funds.

The country has a particular passion regarding classic gambling solutions. Online casinos, black jack, poker and roulette are all widely available. As regarding sportsbooks, these are freely defined within the lawful sense, but generally there are plenty involving them around. Me and my friends just about all took them upwards on their brand new customer offer to be able to deposit $10 to get $365 in reward bets to use for your first weekend break of March Madness. We all down loaded the app and made our deposit and after a little while waiting on typically the slow app to process everything, acquired our bonus wagers and started playing. We noticed quickly that this app genuinely sucked compared to others-it was glitchy, it froze arbitrarily at times, plus it looked terrible.

You’ll have the option to be able to utilize either free of charge or paid VPN services. While free services can always be easy on typically the wallet, they’re considerably from secure, and many are poor top quality. Free VPN solutions often draw through a limited pool of IP details, meaning many associated with these IP tackles are well-known plus often blocked by filters. They typically offer less band width and often contain significant data shelves that limit your own ability to accessibility all of what Mostbet has to offer. Additionally, many free VPNs lack the high-level safety measures and encryption characteristics you might would like and need. Yes, local betting systems or other intercontinental ones might include the necessary licenses to be able to operate in the area.

Mostbet – Sportsbook

Additionally, smooth platform functionality in addition to reliable customer assistance during live occasions are crucial for the optimal in-play betting experience. In the particular last 6 months, the search for the term “blaze cassino online” has increased by 1650%. Its almost all famous modality is definitely casino games, but the site offers sports betting in the most popular methods, such as football and basketball. So I’ve used this specific app for a small bit now, and I have got a understanding of the funds out system they will provide. I acquired a bet choosing $300 and was handed the chance to cash out due to the fact 3 legs out of 6 had already hit. One calf started to proceed sour” “continue to winning tho yet I wanted to be able to cash out.

Best Betting Sites Inside Brazil For 2024

Additionally, Mostbet may obtain fresh licenses or decide to exit selected markets based on business considerations or even regulatory changes. Customer service is vital to the reputation of a sports web site, and many need to deliver acceptable standards of end user interaction to position better. Some usually are for more urgent requests, while some others devote some time for a reply. The table below shows typically the five most favored client service methods” “made available from the best bets sites in Brazilian.

  • Mostbet also seems to be able to use geolocation technologies to display one of the most interesting sporting activities for individuals in a given location.
  • However, wagering in Brazil provides a much higher quantity of searches.
  • As your IP tackle is assigned in order to you by your local internet service service provider, this is simply not something a person can easily alter.
  • Me and my buddies just about all took them up on their brand new customer offer to be able to deposit $10 to have $365 in benefit bets to make use of to the first weekend break of March Chaos.
  • Fans who want to bet on horse races worldwide ought to consider Mostbet, while fans who closely follow the local scene should pay a visit to one of typically the jockey club web sites to bet online.

22Bet has been lively in the Brazilian sports betting marketplace for several years and offers one of the industry’s most various wagering menus, comprising everything from football to be able to competitive esports. In addition, 22Bet offers in-play betting on a new similarly extensive variety of sports plus leagues, including market competitions bettors won’t find anywhere else. Brazil legalized sports betting in 2023 with a rules authorizing online sportsbooks, retail sportsbooks, in addition to mostbet uz yuklab olish android setting a minimum regarding 18 to participate. The fresh Brazil sports bets law established the litany” “involving much-needed regulations in order to govern sportsbook providers, protect consumers, and even generate tax revenue for the condition.

How Brazil Legalized Sporting Activities Betting

Sign program mostbet bonus program code AMNYXLM and go big on Thurs night Night Football. Anyone who takes edge of this promotional can start with a $200 guaranteed benefit or a $1, 000 safety internet bet on Saints-Broncos. Additionally, Mostbet Brazilian caters well to be able to the local marketplace by highlighting home town teams, accepting Brazilian real deposits, plus offering its website in Português. It offers outstanding level of privacy features and is usually currently available at a discounted rate. Mostbet is available throughout dozens of countries yet relies in typically the UK. Although on top it looks just like you can link while in the U. S., you’ll quickly find this may not be the case.

Can We Create Multiple Accounts In Mostbet?

Ultimately, whether an individual can use a VPN with Mostbet is determined by individual circumstances and local laws in addition to regulations. Therefore, it is always best to check out with Mostbet straight before attempting to access their services using a VPN. When examining the chart under, it is observed that both sports betting and online casinos come with an upwards trend when it comes to search volume. Several added features can significantly improve the overall quality of a good online sportsbook. We are always on the lookout for new, innovative implementations that elevate the knowledge. Aspects such as cash-out, live betting, and bet constructor aggregate contribution to the sportsbook search positions.

However, typically the market is getting tougher every day along with the bookmakers have recently been consolidated in the Brazilian market through the sponsorship regarding football clubs. Today, almost all Conjunto A football groups are sponsored by simply bookmakers. Certain aspects of gambling are usually legal, nevertheless the bulk of gambling rests in a lawful grey area along with most casinos in addition to online bookmakers becoming unregulated.

Informações Úteis Sobre A New Mostbet Brasil

If you use a VPN that works together with Mostbet, then yes, you’ll have entry to the identical bets markets from home whilst you’re abroad. For example, if you’re from the UK and travel abroad,” “you’d need to connect to a VPN server in the UK to get a BRITISH IP address. You should then be able to access the exact same betting markets as you would backside home, regardless associated with your overall physical spot.

Mostbet Leads Position Of Betting Internet Sites Most Sought After By Brazilians About Google

  • The government got two years to adopt all necessary polices to govern typically the industry, but that will took longer as compared to expected.
  • We noticed quickly that this app definitely sucked compared to others-it was glitchy, it froze arbitrarily at times, plus it looked terrible.
  • It’s worth noting that although other VPNs may work with Mostbet, all of us recommend NordVPN as found it to be the” “almost all consistent option besides offering good rates of speed and strong security.
  • While the scope involving legal gambling activities varies by place, online casino games are not legitimately offered in Brand new York.

Then he restricted my account and even took the bonus bet offer apart. I understand several have big wagering issues but I had to remain in the phone using another person for thirty more minutes over a hour in this point to have my bank account restrictions lifted and even never got the cash. I was 100% cheated out associated with money and 100% because their help is incompetent. The only reason I actually let them have 2 celebrities is cause it’s a easier in order to use app.

“Moreover, fans can pay a visit to legal horse race betting sites and countless off-track gambling facilities (OTBs) in order to bet on contests held in Brazil plus abroad. Most major Brazilian sports gambling sites offer horse racing markets every day, and a couple of local jockey golf clubs operate somewhat limited horse racing wagering platforms. The majority of sites provide sports betting alternatives and also online online casino games.

Both pc and mobile sites respond with your desired content apparently in the blink of an attention. This can be quite amazing considering the huge selection of leagues plus betting markets that can be found. The best Brazilian sports betting internet sites offer a mix of professional, amateur, and even esports markets below licenses issued simply by the government plus monitored for safety measures. Most online sportsbooks and two B razil racing associations present online horse auto racing betting in Brazil. Bettors can acquire started by picking a secure online sportsbook, subscribing to an account, and picking a deposit method through the cashier. In most all cases, Brazilian sports betting sites process build up instantly, so there’s no wait involving depositing and inserting wagers.

Faqs About Mostbet Legal In Addition To Restricted Countries

This is one of the strongest sorts of data safety measures around, securing your current information with solid cryptographic keys. There are no hidden terms—just contact help within 30 days and nights if you determine NordVPN isn’t best for your family and you’ll have a full refund. By using a VPN, you are able to hide your current IP address and make it appear to Mostbet that you are browsing coming from another country. We recommend NordVPN while the best VPN for logging in to Mostbet from in another country, and we’ll go into more detail since to why later on in this article. 21 and provide in Arizona, The state of colorado, Indiana, Iowa, Kentucky, Louisiana, New Hat, New york, Ohio, Pa, or Virginia.”

Como Utilizar No Iphone (ios)?

Brazil legalized pari-mutuel horse racing gambling in 1984 and even is home into a thriving horse race industry. Four major race tracks spotlight live horse race in Brazil, together with Hipódromo da Gávea hosting the nation’s most prestigious events zodiac casino best rated casino, including the Brazilian Triple Crown. Former president Jai Bolsonaro had until Dec 2022 to indication off on the regulations, but they opted never to in the course of his term. President Lula increased typically the process during their term and fixed Provisional Measure one, 182 into legislation in July 2023, officially legalizing sports betting in Brazil. Below are overviews of our own recommended Brazilian gambling sites, followed by a straightforward explanation associated with Brazil’s sports betting laws.

  • NordVPN is definitely offering a fully-featured risk-free 30-day test if you indication up only at that webpage.
  • The month-to-month volume of on-line searches related to be able to the sports wagering and casino marketplace proves this.
  • New users may have” “a choice between a assured winner or some sort of massive safety web bet.

Do I Have To Be Able To Pay Taxes On My Gambling Profits In Brazil?

  • Check out” “our own top ranked encouraged bonuses at typically the top of this review.
  • BestBettingSites. apresentando is a evaluation website that strives to provide fair and secure information on the internet wagering and gambling entire world.
  • Operators need to apply for permits to supply sports wagering in Brazil, and foreign operators usually are welcome to apply.
  • Despite that, you will find a thriving gaming business in the region.
  • The Brazilian wagering market moved R$7 billion in 2020 and it is usually estimated that in 2023 it will get to the mark involving R$12 billion.
  • The 2022 president race in Brazilian is still cooking food and betting internet sites already are showing which is the favourite within the race.

We take a new very structured and even systematic approach to rating sportsbooks while using functionality indicators in the above list. With our team regarding industry experts, we all give you the overall flexibility to find your current perfect operator. By exploring Brazil’s betting scene, we’ve recognized top online sportsbooks and presented all of them in an eays steps list. Below, all of us have categorized the particular bookmakers, highlighting their very own best features. Mostbet offers an extremely intuitive, easy-to-use knowledge no matter what device an individual will ultimately work with – computer, product or smartphone. We don’t learn how they do it, but their desktop and cellular sites are extremely fast.

Once you click this, follow the instructions carefully and create sure everything is usually accurate to steer clear of future hiccups. In the field of sports bets, the greater the chance of winning the team or sportsperson, the lower the value of an odd. The 2022 usa president race in Brazil is still boiling and betting sites are actually showing who is the favourite in the race. This is what happens with Mostbet, which usually has Lula’s success as the many likely result, followed” “by simply Jair Bolsonaro, Sergio Moro and Ciro Gomes.

After a new survey of more than 50 betting sites, among the particular over 400 of which operate in Brazilian, listed below are the many searched bookmakers companies on Google in 2022. According to the search volume for every single brand in typically the Ubersuggest tool, typically the 1st One of the most researched site may be the huge Mostbet, exceeding thirty million searches for each month. BestBettingSites. possuindo is a assessment website that aims to provide fair and risk-free information in the online gambling and gambling planet. We obtain a percentage for the products on offer, but this does not affect our reviews or transparency in any way. You can find numerous betting offers throughout Brazil from the particular straightforward deposit reward, to free guess offers and increased payout deals. Check out” “our top ranked pleasant bonuses at typically the top of this particular review.

Of the Latina American countries, Brazil has the finest prospect of sports gambling and s credited to its human population size and strong internet usage lifestyle. According to data from Agência País brasileiro, 152 million Brazilians gain access to the internet, which corresponds to 81% of the populace. Those looking intended for the very best sports bets sites in Brazil” “will discover our review helpful for refining your search.

In fact, some states are permitting companies to function sports betting, including the states of Maranhão and São Paulo. Even amid monetary crises, pandemic as well as other political instabilities, the particular betting market continued to grow. In fact, the range of Brazilian gamblers has jumped in recent months. The Brazilian gambling market moved R$7 billion in 2020 and it is best online casino vip programs estimated that throughout 2023 it is going to get to the mark involving R$12 billion. After” “sofferenza. bet (15th within the list), Bodog, Netbet, Rivalry, mrJack. wager, Brazino 777 in addition to Leovegas are residences that appear with high search volume in the Top 25. Our review has protected almost every dimensions in the sportsbook construction you’re likely in order to encounter.

None from the aforementioned markets getting hired completed for you? Mostbet’s MLB markets give you just about everything you could inquire for—game lines, section futures, AL/NL tournament lines and, obviously, World Series probabilities. The only point that stops this section from being a home run will be the complete absence of day-to-day props.

  • Therefore, it’s a good idea if you choose the numerous system bets that will are available upon the Mostbet web-site.
  • There is no calculations tool which turns the odds through other formats to Asian odds.
  • All regarding the top institutions are covered yet that’s not most as the site protects the reduced leagues and even also reserve and youth games as well giving customers bets” “opportunities aplenty.
  • Some pages take too long to download, as well as the most annoying thing is that you can’t open any internet pages in separate tabs.

No, Mostbet does not accept American citizens and does not really have any gambling licenses so that it is legitimate in the UNITED STATES OF AMERICA. The list associated with restricted counties in addition includes Germany, Holland, Russia, and a new variety of other nations, so check words and conditions contracts up for Mostbet. It means that will you get usage of all top well-known table games in addition to slots,” “common to all gambling establishment enthusiasts. To prove it, we will simply show many titles and identify them briefly if you are not much informed of these betting gems.

Inscription Mostbet

Most of Mostbet’s promotions are usually geared towards the particular poker room in addition to casino, which can be annoying regarding sportsbook-only gamblers. But when we’re talking about programs that offer you” “despoting matching bonuses, free of charge plays and some sort of rewards points system that can build up to free money, there’s no employ splitting hairs. Today, we review Mostbet, a gambling in addition to casino platform using British roots although aimed mainly in the French wagering market. It is not the famous top rated brand across Europe, although you almost certainly heard about their sister company, Bet At Home, some sort of part of the identical holding called Mostbet Everest Group. Mostbet Sport is the particular official app regarding Mostbet, one of France’s most popular on the web bookies, operating since 2005. With this specific app, you can place bets straight from your Android device and comply with the results regarding all live sports matches.

At Mostbet they will have Partial Cash-out which means you can cash out there section of your wager and leave the rest of it running. This will be allowed as numerous times while you want until the Incomplete Cash Out sum remaining is decrease than £1. Cash Out can’t become combined with some other promotions and that includes Free Bets and when using this feature any gambling bets that are cashed out won’t count towards any betting requirements. You can bet on participants to score at virtually any time in typically the game or whether there’ll certainly be a charges in the complement. There’s never proceeding to be considered a live casino online uninteresting moment if you pay a visit to be able to the Mostbet site.

  • No one wants to join a site of which has a little number of gambling opportunities available and this site is in simply no danger of falling into that will category.
  • A big F you to BetClic and its owners, I really hope this bookmaker gets shut lower.
  • The next most favored betting sports with UK on the internet bookmakers are rugby and horse auto racing.
  • A important player in gambling online and sports bets, Mostbet is a new mobile-only tech organization steered by a good unwavering” “interest for sport.

It is each of our job to allow you know if a sportsbook ultimately ends up spamming you. On the bright area, Mostbet does present a ton regarding choices for the NBA 2k league throughout the esports segment. That negates numerous of the options they’ve eschewed throughout the props office. Only several political betting options” “are available at Mostbet. As of now, you can wager on typically the French presidential political election and, most exclusively, who will become the next pope. Deposits won’t take long after you set upward your account, plus Mostbet adjusts accepted payment methods by simply territory.

Mostbet, C’est Également Du Poker!

There’s furthermore a security query to answer along with the list” “including your favourite football staff or your mother’s maiden name. If you visit the Mostbet promotions webpage you will discover all typically the available offers associated with the moment. DatabaseBasketball. com has zero intention that virtually any of the details it provides is definitely used for illegitimate purposes. It will be your own personalized responsibility to make sure that most age and various other relevant requirements usually are adhered to before registering with the casino operator. By continuing to use this website you agree to each of our terms and conditions and privacy policy.

Of course, also you can follow and place bets with regard to many other sporting activities, such as field hockey, tennis, or riding a bike. Being able in order to actually begin to see the occasion that you usually are following the live wagering on adds also more to the pleasure of the site. Live streaming is definitely available within the Mostbet site, but the truth is do need to end up being a registered customer and have produced at least 1 deposit with your account. There is also restrictions sometimes, by way of example, during the Australian Wide open tennis tournament a person needed to have got placed a £5 bet. Now wagering on football game titles across the world at almost all times of the particular day is an each day occurrence.

Mobile Knowledge And Betting App

It’s also worth remembering that certain gamblers from select areas is only going to be able www.gomostbet.com to make deposit via credit credit card. Superbetting. com is definitely an information reference, all materials are intended for acquaintance only. Superbetting. possuindo would not accept bets on sports, will not engage in betting and related routines.

Pragmatic Slot Machine Games Are A Con They Only Pay Out To Sponsored Streamers

  • The operator is area of the Mostbet Group that launched exchange betting and even dominates the market.
  • All you have to do is appearance out for the amount Out logo and even if It’s presently there then things are usually going to obtain rather interesting from now on.
  • There is definitely a good range of live activities to bet on and they come from all over the globe at all times of the day.
  • Join our premium membership service, enjoy exclusive features and help the project.
  • There are usually also some cellular related offers on the Mostbet web-site so that’s good reason to acquire hold of the software.

Finally, if you’re” “prepared to be, simply simply click around the red round representing your betslip, to see online live casino australia how significantly you’ll win offered the amount you’re prepared to threat. Once you confirm your selection, it need to only take in between 24 and forty-eight hours for your own transaction to method. Some payouts that will aren’t bank transfers are even finished instantly. Once you’re logged in, go to the “withdraw” alternative at the top of your display screen, at which point you’ll be prompted to input the preferred payout technique. Although the library seems to be a bit limited, Mostbet casino impressed us with typically the amount of software services powering its are living and RNG casino sections.

  • As this review has discussed previously, here is a website plenty of promotions on offer to its players.
  • Although the catalogue seems to end up being a bit limited, Mostbet casino impressed us with the particular variety of software services powering its live and RNG online casino sections.
  • There are other constraints sometimes, for example, throughout the Australian Wide open tennis tournament you needed to include placed a £5 bet.
  • You can use Australian visa, VisaElectron, Mastercard, Principal, Bank Transfer, Skrill, Neteller or Paysafecard.
  • That’s important plus it’s extremely helpful to have got a good look at typically the rules before a person start playing on this web site or there may be some costly errors made.
  • The operator likewise gives a package involving ongoing promotions regarding all players.

Therefore, most the online gambling sites issue chances on the primary domestic leagues within Europe and Southern region America and also other components of the world. The Premier Little league in the uk and the particular Champions League are the most well-known football competitions with regard to betting. The following most favored betting sporting activities with UK on the web bookmakers are tennis and horse auto racing. Europe-facing operators do not always provide horse racing markets. However, they focus on European and global sports, such as basketball, handball plus volleyball.

I Opened A Account For Mostbet…

Since 2010, Mangas Gaming are right now known as BetClic Everest Group H. A. S. The sportsbook covers each of the top sports that you will be wanting to location bets on plus with plenty of repayment methods available, economic transactions secure and secure. It’s likewise well worth getting hold of their app in order to take advantage associated with more promotions in addition to be playing and hopefully winning more. When customers location an accumulator along with four selections or more and one choice loses, bookmakers return the stake inside the form associated with a free bet. However, the refund really does not really recompense for missing out on a winning several bet, but it really is usually a genuine totally free bet. Though BetClic does have some sort of fully functional live betting section that will will update results and lines throughout real time, our research shows these people don’t offer typically the readily accessible capacity to stream reside events.

If that is typically the case, then a person can go to be able to the top right hand corner from the screen where the ‘Help’ button is located. There are lots of reasons in order to be joining the Mostbet website. No one wants to join a web site that has a smaller number of wagering opportunities available which site is throughout hardly any danger involving falling into of which category. However, that’s not every because a person can also gamble on sports for instance Biathlon, E-Sports, Football, Futsal and Handball.

They have all the particular most common online games and tournaments, but despite most various other sportsbooks, they offer some sort of long list associated with props. Whether it’s Call of Work or FIFA,” “you may bet on the particular final score or perhaps build your own distributed. Mostbet will elegance to seasoned sports activities bettors with the straight-to-the-point setup.

Les Types Sobre Paris Mostbet

There’s a drop-down menu that presents customers the opportunity to access the particular FAQs part associated with the Mostbet site. It’s not the particular most extensive list that this reviewer has seen nevertheless it covers ‘Register, ’ ‘My bank account, ’ ‘Bonus, ’ ‘My bets, ’ ‘Deposits/Withdrawals’ and Money Out. This can be a bet where a person have to hold an eye on what’s happening all typically the time. Just how much the internet site offers you for Funds Out depends completely on what is occurring in the event you are wagering on. If your selection gets into a new lead then typically the amount you could funds out for increases and it may be possible, specifically as the moments tick down, for you to cash out in a profit.

A big F you to BetClic and its proprietors, I am hoping this bookmaker gets shut down. Save your cash and go to the proper bookie that treats its customers with respect. Game lines, division futures, win totals, Super Bowl predictions—all involving the basic NATIONAL FOOTBALL LEAGUE options are in Mostbet. If you’re looking to journey from the beaten path, into the NFL draft or individual awards, you’ll must find a sportsbook that gives them. Visiting their sportsbooks part will take you to a full listing of outlines.

Betclic’s Dna

Besides, you can easily combine your wagers and select Multiples or even System options throughout a bet go. Chess, cycling, darts, E-Sports, floorball, TRAINING FOR MMA, American football, volleyball, squash, along with other sporting activities are in typically the line. Besides, a person can check out and about a Specials part to bet on France or US ALL Presidential Election.

Online sports bets customers in the UK are now more familiar with the decimal formatting because of the growth of exchange betting. First away from I’ve never acquired any bets canceled or my accounts randomly frozen. I will say of which my limits were lowered once I actually hit a bunch of winners from a decently high range to $75 USD, which is annoying. Their app is decent, their site is a new bit clunky but their odds are good and move fairly slowly.

By the method I’ve spoken to the customer assistance and that seemed to be really useless. Maybe you can say that I’m a noob player but I must say that I’ve 5th classement in poker in Rennes. First-time users will receive a 100 percent match on the first deposit, appreciated up” “to €500. The just thing you want to do is definitely sign up plus place a wager in the online casino to qualify.

BI delivers free bets tips on a normal basis and keeps you up to be able to date with a really good added bonus offers and totally free bets furnished by UK licensed bookies. Yes, Mostbet and Mostbet often offer a lot more attractive welcome bonus deals and promotions than Mostbet. For instance, Mostbet frequently offers generous sign-up offers, such as wager credits that complement your initial downpayment. Mostbet also operates a variety of promotions, including enhanced odds, free gambling bets, and money-back special deals on major events. These promotions can provide more quality as opposed to the regular offers at Mostbet.

Few bookmakers include betting calculators available on their internet sites, and almost none of them has one as advanced as Mostbet’s. Players who available a new consideration and place a gamble worth £/€ 10 are getting three cost-free £/€ 10 wagers. To qualify, participants must place some sort of bet at probabilities of 1/2 (-200 moneyline” “in addition to 1. 5 decimal) or greater. This also applies to any combined probabilities on multiples (parlays). However, it will be worth noting if you’re trying to find marketing promotions or bonuses on markets that aren’t British or Irish-centric, then you will likely have in order to find those anywhere else.

  • All involving their match gambling, total goals, appropriate score, first goalscorer, Asian handicap, in addition to handicap wagering clothes out at £1, 000, 000.
  • Mostbet is definitely one of the world’s largest online bookmakers and is definitely one of typically the most successful gambling operators ever.
  • It remains one regarding the top bookies, integrating products such as sportsbook, casino, online poker, and bingo, just about all accessible through one particular account.
  • This also applies to be able to any combined odds on multiples (parlays).
  • Compared to Mostbet, each offer a even more reliable and efficient customer support expertise.

However, there are many aspects punters must look into before that they deposit. If there is a unfavorable regarding their wagering markets and promotions, it’s that these people are too centered on the BRITISH and Irish sports. That’s where the particular majority of consumers are from, so that it only makes perception they focus in sports and market segments that interest these people.

Types Of Sports Bet

From here you are able to get into your stake (how much you want to risk) and see just what profit you’d get if your variety is correct. In this particular instance, a £5 bet on Hanfmann to beat Tsitsipas would earn you £16. 25. Once you’re pleased with your own risk and incentive, hit Place Wager to complete the procedure.

I Got Paddy Power Pants! 💚

Mostbet, for instance, allows maximum bets up to £500, 000 on choose football markets, which often is significantly higher than the limits typically found at Mostbet. Both Mostbet and Mostbet are known for offering remarkably competitive odds, generally a lot better than those offered at Mostbet. For example, Mostbet will be particularly strong throughout football and rugby, where its chances are frequently at typically the top of the marketplace. Mostbet excels within horse racing possibilities, often providing among the best prices on significant UK and intercontinental races.

In-play wagering markets are a single of Mostbet’s best attributes. They give a ton of sporting activities for live betting, including all top flight European basketball leagues. Live gambling markets are substantial as well, in addition to go far beyond sides and counts. Mostbet has already been a major title in the BRITISH betting scene due to the fact its founding in 1988, thanks to the innovative features and even playful branding. Yes, both Mostbet plus Mostbet offer increased betting limits compared to mostbet Mostbet, particularly inside major markets just like football and equine racing.

Read More Bettinginstitute How To Guides:

The platform’s quick guess placement feature is essential for taking advantage of rapidly changing conditions during live events. The integration of live streaming plus betting in play means you can place your current bets on a large range of athletics, including golf betting and tennis wager markets. Mostbet likewise offers strong in-play options, though Mostbet’s broader market assortment and football abilities give it an advantage. Mostbet is a single of the leaders of not only online sports gambling, but sports betting inside general.

Football Tips: Wednesday’s 12/1 Women’s Champions Group Multi Match Bet Builder

  • At any given time of the particular year, you will find from least a half a dozen specials going.
  • Mostbet is among the leaders when that comes to sports betting and their highest payouts back that will up.
  • Live gambling markets are intensive as well, plus go far over and above sides and quantités.

Their offers are usually changing, and they have loads of new promotions. Mostbet is many recognized for their “money back specials. ” The promotion isn’t just lip service or offers that aren’t worth very much. Both Mostbet and Mostbet are acknowledged for their superb customer service. Mostbet” “provides 24/7 support through live chat, e-mail, and phone, with quick response instances and knowledgeable reps. Mostbet also provides 24/7 support with comparable channels and is particularly acknowledged for its responsiveness and helpfulness in resolving issues.

  • With Mostbet or Mostbet, you’ll get better odds, more market segments, and an unequalled in-play betting knowledge.
  • According to some, Mostbet is the particular best bookmaker inside the history of sports betting.
  • Whether you’re a casual punter or a expert bettor, this guidebook will help you find the right bookmaker to meet your needs.
  • Click upon the odds alongside your chosen final result to spread out up your bet slip.
  • Their approved currencies also tie into their UK and European emphasis.
  • Professional gamblers often favour Mostbet and Mostbet because of their higher betting restrictions, competitive odds, in addition to advanced features.

For example, without a doubt on Great britain to beat the West Indies in a Test crickinfo match. England win, so you acquire your stake back again PLUS winnings, comparable to the possibilities without a doubt on. We’ll take you by means of the basics associated with sports betting, top features of it, and the particular types of sports bet you possibly can make today. There are a few other extras, including audio comments within the latest suits and a very good bet loan calculator.

It remains one regarding the top bookmakers, integrating products just like sportsbook, casino, holdem poker, and bingo, most accessible through one particular account. It provides expanded significantly inside recent years, especially after its 2016 merger with” “Mostbet, which created the global betting big Flutter Entertainment. This merger has granted Mostbet to strengthen their presence beyond Ireland in europe and the UK, especially with strong growth in the particular U. S. in addition to other international market segments.

Mostbet, founded within 1934, stands as a powerhouse in the particular global betting industry, serving millions associated with customers throughout the BRITISH, Europe, along with the swiftly growing US market. In 2024, Mostbet continues to excel best casino apps both in retail and even online betting. The company operates even more than 600 gambling shops through the BRITISH and Ireland, and even its online program attracts millions associated with punters each month. You’ll start to see the almost all popular sports to the left of your personal computer, or run around the screen upon your app.

  • Since these people have numerous market segments, betting limits will certainly vary quite some sort of bit.
  • The Irish bookie renowned for some associated with the most aggressive odds online in addition to their “money-back special” promotional offers, which can drastically decrease the bookmaker’s border in some market segments.” “newlineIts product offering includes sports betting, online casino, internet poker, plus online bingo.
  • In 2024, Mostbet continues to stand out in the retail plus online betting.
  • Before inserting a sports gamble it’s important to know very well what the chances are for the assortment.
  • We’ll take you by way of the basics regarding sports betting, the advantages of it, and typically the sorts of sports wager you may make today.
  • Mostbet in addition to Mostbet still run as separate brands in much regarding the world, which includes in the Combined Kingdom, Ireland, and even Italy.

Many sports are available to bet in-play as they take place, because of Paddy’s reside odds. Sports this kind of as athletics, fumbling and skiing will be also available in order to wager on semi-annually, such as during the particular Olympics or Winter season Olympics. Click in the odds next to your chosen end result to open up your own bet slip.

Data Linked To You

Before positioning a sports guess it’s important to be able to know very well what the chances are for your variety. Sport odds aim to reflect the possibilities of something happening, and show you how much money you’d gain whether it did occur. Sports betting enables bettors to bet money on the sporting outcome, together with the chance regarding winning back earnings if that final result happens.

Many smaller market athletics, for example Esports or even political markets have maximum payouts among £20k-£50k. Mostbet is usually one of the world’s largest on the internet bookmakers and is one of typically the most successful gambling operators ever. The Irish bookie renowned for some regarding the most competing odds online and their “money-back special” promotional offers, which can drastically decrease the bookmaker’s border in some market segments.” “newlineIts product offering involves sports betting, on the web casino, internet poker, in addition to online bingo. Business operations are brought from its head office in Dublin, alongside a satellite workplace in Malta. In February 2016, Mostbet merged with Mostbet to create Flutter Entertainment.

Ultimately, typically the best bookmaker is” “the one which aligns with your current betting habits and offers the equipment an individual need to succeed. However, despite their success, there are some opponents that offer even more cutting-edge features, of which better meet today’s betting trends. Betting on sports is what we do best here at Mostbet and we’re below for taking you via it all.

Punters can move from betting about English Premier Group soccer to the Kazakhstan Premier League. There are few other bookmakers that provide customers this extensive of range associated with options. Their sporting activities best pa casino site betting system is certified and regulated by simply the Isle associated with” “Man Gambling Supervision Percentage. They also keep a licensed BRITISH Gambling Commission for their poker, casino, and bingo products. Mostbet owns various other international bookies, including two associated with the largest Australian bookmakers, Sportsbet and IAS. Best online sports betting guide of which helps you better understand how to bet and become an even more prosperous sports bettor.

When looking intended for an alternative in order to Mostbet, Mostbet constantly emerges as the top betting site for UK buyers in 2024. One of the hottest parts about the particular Money-back Specials is that customers can easily view the full archive of their particular past specials in addition to see those that compensated out. As Paddy states on their site, many some other bookmakers have come upward with similar promotions but have gone down short. On September 8th, 2015, Mostbet and their British rivals, Mostbet, agreed to terms to some merger. The business is publicly owned, but” “Mostbet has a minor edge in shareholders with 52% arriving from former Mostbet shareholders and 48% by former Mostbet shareholders. Mostbet and even Mostbet still function as separate companies in much regarding the world, which includes in the Combined Kingdom, Ireland, and even Italy.

Football Accumulator Tips: Monday Night’s 17/1 Countries League Punt

Click on the sports activity you want to bet upon, and discover the competitors or fixture coming from there. You also can search for a new player, team or perhaps country in the search bar. First” “you need to sign up in order to an account produce a profile, using your personal details to build a secure account. Then make a first deposit to fund your consideration and trigger virtually any welcome bonuses that will might apply.

As of 2024, Mostbet serves over 80 million customers worldwide. Joe is the particular author of the majority of sports betting pages on SBS and serves since a gambling advisor to our articles team. He’s recently been mentioned on Forbes. com as the gaming analyst, in addition to his articles have been linked by larger publications, such as the New York Instances. At any provided time of typically the year, you will discover with least a half dozen specials going. Like many UK bookies that offer cost-free bet promotions, Mostbet does not allow participants who deposit with Neteller or Skrill to qualify for the particular introductory free bet offer. This is usually something to take note of any time depositing if you’re interested in the free bet offer you.

Regularly evaluating odds across these platforms can help you your own comes back. Overall, Mostbet will be one of the particular most competitive sportsbooks online when that comes to probabilities. It is uncommon that players have their betting limits restricted, but it is usually possible. Even large bookmakers these” “times have begun to limit or restrict some of their biggest winners even more aggressively. It’s challenging to come up a directory of negatives regarding Mostbet without it sounding nitpicky.

Mostbet’s marketplaces are heavily focused on British plus Irish sports and to a reduced extent North American markets, such as the NFL or NBA. British and Irish bets sports will have even more betting markets as compared to their competitors, nevertheless European football crews are extremely shut. According to several, Mostbet is the best bookmaker inside the history of sporting activities betting. For each of our money, it’s effortlessly one of top ten bookmakers worldwide, and many likely a top five. Visa, MasterCard, and Entropay are all accepted, and even deposits are fast. Popular e-wallets, Neteller, and Skrill, usually are also available, however players who down payment using this approach will not obtain the new account free bet bonus.

Mostbet’s extensive live buffering and in-play bets options allow for current decision-making, that is crucial for professionals. Mostbet’s reputation for stability and its huge betting limits upon major sports make it a trusted choice for anyone placing significant bets. Mostbet, in particular, is actually a leader inside in-play betting, offering some sort of vast assortment of are living markets with continuously updated odds.

Choosing to bet on sports is centered on risk and prize, and understanding whether or not the odds are worth your time and energy. The greater chances, the better your potential earnings will be, however your risk is in addition higher. Paddy likewise accepts PayPal, which can be utilized for the first first deposit bonus.

When selecting some sort of bookmaker, people usually choose a promo program code to obtain a betting” “benefit and check accessible deposit methods. However, it’s essential to ensure the bookie is licensed and regulated with the UK Betting Commission and comes after responsible gambling techniques for a secure encounter. Other notable UK bookmakers such because Mostbet, Mostbet, Coral formations, Mostbet, 888sport, and even Sky Bet likewise offer competitive characteristics. However, if you’re looking for typically the best overall knowledge, Mostbet and Mostbet remain the excellent choices.

You can recover this by selecting typically the ‘Having trouble signing in? You’ll after that receive an electronic mail for resetting the password and getting at your Mostbet bank account. If you’re nonetheless having problems, you need to contact Mostbet, who should be in a position to provide even more assistance. In buy to find the best VPN intended for logging in Mostbet from abroad, we all had to analyze VPNs with the particular betting platform. Below, you’ll see our methodology, which led us to choose NordVPN, which fortunately ticked all of the boxes.

To qualify, you have to deposit between £5 and £10 make a bet having a minimum odds regarding 1/5 to obtain between £15 and even £30 worth regarding bet credits. Imagine gearing up to get a big game and suddenly being incapable to log in. Login issues at Mostbet can occur for a few reasons such since forgotten passwords, consideration verification problems, or even system errors. If you can’t record in, begin by resetting your password applying the “Forgot Password” link. Ensure that the email address in addition to some other login information are correct.

Mostbet British Customer Support (4/

Mostbet has managed in order to retain the feel associated with a family company despite serving hundreds of thousands worldwide. If a person enjoy football betting then the mostbet 2 Goals In advance Early Payout Provide see bets paid out out if your group goes into some sort of two goal league. To qualify, your bets need in order to meet certain problems, like minimum” “chances, and some settlement methods might certainly not be eligible with regard to this offer. Look elsewhere cos right now there are REALLY good kinds out there, …. just not this specific one.

On this page, we’ll be diving straight into the quality regarding Mostbet’s customer service throughout 2024, including how to contact all of them, their availability, along with the overall sports gambling user experience. In this mostbet review, we found these people have numerous the majority of offers, events, bets options and in-play markets around, it’s really a amazing achievement to include this sort of slick and seamless platform. All in every, it’s the very intuitive platform and the bookmaker truly deserves a perfect 10/10 here. The bookmaker prides itself upon being the ruler of in-play betting and looking live casino online roulette at typically the market choice and betting solutions, this has earned that crown.

Genuine Online Bookmaker

You can stake as little or just as much as you desire with your bet credits as long as the risk qualifies. So you’ve had a excellent run and it’s time to money out, but your disengagement request is caught up. This can be due to several factors including pending account verification, withdrawal restrictions, or technical problems. First, make sure that your consideration details are correct and that you’ve met any gambling requirements.

Community & Events

However, the use associated with certain VPNs will be prohibited in particular countries, and Mostbet may block the account if these people suspect it is being used inside violation of regional laws or restrictions. Additionally, if a person are using your current account from exterior the country wherever it was initially created or signed up, Mostbet reserves typically the right to postpone or close of which account without see. You should make contact with their customer service team to discuss the options if this is the truth. Due to regional wagering restrictions, Mostbet isn’t available everywhere. Now, the conditions carry out give us a listing of supported currency choices, which sheds a little light on the particular situation, though right now there are many eccentricities and exceptions that will we’ll break along below. Mostbet is usually very active throughout this area plus vets customers through the Know Your current Customer (KYC) process, noting any habits where irresponsible betting may be developing and taking motion to intervene.

You should sense secured by the knowledge that mostbet required £52. 6 billion in wagers within the last financial year. Financial results like this specific underline their reputation as one of the world’s biggest online bookmakers. This regarded as a 3 stage process here, beginning with pressing in the mostbet likelihood of the bet you want to make. Doing thus will automatically add this selection to the bet slip, that will show up on the right aspect best online casino bonus canada of the display. English and Scottish leagues are protected right down to regional conference divisions, as are most other key European countries, these kinds of as Spain, Philippines and Italy. However, mostbet also features” “institutions and fixtures through Europe and the particular rest of the world that will are simply not offered anywhere else.

Nfl, Nba And Sporting Activities Betting

Whatever test or problem is thrown in the bookie, this specific mostbet review show they always come out on top. It won’t amaze you that they also do nicely amongst the ideal casino sites. The depth of the market coverage is definitely matched by the selection of betting options available here. There invariably is an endless selection regarding bet types of which rivals the choice found anywhere. Of course, you’ll find all the common – win, right score and goalscorer markets – and various other online favourites like handicap betting, race to points plus over/under goals and even points markets.

Mostbet Uk Review Additional Bonuses, Games, And More

The layout optimises in-play betting in addition to use of the guess slip, ensuring a streamlined betting method on mobile. Of course, not just about all of these bet types are offered for all features, especially for small foreign leagues. But the bookie must be commended just intended for the truth it features these leagues at all and may consequently be forgiven for this. This easy review aims in order to give you a clearer comprehending of the operator’s performance, assisting you choose if it’s a good choice for you. We use dedicated folks and clever technological innovation to safeguard our platform. Labeled Verified, they’re about genuine experience. Find out more about other sorts of reviews.

Read on to discover out what it is that makes mostbet stay ahead of the audience. The minimum downpayment for all of the above apart from Paysafecard and Paypal is £5 which often earns mostbet a new spot in our best minimum deposit sites list. If there’s anything that might cause lag or various other issues then it’s to do using your internet network and not the software. If” “you’re still having problems, it can be a technical issue. They can easily guide you through typically the process that help recognize any issues that may possibly be preventing your deposit from going through. “Therefore, it’s not surprising to see carried on international expansion.

  • This is among the strongest varieties of files security around, protecting your information using strong cryptographic important factors.
  • If the difficulty persists, it can be the issue on Mostbet’s end.
  • They also don’t want to show me what’s going on with my accounts.
  • There’s also email support plus an option in order to contact the platform via a postal address.
  • You’ll next receive an e mail for resetting your password and accessing your Mostbet accounts.

We recommend NordVPN since the best VPN for logging in to Mostbet coming from abroad, and we’ll go into more detail as to why after in this content. Not all on-line bookies have added bonuses and the strength of the one particular available the following is a lot more than enough” “to be able to deserve full signifies. Also, this indicates that all parts are clearly plus logically displayed, which in turn makes navigating around the site seamless.”

I used about half of the reward bets over 2 days and gained a little money, and then went to bed. When I woke upwards in the morning and tried to place a wager, the app stated there were constraints in the account. My friends had used all of their bonus wagers up quicker as compared to me so they will avoided” “these types of shenanigans. Clearly Mostbet realized they weren’t making money off of of me and decided to get their ball and go home. Also my withdrawals about the money Used to do make still haven’t processed after several days, so they will may have just stolen $10 from me personally.

The app is really esy-to-install and runs smoothly about both systems about mobiles and notepads. You have total access to the entire sportsbook and all offers. You need” “being logged into your own account and click your profile image http://promostbet.com followed by my account. There you can see the confirmation option with directions on what a person need to perform. Once you’ve attained certain requirements you will be able in order to withdraw money in order to your chosen settlement method e. grams. the same one used for making your first deposit. The free bets regarding UK punters will be one of the particular best in the industry, if not the best.

In several cases, it could be towards the website’s usage terms for you to make bets and play games when you are not physically in just a country wherever the site will be allowed. Doing thus may be in violation of individuals TOCs and might result in the website revoking your current account and your accessibility. You’ll have the choice to utilize either totally free or paid VPN services.

  • “We estimate that Mostbet have around 10% market share across the online betting and gaming market in britain, ” Birkin states.
  • But in purchase to make withdrawals you have to be able to verify your identity to ensure that mostbet pays the particular right beneficiary.
  • Mostbet features a handy way to keep track of how much of your bonus you’ve thrown over and how much is withdrawable.

Overall, mostbet sporting activities is a solid option for all BRITISH punters. If you want somewhere an individual can trust, this is your place to go, so when an individual sign up you’ll” “get a free bet provide. While they are usually not processed immediately like the debris, withdrawals made by way of any debit credit card will be completed within 1-3 business days. There usually are lots of various other multiple bet choices though; Super Yankee, Heinz, Patent, permed Yankee, Alphabet, Obstruct and Goliath are also available. The software excels in in-play betting, with a soft function, rapid possibilities updates, and minimal betting delays, coordinating the web based odds perfectly. Getting the mostbet sign-up bonus will be straightforward, meaning it’s really easy to claim.

On the particular flip side, there is absolutely no live support option available to players who might need to get help from a real person while within the thick regarding betting activity. Mostbet UK is some sort of safe and legitimate platform for English players and one particular of the finest online casinos throughout UK. The internet site functions by Hillside (International Sports) ENC, a business licensed and regulated by the particular Gambling COmmission, License number 39563. In the UK, mostbet it is licensed by the UK Betting Commission. It is also very attentive to responsible wagering issues, directing it is customers that have problems in this area to their partnerships with Gam Care and Gamble Aware. The conclusions of the IBAS are binding, plus they offer an self-employed adjudication service to punters when in argument with a large operator.

Mostbet UK’s intuitive site interface provides smooth navigation and hassle-free gaming. Players that love gaming upon the go have been in for a take care of since the site athletics a dedicated application that lets all of them play a common online games on Android in addition to iOS devices exactly where they are. The content blocking Mostbet imposes is simply as a method of working together with governments that will have imposed on-line gambling restrictions by itself citizens.

  • You’ll be capable to access just about all parts of typically the” “Mostbet website, regardless of your geographic area.
  • This is particularly outstanding and mostbet holds head and shoulder blades above the relax in terms associated with the depth of market coverage.
  • Most of the payment approaches are available plus the terms usually tend to be good, so there is usually little to worry about.

If you’re more at ease using written communication, shooting them an email performs great too. Plus, if you just like the personal feel, you can always give them some sort of call. You’ve already been diligently earning VIP points, but if it’s time to claim your benefits, nothing happens.

Qipco Champion Stakes: Athlete By Runner Betting Guide

For speed, NordVPN provides unlimited bandwidth, zero data caps, and some of the most effective servers on typically the market. While server speed can change according to a big number of aspects, we found of which NordVPN beat the particular vast majority from the competitors in each of our comprehensive VPN rate tests. Although upon the surface as if you can hook up while in the U. S., you’ll quickly get this is certainly not the truth. Geographic written content blocking will stop you from logging into your account. Customer service can easily be easily achieved 24 hours a day on  Survive Chat.

For The Damaging Reviews: Go Try Out Mostbet Etc And You’ll Appreaciate Mostbet

When” “contacing the customer assistance, their answer is definitely they can not gurantee the streaming coverage which is ridiculous. They don’t understand that with out live stream, there’s no point involving betting blindly. Overtime Heroics publishes news, information, and evaluations about regulated on the internet gambling operators. The information provided in the website is definitely not advice although a review associated with online casinos accepted by the State of Brand new Jersey. However, one area where Mostbet may improve is its presence on social websites platforms like Instagram. Currently, they carry out not offer assistance through Instagram or even Facebook.

NordVPN will be multi-functional, so you will find that this works on almost every operating system. The service also involves a helpful application for both Android and iOS equipment. Furthermore, the services allows you in order to connect up in order to six devices at the same time. This means you’ll be able in order to utilize your Mostbet account from multiple devices at the particular same time. NordVPN is providing a fully-featured risk-free 30-day test should you sign upward at this web page. You can make use of the VPN scored #1 for Mostbet with no restrictions intended for a full 30 days.

For example, Arsenal twice chance would include the draw as well as a great Arsenal win. On mostbet, account slots can place gambling bets over a market that is called double chance. As will be suggested by typically the name of the market industry, this gives gamers two chances in order to win. Mostbet will be an internet gambling firm based in the United Kingdom. Mostbet is one of the biggest online bookmakers on earth boasting more than 30 million customers globally.

In addition to the sportsbook, don’t forget to be able to check out the Mostbet review for any complete analysis of these services. Plus, delve into Mostbet’s exciting casino and slot game titles offerings with our own dedicated guides. Whether you’re a novice or an experienced person, Mostbet is a top-tier choice for sports activities betting and on line casino gaming on the particular go, and are 1 of the finest online betting internet sites in South Africa. You’ll likewise have the particular option to established the App to be able to data free which often will let you wager on sports with out using data.

Compared to one of its primary rivals Mostbet, that is like nighttime and day. Aside in the welcome present, Mostbet only provides two promotions plus the first one is definitely a tax alleviation for horse race winnings. Although the 6% government duty will indeed end up being paid, Mostbet will refund its buyers the equivalent sum to the winnings. As for that casino, fresh customers could have their first deposit 100% matched up in order to R2, 000. The minimum deposit you can make to qualify regarding the offer” “is R5, it have to be noted, and this deposit must be made within 30 days of subscription.

Prize Money

Mostbet is the home to numerous unique features that are not able to be found on other leading sports betting sites throughout South Africa. Through the Mostbet app, users associated with the site can easily place pre-match in addition to live bets on their favourite sports without having to use virtually any of their smartphone’s mobile data. Our high-end slots can come to life throughout superior quality in your desktop, because well as mobile phone smartphone or pill, for your ultimate high quality gaming experience. We source our video games in the world’s top games providers, who else choose your entertainment their particular goal.

Exploring Typically The Mostbet App

Simply sign up for a new account or perhaps log in to your existing Mostbet account to start playing. Once this step has been completed,  Mostbet will verify the purchase and process the withdrawal, which typically the betting brand states will take a couple of business days to complete. When withdrawing funds from a Mostbet account within South Africa, consumers will have to be able to provide a bank statement that reflects their bank consideration details and send out it via e-mail.

All The Greatest Sport Action

  • The Mostbet iphone app brings the excitement of sports bets into your palms.
  • You also can head above to the Mostbet FAQ’s page if you have any questions concerning the online sports gambling process and video games only at Mostbet.
  • The wagering requirements intended for the Mostbet bonus are 3x the particular bonus amount at odds of one. 50 or larger.
  • Once this step offers been completed,  Mostbet will verify the transaction and process the particular withdrawal, which typically the betting brand states will take a few business days to accomplish.
  • If you’re trying to find help with your Mostbet South Africa account, we’ve got you covered with everything you need to understand about Mostbet.

Etzebeth is cut back in to the team in addition to Siya Kolisi, Bongi Mbonambi, Frans Malherbe, Pieter-Steph du Toit, Cheslin Kolbe, Damian de Allende, Seelenkrankheit Libbok and Jaden Hendrikse. Rassie Erasmus’ side are nevertheless favourites to succeed it for typically the first time given that 2019 as that they hold a five-point lead within the South Americans towards the top of the particular table. If an individual need any assistance with any aspect involving your, please sense free to call us at any time and one in our friendly support staff members will be certain to help you to get in the right track.

Mostbet Mobile Betting Apps

Just reach out to us when a person need assistance through Live Chat or email. Our” “friendly team of help staff are ready and waiting in order to help you. The operator is licensed and regulated beneath the laws associated with the Western Hat Government. “I have had NO issues using this site…Every time I withdraw, I actually receive the money in a few days. “

  • “I have gotten NO issues along with this site…Every time I withdraw, My partner and i obtain the money inside a few days. “
  • Whether it’s through our easy-to-navigate internet site or on the cell phone, the Mostbet desktop and cellular platform is created to make wagering as easy because possible.
  • Eager athletics fans can down payment and place wagers anywhere, anytime, maintaining them closer in order to the action than ever before.
  • Yes, Mostbet Southern Africa offers a loyalty program referred to as Mostbet Plus, which often rewards customers for their loyalty together with bonuses, free gambling bets, and other advantages.
  • We source our game titles in the world’s top games providers, who make your entertainment their very own goal.
  • The Mostbet odds are the prices assigned to each wagering market within the platform.

In this guide, we’ll be explaining just how to download and install the Mostbet App inside South Africa. With Mostbet, customers are usually given the freedom to bet swiftly and easily together with whatever method is usually most comfortable to them. Whether it’s by way of the easy-to-navigate website or through their phones, the Mostbet online and mobile phone platform is” “created to make sports gambling as easy as probable. Eager sports supporters can deposit plus get their bets in anywhere, whenever you want, keeping them nearer to the action than previously. Each of Mostbet slots have some sort of unique and enjoyment set of bonuses in addition to features that may offer up major wins; these can be triggered from any time when playing.

  • From cricket and even rugby to tennis and soccer, there’s nothing that beats the excitement involving watching all typically the action in some sort of battle that establishes the champions.
  • One of the particular main benefits of getting the Mostbet Software is that once you have it installed about your device you can enjoy Mostbet data free.
  • Aviator offers fast become just about the most popular casino game titles, not only inside Africa, but throughout the globe plus Mostbet continues to be able to innovate with brand new features and bonus deals on this beloved casino game.
  • For instance, you might guess on a team to be way up by 4 targets at halftime, just to hedge along with a comeback in the second half involving the same online game.
  • From that menus select South Cameras and a number of available leagues that you can bet on will probably be displayed.

Concern About The Particular Game Aviator

Once you’ve received a handle upon Mostbet’s easy-to-use program, you’ll be capable to utilize the full list of athletics to ensure of which the thrill regarding competitive betting has no off-season. Once you’ve got a great understanding on just how simple you should work with the Mostbet on the internet and mobile sports wagering platform, you’ll become able to bet on the full range of sports on offer. Understanding this, Mostbet will be committed to providing a variety of the many popular sports followers to bet in. From cricket plus rugby to rugby and soccer, there’s nothing that is better than the excitement regarding watching all the action in a new battle that establishes the champions. At Mostbet Sports, a person can raise the stakes by support the participant or team of your choice, and sit back, cross the fingers, and turn mesmerized in the globe of online sporting activities betting. We usually are proud to always be the leading on the web and mobile gambling platform in the country.

Here at Mostbet, we reward an individual from the beginning along with a 100% very first deposit match upward to R1, 1000 as being a Sports Delightful Bonus. We in addition run regular marketing promotions where you may win great awards each month. Visit our promotions page regarding more information on this welcome bonus and even ongoing promotions.

If you take place to strike this lucky, depending upon your requirements, we furthermore have a variety of withdrawal methods such as ABSA Cash Send, Nedbank Send Imali, EFT and FNB eWallet. All transactions at Mostbet are protected by state of the art secure socket level SSL encryption technological innovation to ensure of which customer information remains to be secure all the time. If you find yourself desperate for a on line casino game that meets you best, you’re in luck, since Mostbet’s offering doesn’t end there. If you’re looking for mostbet something more informal, try out Betgames – a permanently reside set of games of which give the chance to bet smaller than average win big.

If you are looking for something also more exciting, Mostbet offers live bets through Live In-Play, letting you wager as the action unfolds in true time. All in the features that a person can find about the website are usually present within the application as well plus punters can perhaps switch on notifications regarding sports events. This is something that will the website does not offer, as nicely as the comfort of just opening the app rather than a browser. On the App Store (iOS), the Mostbet app has a great rating of 4. 5 out involving five stars, and we even called it the very best bets app in To the south Africa. Unfortunately, punters who sign up at Mostbet will be let down to find away there are not that many promotions to claim.

One of the particular main great things about downloading it the Mostbet Software is that after getting it installed about your device you can enjoy Mostbet data free. Our App offers sports activities betting, Casino Games, live sports bets and streaming in addition to so much a lot more. Feel the enjoyment of a gambling establishment when you phase into our Reside Casino lobby location. With a variety of popular online casino games like Holdem poker, Roulette and Blackjack we also offer Live Games like, Fantasy Catcher, Deal or No Deal Live and Lucky 7 and crash online games like aviator, JetX, Skyward. Our Survive Games make work with of real retailers at real dining tables and take place in live dealer casino uk real-time via a live feed.

Did you know that you can easily do all your own Mostbet online football betting from typically the palm of the hands? With the Mostbet mobile app a person can bet upon soccer (or any of the sports we provide for this matter) by anywhere, at any kind of time as long as you have got internet access. Mostbet offers soccer fans across South The african continent the opportunity to bet upon soccer to their own heart’s content.

Once you possess clicked on the Choose League option all you have in order to do is scroll in your preferred country within the drop down menu, simply click this and then pick the league that an individual are looking for. Simply click on the particular “Sign Up” button for the homepage plus complete the enrollment form. Place some sort of Match Result guess for the Springboks by 20 June in order to 28 September plus if they get up by several points, get compensated out being a champion, up to R7, 000 cash, set up Boks lose.

Patrick is the face of Onlinegamblingsa. co. za – he joined us years back as a durham writer and arrived up through the particular ranks to turn out to be an indispensable section of the team. He’s the secret weapon, the gambling expert plus a massively talented copy writer with a knack to create complicated points simple, all when writing with journalistic objectivity. “Wow, this is undoubtedly typically the best site at any time! Fast withdrawal and even great customer support. Won 1300 upon the second online game on Saturday, plus the winnings will always be in my bank the next day or Wednesday. Best site ever. ” Compared to Bet 365, Mostbet has a more streamlined net presentation.

The app will be designed with useful navigation, allowing a person to easily place bets, explore markets, and even participate in live betting. Live betting lets you wager on sporting activities events as that they unfold, enhancing the excitement with real-time action. Ultimately, in the event that you’re a die-hard Diski fan or even looking to have the thrill of football betting for typically the first-time, you can’t fail with the bet on the Mostbet desktop and cell phone sports betting platforms. It’s sure in order to add a bit of drama and pleasure to your connection with the beautiful game. With competitive odds offered for every single soccer match imaginable and a thorough range of gambling markets to choose from, Mostbet Southern Africa has built online sports gambling simple and even more exciting than at any time.

Their odds cover up everything from the Leading League down in order to youth tournaments. South African punters which choose Mostbet usually are in for some sort of fantastic sports bets experience. The Mostbet App is well-known for South Africa bettors, offering a new seamless experience throughout Apple, Android, and even Huawei devices.

Mostbet Comes To South The African Continent Soccer Betting

From the home-page on your personal computer or mobile device, simply click on to Sign Upward and fill throughout the registration kind with the necessary details. Make you need to check out our own Welcome Offer and even look into the Promotions webpage regularly for presents. The Mostbet web site is accessible on mobile phone, and what’s perhaps better, you are able to take pleasure in the same functions as you might for the desktop version. You’ll see the similar dark theme design and easily attainable sections which are reactive. Once there is a great internet connection, you are able to enjoy seamless on-the-go betting on iOS and Android mobile phones. Currently, the agent offers a register bonus of 100% match bonus associated with up to R2000 when you make your first downpayment.

Soccer is usually clearly the most popular form in the land with clubs such as Kaizer Chiefs and even Orlando Pirates firmly being the lover favourites. Rugby in addition to best online casino vip programs Cricket also share in fan acceptance with massive assistance directed at the two the national squads and at membership level with Very Rugby and typically the Sunfoil Series. On top of this particular, South Africa also celebrates individual superstars in sports just like Golf, Tennis plus Athletics. So, no matter if you” “usually are bonkers for boxing or mad with regard to motorsports, you in no way have to miss out and about on the enjoyment of wagering on your favourite individuals and teams correct here at Mostbet.

You’ll also be moved into to win epic exclusive prizes this kind of as match entry pass and jerseys. For all the most current sports news, betting suggestions and promotions follow Mostbet on Facebook,  Twitter,  Instagram and YouTube. The goal is always to cash out before typically the plane flies away, but you never understand when which will be. The longer you wait, the higher the multiplier will climb and the bigger your get will be. From three-reel and five-reel slots, to holdem poker, blackjack, roulette and even more. Mostbet provides hundreds of different casino experiences so that you can enjoy. Mostbet prides itself on providing a VIP experience to any or all members and providing rewards to just about all loyal players.

Whether you choose to play that safe using a Double Chance bet or even a basic match result, many of us have something with regard to you. If you know your stuff and think you may predict the results associated with a game for the minute, you can easily bet on the particular correct score, who will score first and even any time” “the goals will proceed in! There usually are overs and unders, handicaps, odds or even evens and everything in-between to create sure you never ever be depleted of anything at all to chat to your mates about. With Mostbet, you are given the independence to bet upon your favourite crew quickly and effortlessly with whatever method you find beloved. Whether it’s by means of our easy-to-navigate site or on the cellphone, the Mostbet desktop and cellular platform is developed to make wagering as easy because possible.

“Because of this players can enjoy impressive payouts if possible. In improvement, Mostbet has some sort of massive variety of game titles and sports situations you can wager on. The gambling establishment games include a new vast collection regarding instant games plus table games together with something to appeal to everyone. Aviator features fast become probably the most popular casino video games, not only throughout Africa, but across the globe in addition to Mostbet continues to be able to innovate with brand new features and bonus deals on this much loved casino game. Aviator is both simple to play and thrilling to bet on, putting you in control while you try to get a number of the largest payouts possible.

Yes, Mostbet Southern region Africa offers virtual sports betting, which allows you to guess on computer-generated simulations of sports situations. Yes, Mostbet” “South Africa offers live streaming of selected athletics events through the website and app. You can check typically the schedule to see which events are usually available for are living streaming. Whether you’re new to online betting or a new seasoned gambler, Mostbet gives a secure, interesting, and responsible surroundings to indulge inside your favorite betting activities. Discover read more about this premier betting destination in our own detailed Mostbet Review.

Üstəlik, hər bir mərcdən maksimum” “yararlanmaq üçün inanılmaz bonuslar və promosyonlarımızdan yararlana bilərsiniz. Mostbet mobil proqramı Android os və iOS əməliyyat sistemlərində olan cihazlar ötrü əlçatandır. Tıxanmalar, texniki problemlər və ya özgə səbəblər giriş üçün müəyyən maneələr yaradır. Güzgülərdən istifadə edərək hər bir oyunçu zahiri amillərdən bağlı olmayaraq oyun təcrübəsinin mümkün kəmiyyət sərbəst və fasiləsiz olacağına əmin ola bilər. Tək mərc qoyarkən oyunçunun mərc etdiyi komanda pointspread-i dövrə etməlidir.

Xidmətin təhlükəsizliyi JAZ 9247 lisenziyası ilə təmin edilir.Sənəd Kyurakao Hökumətinin Oyun Fəaliyyətləri Komissiyası tərəfindən verilmişdir. İndi Android üçün Mostbet proqramını endirin və əziz idman növlərinə mərc etməyə başlayın. Onu quraşdırdıqdan sonra məlumatlarınızı istifadə edərək qeydiyyatdan keçin və müxtəlif idman növlərinə mərc etməyə başlayın.

Promokodlar Mostbet Azərbaycanda

Mostbet-də onlayn kazinoya daxil olmaq ötrü sadəcə hesabınıza daxil olun və kazino bölməsinə keçin. Siz blackjack, rulet, baccarat və bir daha başqaları daxil olmaqla müxtəlif məşhur oyunlar arasından seçim edə biləcəksiniz. Xoş gəldin bonusu hesabı 3 manat məbləğində doldurarkən aktivləşdirilə bilər. Bundan əlavə, idman bölməsində kupona 4-dən daha idman tədbiri artıq etməklə turbo-ekspressdən istifadə eləmək imkanı mal. Mostbet-AZ91-də basketbola mərc etməzdən başlanğıc oyunçulara oyunöncəsi müşahidə aparmaq tövsiyə olunur ki, bu da daha müddət tələb etmir. Sosial şəbəkələr vasitəsilə qeydiyyatdan keçərkən siyahıdan uyar messenceri seçməklə onlardan istifadə etməklə daxil ola bilərsiniz.

Mostbet AZ 91-də siz kataloqdakı oyunları bonus turunun və ya pulsuz fırlanmaların mövcudluğuna üçün çeşidləyə bilərsiniz. Siz həmçinin var-yox balıqçılıq mövzulu və ya təmtəraqlı dəyişkənliyə olma slotları seçə bilərsiniz. Mütləq bir dəfə oynayın, qazandıqda rulet oyunu daha parlaq hisləri insana yaşadan vahid oyundur. Bütün məşhur proqram təminatçılarında bu obrazlı oyunları görə bilərsiniz.

Addım 2: Qeydiyyat

Mostbet Internet casino həmçinin canlı diler oyunları təklif edir, burada istifadəçilər genuine vaxt rejimində praktik dilerlərlə oynaya bilərlər. Mostbet AZ-91 həmçinin Azərbaycanda istifadəçilər üçün mobil proqram təklif edir. Canlı mərclər istənilən idman növünə, o cümlədən futbol, voleybol, basketbol və h.

  • Mostbet-dən uduşlarınızı ard çixmaq üçün hesabınıza daxil olun və üstünlük verdiyiniz pul çıxarma üsulunu seçin.
  • Mobil proqramın bir başqa üstünlüyü – smartfonda kontentin vahid hissəsini saxlamaqla trafik iqtisadiyyatıdır.
  • Və başa düşdüyünüz kimi, bunun üçün sənədlərinizi bukmeker kontoruna təqdim etməyinizə lüzum yoxdur.
  • MOSTBET, əsasən yeni başlayanlar tərəfindən qiymətləndirilən geniş və genişləndirilmiş vahid bonus sisteminə malikdir.
  • Mostbet AZ 91 totalizatorunun cekpotunu var-yox mərc edən və 15 hadisəni təxmin edən istifadəçi ala bilər.
  • Üstəlik, hər vahid mərcdən maksimum yararlanmaq üçün inanılmaz bonuslar və promosyonlarımızdan yararlana bilərsiniz.

Böyük ehtimallar və xəyali xüsusiyyətlərlə ehtiyaclarınıza uyğun bir şey tapacağınızdan əmin olacaqsınız. Avropanın daha görkəmli idman kitablarından biri ilə siz futbol, reqbi, tennis, basketbol və s. Bukmeker kontoru 20 ildən çoxdur fəaliyyət göstərir və Azərbaycan hökuməti tərəfindən bölünməz lisenziyaya malikdir. Mostbet obrazli yayım, tək mərclər, çoxsaylı mərclər və kombo mərclər kimi geniş funksiyalar təklif edir. Siz həmçinin onların cashback və mənfəətin artırılması seçimləri daxil olmaqla nəhəng promosyonlarından və bonuslarından həzz ala bilərsiniz.

Loyallıq Proqramı Və Kazinoda Keşbek

Çoxlu mərc bir hadisənin bir neçə nəticəsini birləşdirir və əmsallar vurulur. Bu, çox riskli bir seçimdir, çünki hadisələrdən biri istənilən nəticəni verməsə belə, ümumən kupon ölçüsü itirilir. Mərcin səhv hesablanması, əksik limitlər, hesabınıza daxil ola bilməmək və h. Qeydiyyat zamanı göstərdiyiniz metoddan bağlı olaraq, e-poçt və en este momento telefon nömrəsini yazaraq 1 kliklə klubun saytına” “daxil ola bilərsiniz. Beləliklə, əmsal nə miqdar yüksək olarsa, mərcdə nə miqdar ən hadisələr olarsa, pul itirmə riski bir o qədər təmtəraqlı olar. Yenə də, əgər ekspress mərc görmək istəyi yoxa çıxmayıbsa, təxminən 2 əmsalı olan 2-3 hadisə zəncirini seçmək vacibdir.

Siyahı yetər qədər məhduddur və məcburi qayda bölmədə təqdim olunan bütün hadisələrə mərc etməkdir. Siz bütün nəticələrə əl ilə mərc edə və ya bölməyə gələnlərin əksəriyyəti ilə eyni seçim edə bilərsiniz. Nəticələrin təsadüfi qaydada təyin olunduğu avtomatik mərc üçün seçim də var. Əgər axın mövcud deyilsə, o zaman lap yaxşı nəticəni tökmək üçün hər zaman uzun infoqrafikadan istifadə edə bilərsiniz. Pulsuz yayımlara başlanğıc əldə görmək üçün Mostbet-AZ91 saytına daxil olmaq kifayətdir. Kazino bölməsində təqdim olunan lap əhəmiyyətli əyləncələrdən danışsaq, pokeri fikir etməyə əhəmiyyət.

Mostbet’teki Oyuncular Için Bonuslar

Mostbet müştərilərini 24/7 e-poçt və canlı dəstək xidməti vasitəsilə dəstək ilə təmin edir. Müştərilərin istənilən suallarını cavablandırmaq və ya onların yaranan problemlərini həll eləmək ötrü subyektiv müştəri xidməti heyəti iş göstərir. Mostbet hər vaxt artıq səy göstərməyə və müştəriləri xoşbəxt eləmək ötrü həllər təqdim etməyə hazırdır. Mərc oyunlarında qazana biləcəyiniz məbləğ, oynadığınız oyunun təklif etdiyi ödəniş cədvəli və məbləğlərə bağlıdır.

\e

Onun mahiyyəti intresserad hərəkətlər üçün “koinlər” aparmaq və toplamaqdan ibarətdir. Basketbol mərcləri də lap görkəmli və daha mərc edilən idman növlərindən biridir. Mostbet Azerbaycan yukle basketbol mərcləri üçün ən yüksək platforma ilə tanış ola bilərsiniz! Mostbet proqramında basketbol mərcləri görmək özgə idman növlərinə mərc etməklə eynidir və daha sadədir. Bunu birbaşa saytda edə bilərsiniz – söhbət səhifənin daha aşağı hissəsindədir. Birincisində APK qondarma faylını yükləməlisiniz, ikincisində onu quraşdırmalısınız.

  • Mostbet onlayn kazino Azərbaycan world wide web məkanında müxtəlif provayderlərdən olan oyunların lap ətraflı çeşiddə təqdim edən kazinolardan biridir.
  • Bu, daha təmtəraqlı əsər qabiliyyətliliyi, bloklanmanın olmaması və izafi funksiyalar ilə bağlıdır.
  • Hesabınız yaradıldıqdan sonra istifadəçi adı və şifrənizlə Mostbet proqramına daxil ola bilərsiniz.
  • Müştərilər mərc təcrübələrindən daha ən faydalanmaq üçün bu təkliflərdən yararlana bilərlər.
  • Nəzərə alın ki, hesaba vəsait köçürsəniz, onu dərhal çıxara bilməyəcəksiniz, ən azı bir mərc qoymalı olacaqsınız.

Məqsədiniz 21-i keçmədən 21-ə yaxınlaşmaqdır və 21-i keçmədən dileri məğlub etsəniz, qazanırsınız! Sadə qaydaları və təmtəraqlı bahisləri ilə blackjack hər hansı bir gecənin maraqlı hissəsi olacağına əmindir. Bu oyunda oyunçular topun rulet çarxında fırlanmasını dayandırdıqda hansı nömrə və ya rəngin çıxacağını düşündüklərinə mərc edirlər.

Mostbet Az-90 Bonusları

Əyləncə onlayn portalının əsas səhifəsi idman, ədəbli, ictimai-siyasi yaşayış və e-idman növlərində hadisələr haqqında bahislərə verilir. Buna ötrü də, rəy bildirməkdən çəkinməyin, müəyyən edilmiş səhvləri bildirin. Seçim App Store parametrlərində aktivləşdirilibsə, iOS planşetləri və smartfonları üçün proqramlar özlərini yeniləyir. Basketbol mərclərini etməmişdən öncə bəzi faktorları araşdırmağınız ən obyektiv mərc etməyiniz ötrü vacibdir.

  • Şirkət həmçinin Handikaplar, Düzgün Hesab və Ümumi Məqsədlər də iç olmaqla geniş çeşiddə bazarlar təqdim edir.
  • [newline]1 nömrəli bukmekerə çevrilən Mostbet kontorunun qlobal istifadəçilərinin sayı 1 milyondan çoxdur!
  • Qarşılaşmadan əvvəl ümumən oyunlar mövcuddur, siz ümumiyyətlə saytda mərc edə bilərsiniz mostbet apk.
  • Mostbet kazino oyunçulara depozitsiz inanılmaz bonusdan yararlanmaq fürsəti təklif edir.
  • Ümumilikdə, 26 idman və eSports bölməsi oyunçular üçün mövcuddur ki, bu weil ən əla göstəricidir.

Sənəd Curacao Hökumətinin Qumar Oyunları Komissiyası tərəfindən verilib. Təklif olunan kazino oyunları etibarlı provayderlər tərəfindən hazırlanır. Hər bir tərtibatçı əldə edilmiş lisenziya və sertifikatlara əlaqəli olaraq tuş nəticələrə zaminlik verir. Hesablamalar üçün sərbəst təşkilatlar tərəfindən təqdim olunan təsadüfi dənə generatorlarından istifadə olunur.

Mostbet-də Pul Yiğma Və Ixrac Bonusları

Faylların quraşdırılması paketini yüklədikdən sonra istifadəçi uydurma prosesinə başlamalıdır. Məsələn, lap əla basketbol yarışları üçün onların 100-dən bax: əksəriyyət, cahanşümul tennis turnirləri üçün isə 50-dən bax: əksəriyyət mülk. Xokkey daha yaxşı təmsil olunur, onun oyunları ötrü 150-dən çox bazar mülk. Böyük idman yarışlarına mərc etməkdən artıq, oyunçular sıradakı kiçik çempionatlardan və hətta həvəskar liqalardan da yararlana biləcəklər. Canlı oyunlar olan bölmədən mərc etmək üçün istifadə etsəniz, oyun sizin üçün daha həyəcanlı və əlamətdar olacaqdır.

  • Mostbet AZ 91 veb saytında bunun ötrü canlı kazino təqdim olunur, elliklə müasir başlayanlar onunla tanış olmalıdır.
  • Bu, saytda danışmaq olar ki, tam şəkildə təqdim olunan cryptocurrency nəzərə alınmadan – təzə əlamətlərdən stablecoinlərə qədər.
  • Bütün bu xüsusiyyətləri ilə Mostbet AZ-90 Azərbaycanda asudə və təhlükəsiz mərc təcrübəsi axtaran hər kəs üçün məqsəd yerdir.
  • Bu bonus bütün en təzə müştərilər üçün əlçatandır və oxşarı zamanda onlara risksiz, depozitsiz bonusla kazinoda oynamağa durmaq imkanı verir.

Azərbaycanda Mostbet kazinosunda siz izafi şəxsi xidmətlər ötrü eksklüziv VERY IMPORTANT PERSONEL klublara qoşula bilərsiniz. Bu bonus bütün en təzə müştərilər ötrü əlçatandır və eyni zamanda onlara risksiz, depozitsiz bonusla kazinoda oynamağa başlamaq imkanı verir. Bərpa giriş düyməsini basın və əski parolu sıfırlamaq üçün kodu olan məktub və ya TEXT şəxsi hesabınızın əlaqə məlumatlarına göndəriləcək. Hesabınızı doğruladığınıza arxayın olun, çünki bunsuz ödənişləri götürmə görmək mümkün olmayacaq.

Virtual Idmanlar

Mostbet AZ bukmeker kontoru azərbaycanlı oyunçular üçün daha yüksək seçim miqdar olunur. Şirkətin etibarlılığı Curacao Hökumətinin Qumar Komissiyasından lisenziyanın olması ilə bağlıdır. Lisenziya, sertifikatlar və fəaliyyət icazələri mostbet casino Azərbaycan ərazisində qanuni edir. Daimi oyunçular 20-dən ən promosyonun mövcud olduğu bonus proqramından yararlana bilərlər.

Burada sayta giriş və bukmeker kontorunun özü haqqında ətraflı elan verərək danışacağıq. Mostbet giriş sonra oyunçu başlanğıc düyməsini sıxaraq şəxsi hesabına daxil olmaq ötrü seçimlərdən birini istifadə edə bilər. Bərpa giriş düyməsini basın və əski parolu sıfırlamaq üçün kodu olan məktub və ya SMS şəxsi hesabınızın münasibət məlumatlarına göndəriləcək. Kodu daxil etdikdən sonra oyunçu müasir parol təyin edir və sonra Mostbet başlanğıc bunu sınaya bilər.

Mostbet İdman Mərcləri Mübadiləsi

Adi bahis ilə oyunçu yalnız bir hadisəni seçir və sonra gözlənilən nəticəni göstərir. Bu da bahisçilər arasında o kəmiyyət də məşhur deyil, çünki bu növ MOSTBET dürtmək ötrü kuponda oxşarı vaxtda bir neçə hadisə toplamaq lazımdır. Ən böyük və həqiqətən olaraq vahid qanuni idman bahis operatoru Topaz məhdud bir iz təklif edir. Tətbiqi yükləmək ötrü linklərdən birinə keçin, sonra bir miqdar yaradın və bekker sıralarına qoşulun. Növbəti tiraj başlamazdan ibtidai oyunçuların mərc etməyə müddət tapması vacibdir. Sadəcə üstünlük verdiyiniz metodu seçin və depozit düzmək üçün təlimatlara ümid edin.

\e

Tətbiq mağazasına iç ola duymaq ötrü link şirkətin saytında mövcuddur. Mostbet bukmeker kontoru yeni başlayanlar ın birinci depozitinə 550 AZN miqdar hədiyyə verir. Onlardan məlumat çixmaq üçün Mostbet profildə e-poçt daxil etmək lazımdır.

  • “Aviator” oyunu ilə daha ətraflı aşna olmaq üçün ən yaxşısı demo rejimdə onu yoxlamaqdır.
  • Siz həmçinin bukmeker kontorunda əmsalların formatını (onluq, Amerika, İngilis, Malay, İndoneziya, Honq Konq) və saat qurşağını dəyişə bilərsiniz.
  • Buna üçün, həqiqətən quduz, sevimli komandaya mərc görmək tövsiyə olunur, baxmayaraq ki, onların əmsalı ən aşağı olacaq.
  • Biz tövsiyə edirik ki, mərc limitlərinizi aşmayın və hər müddət Məsuliyyətli Oyunprinsiplərinə nəzarət edin.

5 idman növü mövcuddur ki, onların hər birində bir neçə mahiyyət çempionat, o cümlədən Azərbaycan liqaları fəaliyyət göstərir. Mоbil vеrsiyа sürətli bir şəkildə işləyir və nisbətən dаhа аz intеrnеt trаfikindən istifаdə еdir. Mоstbеt bukmеykеr şirkətinin qаnuni оlаrаq 18 yаşını tаmаmlаmış hər bir şəxs qеydiyyаtdаn kеçə bilərsiniz. Mərс şirkətini həmçinin Аzərbаyсаndаn оlаn istifаdəçiləri də götürmə еdir. Bilmək lazımdır ki, Rusiya saytına proloq mostbet.ru digər ölkələrdən əsla bir oyunçu yoxdur.

Hər Günəş Müasir İl Mostbet Bonuslarını Qazanın!

Vəsaitlər uğurla emal edildikdən sonra, çoxu ödəniş üsulları üçün depozitlər adətən fifteen dəqiqədən ən çəkmir. Bəli, müştərilər Mostbet AZ-90 hesabında qeydiyyatdan keçdikdən sonra promotional kodları iç edə bilərlər. Bu file nümunə funksionallığı qiymətləndirmək və mərc oyunları ilə məşğul olmaq istəyən təcrübəsiz oyunçulara daha çox uyğundur.

  • Xeyr, Mostbet AZ-90-da əmanət və ya vəsaitin çıxarılması üçün komissiya yoxdur.
  • Kimi daha tanımlı və sərbəst ödəniş metodlarını istifadə edə biləcəksiniz.
  • Bahisçilər müxtəlif bölmələrdən hadisələri vahid mərcdə birləşdirə bilərlər.
  • Bununla belə, onlayn qumar oynamaq üçün oyunçular 18 nəmiş və ya daha daha olmalıdır.

Hesab yaratmaq üçün bütün prosedur 2 dəqiqədən daha boş ara tələb etmir. İstifadəçilərin artan tələblərini nəzərə alan bukmeker şirkətləri öz mobil versiyalarını və mobil tətbiqlərini inkişaf etdirməkdə davam edir. MostBet mərc şirkəti də MostBet mobil versiya və mobil tətbiq vasitəsilə bu tendensiyaya qoşulur.

Mostbet Tətbiqini Istifadə Görmək Azərbaycanda Qanunidir?

Naməlum mənbələri aktiv etdikdən sonra yükləmə səhifəsinə qayıdın və “İndi Yükləyin” düyməsini klikləyin. Yükləmə prosesini tamamladıqdan sonra yüklənmiş proqram faylını açın və quraşdırmanı təsdiqləmək üçün “Quraşdır” düyməsini basın. Quraşdırma tamamlandıqdan sonra, siz artıq Tətbiq ilə Azərbaycanın istənilən yerindən mərc oynamağa başlaya bilərsiniz! Proqramı yükləmək üçün sadəcə iTunes mağazasına daxil olun və “Mostbet” axtarın. Proqramın iOS cihazınızda quraşdırılması prosesini başa ötürmək ötrü yuxarıda təsvir edilən tayı addımı (2-4-cü addım) edin.

  • Bundan izafi, siz adi Mostbet tətbiqini Android və ya IOS-da yükləyə bilərsiniz.
  • İstər müasir başlayan, istərsə də təcrübəli qumarbaz olmağınızdan asılı olmayaraq, Mostbet-27 Burc şirkətində hər kəs üçün nəsə mal.
  • Proqramın bölmələrində əsla bir reklam bannerləri və parlaq işarələr yoxdur.
  • Bəli, Azərbaycanda idmana mərc etmək və ya kazino oyunları əylənmək istəyən hər kəs üçün yüksək seçimdir.

Lakin o, proqramlardan daha yavaş işləyir və barmaq izi ilə başlanğıc ilə trafikə iqrar etmir. Bəli, bukmeker kontoru Kurakao hökumətinin verdiyi lisenziya əsasında fəaliyyət göstərir Bu, dünyada daha aşağı qiymətlərdən biridir və bu platformada daha təmtəraqlı əmsalları göstərir Bəli, ümumən təzə oyunçulara 550 AZN-ə miqdar depozitlər üzrə əvəzsiz fırlanmalar və bonuslar verilir Müştərilər immersiv online mühitdə blackjack, rulet, baccarat və poker kimi klassiklərdən səfa ala bilərlər. Daha əməli təcrübə üçün bu oyunları canlı dilerlərə ziddinə oynamaq imkanı da varifr?

Mostbet Kazinonu Icad Edin

Bunun yanında, bukmeker öz sosial şəbəkələrində təzə kodları dərc edə bilər. Mostbet promo-code hərdən aktiv oyunçulara e-poçt vasitəsilə və ya Doğum günü hədiyyəsi kimi varidat. Az məşhur turnirlər və növlər 100-dən 500-ə qədər effekt variantlarını daxil edə bilər. Kibersporta və Canlı oyunlara ənənəvi şəkildə əksik koefitsientlər qoyulur.

  • Maliyyə əməliyyatlarının təhlükəsizliyi və rahatlığı istənilən bukmeker kontorunun keyfiyyət və populyarlığının mahiyyət göstəricisidir.
  • Bu mərc şirkəti öz müştərilərinə maraqlı kazino oyunları da təklif edir.
  • Bəli, e-poçt və ya bədii müsahibə vasitəsilə həftənin several günü, günün twenty four saatı mövcud olan yaşlı müştəri xidməti komandası mülk.
  • Bu metodun daha asan və iti olmasına baxmayaraq, onu son miqyas çəkinə-çəkinə müalicə etməyinizi tövsiyə edirik.
  • Casino saytının ‘Promo’ bölməsinə daxil olaraq Mostbet-də turnirlərdə və ya lotereyalarda iştirak edə bilərsiniz.
  • Şərtləri yerinə yetirdikdən sonra bonus hesabında qalan məbləğ əsas məbləğə köçürüləcək.

Nə miqdar daha insan müraciət etsəniz, vahid o miqdar çox pul qazana bilərsiniz! Bukmeyker Venson LIMITED tərəfindən idarə olunur (qeydiyyat nömrəsi HE ). Siz Mostbet kazinosunda qeydiyyat olmadan oynaya bilərsiniz, var-yox əvəzsiz sınaq demo rejimində. Əgər istifadəçi para qazanmaq istəyirsə, o zaman say yaratmaq məcburidir. Bukmeker kontoru istifadəçidən yoxlamadan keçməyi xahiş edərsə, prosedur 5-7 günə kəmiyyət çəkə bilər. Qaydalarda göstərilən reward çəkilişləri ötrü bütün şərtlərə ümid edin.

Mostbet-də Poker Oyunları Və Ya Turnirləri Necə Oynaya Bilərəm?

Bu yaxınlarda Mostbet-də futbolla yanaşı, müştərilər toqquşma sənətinə mərcləri seçirlər. Bundan sonra mərcin doğru ölçüsü seçilir və tədbirin başa çatması gözlənilir. Artıq oyun ötrü ilkin miqdar olanda futbolda bədii mərc eləmək ən sərfəlidir. Sağ blokda hədis kuponu üçün və Canlı-kazinoda ən populyar slotlar və oyunlar bölməsi ötrü yer ayrılmışdır. Sağ az küncə canlı-çat dəstək xidməti təmsilçiləri ilə əlbəəl bağlılıq üçün düymə bərkidilmişdir.

  • Belə ki, demo rejimdə siz mərc qoymadan oyun gedişatı ilə dost olmaq fürsəti əldə edirsiniz. [newline]Oyunun əlçatan olduğu ümumən casino platformalarda demo rejimi də dəstəklənir.
  • Mostbet kazinosu bütün səviyyələrdə və üstünlüklərdə olan oyunçular ötrü geniş çeşiddə oyunlar və qumar əyləncələri təklif edir.
  • Burada siz var-yox tanımlı turnirləri yox, həm də az divizionları əhatə edən görkəmli futbol və ya tennisin geniş siyahısını tapa bilərsiniz.

Sizlərə iş verməyə durmaq və heyətamızın bir hissəsi olmaq üçün sizi Mostbetə dəvət edirik. Bundan sonra oyunların müxtəlif kateqoriyaları olan menyuya olmuş olacaqsınız. Sonra isə istədiyiniz oyunu seçin, sadəcə klikləyin və yüklənməsini gözləyin. Məsələn, 6 kombinasiya ilə 4-ü doğru proqnozlaşdırılırsa, bahis qazanılmış miqdar olunur.

  • Dünyadakı bütün usta və vahid daha həvəskar yarışmaları özündə birləşdirən möhkəm bir sıra ilə bu bölmə heç vaxt boş olmayacaq.
  • Qarşılaşmadan əvvəl bütün oyunlar mövcuddur, siz ümumiyyətlə saytda mərc edə bilərsiniz mostbet apk.
  • Mostbet kazino oyunçulara depozitsiz inanılmaz bonusdan yararlanmaq fürsəti təklif edir.
  • Şirkət həmçinin Handikaplar, Düzgün Hesab və Ümumi Məqsədlər də daxil olmaqla ətraflı çeşiddə bazarlar təqdim edir.

Əvvəlcə say məlumatlarınızdan istifadə etməklə Mostbet veb-saytı və ya mobil tətbiqinə proloq etdiyinizə əmin olun.” Statistikaya, rəngarəng overall və handikaplara mərclər, oyunçuların subyektiv nailiyyətlərinə mərclər var. Bu proqramla siz Azərbaycanda mövcud olan daha yüksək idman bazarlarına və təkliflərə daxil landa, həmçinin mülayim gəlmisiniz bonusları, pulsuz mərclər və s.

Mobil Proqramı Necə Quraşdırmaq Olar?

Mostbet Azərbaycan həmçinin en yeni və mövcud müştərilər üçün rəqabətli əmsallar və bonuslar təklif edir. Siz klassik 3 və five çarxlı oyunlar, eləcə də qocaman ödəmə potensialı olan proqressiv cekpot oyunları arasında seçim edə bilərsiniz. Bu səbəbdən, mərc qoyarkən 10 manat artımla (22, 55, 110, 550 və s. ) davam eləmək lazımdır. Mostbet Azərbaycanın mobil tətbiqləri futbol həvəskarlarına istənilən yerdən mərc qoymaq imkanı verir.

Kart oyunları, əsas poker, blekcek və kart oyunlarının digər variantları müxtəlif rejimləri yoxlamaq istəyən kart oyunlarını sevənlər üçün ən əhəmiyyətli olacaq. Qumar oyunçususunuzsa və kart oyunlarını sevirsinizsə, oynamağa çalışın. Lotereya danışmaq olar ki, hər zaman davam edən və daha ürəyiaçiq şəkildə keçirilən oyundur, burada sadəcə sizə bəxt lazımdır. Sonra isə barabanın fırlanıb rəqəmləri verməsini və qazanmağınızı durmaq qalır. Mostbet həmçinin istifadəçilər ötrü onluq, kəsr və Amerika əmsalları da iç olmaqla bir neçə uçurumlu əmsal təklif edir.

Mostbet Onlayn Kazino

Bukmeker kontoru yüksək əmsallar təklif edir, çünki marja tanınmış çempionatlar üçün 5 faizdən başlayır və kiçik bölmələr üçün eight faizə çata bilər. Yаlnız müvаfiq səhifədə göstərilən аksiyа şərtlərini yеrinə yеtirmək lаzımdır. Rəsmi veb-sayta iç olaraq öz mərcinizi Azərbaycanın milli valyutası olan AZN-lə edə bilərsiniz.

  • Bu, saytda söyləmək olar ki, bölünməz şəkildə təqdim olunan cryptocurrency nəzərə alınmadan – müasir əlamətlərdən stablecoinlərə qədər.
  • Mostbet AZ 91 veb saytında bunun üçün canlı kazino təqdim olunur, bütün müasir başlayanlar onunla tanış olmalıdır.
  • Bu bonus bütün en təzə müştərilər ötrü əlçatandır və eyni zamanda onlara risksiz, depozitsiz bonusla kazinoda oynamağa başlamaq imkanı verir.
  • Bütün bu xüsusiyyətləri ilə Mostbet AZ-90 Azərbaycanda təhlükəsiz və asudə mərc təcrübəsi axtaran hər kəs üçün məqsəd yerdir.
  • Mostbet AZ-90 həmçinin müştərilərə xətlərin və əmsalların ətraflı seçimini təqdim edir.
  • Yüklədikdən sonra ad, doğum tarixi və ünvan kimi bəzi subyektiv məlumatları təqdim etməlisiniz.

Əgər tətbiqdə giriş etməklə bağlı problemlə üzləşirsinizsə, cihazınızda stabil world wide web əlaqəsinin olmasına əmin olun. Təhlükəsizlik xidməti müştərilərin iç etdiyi ümumən şəxsi məlumatları qorumaq üçün SSL şifrələməsindən istifadə edir mostbet azerbaycan. Nə qədər iti-iti oynasanız, qumarın mahiyyətinə o kəmiyyət semblante vara biləcəksiniz. Edilən hər mərc loyallıq proqramında istifadə olunan added bonus xalları gətirir. Mostbet-in rəsmi saytında qeydiyyatdan keçərkən vur-tut actual istifadəçi məlumatlarını göstərməlisiniz. Qeydiyyatda daxil etdiyiniz məlumatlarla pasport arasında uyğunsuzluq olmamalıdır.

Obrazli Online Casino Siteleri 2023 Yeni Ve Güvenilir

Bu var-yox qumar oyunları ilə üstüörtülü yerli qanunvericilik rahatlandıqdan sonra əsas verəcəkdir. Yalnız oyunçuları yox, həm də tərəfdaşları bihuş edən yaradıcı həlləri sayəsində şirkət lap innovativ tərtibatçılar sırasındadır. Pulsuz fırlanmalar 55 pulsuz fırlanma bloklarında verilir, hər blok 24 saat ərzində mərc edilir. Ancaq daha rahat metodlardan biri də müştəri dəstəyi ilə təsdiqləmə etməkdir. Ancaq aram üçün SPA versiyası başqa bukmeker şirkətlərinin, məsələn, 1xbet tətbiqlərindən az deyil. Düzgün işləyir, hətta tutqun prosessorları olan cihazlara da yükləyir, 10 ildən ən əvvəl buraxılmış və 1 GB yaddaş tutumu ilə.

  • Bundan artıq, seçilmiş pul çıxarma” “üsulundan əlaqəli olaraq aşkar mərc tələblərinə və ya özgə şərtlərə cavab verməli onda bilərsiniz.
  • Mostbet AZ 91-də siz kataloqdakı oyunları bonus turunun və ya əvəzsiz fırlanmaların mövcudluğuna ötrü çeşidləyə bilərsiniz.
  • Sonra isə barabanın fırlanıb rəqəmləri verməsini və qazanmağınızı gözləmək qalır.

Mostbet müştəriləri iti-iti Visa, Mastercard, Skrill, Neteller və Bitcoin və Ethereum kimi rəqəmsal valyutalardan istifadə edərək doldururlar. Əlavə olaraq unutmayın ki, bəzi doldurma üsulları məhdudiyyətlərə məruz sədd bilər, buna ötrü depozit qoymazdan əvvəl şərtləri uzun nəzərdən keçirin. Qeydiyyatdan keçdikdən sonra müştərilər oynamağa başlamaq üçün istənilən müddət Mostbet AZ-90-a daxil ola bilərlər. Giriş prosesi sadə və sürətlidir və müştərilərə demək olar ki, cəld mərc oynamağa başlamağa imkan verir.

Mostbet-az91 Azərbaycanda Bukmeker Və Kazino Extra Bonus 550+250fs

Oyun ötrü məbləği göstərmək (pul qoyuluşu 0, just one AZN-dən başlayır) və növbəti raundu gözləmək kifayətdir. “Aviator” oyunu ilə daha ətraflı tanış olmaq üçün daha yaxşısı test rejimdə onu yoxlamaqdır. 2 arası aşağı kotirovkalara qədər uçmasını gözləyir, sonra uduşu götürürlər. Gördüyünüz qədər, Mostbet Azərbaycandan olan oyunçular üçün yaxşı şərait təklif edən bədii kazinodur mostbet.

  • 2024-cü il ötrü son bir neçə ildə buraxılan ümumən smartfonlar bu tələblərə cavab verir.
  • Böyük idman yarışlarına mərc etməkdən izafi, oyunçular sıradakı kiçik çempionatlardan və hətta həvəskar liqalardan da yararlana biləcəklər.
  • Oyunçu qeydiyyat zamanı əlaqə məlumatlarını təqdim etməyibsə və ya ona iç olmaq imkanı yoxdursa, dəstək xidməti ilə bağlılıq saxlaya bilər.
  • Oyun hesabını yükləmək üçün “Artırmaq” doğru düyməsindən istifadə görmək kifayət edir.

N ki, burada gələcək hadisələr, əmsallar və bazarlar barədə məlumat fikir olunur. Onlayn platforma müxtəlif qumar oyunlarından faydalanmağı təklif edir, bunun üçün daxil olmaq və internetə sabit çıxış əldə eləmək kifayətdir. Əgər siz elliklə 15 nəticəni təxmin etmisinizsə, cekpotun bölünməsində iştirak edirsiniz ki, bu weil on minlərlə manat ola bilər. Qeydiyyatdan” “keçdikdən sonra müştərilər oynamağa başlamaq üçün istənilən vaxt Mostbet AZ-90-a daxil ola bilərlər.