'use strict';

Object.defineProperty(exports, '__esModule', { value: true });

const index = require('./index-fd2bbf0b.js');
const store = require('./store-d6f21087.js');
require('./index-81aa1bcb.js');
require('./getHandlebarsHelpers-7b2b1728.js');
require('./_commonjsHelpers-a5111d61.js');
require('./logic-d8c34975.js');
require('./index-1f381af8.js');
require('./localforage-af1b8c0e.js');

const modalFlowCss = "modal-flow .banner{background-color:var(--ion-color-secondary)}modal-flow h1{color:#fff}modal-flow p{margin:0 0 15px 0;color:rgba(255, 255, 255, 0.8);font-weight:normal}.modal-flow{--width:700px;--max-width:700px}@media only screen and (max-width: 800px){.modal-flow{--width:100%;--max-width:auto}}";

let ModalFlow = class {
  constructor(hostRef) {
    index.registerInstance(this, hostRef);
    this.floodteamCloseModal = index.createEvent(this, "floodteamCloseModal", 7);
    this.headerTitle = "Flow";
    /**
     * The data from the form being filled out
     */
    this.formData = {};
    /**
     * The next button for the slider
     */
    this.nextButton = {
      label: "Next",
      color: "primary",
      fill: "clear",
      icon: "chevron-forward-circle-outline",
    };
    /**
     * The prev button for the slider
     */
    this.prevButton = {
      label: "Back",
      color: "medium",
      fill: "clear",
      icon: "chevron-back-circle-outline",
    };
    /**
     * The save button for the flow
     */
    this.saveButton = {
      label: "Save",
      fill: "solid",
      color: "primary",
      icon: "checkmark-circle-outline",
    };
    /**
     * Should the form controls be hidden?
     */
    this.hideControls = false;
    /**
     * The data to exclude from the form submit event
     */
    this.excludeData = [];
    /**
     * Should the form disable the loader on submit
     */
    this.disableLoader = false;
    /**
     * Is the component currently loading
     */
    this.loading = false;
    /**
     * Should the enter button binding be disabled
     */
    this.disableEnterButton = false;
    /**
     * Confirm leaving the page when the form is filled
     */
    this.confirmExit = false;
    /**
     * Has the form fields been changed
     */
    this.hasChanged = false;
    /**
     * The HTTP method to use when submitting the form
     */
    this.method = "post";
    /**
     * A list of options for SwiperJS
     * @link https://swiperjs.com/swiper-api#parameters
     */
    this.slidesOptions = { autoHeight: true, allowTouchMove: false };
    this.pager = false;
    this.scrollbar = false;
    this.steps = [];
    this.askConfirmation = false;
  }
  render() {
    var _a, _b, _c, _d;
    return [
      index.h("ion-header", null, index.h("ion-toolbar", null, index.h("ion-title", null, this.headerTitle), index.h("ion-buttons", { slot: "end" }, index.h("ion-button", { onClick: () => this.floodteamCloseModal.emit() }, index.h("ion-icon", { slot: "icon-only", name: "close-circle-outline" }))))),
      index.h("ion-content", null, index.h("fireenjin-flow", { name: this.name, formData: this.formData, nextButton: this.nextButton, saveButton: this.saveButton, prevButton: this.prevButton, hideControls: this.hideControls, endpoint: this.endpoint, documentId: this.documentId, excludeData: this.excludeData, beforeSubmit: this.beforeSubmit, disableLoader: this.disableLoader, loading: this.loading, disableEnterButton: this.disableEnterButton, confirmExit: this.confirmExit, hasChanged: this.hasChanged, method: this.method, action: this.action, fetch: this.fetch, fetchDataMap: this.fetchDataMap, fetchParams: this.fetchParams, slidesOptions: this.slidesOptions || { autoHeight: true }, pager: this.pager, scrollbar: this.scrollbar, steps: this.steps, googleMapsKey: this.googleMapsKey || ((_b = (_a = store.state === null || store.state === void 0 ? void 0 : store.state.config) === null || _a === void 0 ? void 0 : _a.firebase) === null || _b === void 0 ? void 0 : _b.apiKey), stripeKey: this.stripeKey || ((_d = (_c = store.state === null || store.state === void 0 ? void 0 : store.state.config) === null || _c === void 0 ? void 0 : _c.stripe) === null || _d === void 0 ? void 0 : _d.key), stripeElements: this.stripeElements })),
    ];
  }
};
ModalFlow.style = modalFlowCss;

exports.modal_flow = ModalFlow;

//# sourceMappingURL=modal-flow.cjs.entry.js.map