From 419db81070d0264ec55224c4a9387ed9e927963f Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Thu, 18 Sep 2025 22:37:06 +0300 Subject: [PATCH 01/96] Add option to limit field choices selection --- classes/views/frm-fields/front-end/checkbox-field.php | 4 ++++ classes/views/frm-fields/front-end/radio-field.php | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/classes/views/frm-fields/front-end/checkbox-field.php b/classes/views/frm-fields/front-end/checkbox-field.php index 5ed49cfe16..91eb1ff1b7 100644 --- a/classes/views/frm-fields/front-end/checkbox-field.php +++ b/classes/views/frm-fields/front-end/checkbox-field.php @@ -69,6 +69,10 @@ do_action( 'frm_field_input_html', $field ); + if ( apply_filters( 'frm_choice_limit_reached', false, $field, $opt_key ) ) { + echo ' disabled="disabled" '; + } + if ( 0 === $option_index && FrmField::is_required( $field ) ) { echo ' aria-required="true" '; } diff --git a/classes/views/frm-fields/front-end/radio-field.php b/classes/views/frm-fields/front-end/radio-field.php index 4d6741109d..1f1671c62a 100644 --- a/classes/views/frm-fields/front-end/radio-field.php +++ b/classes/views/frm-fields/front-end/radio-field.php @@ -54,7 +54,7 @@ /> Date: Fri, 19 Sep 2025 17:00:55 +0300 Subject: [PATCH 02/96] Refactor function --- classes/controllers/FrmFieldsController.php | 16 ++++++++++++++++ .../frm-fields/front-end/checkbox-field.php | 4 +--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/classes/controllers/FrmFieldsController.php b/classes/controllers/FrmFieldsController.php index 0f1c87f6c8..620e765f06 100644 --- a/classes/controllers/FrmFieldsController.php +++ b/classes/controllers/FrmFieldsController.php @@ -377,6 +377,22 @@ private static function maybe_define_field_selection_data() { return self::$field_selection_data; } + /** + * @since x.x + * + * @param array $field + * @param string $opt_key + * @return void + */ + public static function maybe_disable_option( $field, $opt_key ) { + if ( apply_filters( 'frm_choice_limit_reached', false, $field, $opt_key ) ) { + echo ' disabled="disabled" '; + if ( FrmField::is_field_type( $field, 'checkbox' ) ) { + echo ' data-max-reached="1" '; + } + } + } + /** * Get the list of default value types that can be toggled in the builder. * diff --git a/classes/views/frm-fields/front-end/checkbox-field.php b/classes/views/frm-fields/front-end/checkbox-field.php index 91eb1ff1b7..9b9d62bf12 100644 --- a/classes/views/frm-fields/front-end/checkbox-field.php +++ b/classes/views/frm-fields/front-end/checkbox-field.php @@ -69,9 +69,7 @@ do_action( 'frm_field_input_html', $field ); - if ( apply_filters( 'frm_choice_limit_reached', false, $field, $opt_key ) ) { - echo ' disabled="disabled" '; - } + FrmFieldsController::maybe_disable_option( $field, $opt_key ); if ( 0 === $option_index && FrmField::is_required( $field ) ) { echo ' aria-required="true" '; From 795be68e01c1a24522284d391c9204641d99175c Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Fri, 19 Sep 2025 22:31:40 +0300 Subject: [PATCH 03/96] Add disable attribute to radio fields based on choice limit setting --- classes/controllers/FrmFieldsController.php | 5 +++-- classes/views/frm-fields/front-end/radio-field.php | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/classes/controllers/FrmFieldsController.php b/classes/controllers/FrmFieldsController.php index 620e765f06..710ffefaa8 100644 --- a/classes/controllers/FrmFieldsController.php +++ b/classes/controllers/FrmFieldsController.php @@ -380,15 +380,16 @@ private static function maybe_define_field_selection_data() { /** * @since x.x * - * @param array $field + * @param array $field * @param string $opt_key + * * @return void */ public static function maybe_disable_option( $field, $opt_key ) { if ( apply_filters( 'frm_choice_limit_reached', false, $field, $opt_key ) ) { echo ' disabled="disabled" '; if ( FrmField::is_field_type( $field, 'checkbox' ) ) { - echo ' data-max-reached="1" '; + echo 'data-max-reached="1" '; } } } diff --git a/classes/views/frm-fields/front-end/radio-field.php b/classes/views/frm-fields/front-end/radio-field.php index 1f1671c62a..9d24d0f40f 100644 --- a/classes/views/frm-fields/front-end/radio-field.php +++ b/classes/views/frm-fields/front-end/radio-field.php @@ -54,7 +54,8 @@ /> Date: Thu, 25 Sep 2025 15:50:09 +0300 Subject: [PATCH 04/96] Do not check disabled checkbox --- classes/views/frm-fields/front-end/checkbox-field.php | 6 ++++-- classes/views/frm-fields/front-end/radio-field.php | 7 +++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/classes/views/frm-fields/front-end/checkbox-field.php b/classes/views/frm-fields/front-end/checkbox-field.php index 9b9d62bf12..ea648cfafb 100644 --- a/classes/views/frm-fields/front-end/checkbox-field.php +++ b/classes/views/frm-fields/front-end/checkbox-field.php @@ -65,11 +65,13 @@ } ?> /> Date: Thu, 25 Sep 2025 15:59:31 +0300 Subject: [PATCH 05/96] Cover dropdown field for choice limit checks --- classes/controllers/FrmFieldsController.php | 4 +++- classes/views/frm-fields/front-end/dropdown-field.php | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/classes/controllers/FrmFieldsController.php b/classes/controllers/FrmFieldsController.php index 710ffefaa8..83f9f8b0f7 100644 --- a/classes/controllers/FrmFieldsController.php +++ b/classes/controllers/FrmFieldsController.php @@ -383,7 +383,7 @@ private static function maybe_define_field_selection_data() { * @param array $field * @param string $opt_key * - * @return void + * @return bool */ public static function maybe_disable_option( $field, $opt_key ) { if ( apply_filters( 'frm_choice_limit_reached', false, $field, $opt_key ) ) { @@ -391,7 +391,9 @@ public static function maybe_disable_option( $field, $opt_key ) { if ( FrmField::is_field_type( $field, 'checkbox' ) ) { echo 'data-max-reached="1" '; } + return true; } + return false; } /** diff --git a/classes/views/frm-fields/front-end/dropdown-field.php b/classes/views/frm-fields/front-end/dropdown-field.php index f3e6e70a7d..7242f34b2a 100644 --- a/classes/views/frm-fields/front-end/dropdown-field.php +++ b/classes/views/frm-fields/front-end/dropdown-field.php @@ -69,6 +69,12 @@ if ( FrmFieldsHelper::is_other_opt( $opt_key ) ) { $option_params['class'] = 'frm_other_trigger'; } + $disabled = FrmFieldsController::maybe_disable_option( $field, $opt_key ); + if ( $disabled ) { + $option_params['disabled'] = 'disabled'; + } else { + $selected = false; + } FrmHtmlHelper::echo_dropdown_option( $opt, (bool) $selected, $option_params ); unset( $option_params ); From e4fd076665534ce643fd7fb9d8bf97a6c8a59c96 Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Mon, 29 Sep 2025 18:03:07 +0300 Subject: [PATCH 06/96] Do not disable choices in builder --- classes/controllers/FrmFieldsController.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/classes/controllers/FrmFieldsController.php b/classes/controllers/FrmFieldsController.php index 83f9f8b0f7..f533fc3eb1 100644 --- a/classes/controllers/FrmFieldsController.php +++ b/classes/controllers/FrmFieldsController.php @@ -386,6 +386,10 @@ private static function maybe_define_field_selection_data() { * @return bool */ public static function maybe_disable_option( $field, $opt_key ) { + if ( FrmAppHelper::is_form_builder_page() ) { + return false; + } + if ( apply_filters( 'frm_choice_limit_reached', false, $field, $opt_key ) ) { echo ' disabled="disabled" '; if ( FrmField::is_field_type( $field, 'checkbox' ) ) { From ea2ea27e5727c2ea607c49954da1219a67cd59f9 Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Tue, 30 Sep 2025 15:59:12 +0300 Subject: [PATCH 07/96] Try reusing frm_field_input_html to output disabled html att --- classes/views/frm-fields/front-end/radio-field.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/classes/views/frm-fields/front-end/radio-field.php b/classes/views/frm-fields/front-end/radio-field.php index b8899269ee..18202122ac 100644 --- a/classes/views/frm-fields/front-end/radio-field.php +++ b/classes/views/frm-fields/front-end/radio-field.php @@ -53,12 +53,16 @@ ?> /> Date: Tue, 30 Sep 2025 16:38:23 +0300 Subject: [PATCH 08/96] Hide/Disable field choices that hit max entry based off the form setting for that --- .../views/frm-fields/front-end/radio-field.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/classes/views/frm-fields/front-end/radio-field.php b/classes/views/frm-fields/front-end/radio-field.php index 18202122ac..0fe8719dbd 100644 --- a/classes/views/frm-fields/front-end/radio-field.php +++ b/classes/views/frm-fields/front-end/radio-field.php @@ -15,10 +15,21 @@ $type = $field['type']; do_action( 'frm_after_checkbox', compact( 'field', 'field_name', 'type' ) ); } elseif ( is_array( $field['options'] ) ) { + $form_options = FrmDb::get_var( 'frm_forms', array( 'id' => $field['form_id'] ), 'options' ); + FrmAppHelper::unserialize_or_decode( $form_options ); foreach ( $field['options'] as $opt_key => $opt ) { if ( isset( $shortcode_atts ) && isset( $shortcode_atts['opt'] ) && ( $shortcode_atts['opt'] !== $opt_key ) ) { continue; } + ob_start(); + do_action( 'frm_field_input_html', $field, $opt_key ); + $input_html = ob_get_clean(); + $choice_limit_reached = strpos( $input_html, 'limit_reached' ) !== false; + if ( ! empty( $form_options['disable_on_choice_limit'] ) ) { + if ( $choice_limit_reached ) { + continue; + } + } $field_val = FrmFieldsHelper::get_value_from_array( $opt, $opt_key, $field ); $opt = FrmFieldsHelper::get_label_from_array( $opt, $opt_key, $field ); @@ -53,10 +64,7 @@ ?> Date: Tue, 30 Sep 2025 20:51:12 +0300 Subject: [PATCH 09/96] Committing progress --- classes/views/frm-fields/front-end/radio-field.php | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/classes/views/frm-fields/front-end/radio-field.php b/classes/views/frm-fields/front-end/radio-field.php index 0fe8719dbd..079c76baa0 100644 --- a/classes/views/frm-fields/front-end/radio-field.php +++ b/classes/views/frm-fields/front-end/radio-field.php @@ -23,12 +23,10 @@ } ob_start(); do_action( 'frm_field_input_html', $field, $opt_key ); - $input_html = ob_get_clean(); + $input_html = ob_get_clean(); $choice_limit_reached = strpos( $input_html, 'limit_reached' ) !== false; - if ( ! empty( $form_options['disable_on_choice_limit'] ) ) { - if ( $choice_limit_reached ) { - continue; - } + if ( ! empty( $form_options['disable_on_choice_limit'] ) && $choice_limit_reached ) { + continue; } $field_val = FrmFieldsHelper::get_value_from_array( $opt, $opt_key, $field ); From 06102a97f0ae1f491eb2e7311cffe014355a5aa3 Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Wed, 1 Oct 2025 21:22:57 +0300 Subject: [PATCH 10/96] Fix some style errors --- css/admin/frm-settings-components.css | 613 +- css/font_icons.css | 854 +- css/frm_admin.css | 12272 +++++++++++++++- js/addons-page.js | 4788 +++++- js/form-templates.js | 6259 +++++++- js/formidable-settings-components.js | 2637 +++- js/formidable_admin.js | 10132 ++++++++++++- js/formidable_blocks.js | 2719 +++- js/formidable_dashboard.js | 855 +- js/formidable_overlay.js | 734 +- js/formidable_styles.js | 3023 +++- js/onboarding-wizard.js | 1844 ++- .../components/option/_single-option.scss | 4 - 13 files changed, 46715 insertions(+), 19 deletions(-) diff --git a/css/admin/frm-settings-components.css b/css/admin/frm-settings-components.css index c7b5e8a3f2..930732227a 100644 --- a/css/admin/frm-settings-components.css +++ b/css/admin/frm-settings-components.css @@ -1 +1,612 @@ -.formidable_page_formidable-styles.js .control-section .accordion-section-title:focus{background:none}.formidable_page_formidable-styles .frm-right-panel h3.accordion-section-title:hover>svg:last-child,.formidable_page_formidable-styles .frm-right-panel .open h3.accordion-section-title>svg:first-child,.formidable_page_formidable-styles .frm-right-panel .open h3.accordion-section-title>svg:last-child{color:var(--grey-900)}.formidable_page_formidable-styles .frm-right-panel .frm-style-component{align-self:center}.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-container button{position:relative;height:36px !important;background-image:none !important;overflow:hidden}.formidable_page_formidable-styles .frm-right-panel .frm-style-editor-form.frm-pro .frm-style-component .wp-picker-container button{background-color:#fff !important}.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-container::after{content:"";width:20px;height:20px;display:block;position:absolute;top:0;right:8px;bottom:0;margin:auto;background:url("../../images/style/small-arrow.svg") no-repeat;background-position:center;z-index:10}.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-color-result-text{line-height:36px !important;padding:0 12px;border:0}.formidable_page_formidable-styles .frm-right-panel .frm-style-component .color-alpha{width:20px !important;height:20px !important;border-radius:50% !important;border:1px solid #d0d5dd;top:0;left:0;bottom:0;margin:auto;margin-left:12px}.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-input-wrap input{width:calc(100% - 10px) !important;margin:1px 5px;height:32px;line-height:32px}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component>div{max-width:216px}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .wp-picker-container{max-width:calc(100% - 44px);position:relative}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component button.frm_choose_image_box{width:36px;height:36px;padding:0;background:#fff;overflow:hidden;text-indent:-999px;flex-wrap:wrap;border:none}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_styling_frame{margin-left:0}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper{position:relative;width:36px;height:36px;margin:0;border:1px solid var(--grey-300);border-radius:var(--small-radius);overflow:hidden;box-sizing:border-box}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame{max-width:120%;height:120%;margin:-10%;position:relative}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_data{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;margin:0;border-radius:var(--small-radius)}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option{width:100%;height:100%;border:1px solid var(--red-500);text-indent:-9999px;position:absolute;top:0;left:0}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option::before{opacity:0;content:"";display:block;position:absolute;width:100%;height:100%;z-index:1;top:0;left:0;background:hsla(0,0%,100%,.8)}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option::after{opacity:0;content:"";display:block;position:absolute;width:100%;height:100%;z-index:1;top:0;left:0;background:url("../../images/style/close.svg") no-repeat;background-position:center}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option:hover::before,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option:hover::after{opacity:1}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame .frm_image_styling_frame,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame .frm_image_styling_frame img{width:100%;height:100%}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper+*,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_title,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_bg_image_additional_settings,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option *{display:none}.frm-style-component .frm-radio-container{max-width:216px;height:36px;background:#f2f4f7;gap:var(--small-gap);padding:var(--gap-2xs);box-sizing:border-box;border-radius:var(--small-radius);position:relative}.frm-style-component.frm-field-shape .frm-radio-container{max-width:unset}.frm-style-component.frm-direction-component .frm-radio-container{gap:var(--gap-xs)}.frm-style-component .frm-radio-container svg{width:16px}.frm-style-component .frm-radio-container .frm-radio-active-tracker{display:block;width:28%;height:calc(100% - 8px);background:#fff;border-radius:var(--small-radius);box-shadow:var(--button-shadow);position:absolute;top:var(--gap-2xs);bottom:0;left:var(--gap-2xs);z-index:1;transition:.35s transform cubic-bezier(0.075, 0.82, 0.165, 1)}.frm-style-component.frm-field-shape .frm-radio-container .frm-radio-active-tracker{width:23%}.frm-style-component.frm-align-component.frm-2-options .frm-radio-container .frm-radio-active-tracker,.frm-style-component.frm-direction-component .frm-radio-container .frm-radio-active-tracker,.frm-style-component.frm-text-toggle-component .frm-radio-container .frm-radio-active-tracker{width:calc(50% - var(--gap-xs))}.frm-style-component .frm-radio-container>label{width:30%;height:100%;margin:0;cursor:pointer;position:relative;display:flex;z-index:2}.frm-style-component.frm-field-shape .frm-radio-container>label{width:23%}.frm-style-component.frm-align-component.frm-2-options .frm-radio-container>label,.frm-style-component.frm-direction-component .frm-radio-container>label,.frm-style-component.frm-text-toggle-component .frm-radio-container>label{width:50%}.frm-style-component.frm-text-toggle-component .frm-radio-container{height:44px;max-width:unset;gap:var(--gap-xs);padding:var(--gap-xs)}.frm-style-component.frm-text-toggle-component .frm-radio-container .frm-radio-active-tracker{height:calc(100% - var(--gap-sm));top:var(--gap-xs)}.frm-style-tabs-wrapper .frm-tabs-navs ul>li:not(.frm-active):hover,.frm-style-component .frm-radio-container input:not(:checked)+label:hover{background:#eaecf0;border-radius:var(--small-radius);box-shadow:var(--button-shadow)}.frm-style-component .frm-radio-container input{display:none}.frm-style-component .frm-slider-container{width:calc(100% - 91px);display:flex;align-items:center;color:#1d2939}.frm-style-component .frm-slider-container svg.frmsvg{color:currentColor;margin-right:8px;margin-left:-5px;position:relative;z-index:15}.frm-style-component .frm-group-sliders .frm-slider-container svg.frmsvg:hover{color:#4199fd;cursor:pointer}.frm-style-component .frm-slider-container .frm-slider-active-track{display:block;height:100%;width:0;position:relative;border-radius:200px}.frm-style-component .frm-slider-container .frm-slider-active-track,.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet{background:#4199fd;box-shadow:0 1.88px 4px -1px rgba(16,24,40,.03),0 6px 8px -2px rgba(16,24,40,.08)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet{position:absolute;display:block;width:16px;height:16px;border-radius:50%;transform:translateX(15px);cursor:grab;right:0;top:0;bottom:0;margin:auto}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet .frm-slider-value-label{position:absolute;display:block;width:48px;height:36px;background:#101828;color:#fff;font-weight:400;font-size:var(--text-sm);line-height:36px;border-radius:var(--small-radius);transform:translate(-18px, -42px) scale3d(0.7, 1, 1);opacity:0;z-index:-2;pointer-events:none;text-align:center;user-select:none}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet.frm-dragging .frm-slider-value-label{z-index:12;transform:translate(-18px, -42px) scale3d(1, 1, 1);opacity:1;transition:.3s opacity,.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet::before{content:"";display:block;position:absolute;width:18px;height:18px;border-radius:50%;left:0;top:0;transform:translate(-5px, -5px) scale3d(0.7, 0.7, 1);border:4px solid #4199fd;opacity:0;transition:.3s opacity,.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet.frm-dragging::before{opacity:.5;transform:translate(-5px, -5px) scale3d(1, 1, 1);transition:.3s opacity,.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet::after{content:"";position:absolute;display:block;width:180%;height:200%;border-radius:50%;left:0;top:0;transform:translate(-24%, -24%)}.frm-style-component .frm-slider-value{width:86px;height:36px;display:flex;justify-content:center;box-sizing:border-box;background:#fff;border-radius:var(--small-radius);border:1px solid var(--grey-300)}.frm-style-component .frm-slider-value>*{border:none}.frm-style-component .frm-slider-value input{width:40px;height:100%;padding:0;font-size:var(--text-sm);color:#101828;padding-left:12px;box-sizing:border-box}.frm-style-component .frm-slider-value select{text-align:right;padding:0;font-size:var(--text-sm);color:#667085;width:44px;background:url("../../images/style/small-arrow.svg") no-repeat;background-position:center right 12px;padding-right:24px !important}.frm-style-component .frm-slider{display:block;width:calc(100% - 5px);height:4px;background:#eaecf0;border-radius:200px;cursor:pointer}.frm-slider-component .frm-independent-slider-field{margin-top:10px}.frm-slider-component.frm-disabled .frm-slider-container{pointer-events:none;opacity:.5}.frm-slider-component.frm-disabled .frm-slider-value input[type=text]{width:28px}.frm-slider-component.frm-disabled .frm-slider-value select{width:56px}.frm-slider-component.frm-disabled.frm-empty .frm-slider-value input[type=text]{width:56px}.frm-slider-component.frm-disabled.frm-empty .frm-slider-value select{width:28px}.frm-style-component .frm-slider-component.frm-has-multiple-values{margin-bottom:10px}.frm-tabs-wrapper{position:relative;overflow:hidden}.frm-tabs-wrapper .frm-tabs-navigator{margin:0;padding:0;display:flex;gap:var(--gap-xs);justify-content:space-between;align-items:center;background:#f2f4f7;border-radius:var(--small-radius);box-sizing:border-box;height:44px;position:relative;z-index:2}.frm-tabs-wrapper .frm-tabs-navigator .frm-tab-item{flex:1;text-align:center;cursor:pointer}.frm-tabs-wrapper .frm-tabs-navigator .frm-active-background{display:block;height:100%;background:#fff;position:absolute;top:0;left:0;z-index:1}.frm-style-tabs-wrapper{position:relative}.frm-style-tabs-wrapper .frm-tabs-navs{padding:0;min-height:44px}.frm-style-tabs-wrapper .frm-tabs-navs ul{margin:0;height:var(--h-md);position:relative;justify-content:space-between}.frm-style-tabs-wrapper .frm-tabs-navs ul li,.frm-style-tabs-wrapper .frm-tabs-navs ul li a{color:var(--grey-500);font-weight:500;font-size:var(--text-sm);line-height:28px}.frm-style-tabs-wrapper .frm-tabs-navs ul li{flex:1;height:28px;text-align:center;margin-top:var(--gap-xs);margin-bottom:0;cursor:pointer}.frm-style-tabs-wrapper .frm-tabs-navs ul li.frm-active,.frm-style-tabs-wrapper .frm-tabs-navs ul li.frm-active a{color:var(--grey-900)}.frm-style-tabs-wrapper .frm-tabs-navs ul li:first-child{margin-left:var(--gap-xs)}.frm-style-tabs-wrapper .frm-tabs-navs ul li:last-child{margin-right:var(--gap-xs)}.frm-style-tabs-wrapper .frm-tabs-delimiter{position:absolute;top:0;left:0;width:100%;background:#f2f4f7;height:44px;margin:0;border-radius:var(--small-radius)}.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline{height:28px;background:#fff;position:absolute;left:0;bottom:8px;width:45px;transition:.4s transform cubic-bezier(0.25, 0.46, 0.45, 0.94);border-radius:var(--small-radius);box-shadow:var(--button-shadow)}.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline.frm-first{left:var(--gap-xs)}.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline.frm-last{left:calc(-1*var(--gap-xs))}.frm-tabs-container{position:relative;overflow:hidden;margin-top:var(--gap-md);height:100%}.frm-style-tabs-wrapper .frm-tabs-container .frm-tabs-slide-track{transition:.32s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-tabs-wrapper .frm-tabs-slide-track>div{flex:0 0 100%;opacity:0;transition:.25s opacity linear;position:relative;height:auto;max-height:unset;overflow:hidden;box-sizing:border-box}.frm-style-tabs-wrapper .frm-tabs-slide-track>div>div{overflow:auto;position:relative;width:100%;padding:0;box-sizing:border-box}.frm-tabs-slide-track>div>div:first-child{height:100%}.frm-tabs-slide-track>div.frm-active{opacity:1;transition:.35s opacity linear}.frm-style-component .frm_toggle_slider{background:#f2f4f7}.frm-style-component label.frm-copy-text{line-height:32px;cursor:pointer;white-space:nowrap}.frm-style-component .wp-picker-holder{right:0}.formidable_page_formidable-styles .accordion-section-content .frm-style-item-heading{font-weight:500;font-size:var(--text-md);color:var(--grey-900)}.frm-unit-input{position:relative;display:flex;align-items:center}.frm-unit-input input[type=number]::-webkit-outer-spin-button,.frm-unit-input input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none}.frm-unit-input .frm-input-group-suffix{position:absolute;top:1px;right:1px;display:flex;align-items:center;height:calc(100% - 2px);padding-right:var(--gap-xs)}.frm-unit-input .frm-input-group-suffix select{width:fit-content;height:100%;min-height:unset;font-size:var(--text-sm);text-align:right;color:var(--grey-500) !important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%23667085' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 0 top 50%;padding-left:var(--gap-2xs);padding-right:21px !important;border:rgba(0,0,0,0)}.frm-unit-input .frm-input-group-suffix select:focus-visible{outline:1px solid var(--primary-500);outline-offset:-2px} +/*!***********************************************************************************************************************************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/css-unicode-loader/index.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./resources/scss/admin/frm-settings-components.scss ***! + \***********************************************************************************************************************************************************************************************************************************************/ +/** + * Formidable Forms settings components styles + */ +/** + * Accordion settings component styles + */ +.formidable_page_formidable-styles.js .control-section .accordion-section-title:focus { + background: none; +} +.formidable_page_formidable-styles .frm-right-panel h3.accordion-section-title:hover > svg:last-child, +.formidable_page_formidable-styles .frm-right-panel .open h3.accordion-section-title > svg:first-child, +.formidable_page_formidable-styles .frm-right-panel .open h3.accordion-section-title > svg:last-child { + color: var(--grey-900); +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component { + align-self: center; +} + +/** + * Color picker component styles + */ +.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-container button { + position: relative; + height: 36px !important; + background-image: none !important; + overflow: hidden; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-editor-form.frm-pro .frm-style-component .wp-picker-container button { + background-color: #fff !important; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-container::after { + content: ""; + width: 20px; + height: 20px; + display: block; + position: absolute; + top: 0; + right: 8px; + bottom: 0; + margin: auto; + background: url("../../images/style/small-arrow.svg") no-repeat; + background-position: center; + z-index: 10; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-color-result-text { + line-height: 36px !important; + padding: 0 12px; + border: 0; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component .color-alpha { + width: 20px !important; + height: 20px !important; + border-radius: 50% !important; + border: 1px solid rgb(208, 213, 221); + top: 0; + left: 0; + bottom: 0; + margin: auto; + margin-left: 12px; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-input-wrap input { + width: calc(100% - 10px) !important; + margin: 1px 5px; + height: 32px; + line-height: 32px; +} + +/** + * Background image component styles + */ +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component > div { + max-width: 216px; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .wp-picker-container { + max-width: calc(100% - 44px); + position: relative; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component button.frm_choose_image_box { + width: 36px; + height: 36px; + padding: 0; + background: white; + overflow: hidden; + text-indent: -999px; + flex-wrap: wrap; + border: none; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_styling_frame { + margin-left: 0; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper { + position: relative; + width: 36px; + height: 36px; + margin: 0; + border: 1px solid var(--grey-300); + border-radius: var(--small-radius); + overflow: hidden; + box-sizing: border-box; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame { + max-width: 120%; + height: 120%; + margin: -10%; + position: relative; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_data { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + overflow: hidden; + margin: 0; + border-radius: var(--small-radius); +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option { + width: 100%; + height: 100%; + border: 1px solid var(--red-500); + text-indent: -9999px; + position: absolute; + top: 0; + left: 0; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option::before { + opacity: 0; + content: ""; + display: block; + position: absolute; + width: 100%; + height: 100%; + z-index: 1; + top: 0; + left: 0; + background: rgba(255, 255, 255, 0.8); +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option::after { + opacity: 0; + content: ""; + display: block; + position: absolute; + width: 100%; + height: 100%; + z-index: 1; + top: 0; + left: 0; + background: url("../../images/style/close.svg") no-repeat; + background-position: center; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option:hover::before, +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option:hover::after { + opacity: 1; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame .frm_image_styling_frame, +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame .frm_image_styling_frame img { + width: 100%; + height: 100%; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper + *, +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_title, +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_bg_image_additional_settings, +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option * { + display: none; +} + +/** + * Radio buttons component styles + */ +.frm-style-component .frm-radio-container { + max-width: 216px; + height: 36px; + background: rgb(242, 244, 247); + gap: var(--small-gap); + padding: var(--gap-2xs); + box-sizing: border-box; + border-radius: var(--small-radius); + position: relative; +} +.frm-style-component.frm-field-shape .frm-radio-container { + max-width: unset; +} +.frm-style-component.frm-direction-component .frm-radio-container { + gap: var(--gap-xs); +} +.frm-style-component .frm-radio-container svg { + width: 16px; +} +.frm-style-component .frm-radio-container .frm-radio-active-tracker { + display: block; + width: 28%; + height: calc(100% - 8px); + background: white; + border-radius: var(--small-radius); + box-shadow: var(--button-shadow); + position: absolute; + top: var(--gap-2xs); + bottom: 0; + left: var(--gap-2xs); + z-index: 1; + transition: 0.35s transform cubic-bezier(0.075, 0.82, 0.165, 1); +} +.frm-style-component.frm-field-shape .frm-radio-container .frm-radio-active-tracker { + width: 23%; +} +.frm-style-component.frm-align-component.frm-2-options .frm-radio-container .frm-radio-active-tracker, .frm-style-component.frm-direction-component .frm-radio-container .frm-radio-active-tracker, .frm-style-component.frm-text-toggle-component .frm-radio-container .frm-radio-active-tracker { + width: calc(50% - var(--gap-xs)); +} +.frm-style-component .frm-radio-container > label { + width: 30%; + height: 100%; + margin: 0; + cursor: pointer; + position: relative; + display: flex; + z-index: 2; +} +.frm-style-component.frm-field-shape .frm-radio-container > label { + width: 23%; +} +.frm-style-component.frm-align-component.frm-2-options .frm-radio-container > label, .frm-style-component.frm-direction-component .frm-radio-container > label, .frm-style-component.frm-text-toggle-component .frm-radio-container > label { + width: 50%; +} +.frm-style-component.frm-text-toggle-component .frm-radio-container { + height: 44px; + max-width: unset; + gap: var(--gap-xs); + padding: var(--gap-xs); +} +.frm-style-component.frm-text-toggle-component .frm-radio-container .frm-radio-active-tracker { + height: calc(100% - var(--gap-sm)); + top: var(--gap-xs); +} + +.frm-style-tabs-wrapper .frm-tabs-navs ul > li:not(.frm-active):hover, +.frm-style-component .frm-radio-container input:not(:checked) + label:hover { + background: rgb(234, 236, 240); + border-radius: var(--small-radius); + box-shadow: var(--button-shadow); +} + +.frm-style-component .frm-radio-container input { + display: none; +} + +/** + * Sliders component styles + */ +.frm-style-component .frm-slider-container { + width: calc(100% - 91px); + display: flex; + align-items: center; + color: rgb(29, 41, 57); +} +.frm-style-component .frm-slider-container svg.frmsvg { + color: currentColor; + margin-right: 8px; + margin-left: -5px; + position: relative; + z-index: 15; +} + +.frm-style-component .frm-group-sliders .frm-slider-container svg.frmsvg:hover { + color: rgb(65, 153, 253); + cursor: pointer; +} + +.frm-style-component .frm-slider-container .frm-slider-active-track { + display: block; + height: 100%; + width: 0; + position: relative; + border-radius: 200px; +} +.frm-style-component .frm-slider-container .frm-slider-active-track, +.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet { + background: rgb(65, 153, 253); + box-shadow: 0 1.88px 4px -1px rgba(16, 24, 40, 0.03), 0 6px 8px -2px rgba(16, 24, 40, 0.08); +} +.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet { + position: absolute; + display: block; + width: 16px; + height: 16px; + border-radius: 50%; + transform: translateX(15px); + cursor: grab; + right: 0; + top: 0; + bottom: 0; + margin: auto; +} +.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet .frm-slider-value-label { + position: absolute; + display: block; + width: 48px; + height: 36px; + background: rgb(16, 24, 40); + color: white; + font-weight: 400; + font-size: var(--text-sm); + line-height: 36px; + border-radius: var(--small-radius); + transform: translate(-18px, -42px) scale3d(0.7, 1, 1); + opacity: 0; + z-index: -2; + pointer-events: none; + text-align: center; + user-select: none; +} +.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet.frm-dragging .frm-slider-value-label { + z-index: 12; + transform: translate(-18px, -42px) scale3d(1, 1, 1); + opacity: 1; + transition: 0.3s opacity, 0.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94); +} +.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet::before { + content: ""; + display: block; + position: absolute; + width: 18px; + height: 18px; + border-radius: 50%; + left: 0; + top: 0; + transform: translate(-5px, -5px) scale3d(0.7, 0.7, 1); + border: 4px solid rgb(65, 153, 253); + opacity: 0; + transition: 0.3s opacity, 0.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94); +} +.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet.frm-dragging::before { + opacity: 0.5; + transform: translate(-5px, -5px) scale3d(1, 1, 1); + transition: 0.3s opacity, 0.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94); +} +.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet::after { + content: ""; + position: absolute; + display: block; + width: 180%; + height: 200%; + border-radius: 50%; + left: 0; + top: 0; + transform: translate(-24%, -24%); +} + +.frm-style-component .frm-slider-value { + width: 86px; + height: 36px; + display: flex; + justify-content: center; + box-sizing: border-box; + background: white; + border-radius: var(--small-radius); + border: 1px solid var(--grey-300); +} +.frm-style-component .frm-slider-value > * { + border: none; +} +.frm-style-component .frm-slider-value input { + width: 40px; + height: 100%; + padding: 0; + font-size: var(--text-sm); + color: rgb(16, 24, 40); + padding-left: 12px; + box-sizing: border-box; +} +.frm-style-component .frm-slider-value select { + text-align: right; + padding: 0; + font-size: var(--text-sm); + color: rgb(102, 112, 133); + width: 44px; + background: url("../../images/style/small-arrow.svg") no-repeat; + background-position: center right 12px; + padding-right: 24px !important; +} +.frm-style-component .frm-slider { + display: block; + width: calc(100% - 5px); + height: 4px; + background: rgb(234, 236, 240); + border-radius: 200px; + cursor: pointer; +} + +.frm-slider-component .frm-independent-slider-field { + margin-top: 10px; +} +.frm-slider-component.frm-disabled .frm-slider-container { + pointer-events: none; + opacity: 0.5; +} +.frm-slider-component.frm-disabled .frm-slider-value input[type=text] { + width: 28px; +} +.frm-slider-component.frm-disabled .frm-slider-value select { + width: 56px; +} +.frm-slider-component.frm-disabled.frm-empty .frm-slider-value input[type=text] { + width: 56px; +} +.frm-slider-component.frm-disabled.frm-empty .frm-slider-value select { + width: 28px; +} + +.frm-style-component .frm-slider-component.frm-has-multiple-values { + margin-bottom: 10px; +} + +/** + * Tabs component styles + */ +.frm-tabs-wrapper { + position: relative; + overflow: hidden; +} +.frm-tabs-wrapper .frm-tabs-navigator { + margin: 0; + padding: 0; + display: flex; + gap: var(--gap-xs); + justify-content: space-between; + align-items: center; + background: rgb(242, 244, 247); + border-radius: var(--small-radius); + box-sizing: border-box; + height: 44px; + position: relative; + z-index: 2; +} +.frm-tabs-wrapper .frm-tabs-navigator .frm-tab-item { + flex: 1; + text-align: center; + cursor: pointer; +} +.frm-tabs-wrapper .frm-tabs-navigator .frm-active-background { + display: block; + height: 100%; + background: white; + position: absolute; + top: 0; + left: 0; + z-index: 1; +} + +.frm-style-tabs-wrapper { + position: relative; +} +.frm-style-tabs-wrapper .frm-tabs-navs { + padding: 0; + min-height: 44px; +} +.frm-style-tabs-wrapper .frm-tabs-navs ul { + margin: 0; + height: var(--h-md); + position: relative; + justify-content: space-between; +} +.frm-style-tabs-wrapper .frm-tabs-navs ul li, +.frm-style-tabs-wrapper .frm-tabs-navs ul li a { + color: var(--grey-500); + font-weight: 500; + font-size: var(--text-sm); + line-height: 28px; +} +.frm-style-tabs-wrapper .frm-tabs-navs ul li { + flex: 1; + height: 28px; + text-align: center; + margin-top: var(--gap-xs); + margin-bottom: 0; + cursor: pointer; +} +.frm-style-tabs-wrapper .frm-tabs-navs ul li.frm-active, .frm-style-tabs-wrapper .frm-tabs-navs ul li.frm-active a { + color: var(--grey-900); +} +.frm-style-tabs-wrapper .frm-tabs-navs ul li:first-child { + margin-left: var(--gap-xs); +} +.frm-style-tabs-wrapper .frm-tabs-navs ul li:last-child { + margin-right: var(--gap-xs); +} +.frm-style-tabs-wrapper .frm-tabs-delimiter { + position: absolute; + top: 0; + left: 0; + width: 100%; + background: rgb(242, 244, 247); + height: 44px; + margin: 0; + border-radius: var(--small-radius); +} +.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline { + height: 28px; + background: white; + position: absolute; + left: 0; + bottom: 8px; + width: 45px; + transition: 0.4s transform cubic-bezier(0.25, 0.46, 0.45, 0.94); + border-radius: var(--small-radius); + box-shadow: var(--button-shadow); +} +.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline.frm-first { + left: var(--gap-xs); +} +.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline.frm-last { + left: calc(-1 * var(--gap-xs)); +} + +.frm-tabs-container { + position: relative; + overflow: hidden; + margin-top: var(--gap-md); + height: 100%; +} + +.frm-style-tabs-wrapper .frm-tabs-container .frm-tabs-slide-track { + transition: 0.32s transform cubic-bezier(0.25, 0.46, 0.45, 0.94); +} +.frm-style-tabs-wrapper .frm-tabs-slide-track > div { + flex: 0 0 100%; + opacity: 0; + transition: 0.25s opacity linear; + position: relative; + height: auto; + max-height: unset; + overflow: hidden; + box-sizing: border-box; +} +.frm-style-tabs-wrapper .frm-tabs-slide-track > div > div { + overflow: auto; + position: relative; + width: 100%; + padding: 0; + box-sizing: border-box; +} + +.frm-tabs-slide-track > div > div:first-child { + height: 100%; +} +.frm-tabs-slide-track > div.frm-active { + opacity: 1; + transition: 0.35s opacity linear; +} + +/** + * Miscellaneous settings component styles + */ +.frm-style-component .frm_toggle_slider { + background: rgb(242, 244, 247); +} + +.frm-style-component label.frm-copy-text { + line-height: 32px; + cursor: pointer; + white-space: nowrap; +} + +.frm-style-component .wp-picker-holder { + right: 0; +} + +.formidable_page_formidable-styles .accordion-section-content .frm-style-item-heading { + font-weight: 500; + font-size: var(--text-md); + color: var(--grey-900); +} + +.frm-unit-input { + position: relative; + display: flex; + align-items: center; +} +.frm-unit-input input[type=number]::-webkit-outer-spin-button, +.frm-unit-input input[type=number]::-webkit-inner-spin-button { + -webkit-appearance: none; + appearance: none; +} +.frm-unit-input .frm-input-group-suffix { + position: absolute; + top: 1px; + right: 1px; + display: flex; + align-items: center; + height: calc(100% - 2px); + padding-right: var(--gap-xs); +} +.frm-unit-input .frm-input-group-suffix select { + width: fit-content; + height: 100%; + min-height: unset; + font-size: var(--text-sm); + text-align: right; + color: var(--grey-500) !important; + background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%23667085' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 0 top 50%; + padding-left: var(--gap-2xs); + padding-right: 21px !important; + border: transparent; +} +.frm-unit-input .frm-input-group-suffix select:focus-visible { + outline: 1px solid var(--primary-500); + outline-offset: -2px; +} + +/*# sourceMappingURL=frm-settings-components.css.map*/ \ No newline at end of file diff --git a/css/font_icons.css b/css/font_icons.css index b21fe208ed..c25d12cac0 100644 --- a/css/font_icons.css +++ b/css/font_icons.css @@ -1 +1,853 @@ -@font-face{font-family:"s11-fp";src:url("../fonts/s11-fp.woff?v=7") format("woff");font-weight:400;font-style:normal}.frm-submenu-highlight{background:#1da867}.frm-submenu-highlight a span{color:#fff;font-weight:600}.frmfont,.frm_icon_font{text-decoration:none;text-shadow:none;font-weight:400;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;line-height:1.5;transition:color .1s ease-in-out,opacity .1s ease-in-out;font-size:18px}i.frmfont,i.frm_icon_font{font-style:normal;font-variant:normal;speak:none}.frmfont::before,select.frmfont,.frm_icon_font::before,select.frm_icon_font{font-family:"s11-fp" !important;text-align:center}.frmfont,a.frmfont,.frmfont:hover,a.frmfont:hover .frm_icon_font,a.frm_icon_font,.frm_icon_font:hover,a.frm_icon_font:hover{text-decoration:none !important;box-shadow:none}.frmfont:focus,.frm_icon_font:focus{box-shadow:none}.frmfont:active,.frm_icon_font:active{outline:none}.frm_trigger .frm_icon_font{padding:0 5px}.frm_logo_icon::before{content:"\e601"}.frm_required_icon::before{content:"\e612"}.frm_delete_icon::before{content:"\e610" !important}.frm_move_icon::before{content:"\e61a"}.frm_drag_icon::before{content:"\e93b"}.frm_clear_icon::before{content:"\e60a"}.frm_noclear_icon::before{content:"\e60b"}.frm_duplicate_icon::before{content:"\e61b"}.frm_copy_icon::before{content:"\f0c5"}.frm_clone_icon::before{content:"\f24d"}.frm_tooltip_icon::before{content:"\e611"}.frm_tooltip_solid_icon::before{content:"\e907"}.frm_forbid_icon::before{content:"\e636"}.frm_checkmark_icon::before{content:"\e90a"}.frm_check_icon::before{content:"\e605"}.frm_check1_icon::before{content:"\e606"}.frm_plus_icon::before{content:"\e62f"}.frm_plus1_icon::before{content:"\e602"}.frm_plus2_icon::before{content:"\e603"}.frm_plus3_icon::before{content:"\e632"}.frm_plus4_icon::before{content:"\e60f"}.frm_minus_icon::before{content:"\e62e"}.frm_minus1_icon::before{content:"\e600"}.frm_minus2_icon::before{content:"\e604"}.frm_minus3_icon::before{content:"\e633"}.frm_minus4_icon::before{content:"\e613"}.frm_cancel_icon::before{content:"\e607"}.frm_cancel1_icon::before{content:"\e608"}.frm_close_icon::before{content:"\e928"}.frm_report_problem_solid_icon::before{content:"\e914"}.frm_report_problem_icon::before{content:"\e915"}.frm_arrowup_icon::before{content:"\e60d"}.frm_arrowup1_icon::before{content:"\e60e"}.frm_arrowup2_icon::before{content:"\e630"}.frm_arrowup3_icon::before{content:"\e62b"}.frm_arrowup4_icon::before{content:"\e62c"}.frm_arrowup5_icon::before{content:"\e635"}.frm_arrowup5_solid_icon::before{content:"\e9d"}.frm_arrowup7_icon::before{content:"\e908"}.frm_arrowup6_icon::before{content:"\e62d"}.frm_arrowdown_icon::before{content:"\e609"}.frm_arrowdown1_icon::before{content:"\e60c"}.frm_arrowdown2_icon::before{content:"\e631"}.frm_arrowdown3_icon::before{content:"\e628"}.frm_arrowdown4_icon::before{content:"\e629"}.frm_arrowdown5_icon::before{content:"\e634"}.frm_arrowdown5_solid_icon::before{content:"\e905"}.frm_arrowdown7_icon::before{content:"\e90b"}.frm_arrowdown6_icon::before{content:"\e62a"}.frm_arrow_left_icon::before{content:"\e912"}.frm_arrow_right_icon::before{content:"\e913"}.frm_filter_icon::before{content:"\e90c"}.frm_download_icon::before{content:"\e615"}.frm_upload2_icon::before{content:"\f093"}.frm_upload_icon::before{content:"\e616"}.frm_download2_icon::before{content:"\f019"}.frm_hard_drive_icon::before{content:"\e916"}.frm_pencil_solid_icon::before{content:"\e901"}.frm_pencil_icon::before{content:"\e61d"}.frm_signature_icon::before{content:"\e919"}.frm_user_icon::before{content:"\e7ff"}.frm_register_icon::before{content:"\e637"}.frm_account_circle_solid_icon::before{content:"\e853"}.frm_account_circle_icon::before{content:"\e921"}.frm_address_card_icon::before{content:"\e996"}.frm_paragraph_icon::before{content:"\f1dd"}.frm_checkbox_unchecked_icon::before{content:"\e91e"}.frm_checkbox_icon::before{content:"\e922"}.frm_checkbox_solid_icon::before{content:"\e91f"}.frm_dropdown_icon::before{content:"\e909"}.frm_caret_square_down_icon::before{content:"\f150"}.frm_check_square_icon::before{content:"\f14a"}.frm_radio_unchecked_icon::before{content:"\e971"}.frm_radio_checked_icon::before{content:"\ea54"}.frm_scrubber_icon::before{content:"\f2f8"}.frm_location_solid_icon::before{content:"\e955"}.frm_location_icon::before{content:"\e947"}.frm_toggle_on_icon::before{content:"\f205"}.frm_toggle_off_icon::before{content:"\f204"}.frm_shield_check_icon::before{content:"\f2f7"}.frm_shield_check_solid_icon::before{content:"\e97d"}.frm_clock_icon::before{content:"\e929"}.frm_clock_solid_icon::before{content:"\e985"}.frm_link_icon::before{content:"\f0c1"}.frm_email_icon::before{content:"\e626"}.frm_email_solid_icon::before{content:"\f0e0"}.frm_mail_bulk_icon::before{content:"\e95c"}.frm_phone_icon::before{content:"\e942"}.frm_calendar_icon::before{content:"\f073"}.frm_code_icon::before{content:"\e90d"}.frm_tag_icon::before{content:"\e98b"}.frm_tag_solid_icon::before{content:"\e989"}.frm_price_tags_icon::before{content:"\e936"}.frm_search_icon::before{content:"\e978"}.frm_sitemap_icon::before{content:"\f0e8"}.frm_file_icon::before{content:"\f15b"}.frm_file_text_solid_icon::before{content:"\f15c"}.frm_file_text_icon::before{content:"\e923"}.frm-option-icon::before,.frm_option_icon::before{content:"\e904"}.frm_option_solid_icon::before{content:"\e906"}.frm_more_horiz_icon::before{content:"\e5d3"}.frm_more_vert_icon::before{content:"\e5d4"}.frm_more_horiz_solid_icon{font-size:28px !important;font-weight:700;line-height:18px}.frm_more_horiz_solid_icon::before{content:"ยทยทยท"}.frm_more_vert_solid_icon::before{content:"\f142"}.frm_calculator_icon::before{content:"\f1ec"}.frm_keyboard_icon::before{content:"\e924"}.frm_eye_icon::before{content:"\f06e"}.frm_eye_solid_icon::before{content:"\e945"}.frm_eye_slash_icon::before{content:"\f070"}.frm_eye_slash_solid_icon::before{content:"\e949"}.frm_page_break_icon::before{content:"\e8e9"}.frm_view_day_icon::before{content:"\e8ed"}.frm_attach_file_icon::before{content:"\e226"}.frm_printer_icon::before{content:"\e926"}.frm_header_icon::before{content:"\f1dc"}.frm_h1_icon::before{content:"\e94c"}.frm_repeat_icon::before{content:"\f363"}.frm_repeater_icon::before{content:"\e974"}.frm_hashtag_icon::before{content:"\e292"}.frm_save_icon::before{content:"\e927"}.frm_sliders_icon::before{content:"\f1de"}.frm_code_commit_icon::before{content:"\f386"}.frm_star_icon::before{content:"\e9d7"}.frm_star_full_icon::before{content:"\e9d9"}.frm_star_half_icon::before{content:"\e9d8"}.frm_linear_scale_icon::before{content:"\e260"}.frm_pie_chart_icon::before{content:"\e99a"}.frm_stats_bars_icon::before{content:"\e99c"}.frm_sms_icon::before{content:"\e61c"}.frm_highrise_icon::before{content:"\e617"}.frm_mailchimp_icon::before{content:"\e622"}.frm_feed_icon::before{content:"\e624"}.frm_align_right_icon::before{content:"\e90f"}.frm_align_left_icon::before{content:"\e910"}.frm_button_icon::before{content:"\e911"}.frm_browser_icon::before{content:"\e925"}.frm_cloud_upload_solid_icon::before{content:"\e92c"}.frm_shuffle_icon::before{content:"\e917"}.frm_swap_icon::before{content:"\e918"}.frm_pallet_icon::before{content:"\e96d"}.frm_fingerprint_icon::before{content:"\e94a"}.frm_ghost_icon::before{content:"\e94b"}.frm_heart_solid_icon::before{content:"\e94d"}.frm_heart_icon::before{content:"\e94e"}.frm_history_icon::before{content:"\e94f"}.frm_import_icon::before{content:"\e91a"}.frm_export_icon::before{content:"\e91b"}.frm_label_solid_icon::before{content:"\e952"}.frm_label_icon::before{content:"\e953"}.frm_lock_open_icon::before{content:"\e957"}.frm_lock_icon::before{content:"\e959"}.frm_dollar_sign_icon::before{content:"\e91c"}.frm_percent_icon::before{content:"\e939"}.frm_external_link_icon::before{content:"\e966"}.frm_pageview_solid_icon::before{content:"\e96a"}.frm_pageview_icon::before{content:"\e96b"}.frm_settings_icon::before{content:"\e97a"}.frm_stamp_icon::before{content:"\e980"}.frm_support_icon::before{content:"\f1cd"}.frm_text_icon::before{content:"\e98d"}.frm_text2_icon::before{content:"\f031"}.frm_white_label_icon::before{content:"\e91d" !important}.frm_authorize_icon::before{content:"\e903"}.frm_icon_font.frm_activecampaign_icon{background-image:none}.frm_activecampaign_icon::before{content:"\e930"}.frm_aweber_icon::before{content:"\e627"}.frm_campaignmonitor_icon::before{content:"\e946"}.frm_constant_contact_icon::before{content:"\e931"}.frm_getresponse_icon::before{content:"\e932"}.frm_googlesheets_icon::before{content:"\e944"}.frm_building_icon::before{content:"\e93f"}.frm_hubspot_icon::before{content:"\e933"}.frm_icontact_icon::before{content:"\e940"}.frm_icon_font.frm_mailpoet_icon::before{content:"\e934"}.frm_paypal_icon::before{content:"\e61f"}.frm_sendinblue_icon::before{content:"\e943"}.frm_sendy_icon::before{content:"\e941"}.frm_salesforce_icon::before{content:"\e935"}.frm_salesforcealt_icon::before{content:"\e937"}.frm_stripe_icon::before{content:"\e902"}.frm_stripealt_icon::before{content:"\e93d"}.frm_twilio_icon::before{content:"\e620"}.frm_woocommerce_icon::before{content:"\e90e"}.frm_wordpress_icon::before{content:"\f19a"}.frm_credit_card_icon::before{content:"\e938"}.frm_credit-card-alt_icon::before,.frm_credit_card_alt_icon::before{content:"\f283"}.frm_cc_amex_icon::before{content:"\f1f3"}.frm_cc_discover_icon::before{content:"\f1f2"}.frm_cc_mastercard_icon::before{content:"\f1f1"}.frm_cc_visa_icon::before{content:"\f1f0"}.frm_cc_paypal_icon::before{content:"\f1f4"}.frm_cc_stripe_icon::before{content:"\f1f5"} +/*!****************************************************************************************************************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/css-unicode-loader/index.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./resources/scss/font_icons.scss ***! + \****************************************************************************************************************************************************************************************************************************/ +@charset "UTF-8"; +/** + * Font Icons + */ +@font-face { + font-family: "s11-fp"; + src: url("../fonts/s11-fp.woff?v=7") format("woff"); + font-weight: 400; + font-style: normal; +} +.frm-submenu-highlight { + background: #1da867; +} + +.frm-submenu-highlight a span { + color: #fff; + font-weight: 600; +} + +.frmfont, +.frm_icon_font { + text-decoration: none; + text-shadow: none; + font-weight: 400; + display: inline-block; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + text-rendering: auto; + line-height: 1.5; + transition: color 0.1s ease-in-out, opacity 0.1s ease-in-out; + font-size: 18px; +} + +i.frmfont, +i.frm_icon_font { + font-style: normal; + font-variant: normal; + speak: none; +} + +.frmfont::before, +select.frmfont, +.frm_icon_font::before, +select.frm_icon_font { + font-family: "s11-fp" !important; + text-align: center; +} + +.frmfont, +a.frmfont, +.frmfont:hover, +a.frmfont:hover .frm_icon_font, +a.frm_icon_font, +.frm_icon_font:hover, +a.frm_icon_font:hover { + text-decoration: none !important; + box-shadow: none; +} + +.frmfont:focus, +.frm_icon_font:focus { + box-shadow: none; +} + +.frmfont:active, +.frm_icon_font:active { + outline: none; +} + +.frm_trigger .frm_icon_font { + padding: 0 5px; +} + +.frm_logo_icon::before { + content: "\e601"; +} + +.frm_required_icon::before { + content: "\e612"; +} + +.frm_delete_icon::before { + content: "\e610" !important; +} + +.frm_move_icon::before { + content: "\e61a"; +} + +.frm_drag_icon::before { + content: "\e93b"; +} + +.frm_clear_icon::before { + content: "\e60a"; +} + +.frm_noclear_icon::before { + content: "\e60b"; +} + +.frm_duplicate_icon::before { + content: "\e61b"; +} + +.frm_copy_icon::before { + content: "\f0c5"; +} + +.frm_clone_icon::before { + content: "\f24d"; +} + +.frm_tooltip_icon::before { + content: "\e611"; +} + +.frm_tooltip_solid_icon::before { + content: "\e907"; +} + +.frm_forbid_icon::before { + content: "\e636"; +} + +.frm_checkmark_icon::before { + content: "\e90a"; +} + +.frm_check_icon::before { + content: "\e605"; +} + +.frm_check1_icon::before { + content: "\e606"; +} + +.frm_plus_icon::before { + content: "\e62f"; +} + +.frm_plus1_icon::before { + content: "\e602"; +} + +.frm_plus2_icon::before { + content: "\e603"; +} + +.frm_plus3_icon::before { + content: "\e632"; +} + +.frm_plus4_icon::before { + content: "\e60f"; +} + +.frm_minus_icon::before { + content: "\e62e"; +} + +.frm_minus1_icon::before { + content: "\e600"; +} + +.frm_minus2_icon::before { + content: "\e604"; +} + +.frm_minus3_icon::before { + content: "\e633"; +} + +.frm_minus4_icon::before { + content: "\e613"; +} + +.frm_cancel_icon::before { + content: "\e607"; +} + +.frm_cancel1_icon::before { + content: "\e608"; +} + +.frm_close_icon::before { + content: "\e928"; +} + +.frm_report_problem_solid_icon::before { + content: "\e914"; +} + +.frm_report_problem_icon::before { + content: "\e915"; +} + +.frm_arrowup_icon::before { + content: "\e60d"; +} + +.frm_arrowup1_icon::before { + content: "\e60e"; +} + +.frm_arrowup2_icon::before { + content: "\e630"; +} + +.frm_arrowup3_icon::before { + content: "\e62b"; +} + +.frm_arrowup4_icon::before { + content: "\e62c"; +} + +.frm_arrowup5_icon::before { + content: "\e635"; +} + +.frm_arrowup5_solid_icon::before { + content: "\e9d"; +} + +.frm_arrowup7_icon::before { + content: "\e908"; +} + +.frm_arrowup6_icon::before { + content: "\e62d"; +} + +.frm_arrowdown_icon::before { + content: "\e609"; +} + +.frm_arrowdown1_icon::before { + content: "\e60c"; +} + +.frm_arrowdown2_icon::before { + content: "\e631"; +} + +.frm_arrowdown3_icon::before { + content: "\e628"; +} + +.frm_arrowdown4_icon::before { + content: "\e629"; +} + +.frm_arrowdown5_icon::before { + content: "\e634"; +} + +.frm_arrowdown5_solid_icon::before { + content: "\e905"; +} + +.frm_arrowdown7_icon::before { + content: "\e90b"; +} + +.frm_arrowdown6_icon::before { + content: "\e62a"; +} + +.frm_arrow_left_icon::before { + content: "\e912"; +} + +.frm_arrow_right_icon::before { + content: "\e913"; +} + +.frm_filter_icon::before { + content: "\e90c"; +} + +.frm_download_icon::before { + content: "\e615"; +} + +.frm_upload2_icon::before { + content: "\f093"; +} + +.frm_upload_icon::before { + content: "\e616"; +} + +.frm_download2_icon::before { + content: "\f019"; +} + +.frm_hard_drive_icon::before { + content: "\e916"; +} + +.frm_pencil_solid_icon::before { + content: "\e901"; +} + +.frm_pencil_icon::before { + content: "\e61d"; +} + +.frm_signature_icon::before { + content: "\e919"; +} + +.frm_user_icon::before { + content: "\e7ff"; +} + +.frm_register_icon::before { + content: "\e637"; +} + +.frm_account_circle_solid_icon::before { + content: "\e853"; +} + +.frm_account_circle_icon::before { + content: "\e921"; +} + +.frm_address_card_icon::before { + content: "\e996"; +} + +.frm_paragraph_icon::before { + content: "\f1dd"; +} + +.frm_checkbox_unchecked_icon::before { + content: "\e91e"; +} + +.frm_checkbox_icon::before { + content: "\e922"; +} + +.frm_checkbox_solid_icon::before { + content: "\e91f"; +} + +.frm_dropdown_icon::before { + content: "\e909"; +} + +.frm_caret_square_down_icon::before { + content: "\f150"; +} + +.frm_check_square_icon::before { + content: "\f14a"; +} + +.frm_radio_unchecked_icon::before { + content: "\e971"; +} + +.frm_radio_checked_icon::before { + content: "\ea54"; +} + +.frm_scrubber_icon::before { + content: "\f2f8"; +} + +.frm_location_solid_icon::before { + content: "\e955"; +} + +.frm_location_icon::before { + content: "\e947"; +} + +.frm_toggle_on_icon::before { + content: "\f205"; +} + +.frm_toggle_off_icon::before { + content: "\f204"; +} + +.frm_shield_check_icon::before { + content: "\f2f7"; +} + +.frm_shield_check_solid_icon::before { + content: "\e97d"; +} + +.frm_clock_icon::before { + content: "\e929"; +} + +.frm_clock_solid_icon::before { + content: "\e985"; +} + +.frm_link_icon::before { + content: "\f0c1"; +} + +.frm_email_icon::before { + content: "\e626"; +} + +.frm_email_solid_icon::before { + content: "\f0e0"; +} + +.frm_mail_bulk_icon::before { + content: "\e95c"; +} + +.frm_phone_icon::before { + content: "\e942"; +} + +.frm_calendar_icon::before { + content: "\f073"; +} + +.frm_code_icon::before { + content: "\e90d"; +} + +.frm_tag_icon::before { + content: "\e98b"; +} + +.frm_tag_solid_icon::before { + content: "\e989"; +} + +.frm_price_tags_icon::before { + content: "\e936"; +} + +.frm_search_icon::before { + content: "\e978"; +} + +.frm_sitemap_icon::before { + content: "\f0e8"; +} + +.frm_file_icon::before { + content: "\f15b"; +} + +.frm_file_text_solid_icon::before { + content: "\f15c"; +} + +.frm_file_text_icon::before { + content: "\e923"; +} + +.frm-option-icon::before, +.frm_option_icon::before { + content: "\e904"; +} + +.frm_option_solid_icon::before { + content: "\e906"; +} + +.frm_more_horiz_icon::before { + content: "\e5d3"; +} + +.frm_more_vert_icon::before { + content: "\e5d4"; +} + +.frm_more_horiz_solid_icon { + font-size: 28px !important; + font-weight: 700; + line-height: 18px; +} + +.frm_more_horiz_solid_icon::before { + content: "ยทยทยท"; +} + +.frm_more_vert_solid_icon::before { + content: "\f142"; +} + +.frm_calculator_icon::before { + content: "\f1ec"; +} + +.frm_keyboard_icon::before { + content: "\e924"; +} + +.frm_eye_icon::before { + content: "\f06e"; +} + +.frm_eye_solid_icon::before { + content: "\e945"; +} + +.frm_eye_slash_icon::before { + content: "\f070"; +} + +.frm_eye_slash_solid_icon::before { + content: "\e949"; +} + +.frm_page_break_icon::before { + content: "\e8e9"; +} + +.frm_view_day_icon::before { + content: "\e8ed"; +} + +.frm_attach_file_icon::before { + content: "\e226"; +} + +.frm_printer_icon::before { + content: "\e926"; +} + +.frm_header_icon::before { + content: "\f1dc"; +} + +.frm_h1_icon::before { + content: "\e94c"; +} + +.frm_repeat_icon::before { + content: "\f363"; +} + +.frm_repeater_icon::before { + content: "\e974"; +} + +.frm_hashtag_icon::before { + content: "\e292"; +} + +.frm_save_icon::before { + content: "\e927"; +} + +.frm_sliders_icon::before { + content: "\f1de"; +} + +.frm_code_commit_icon::before { + content: "\f386"; +} + +.frm_star_icon::before { + content: "\e9d7"; +} + +.frm_star_full_icon::before { + content: "\e9d9"; +} + +.frm_star_half_icon::before { + content: "\e9d8"; +} + +.frm_linear_scale_icon::before { + content: "\e260"; +} + +.frm_pie_chart_icon::before { + content: "\e99a"; +} + +.frm_stats_bars_icon::before { + content: "\e99c"; +} + +.frm_sms_icon::before { + content: "\e61c"; +} + +.frm_highrise_icon::before { + content: "\e617"; +} + +.frm_mailchimp_icon::before { + content: "\e622"; +} + +.frm_feed_icon::before { + content: "\e624"; +} + +.frm_align_right_icon::before { + content: "\e90f"; +} + +.frm_align_left_icon::before { + content: "\e910"; +} + +.frm_button_icon::before { + content: "\e911"; +} + +.frm_browser_icon::before { + content: "\e925"; +} + +.frm_cloud_upload_solid_icon::before { + content: "\e92c"; +} + +.frm_shuffle_icon::before { + content: "\e917"; +} + +.frm_swap_icon::before { + content: "\e918"; +} + +.frm_pallet_icon::before { + content: "\e96d"; +} + +.frm_fingerprint_icon::before { + content: "\e94a"; +} + +.frm_ghost_icon::before { + content: "\e94b"; +} + +.frm_heart_solid_icon::before { + content: "\e94d"; +} + +.frm_heart_icon::before { + content: "\e94e"; +} + +.frm_history_icon::before { + content: "\e94f"; +} + +.frm_import_icon::before { + content: "\e91a"; +} + +.frm_export_icon::before { + content: "\e91b"; +} + +.frm_label_solid_icon::before { + content: "\e952"; +} + +.frm_label_icon::before { + content: "\e953"; +} + +.frm_lock_open_icon::before { + content: "\e957"; +} + +.frm_lock_icon::before { + content: "\e959"; +} + +.frm_dollar_sign_icon::before { + content: "\e91c"; +} + +.frm_percent_icon::before { + content: "\e939"; +} + +.frm_external_link_icon::before { + content: "\e966"; +} + +.frm_pageview_solid_icon::before { + content: "\e96a"; +} + +.frm_pageview_icon::before { + content: "\e96b"; +} + +.frm_settings_icon::before { + content: "\e97a"; +} + +.frm_stamp_icon::before { + content: "\e980"; +} + +.frm_support_icon::before { + content: "\f1cd"; +} + +.frm_text_icon::before { + content: "\e98d"; +} + +.frm_text2_icon::before { + content: "\f031"; +} + +.frm_white_label_icon::before { + content: "\e91d" !important; +} + +.frm_authorize_icon::before { + content: "\e903"; +} + +.frm_icon_font.frm_activecampaign_icon { + background-image: none; +} + +.frm_activecampaign_icon::before { + content: "\e930"; +} + +.frm_aweber_icon::before { + content: "\e627"; +} + +.frm_campaignmonitor_icon::before { + content: "\e946"; +} + +.frm_constant_contact_icon::before { + content: "\e931"; +} + +.frm_getresponse_icon::before { + content: "\e932"; +} + +.frm_googlesheets_icon::before { + content: "\e944"; +} + +.frm_building_icon::before { + content: "\e93f"; +} + +.frm_hubspot_icon::before { + content: "\e933"; +} + +.frm_icontact_icon::before { + content: "\e940"; +} + +.frm_icon_font.frm_mailpoet_icon::before { + content: "\e934"; +} + +.frm_paypal_icon::before { + content: "\e61f"; +} + +.frm_sendinblue_icon::before { + content: "\e943"; +} + +.frm_sendy_icon::before { + content: "\e941"; +} + +.frm_salesforce_icon::before { + content: "\e935"; +} + +.frm_salesforcealt_icon::before { + content: "\e937"; +} + +.frm_stripe_icon::before { + content: "\e902"; +} + +.frm_stripealt_icon::before { + content: "\e93d"; +} + +.frm_twilio_icon::before { + content: "\e620"; +} + +.frm_woocommerce_icon::before { + content: "\e90e"; +} + +.frm_wordpress_icon::before { + content: "\f19a"; +} + +.frm_credit_card_icon::before { + content: "\e938"; +} + +.frm_credit-card-alt_icon::before, +.frm_credit_card_alt_icon::before { + content: "\f283"; +} + +.frm_cc_amex_icon::before { + content: "\f1f3"; +} + +.frm_cc_discover_icon::before { + content: "\f1f2"; +} + +.frm_cc_mastercard_icon::before { + content: "\f1f1"; +} + +.frm_cc_visa_icon::before { + content: "\f1f0"; +} + +.frm_cc_paypal_icon::before { + content: "\f1f4"; +} + +.frm_cc_stripe_icon::before { + content: "\f1f5"; +} + +/*# sourceMappingURL=font_icons.css.map*/ \ No newline at end of file diff --git a/css/frm_admin.css b/css/frm_admin.css index f0750a54d8..6e4232cbfb 100644 --- a/css/frm_admin.css +++ b/css/frm_admin.css @@ -1,3 +1,12271 @@ -@font-face{font-family:"s11-fp";src:url("../fonts/s11-fp.woff?v=7") format("woff");font-weight:400;font-style:normal}.frm-submenu-highlight{background:#1da867}.frm-submenu-highlight a span{color:#fff;font-weight:600}.frmfont,.frm_icon_font{text-decoration:none;text-shadow:none;font-weight:400;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;line-height:1.5;transition:color .1s ease-in-out,opacity .1s ease-in-out;font-size:18px}i.frmfont,i.frm_icon_font{font-style:normal;font-variant:normal;speak:none}.frmfont::before,select.frmfont,.frm_icon_font::before,select.frm_icon_font{font-family:"s11-fp" !important;text-align:center}.frmfont,a.frmfont,.frmfont:hover,a.frmfont:hover .frm_icon_font,a.frm_icon_font,.frm_icon_font:hover,a.frm_icon_font:hover{text-decoration:none !important;box-shadow:none}.frmfont:focus,.frm_icon_font:focus{box-shadow:none}.frmfont:active,.frm_icon_font:active{outline:none}.frm_trigger .frm_icon_font{padding:0 5px}.frm_logo_icon::before{content:"\e601"}.frm_required_icon::before{content:"\e612"}.frm_delete_icon::before{content:"\e610" !important}.frm_move_icon::before{content:"\e61a"}.frm_drag_icon::before{content:"\e93b"}.frm_clear_icon::before{content:"\e60a"}.frm_noclear_icon::before{content:"\e60b"}.frm_duplicate_icon::before{content:"\e61b"}.frm_copy_icon::before{content:"\f0c5"}.frm_clone_icon::before{content:"\f24d"}.frm_tooltip_icon::before{content:"\e611"}.frm_tooltip_solid_icon::before{content:"\e907"}.frm_forbid_icon::before{content:"\e636"}.frm_checkmark_icon::before{content:"\e90a"}.frm_check_icon::before{content:"\e605"}.frm_check1_icon::before{content:"\e606"}.frm_plus_icon::before{content:"\e62f"}.frm_plus1_icon::before{content:"\e602"}.frm_plus2_icon::before{content:"\e603"}.frm_plus3_icon::before{content:"\e632"}.frm_plus4_icon::before{content:"\e60f"}.frm_minus_icon::before{content:"\e62e"}.frm_minus1_icon::before{content:"\e600"}.frm_minus2_icon::before{content:"\e604"}.frm_minus3_icon::before{content:"\e633"}.frm_minus4_icon::before{content:"\e613"}.frm_cancel_icon::before{content:"\e607"}.frm_cancel1_icon::before{content:"\e608"}.frm_close_icon::before{content:"\e928"}.frm_report_problem_solid_icon::before{content:"\e914"}.frm_report_problem_icon::before{content:"\e915"}.frm_arrowup_icon::before{content:"\e60d"}.frm_arrowup1_icon::before{content:"\e60e"}.frm_arrowup2_icon::before{content:"\e630"}.frm_arrowup3_icon::before{content:"\e62b"}.frm_arrowup4_icon::before{content:"\e62c"}.frm_arrowup5_icon::before{content:"\e635"}.frm_arrowup5_solid_icon::before{content:"\e9d"}.frm_arrowup7_icon::before{content:"\e908"}.frm_arrowup6_icon::before{content:"\e62d"}.frm_arrowdown_icon::before{content:"\e609"}.frm_arrowdown1_icon::before{content:"\e60c"}.frm_arrowdown2_icon::before{content:"\e631"}.frm_arrowdown3_icon::before{content:"\e628"}.frm_arrowdown4_icon::before{content:"\e629"}.frm_arrowdown5_icon::before{content:"\e634"}.frm_arrowdown5_solid_icon::before{content:"\e905"}.frm_arrowdown7_icon::before{content:"\e90b"}.frm_arrowdown6_icon::before{content:"\e62a"}.frm_arrow_left_icon::before{content:"\e912"}.frm_arrow_right_icon::before{content:"\e913"}.frm_filter_icon::before{content:"\e90c"}.frm_download_icon::before{content:"\e615"}.frm_upload2_icon::before{content:"\f093"}.frm_upload_icon::before{content:"\e616"}.frm_download2_icon::before{content:"\f019"}.frm_hard_drive_icon::before{content:"\e916"}.frm_pencil_solid_icon::before{content:"\e901"}.frm_pencil_icon::before{content:"\e61d"}.frm_signature_icon::before{content:"\e919"}.frm_user_icon::before{content:"\e7ff"}.frm_register_icon::before{content:"\e637"}.frm_account_circle_solid_icon::before{content:"\e853"}.frm_account_circle_icon::before{content:"\e921"}.frm_address_card_icon::before{content:"\e996"}.frm_paragraph_icon::before{content:"\f1dd"}.frm_checkbox_unchecked_icon::before{content:"\e91e"}.frm_checkbox_icon::before{content:"\e922"}.frm_checkbox_solid_icon::before{content:"\e91f"}.frm_dropdown_icon::before{content:"\e909"}.frm_caret_square_down_icon::before{content:"\f150"}.frm_check_square_icon::before{content:"\f14a"}.frm_radio_unchecked_icon::before{content:"\e971"}.frm_radio_checked_icon::before{content:"\ea54"}.frm_scrubber_icon::before{content:"\f2f8"}.frm_location_solid_icon::before{content:"\e955"}.frm_location_icon::before{content:"\e947"}.frm_toggle_on_icon::before{content:"\f205"}.frm_toggle_off_icon::before{content:"\f204"}.frm_shield_check_icon::before{content:"\f2f7"}.frm_shield_check_solid_icon::before{content:"\e97d"}.frm_clock_icon::before{content:"\e929"}.frm_clock_solid_icon::before{content:"\e985"}.frm_link_icon::before{content:"\f0c1"}.frm_email_icon::before{content:"\e626"}.frm_email_solid_icon::before{content:"\f0e0"}.frm_mail_bulk_icon::before{content:"\e95c"}.frm_phone_icon::before{content:"\e942"}.frm_calendar_icon::before{content:"\f073"}.frm_code_icon::before{content:"\e90d"}.frm_tag_icon::before{content:"\e98b"}.frm_tag_solid_icon::before{content:"\e989"}.frm_price_tags_icon::before{content:"\e936"}.frm_search_icon::before{content:"\e978"}.frm_sitemap_icon::before{content:"\f0e8"}.frm_file_icon::before{content:"\f15b"}.frm_file_text_solid_icon::before{content:"\f15c"}.frm_file_text_icon::before{content:"\e923"}.frm-option-icon::before,.frm_option_icon::before{content:"\e904"}.frm_option_solid_icon::before{content:"\e906"}.frm_more_horiz_icon::before{content:"\e5d3"}.frm_more_vert_icon::before{content:"\e5d4"}.frm_more_horiz_solid_icon{font-size:28px !important;font-weight:700;line-height:18px}.frm_more_horiz_solid_icon::before{content:"ยทยทยท"}.frm_more_vert_solid_icon::before{content:"\f142"}.frm_calculator_icon::before{content:"\f1ec"}.frm_keyboard_icon::before{content:"\e924"}.frm_eye_icon::before{content:"\f06e"}.frm_eye_solid_icon::before{content:"\e945"}.frm_eye_slash_icon::before{content:"\f070"}.frm_eye_slash_solid_icon::before{content:"\e949"}.frm_page_break_icon::before{content:"\e8e9"}.frm_view_day_icon::before{content:"\e8ed"}.frm_attach_file_icon::before{content:"\e226"}.frm_printer_icon::before{content:"\e926"}.frm_header_icon::before{content:"\f1dc"}.frm_h1_icon::before{content:"\e94c"}.frm_repeat_icon::before{content:"\f363"}.frm_repeater_icon::before{content:"\e974"}.frm_hashtag_icon::before{content:"\e292"}.frm_save_icon::before{content:"\e927"}.frm_sliders_icon::before{content:"\f1de"}.frm_code_commit_icon::before{content:"\f386"}.frm_star_icon::before{content:"\e9d7"}.frm_star_full_icon::before{content:"\e9d9"}.frm_star_half_icon::before{content:"\e9d8"}.frm_linear_scale_icon::before{content:"\e260"}.frm_pie_chart_icon::before{content:"\e99a"}.frm_stats_bars_icon::before{content:"\e99c"}.frm_sms_icon::before{content:"\e61c"}.frm_highrise_icon::before{content:"\e617"}.frm_mailchimp_icon::before{content:"\e622"}.frm_feed_icon::before{content:"\e624"}.frm_align_right_icon::before{content:"\e90f"}.frm_align_left_icon::before{content:"\e910"}.frm_button_icon::before{content:"\e911"}.frm_browser_icon::before{content:"\e925"}.frm_cloud_upload_solid_icon::before{content:"\e92c"}.frm_shuffle_icon::before{content:"\e917"}.frm_swap_icon::before{content:"\e918"}.frm_pallet_icon::before{content:"\e96d"}.frm_fingerprint_icon::before{content:"\e94a"}.frm_ghost_icon::before{content:"\e94b"}.frm_heart_solid_icon::before{content:"\e94d"}.frm_heart_icon::before{content:"\e94e"}.frm_history_icon::before{content:"\e94f"}.frm_import_icon::before{content:"\e91a"}.frm_export_icon::before{content:"\e91b"}.frm_label_solid_icon::before{content:"\e952"}.frm_label_icon::before{content:"\e953"}.frm_lock_open_icon::before{content:"\e957"}.frm_lock_icon::before{content:"\e959"}.frm_dollar_sign_icon::before{content:"\e91c"}.frm_percent_icon::before{content:"\e939"}.frm_external_link_icon::before{content:"\e966"}.frm_pageview_solid_icon::before{content:"\e96a"}.frm_pageview_icon::before{content:"\e96b"}.frm_settings_icon::before{content:"\e97a"}.frm_stamp_icon::before{content:"\e980"}.frm_support_icon::before{content:"\f1cd"}.frm_text_icon::before{content:"\e98d"}.frm_text2_icon::before{content:"\f031"}.frm_white_label_icon::before{content:"\e91d" !important}.frm_authorize_icon::before{content:"\e903"}.frm_icon_font.frm_activecampaign_icon{background-image:none}.frm_activecampaign_icon::before{content:"\e930"}.frm_aweber_icon::before{content:"\e627"}.frm_campaignmonitor_icon::before{content:"\e946"}.frm_constant_contact_icon::before{content:"\e931"}.frm_getresponse_icon::before{content:"\e932"}.frm_googlesheets_icon::before{content:"\e944"}.frm_building_icon::before{content:"\e93f"}.frm_hubspot_icon::before{content:"\e933"}.frm_icontact_icon::before{content:"\e940"}.frm_icon_font.frm_mailpoet_icon::before{content:"\e934"}.frm_paypal_icon::before{content:"\e61f"}.frm_sendinblue_icon::before{content:"\e943"}.frm_sendy_icon::before{content:"\e941"}.frm_salesforce_icon::before{content:"\e935"}.frm_salesforcealt_icon::before{content:"\e937"}.frm_stripe_icon::before{content:"\e902"}.frm_stripealt_icon::before{content:"\e93d"}.frm_twilio_icon::before{content:"\e620"}.frm_woocommerce_icon::before{content:"\e90e"}.frm_wordpress_icon::before{content:"\f19a"}.frm_credit_card_icon::before{content:"\e938"}.frm_credit-card-alt_icon::before,.frm_credit_card_alt_icon::before{content:"\f283"}.frm_cc_amex_icon::before{content:"\f1f3"}.frm_cc_discover_icon::before{content:"\f1f2"}.frm_cc_mastercard_icon::before{content:"\f1f1"}.frm_cc_visa_icon::before{content:"\f1f0"}.frm_cc_paypal_icon::before{content:"\f1f4"}.frm_cc_stripe_icon::before{content:"\f1f5"}:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}@font-face{font-family:"Inter";src:url("../fonts/Inter-VariableFont_slnt,wght.ttf?v=1") format("truetype")}.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}@media not all and (min-resolution: 0.001dpcm){@supports(-webkit-appearance: none) and (stroke-color: transparent){.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{-webkit-font-smoothing:antialiased}}}.frm-sm-z-index{z-index:1}.frm-md-z-index{z-index:5}.frm-white-body,.frm-white-body p,.frm_wrap,.frm_wrap p,.frm-modal,.frm-white-body .postbox .inside{font-size:var(--text-sm);color:var(--grey-500);line-height:var(--leading)}.frm-white-body p,.frm_wrap p{margin:var(--gap-sm) 0}body:not(.frm-admin-page-styles):not(.frm-admin-page-style) .with_frm_style .frm_form_fields>fieldset{--fieldset-padding: 15px 0}a,.widget .widget-top,.stuffbox h3,.frm-collapsed{cursor:pointer;text-decoration:none}.post-type-frm_display .wrap>#posts-filter,.wrap.frm-with-margin,.frm_wrap>.wrap{margin:var(--gap-sm) var(--gap-md) var(--gap-md)}#frm_top_bar+.wrap{margin:var(--gap-xl)}.frm-full-screen #wpbody-content>.wrap{margin:0}.post-type-frm_display .wrap{margin:0}.toplevel_page_formidable #post-body-content{overflow-x:visible}.frm-full-screen{height:100%;overflow:hidden}.frm-full-screen.frm-admin-page-reports,.frm-full-screen.frm-admin-page-entries,.frm-full-screen.post-type-frm_display{overflow:auto}.frm-full-screen #wpadminbar,.frm-full-screen #adminmenumain,.frm-full-screen .wp-header-end{display:none}body.frm-white-body:not(.frm-full-screen) .mce-fullscreen{top:32px;left:160px}.frm-full-screen #wpbody-content,.frm-full-screen #wpbody,.frm-full-screen #wpcontent{padding:0;overflow:hidden;margin:0 !important}.frm-white-body #wpbody-content{position:relative;padding-bottom:0}.post-new-php.post-type-frm_display #screen-meta-links,.post-php.post-type-frm_display #screen-meta-links{display:none}.frm-white-body #screen-meta-links{position:fixed;bottom:0;right:20px}.frm-full-screen #screen-meta-links .screen-meta-toggle{right:55px}.frm-white-body #screen-meta-links .show-settings{border-radius:var(--small-radius) var(--small-radius) 0 0;border:1px solid var(--grey-300);border-bottom:none}.frm-white-body.frm-lite #screen-meta-links .screen-meta-toggle{right:125px}.frm-white-body #screen-meta{margin:0}.frm-white-body #screen-meta-links .show-settings::after{color:var(--grey)}.frm-white-body .columns-2{border-bottom:1px solid var(--grey-300)}.frm-full-screen .columns-2{border:none}body.post-type-frm_display.edit-php,body.frm-white-body{background:#fff}body.frm-white-body ul#adminmenu a.wp-has-current-submenu::after,body.frm-white-body ul#adminmenu>li.current>a.current::after{border-right-color:#fff}.frm-white-body #wpcontent{padding-left:0;padding-right:0}.frm-white-body .wrap #post-body{padding:0 20px}.frm-grey-body #wpbody{background:var(--grey-100)}.frm-grey-body #frm_top_bar{background:#fff}.post-type-frm_display .tablenav,.frm_wrap .tablenav{margin-bottom:10px}.frm-white-body .tablenav .actions select,.wp-admin .frm_wrap .tablenav select{margin-right:var(--gap-xs)}.tablenav .actions .button{margin-top:1px}.frm-white-body table.widefat{background:var(--lightest-grey);border-width:0;box-shadow:none;margin:20px 0}.frm-white-body table.widefat tfoot,.frm-white-body table.widefat thead{background:#fff}.frm-white-body table.widefat th{font-size:var(--text-md)}.frm-white-body table.widefat th a{color:var(--grey-700)}.frm-white-body table.widefat strong a{color:var(--primary-700)}.frm-scroll-box{clear:both;overflow:auto;max-height:405px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm_form_field.frm_scroll_box .frm_opt_container{height:100px;overflow:auto;border:1px solid var(--grey-300)}.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 6/span 6;align-content:center}.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 12/span 12 !important;align-content:center}.frm_form_field.frm-phone-type~[id*=frm-field-format-custom-]>label,.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]>label{opacity:0}.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]{grid-column:span 6/span 6}.frm-single-settings.frm-type-textarea>.frm_grid_container [id*=frm-field-format-custom-]+p{grid-column:span 12/span 12}.frm-single-settings .frm_grid_container{column-gap:var(--gap-sm)}.frm-content-center{align-content:center}.frm-self-end{align-self:end}.frm-short-list{overflow:auto;max-height:190px}.frm-white-body table.frm-border td{font-size:var(--text-sm)}.frm-white-body .striped>tbody>:nth-child(odd){background-color:#fff}.frm_wrap td.column-title strong{display:inline}td.column-title .frm_actions_dropdown{float:right}#frm_top_bar{display:flex;gap:var(--gap-sm);width:100%;height:72px;margin:0;box-sizing:border-box;text-align:center;padding:0 var(--gap-md)}#frm_top_bar>.frm-full-close:last-child,#frm_top_bar>#frm-publishing:last-child{margin-left:auto}#frm_top_bar{border-bottom:1px solid var(--grey-300);padding:0 var(--gap-md);overflow:visible}.frm-white-body h1,.frm-white-body h2,.frm-white-body h3,.frm-white-body h4{color:var(--grey-900);font-weight:400;line-height:var(--leading) !important}.frm-white-body .wrap h1,.frm-white-body h1{font-size:var(--text-xl)}.frm-white-body .wrap h2,.frm-white-body h2{font-size:var(--text-lg);font-weight:500}.frm-white-body .wrap h3,.frm-white-body h3{font-size:var(--text-md)}.frm-white-body .wrap h4,.frm-white-body h4{font-size:var(--text-sm);font-weight:500}#frm_error_modal .frm_lock_simple{padding:20px;border-radius:50%;background-color:var(--primary-25);display:inline-block}#frm_error_modal #frm_lock_simple{color:var(--primary-500)}#frm_error_modal .frm-modal-title{display:block}#frm_error_modal .frm-modal-title h2{font-weight:600;font-size:var(--text-xl);margin:0}#frm_error_modal .frm_modal_content{padding:var(--gap-md);color:var(--grey-900)}.frm-views-editor-body .frm_page_container #frm_top_bar h1{padding:0 !important;color:var(--grey-900);font-size:var(--text-xl) !important}.post-type-frm_display .frm_top_left{padding-bottom:0 !important}.frm-new-table-view-option.frm-selected-table-view-option{border-radius:var(--small-radius);background:var(--primary-25)}.frm-views-editor-body #frm_adv_info .tabs-panel{padding-left:4px;padding-right:4px}#frm_edit_box_content_modal .frm_modal_footer{padding-top:var(--gap-sm);border-top:1px solid var(--grey-300)}#frm_edit_box_content_modal .frm_modal_footer>div{display:flex;justify-content:space-between}#frm_edit_box_content_modal #frm_modal_box_select_area,#frm_edit_box_content_modal #frm_box_content_wysiwyg_wrapper,#frm_edit_box_content_modal .frm_modal_content{max-height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #frm_modal_box_select_area{height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #wp-content-editor-tools{padding-top:0}#frm_edit_box_content_modal.frm-modal .postbox .frm-modal-title+div:last-child{right:var(--gap-md)}.frm_code_list.frm-full-hover .frm-dropdown-view a{flex-direction:row-reverse}#frm_view_editor_left.frm-right-panel .accordion-section-title::before{content:"" !important;margin:0}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:hsla(0,0%,100%,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}a h1 .frmsvg{color:var(--grey-400);vertical-align:middle;min-width:var(--text-sm)}a .frmsvg{color:currentColor}.frm_wrap .view-switch a.current::before,.frm-white-body a,.frm_wrap a,.frm_wrap a i{color:var(--primary-color)}.frm_wrap a:active,.frm_wrap a:hover{color:var(--primary-700);box-shadow:none}.post-type-frm_display a:focus,.frm_wrap a:focus{box-shadow:none}.frm_top_left{text-align:left;float:left;white-space:nowrap;max-width:250px;overflow:hidden;text-overflow:ellipsis;align-self:center}.post-type-frm_display .frm_top_left,.frm_top_left.frm_top_wide{max-width:100%}.post-type-frm_display .frm_nav_bar .frm-header-logo,.frm_nav_bar .frm-header-logo{margin:18px 0 10px}#frm_top_bar .frm_form_nav{flex:1}ul.frm_form_nav{margin:0 auto;padding-top:18px;display:block;min-width:240px}.nav-tab-wrapper.frm_form_nav{padding:0 25px}ul.frm_form_nav>li{margin:0 min(3.5%,32px) 0 0;display:inline-block}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle,.post-type-frm_display .frm_form_nav .nav-tab-active,.frm_form_nav>li>a{font-size:1.3em;text-decoration:none;display:block;padding:6px 2px 4px;font-weight:500;color:var(--grey-700);border-bottom:2px solid rgba(0,0,0,0)}.post-type-frm_display.js .postbox .handlediv .toggle-indicator::before{margin-top:10px}.frm-nav-tabs a:focus,.frm-nav-tabs a:active,.frm_form_nav a:active,.frm_form_nav a:focus{outline:none;box-shadow:none}.frm_form_nav>li>a{font-size:var(--text-md);font-weight:400;color:var(--grey-500)}.frm_form_nav>li>a:hover{border-color:var(--primary-700)}.frm_form_nav .frm-dropdown-menu a:hover{background-color:#eaf2fa}.post-type-frm_display .frm_form_nav .nav-tab-active,.post-type-frm_display .frm_form_nav .nav-tab-active:hover,.frm_form_nav>li a.current_page{color:var(--primary-500);border-color:var(--primary-500);background:rgba(0,0,0,0);opacity:1;font-weight:600}.frm-full-close{display:none;padding-left:var(--gap-md);border:0 solid var(--grey-300);border-left-width:1px;height:100%;box-sizing:border-box}.frm-full-screen .frm-full-close{display:flex;align-items:center}.frm-full-close a{display:block}.frm-full-close .frmsvg{font-size:20px;width:20px;height:20px;color:var(--grey-500)}#frm_top_bar h1{font-weight:400;padding:0;margin:0;color:var(--grey-900);display:inline-flex;gap:var(--gap-sm);align-items:center;text-align:left;min-width:200px}#frm_top_bar h1 span{max-width:175px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:inline-block;vertical-align:bottom}#frm_top_bar ul.frm_form_nav,#frm_top_bar .frm-header-logo,#frm_top_bar #frm_bs_dropdown{align-self:center;margin-top:0;margin-bottom:0;padding-top:0}#frm_top_bar .frm-header-logo{display:flex}#frm_top_bar h2{float:left;margin:0 0 0 var(--gap-sm);padding:2px 0 2px var(--gap-sm);font-weight:400;border-left:2px solid var(--grey)}.frm_wrap>#frm_top_bar #frm-publishing{margin-top:0}#frm-publishing{min-width:225px;align-self:center;align-items:center;display:flex;flex-direction:row-reverse;gap:0 var(--gap-sm);flex-wrap:wrap}.frm_wrap .postbox{border-color:var(--grey-300);border-radius:6px;box-shadow:none}.frm_wrap .postbox h3.hndle{cursor:default;padding:10px 20px;margin:0;line-height:1.4em;border-color:var(--grey-300)}.frm-pre-hndle{font-size:15px;padding:5px;margin:9px 15px}.frm-empty-row{display:none}.frm-child-row{box-shadow:5px 0 0 0 inset var(--sidebar-hover)}.frm_animate_bg{transition:background 200ms linear,color 200ms linear}.wrap>.subsubsub{clear:both;margin:0}.frm_wrap .subsubsub a{line-height:var(--leading);font-size:var(--text-sm)}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;padding-top:0;position:fixed;top:32px;bottom:0;left:0;right:0}.frm-admin-page-translate .frm_wrap .frm_page_container,.frm-admin-page-update_translations .frm_wrap .frm_page_container{position:static}.auto-fold.frm-admin-page-styles .frm_page_container,.auto-fold .frm_wrap .frm_page_container,.frm-unfold.frm-admin-page-styles .frm_page_container,.frm-unfold .frm_wrap .frm_page_container{left:160px}.folded.frm-admin-page-styles .frm_page_container,.folded .frm_wrap .frm_page_container{left:38px}.frm-full-screen.frm-admin-page-styles .frm_page_container,.frm-full-screen .frm_wrap .frm_page_container{height:100vh;top:0;left:0}.frm-full-screen.frm-admin-page-entries .frm_page_container,.frm-new-entry .frm_page_container,.frm-admin-page-reports .frm_page_container,.frm_list_entry_page .frm_page_container{height:auto;display:block}.frm-new-entry .columns-2{border:none}.frm-white-body #frm_top_bar,.frm-white-body .columns-2{flex:0 0 auto}.columns-2 .frm-right-panel+div{padding-bottom:var(--gap-md);border-left:1px solid var(--grey-300)}.columns-2 .frm-right-panel+div,.frm_wrap #post-body-content{padding-bottom:0;padding-top:var(--gap-sm);margin-bottom:0;background:#fff;width:auto;float:none;flex:2}.frm-white-body .columns-2{flex:1;display:flex;overflow:hidden}.frm-white-body .columns-2>div{overflow-y:auto;box-sizing:border-box}.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{flex:0 0 var(--biggest-sidebar);float:none;width:var(--biggest-sidebar);min-width:var(--biggest-sidebar);background-color:var(--sidebar-color);margin:0;box-shadow:none;border:none;padding-bottom:25px}.frm-right-panel .frm_field_list,.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{box-shadow:none;border:none;margin-bottom:26px}#new_fields,.frm-has-modal,p.frm_has_shortcodes{position:relative}.frm-inline-modal.postbox{background:#fff;border-color:var(--grey-100);border-radius:var(--small-radius);box-shadow:var(--box-shadow-lg)}.frm_has_shortcodes .frmsvg:not(.frm_help .frmsvg),.frm_has_shortcodes i:not([class*=mce-]){position:absolute;color:var(--primary-500);border-radius:50%;border:1px solid rgba(0,0,0,0);z-index:100;text-align:center}.frm_has_shortcodes .frmsvg.frm-show-box{border-radius:6px !important}.frm_has_shortcodes input,.frm_has_shortcodes textarea{padding-left:18px;box-sizing:border-box}#form_settings_page #frm_adv_info,#frm_builder_page #frm_adv_info{display:none;top:0;width:310px;max-height:315px;min-height:200px;overflow-y:scroll;z-index:100}#form_global_settings .columns-2>div{overflow:auto;height:calc(100vh - 32px)}#form_global_settings .columns-2 .frm-right-panel,#form_settings_page .columns-2 .frm-right-panel,#wpbody-content .frm-page-skeleton .frm-right-panel{flex:0 0 var(--small-sidebar);width:var(--small-sidebar);min-width:var(--small-sidebar)}#form_global_settings .frm_grid_container{gap:0 var(--gap-md)}.frm-inner-content{padding:var(--gap-md)}.post-type-frm_display #poststuff{padding:0 0 10px 40px}#postbox-container-2 .postbox .inside{padding:15px 25px}#postbox-container-2 #frm_advanced .inside h3{margin:15px -25px;font-weight:600}#form_settings_page .frm-inner-content{padding-top:0;padding-bottom:150px;position:relative}.frm_wrap #submitdiv{margin-bottom:0;border-width:0 0 1px;width:100%;min-width:unset}.frm_wrap #frm_adv_info .handlediv,.frm_wrap #frm_adv_info .hndle{display:none}.frm_wrap .menu-settings{border:none;margin-top:0}.nodrag a{cursor:pointer}.frm_wrap #frm_adv_info .inside{margin:0}#frm_adv_info>.inside{padding:0}#frm_adv_info ul.subsubsub{padding-bottom:var(--gap-xs) !important}#frm_adv_info ul.subsubsub a{font-weight:500}#frm_adv_info ul.subsubsub .frm-vertical-separator{display:inline-block;width:1px;height:8px;background-color:var(--grey-300)}#frm_adv_info #frm-insert-condition{background-color:var(--primary-50)}#frm_adv_info #frm-insert-condition:hover{background-color:var(--primary-25)}#frm_builder_page #frm_adv_info{width:322px;max-height:356px;border-radius:var(--small-radius);overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory{height:356px;overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div{max-height:286px;padding:0}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*{padding-bottom:var(--gap-sm);max-height:unset}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*:last-child{padding-bottom:var(--gap-xs)}#frm_builder_page #frm_adv_info #frm-nav-tabs{display:flex;gap:var(--gap-xs);background-color:var(--grey-100);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:var(--gap-xs) var(--gap-2xs) var(--gap-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li{flex:1;text-align:center}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a{font-weight:500;line-height:1;color:var(--grey-500);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:0}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a:hover{background-color:#eaecf0;color:var(--grey-500) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li.frm-tabs a{background-color:#fff;color:var(--grey-900) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info .frm-search,#frm_builder_page #frm_adv_info .frm-with-search{padding-top:0;margin:0}.frm-right-panel .frm-inline-modal.postbox .inside{margin:0;padding:0 14px 14px}.frm-right-panel .frm-inline-modal.postbox .inside .frm-with-line,.frm-right-panel .frm-inline-modal.postbox .inside .accordion-section-content h4{margin-left:-14px;margin-right:-14px}.frm-right-panel .frm-inline-modal .inside p:not(.howto),.frm-right-panel .frm-inline-modal .inside a{font-size:15px}.frm-inline-modal .inside a.frm_icon_font{font-size:18px}.frm-nav-tabs{margin:10px 0 20px;padding:0 var(--gap-sm);display:block;border-bottom:1px solid var(--grey-300)}#frm-nav-tabs{position:-webkit-sticky;position:sticky;top:0;background-color:var(--sidebar-color);z-index:98;margin-top:0;padding-top:5px}.frm_form_settings #frm_adv_info #frm-nav-tabs{background-color:#fff;margin:0 -4px}.frm_form_settings span.frm-with-right-icon,#frm_builder_page .frm_has_shortcodes span.frm-with-right-icon:not(.frm_hidden){display:block}.frm-inline-modal .frm-nav-tabs,#frm_adv_info .frm-nav-tabs{margin:5px 0 0}#frm_adv_info .frm-nav-tabs.frm-compact-nav{padding-right:0;padding-left:20px}.frm-nav-tabs li{display:inline-block;margin:0}.frm-nav-tabs a{color:var(--grey-700);padding:10px 1px;margin:0 9px;border-bottom:2px solid rgba(0,0,0,0)}.frm_form_settings #frm_adv_info .frm-nav-tabs a{padding:5px 1px;color:var(--grey-500)}.frm-nav-tabs.frm-compact-nav a{margin:0 5px}.frm-nav-tabs a{display:block;opacity:.9}#frm_adv_info .frm-nav-tabs a{color:var(--grey-700)}.frm-nav-tabs a:hover,.frm-nav-tabs .frm-tabs a{color:var(--primary-500) !important;border-color:var(--primary-500)}.frm_form_settings #frm_adv_info .frm-nav-tabs .frm-tabs a{font-weight:500}#frm-bulk-modal .howto,#frm-bulk-modal h3{font-size:var(--text-sm);font-weight:400;margin:5px 0 10px;color:var(--grey)}#frm-bulk-modal h3{margin-left:20px}.frm-right-panel a.frm_add_logic_link,.frm-right-panel h3{color:var(--grey-700);font-size:var(--text-lg);font-weight:400;margin:0}.frm-right-panel h3 i{color:var(--grey-700);float:right;width:16px;cursor:pointer}.frm-settings-panel{padding:var(--gap-sm);padding-right:var(--gap-xs)}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-delimiter{top:var(--gap-xs);left:var(--gap-xs);width:calc(100% - var(--gap-sm))}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-navs{padding:var(--gap-xs) var(--gap-xs) 0}.frm-settings-panel .frm-embed-field-placeholder{height:unset}.frm-settings-panel .frm-embed-field-placeholder img{height:100px}.frm-settings-panel .frm-embed-field-placeholder .frm-embed-message{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-sm);max-width:unset;color:var(--grey-800);padding:var(--gap-lg);border:0;box-shadow:var(--box-shadow-sm);margin:1px}.frm-single-settings .frm-default-value-wrapper>p{margin-bottom:0}.frm-single-settings .frm-default-value-wrapper+p:empty{display:none}.frm-single-settings [class*=frm-lookup-box-] .frm_grid_container p{margin-top:0 !important}.frm-single-settings .frm_single_option[id^=frm_watch_lookup_]{margin-bottom:var(--gap-xs) !important}.frm-single-settings>h3:first-of-type{position:relative;background-color:rgba(0,0,0,0) !important;border-top:none;padding-top:0 !important;margin-top:0 !important}.frm-single-settings>h3:first-of-type::after{content:"";position:absolute;left:var(--gap-sm);right:var(--gap-sm);bottom:0;height:1px;background-color:var(--sidebar-hover)}.frm-flex-justify,.frm-right-panel .frm-single-settings h3{display:flex;justify-content:space-between;align-items:center}#post-body-content+.frm-right-panel{flex:0 0 var(--medium-sidebar);width:var(--medium-sidebar);min-width:var(--medium-sidebar);border-left:1px solid var(--sidebar-hover)}.frm-new-entry #post-body-content+.frm-right-panel,.frm-new-entry .frm-right-panel{background:none;border:none}#post-body-content+.frm-right-panel h3{padding:20px 20px 0;font-size:17px}#post-body-content+.frm-right-panel .frm_with_icons:first-of-type h3{border:none}#frm-insert-fields h3{color:var(--grey);font-size:15px;font-weight:400;border-top:none;border-bottom:1px solid var(--sidebar-hover);margin:0;padding:10px 10px 10px 25px}.frm_wrap #frm_adv_info ul.category-tabs{margin:0;padding:10px 0 9px;font-size:15px;background:rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li{padding:10px;background-color:rgba(0,0,0,0) !important}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{border:none}.frm_wrap #frm_adv_info .categorydiv div.tabs-panel{border:none;background:rgba(0,0,0,0)}.frm_wrap #frm-categorydiv{border-right:none}#frm_adv_info #frm-conditionals{padding-top:var(--gap-sm)}#postbox-container-1 #taxonomy-linkcategory #frm-html-tags{display:none;max-height:none}#postbox-container-1 .frm_field_list #frm-insert-fields .frmbutton.dropdown{position:relative}.frm-white-body #footer-upgrade{display:none}.frm-admin-footer-links,.frm-admin-footer-links-nav,.frm-admin-footer-links-socials{display:flex;justify-content:center}.frm-admin-footer-links{gap:var(--gap-2xs);flex-direction:column;text-align:center;padding:var(--gap-xl) 0 var(--gap-lg);font-size:var(--text-xs);color:var(--grey-400)}body.frm-hidden-overflow{height:100%;overflow:hidden}.frm-admin-footer-links-nav{gap:var(--gap-2xs);margin-bottom:var(--gap-xs)}.frm-admin-footer-links-socials{gap:var(--gap-xs)}.frm-admin-footer-links-socials a{color:var(--grey-400)}.frm_list_entry_page h2{float:left}.frm_list_entry_page h2+.error{clear:both}.frm_sidebar select{width:100%;margin-left:0;margin-right:0}.frm_sidebar #search-submit{float:right}.frm_single_entry_page #submitdiv{margin:0}.frm_single_entry_page .hndle a{font-size:13px}.frm-right-panel #publishing-action{float:none}.frm-right-panel #major-publishing-actions{border-top:none;height:32px;background:rgba(0,0,0,0)}#major-publishing-actions .frm_submit_form{float:right;margin-left:5px}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.wp-admin .frm-review-notice{position:fixed !important;bottom:var(--gap-2xl);right:var(--gap-lg);width:380px;text-align:center;border-color:var(--grey-100);padding:var(--gap-lg);border-radius:var(--medium-radius);box-shadow:var(--box-shadow-lg) !important;z-index:999;box-sizing:border-box;--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 48px}.wp-admin .frm-review-notice *{box-sizing:border-box}.frm-review-notice-icon{display:inline-flex;margin-bottom:var(--gap-sm)}.wp-admin .frm-review-notice-title{font-weight:600;margin-top:0;margin-bottom:var(--gap-xs)}.wp-admin .frm-review-notice-text{margin-top:0;margin-bottom:var(--gap-md)}.frm-review-notice-signature{text-align:left;margin:var(--gap-md) 0}.frm-review-notice-signature img{width:40px;height:40px;padding:3px;box-shadow:var(--box-shadow-md);border-radius:100%}#wpwrap .frm-dismiss-review-notice{top:16px;right:19px}.frm-review-notice #frmapi-feedback [class^=frm__]{display:none}.frm-review-notice #frmapi-feedback input,.frm-review-notice #frmapi-feedback textarea{border-color:var(--grey-300);border-radius:var(--small-radius)}.frm-review-notice #frmapi-feedback input{min-height:unset;max-height:36px}.frm-review-notice #frmapi-feedback textarea{max-height:80px;padding-top:var(--gap-xs)}.frm-review-notice #frmapi-feedback .frm_message{color:var(--success-900);background-color:var(--success-25);border:1px solid var(--success-200);padding:var(--gap-sm) var(--gap-md);margin:0}.frm-review-notice #frmapi-feedback .frm_message p{margin:0}.frm-review-notice #frmapi-feedback .frm_button_submit{background-color:var(--primary-500);border-color:var(--primary-500) !important;cursor:pointer}.frm-review-notice #frmapi-feedback .frm_button_submit:hover,.frm-review-notice #frmapi-feedback .frm_button_submit:focus{color:#fff;background-color:var(--primary-700);border-color:var(--primary-700) !important}.frm-review-notice .frm_error,.frm-review-notice label{color:#444;text-align:left}.frm-review-notice label{font-size:var(--text-sm)}.frm-floating-success-message{position:fixed;z-index:999;border-radius:4px;right:10px;bottom:10px}.frm-box-shadow-xxl{box-shadow:var(--box-shadow-xxl) !important}.frm-text-primary-500{color:var(--primary-500)}.frm-text-grey-400{color:var(--grey-400) !important}.frm-text-grey-500{color:var(--grey-500)}.frm-text-grey-600{color:var(--grey-600) !important}.frm-text-grey-700{color:var(--grey-700)}.frm-text-grey-900{color:var(--grey-900)}.frm-text-success-500{color:var(--success-500)}.frm-text-warning-500{color:var(--warning-500)}.frm_no_margin,.frm-m-0{margin:0 !important}.frm-m-12{margin:var(--gap-2xl)}.frm-m-2xs{margin:var(--gap-2xs) !important}.frm_no_top_margin,.frm-mt-0{margin-top:0 !important}.frm-mt-2xs{margin-top:var(--gap-2xs) !important}.-frm-mt-2xs{margin-top:calc(-1*var(--gap-2xs)) !important}.frm-mt-xs{margin-top:var(--gap-xs) !important}.frm-mt-sm{margin-top:var(--gap-sm) !important}.frm-mt-md{margin-top:var(--gap-md) !important}.frm-mt-lg{margin-top:var(--gap-lg) !important}.frm-mt-2xl{margin-top:var(--gap-2xl) !important}.frm-mt-auto{margin-top:auto !important}.frm_no_bottom_margin,.frm-mb-0{margin-bottom:0 !important}.frm-mb-2xs{margin-bottom:var(--gap-2xs) !important}.frm-mb-6{margin-bottom:6px !important}.frm-mb-sm{margin-bottom:var(--gap-sm) !important}.frm-mb-12{margin-bottom:12px !important}.frm-mb-xs{margin-bottom:var(--gap-xs) !important}.frm-mb-md{margin-bottom:var(--gap-md) !important}.frm-mb-lg{margin-bottom:var(--gap-lg) !important}.frm-ml-2xs{margin-left:var(--gap-2xs) !important}.frm-ml-xs{margin-left:var(--gap-xs) !important}.frm-ml-auto{margin-left:auto}.-frm-ml-2xs{margin-left:calc(-1*var(--gap-2xs)) !important}.frm-mr-auto{margin-right:auto}.frm-force-mr-auto{margin-right:auto !important}.frm-mr-2xs{margin-right:var(--gap-2xs) !important}.frm-mr-xs{margin-right:var(--gap-xs) !important}.frm-mr-2{margin-right:2px !important}.frm-mx-0{margin-left:0 !important;margin-right:0 !important}.frm-mx-xs{margin-left:var(--gap-xs) !important;margin-right:var(--gap-xs) !important}.frm-mx-sm{margin-left:var(--gap-sm) !important;margin-right:var(--gap-sm) !important}.frm-my-sm{margin-top:var(--gap-sm) !important;margin-bottom:var(--gap-sm) !important}.frm-my-xs{margin-top:var(--gap-xs) !important;margin-bottom:var(--gap-xs) !important}.frm-p-0{padding:0 !important}.frm-p-1,.frm-p-2xs{padding:var(--gap-2xs)}.frm-p-sm,.frm-p-4{padding:var(--gap-sm) !important}.frm-p-sm{padding:var(--gap-sm) !important}.frm-p-6,.frm-p-md{padding:var(--gap-md) !important}.frm-p-xl{padding:var(--gap-xl) !important}.frm-px-0{padding-left:0 !important;padding-right:0 !important}.frm-py-0{padding-top:0 !important;padding-bottom:0 !important}.frm-py-2xs{padding-top:var(--gap-2xs) !important;padding-bottom:var(--gap-2xs) !important}.frm-py-sm{padding-top:var(--gap-sm) !important;padding-bottom:var(--gap-sm) !important}.frm-pt-0{padding-top:0 !important}.frm-pt-2xs{padding-top:var(--gap-2xs) !important}.frm-pt-xs{padding-top:var(--gap-xs) !important}.frm-pt-sm{padding-top:var(--gap-sm) !important}.frm-pt-md{padding-top:var(--gap-md) !important}.frm-pt-xl{padding-top:var(--gap-xl) !important}.frm-pr-lg{padding-right:var(--gap-lg) !important}.frm-pb-md{padding-bottom:var(--gap-md) !important}.frm-pb-sm{padding-bottom:var(--gap-sm) !important}.frm-pb-xs{padding-bottom:var(--gap-xs) !important}.frm-pb-2xs{padding-bottom:var(--gap-2xs) !important}.frm-pb-0{padding-bottom:0 !important}.frm-px-sm{padding-right:var(--gap-sm) !important;padding-left:var(--gap-sm) !important}.frm-px-xs{padding-right:var(--gap-xs) !important;padding-left:var(--gap-xs) !important}.frm-px-md{padding-right:var(--gap-md) !important;padding-left:var(--gap-md) !important}.frm-text-xs{font-size:var(--text-xs) !important}.frm-text-sm{font-size:var(--text-sm) !important}.frm-text-md{font-size:var(--text-md) !important}.frm-text-lg{font-size:var(--text-lg) !important}.frm-text-xl{font-size:var(--text-xl) !important}.frm-leading-none{line-height:1}.frm-italic{font-style:italic}.frm-no-italic{font-style:normal}.frm-capitalize{text-transform:capitalize}.frm-font-normal{font-weight:400 !important}.frm-font-medium{font-weight:500 !important}.frm-font-semibold{font-weight:600 !important}.frm-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[class*=frm-line-clamp-]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.frm-line-clamp-2{-webkit-line-clamp:2}.frm-white-space-nowrap{white-space:nowrap}.frm-rounded-sm{border-radius:var(--small-radius) !important}.frm-rounded-6{border-radius:6px !important}.frm-w-auto{width:auto !important}.frm-w-full{width:100% !important}.frm-w-half{width:50% !important}.frm-w-fit{width:fit-content !important}.frm-max-w-fit{max-width:fit-content}.frm-h-auto{height:auto !important}#wpwrap .frm-force-hidden{display:none !important}.frm_block,.frm-block{display:block}.frm_inline{display:inline}.frm-force-inline{display:inline !important}.frm_inline_block{display:inline-block !important}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-transition-ease{transition:all .2s ease}.frm_invisible{visibility:hidden;transition:all .2s ease}.frm_disabled{opacity:.5;cursor:default;pointer-events:none}.frm_disabled .frm-show-inline-modal{pointer-events:none !important}.frm_no_float{float:none}.frm-text-right{text-align:right}.frm-border-b{border-bottom:1px solid var(--grey-300)}.frm-no-border{border:none !important}.frm-hr{display:block;height:1px;background-color:var(--grey-200);margin:var(--gap-xs) 0}.frm-opacity-100{opacity:1}.frm-on-bottom{z-index:-1}.frm-rotate-90{transform:rotate(90deg)}.frm-cursor-pointer{cursor:pointer}.frm-align-baseline{vertical-align:baseline !important}.frm-fields p>label.frm_hidden,#wpbody-content label.frm_hidden,.frm-lookup-modal .dismiss,.frm-right-panel .inside a.frm_hidden,#form_global_settings .frm_hidden,ul.frm_form_nav>li.frm_hidden,a.frm_hidden,.button.frm_hidden,.wp-core-ui .button.frm_hidden{display:none}.postbox .inside>p.frm_no_bottom_margin:last-child{margin-bottom:0 !important}.frm_no_section_fields.frm_block{display:block}.actions.frm_visible_overflow{overflow:visible !important}.frm_full_opacity,.frm_submit .frm_full_opacity,.frm_submit .frm-opacity-100{opacity:1}.frm-dropdown-menu.frm-on-top{z-index:99999}.frm-vertical-line{display:inline-block;width:1px;height:12px;background-color:var(--grey-300)}.frm-admin-full-screen #adminmenumain,.frm-admin-full-screen #wpadminbar,.frm-admin-full-screen #adminmenuback,.frm-admin-full-screen #adminmenuwrap,.frm-admin-full-screen #wpfooter{display:none}.frm-admin-full-screen #wpcontent,.frm-admin-full-screen.auto-fold #wpcontent{margin:0;padding:0}.frm-admin-full-screen.appearance_page_starter-templates #wpbody-content{padding:0}.frm_forms.with_frm_style{max-width:100%}.post-type-frm_display .wrap>.subsubsub,.post-type-frm_display .wrap>.icl_subsubsub,.frm_form_settings>p{margin:6px var(--gap-md);padding:0}.frm-entry-container{margin:0 40px 40px;padding:0}#form_reports_page .frm-inner-content{width:calc(100% - 40px);max-width:900px;margin:20px auto;padding:20px}.frm_inner_field_container>.frm_form_fields{clear:both}.post-type-frm_display h2,.frm_wrap h2{margin-top:0 !important;font-size:var(--text-lg);line-height:var(--leading)}.post-type-frm_display .wrap>h2:first-child,.frm_wrap .wrap>h2:first-child{padding-top:0;margin-top:0 !important;font-size:var(--text-lg)}#frm_form_editor_container{position:relative;margin-top:28px}.form-field p{background:none;border:none}.form-field label.frm_primary_label{display:block;float:none;width:auto}#frm_view_editor_left label,#frm_view_editor_left .frm_primary_label,.frm-dialog .frm-sub-label,.frm-dialog label,.dropdown .frm_primary_label,.accordion-container label,.frm-fields td>label,.frm-fields td>div>label,.frm_form_field>label:first-child,.frm-fields p>label,.frm_on_submit_type>label,.post-type-frm_display .frm_form_field>label,#new_fields .frm_primary_label,#form_global_settings .frm_primary_label,#frm_form_editor_container .frm_primary_label,#permissions_settings_settings .frm_primary_label{color:var(--grey-700);margin:0 0 6px;padding:0;width:auto;font-size:var(--text-sm);display:block;line-height:var(--leading)}#frm_form_editor_container #frm-show-fields .frm_primary_label{min-height:21px}.frm-fields td input+label{display:inline}#frm_form_editor_container .edit_field_type_end_divider .frm_primary_label,#frm_form_editor_container .edit_field_type_break .frm_primary_label{display:none}form .frm_primary_label input{font-size:12px}.with_frm_style form .form-field{margin-bottom:20px}#frm_builder_page .with_frm_style form .frm_combo_inputs_container>.form-field{margin-bottom:0}.frm_description,.with_frm_style form div.description,.frm_error,.with_frm_style form div.description textarea{padding:0;font-size:11px}.with_frm_style .description{color:inherit}#frm_form_editor_container .divider_section_only .frm_primary_label{display:flex;align-items:center;gap:var(--gap-xs);font-size:20px}#frm_form_editor_container .divider_section_only .frm_primary_label .frm-sub-label{padding:0}.frm-token-container{position:relative;display:block;direction:ltr}.frm-token-container .frm-tokens{position:absolute;top:0;left:0;max-width:calc(100% - var(--gap-xl));display:flex;align-items:center;flex-wrap:wrap;gap:var(--gap-2xs);padding:6px var(--gap-xs);margin:0}.frm-token-container .frm-token{position:relative;display:flex;align-items:center;gap:var(--gap-xs);min-height:24px;height:auto;color:var(--grey-900);background:var(--grey-100);border-radius:4px;padding:0 var(--gap-xs);font-size:var(--text-md);margin:0;z-index:2}.frm-token-container .frm-token .frm-token-value{line-height:var(--leading);white-space:normal;word-break:break-word}.frm-token-container .frm-token .frm-token-remove{display:flex;flex-shrink:0;cursor:pointer}.frm-token-container .frm-token .frm-token-remove .frmsvg{color:var(--grey-900);position:static;width:12px;height:12px;padding:0}.frm-token-container .frm-token .frm-token-remove:hover .frmsvg{color:var(--error-500)}.frm-token-container .frm-show-inline-modal{z-index:3 !important}.frm-token-container .frm-token-proxy-input{position:relative;z-index:1;padding-right:var(--gap-xl) !important}form .form-field.frm_field_loading{margin-bottom:0;min-height:0;padding:0;text-align:center}.frm_sorting>.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:10px}.frm_sorting>.frm_field_loading~.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:0;display:none}.frm_description,.with_frm_style form div.description,.frm_error{margin:0}.frm_error{color:#f04438}form .frm_blank_field input,form .frm_blank_field textarea,form .frm_blank_field select,form .frm_blank_field .frm-g-recaptcha iframe,form .frm_blank_field .g-recaptcha iframe{border-color:#f04438}form .frm_blank_field label{color:#f04438}.frm_required{color:#f04438}.with_frm_style .wp-editor-container textarea,.postbox .wp-editor-container textarea,.frm_remove_border{border:none}.with_frm_style .mceIframeContainer,.postbox .mceIframeContainer{background-color:#fff}.frm_pro_license_msg{clear:left;margin-top:10px}.frm-license-input{position:relative}.frm-license-input span{font-size:var(--text-sm)}.frm-license-input .frmsvg{width:20px;height:20px;margin-left:5px;vertical-align:text-top}.frm-license-input .frmsvg,.frm-license-input span,.frm-license-input i{color:#00831a}.upgrade_to_pro{padding:10px 25px 25px;max-width:700px;margin:20px auto !important}.upgrade_to_pro .error{display:none}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.upgrade_to_pro a{color:var(--orange)}.upgrade_to_pro table .frmsvg{height:var(--text-xl);width:var(--text-xl)}.upgrade_to_pro table.widefat{background-color:#fff;border-collapse:collapse}.frm-white-body .upgrade_to_pro table th,.upgrade_to_pro table td{padding:10px 15px;border:1px solid var(--grey-300);line-height:var(--leading);font-size:var(--text-sm)}.upgrade_to_pro table th.frmcenter{text-align:center}.widefat th.frm_table_break{background-color:var(--sidebar-color)}h2.frm-h2+.howto{color:var(--medium-grey);max-width:850px;margin:5px 0 20px}.frm-card{width:100%;border-radius:10px;border:1px solid var(--grey-300);opacity:1;transition:opacity 1s}.frm-card-box{max-width:524px;background-color:#fff;border-radius:var(--medium-radius);padding:var(--gap-xl);border:1px solid var(--grey-200);box-shadow:var(--box-shadow-md)}.frm-card-box.frm-has-progress-bar{position:relative;overflow:hidden;border-radius:var(--medium-radius)}.frm-card-box-progress-bar{position:absolute;top:0;left:0;right:0;height:var(--gap-xs);background-color:var(--primary-25)}.frm-card-box-progress-bar>span{position:absolute;top:0;left:0;bottom:0;width:33%;background-color:var(--primary-500)}.frm-card-box-header{display:flex;justify-content:center;margin-bottom:var(--gap-sm)}.frm-card-box.frm-has-progress-bar .frm-card-box-header{margin-top:var(--gap-xs)}.frm-card-box-content>:last-child{margin-bottom:0}.frm-card-box-footer{display:flex;justify-content:end;gap:var(--gap-sm);margin-top:var(--gap-lg)}.frm-card-box-title{font-size:var(--text-xl) !important;font-weight:600 !important;margin-bottom:var(--gap-xs)}.frm-card-box-text{font-size:var(--text-md) !important;color:var(--grey-600) !important;margin-top:0 !important}.frm-fade{opacity:0;transition:all 1s}.frm-addons .frm-card.frm-addon-not-installed{position:relative}.frm-addons .plugin-card-top{min-height:155px;padding-top:var(--gap-lg);overflow:hidden}.frm-addons .plugin-card-top h2{margin-top:0;font-weight:400}.frm-template-row p,.frm-addons .plugin-card-top p{opacity:.8}.frm-addons .plugin-card-top>:not(p):not(h2){display:none}.frm-addons .plugin-card-bottom{padding:5px 20px 20px;text-align:center;background:rgba(0,0,0,0);border-top:none}.frm-addons .plugin-card-bottom,.frm-addons .plugin-card-bottom .button{font-size:15px}.frm-addons .button,.frm-addons .frm-button-tertiary{float:right}.frm-addons .addon-status{float:left;padding-top:4px}.frm-addon-not-installed .frm-activate-addon,.frm-addon-not-installed .frm-deactivate-addon,.frm-addon-not-installed .frm-uninstall-addon,.frm-addon-installed .frm-install-addon,.frm-addon-installed .frm-deactivate-addon,.frm-addon-active .frm-activate-addon,.frm-addon-active .frm-install-addon,.frm-addon-active .frm-uninstall-addon,.plugin-card-pro.frm-addon-active .button,.plugin-card-pro.frm-addon-active .frm-button-tertiary{display:none !important}.frm-save-and-reload-options{margin-top:10px;font-size:13px}.frm-save-and-reload,.frm-save-and-reload+.frm-button-secondary{visibility:visible !important}.addon-status-label{opacity:.7}.frm-addon-active .addon-status-label{color:var(--green);opacity:1}.frm-addon-error{position:absolute;top:55px;left:10px;right:10px;font-weight:700;text-align:center}.frm-new-template.plugin-card-bottom{overflow:visible}#frm-new-template p:first-child{margin-top:0}.frm-admin-page-formidableedit #wpbody-content>*:not(.frm-review-notice):not(.frm_previous_install):not(.frm-banner-alert):not(#frm-svg-icons-pack),#wpbody-content>.updated,#wpbody-content>#update-nag,#wpbody-content>.update-nag,#wpbody-content>.notice,#wpbody-content>.error:not(.frm_previous_install),.frm-white-body .updated,.frm-white-body .notice,.frm_wrap>.wrap>.notice,.frm-white-body .error:not(.frm_previous_install){display:none}.frm-admin-page-formidableedit #frm_builder_page{display:block !important}.frm-white-body .updated,.frm-white-body .error{margin:0;padding:10px 20px}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-templates-list{margin-top:0}.frm-templates-list.frm_grid_container li{margin-bottom:0}.frm-templates-list li{vertical-align:top;position:relative;box-sizing:border-box;border-radius:6px;border:1px solid rgba(0,0,0,0);text-align:left}.frm-templates-list li:not(.frm_hidden){display:inline-block}.frm-templates-list.frm-categories-list li{width:100%}.frm-templates-list li.frm-selectable{cursor:pointer}.frm-templates-list li.frm-selectable:hover{background:var(--light-blue);border-color:rgba(65,153,253,.5)}.frm-templates-list li.frm-selectable:hover h3,.frm-templates-list li.frm-selectable:hover p{max-width:calc(100% - 65px)}.frm-templates-list .frm-featured-form{display:flex;width:100%}.frm-templates-list li .frm-featured-form{padding:7px 5px}.frm-templates-list li li>div{padding-left:0}.frm-templates-list li>div>div{vertical-align:middle}.frm-category-icon,.frm-icon-wrapper{background:var(--primary-500);border-radius:var(--small-radius);color:#fff;width:32px;height:32px;font-size:18px;box-sizing:border-box;align-self:center;justify-content:center;align-items:center;display:inline-flex}.frm-templates-list li .frm-category-icon{overflow:hidden}.frm-templates-list li h3,.frm-templates-list li p{text-align:left;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.frm-templates-list li h3,.frm-templates-list .frm-install-template h3{font-size:var(--text-sm) !important}.frm-templates-list .frm-install-template div{text-align:left}#frm_leave_email,#frm_code_from_email{width:480px;max-width:100%}.frm-templates-list.frm-categories-list li>div>div:last-child{padding-left:0}.frm-hover-icons{position:absolute;right:0;top:17px;max-width:91px;height:100%;box-sizing:border-box;padding:0 10px 0 5px !important;border-radius:var(--small-radius);text-align:right;display:flex;gap:5px}.frm-ready-made-solution .frm-hover-icons{visibility:hidden}.frm-ready-made-solution:hover .frm-hover-icons{visibility:visible}.frm-hover-icons a{width:22px;height:22px;font-size:var(--text-md);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;box-sizing:border-box;line-height:var(--leading);text-align:center}.frm-hover-icons>.frm-preview-form,.frm-hover-icons>.frm-delete-form{border:1px solid var(--primary-500)}.frm-hover-icons>.frm-create-form,.frm-ready-made-solution .frm-hover-icons a{background-color:var(--primary-500)}.frm-hover-icons>a .frmsvg{width:14px;height:14px;vertical-align:baseline}.frm-hover-icons>.frm-preview-form .frmsvg,.frm-hover-icons>.frm-delete-form .frmsvg{color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form{background-color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form .frmsvg{background-color:var(--primary-500)}.frm-ready-made-solution .frmsvg{width:14px;height:14px}.frm-hover-icons .frm-create-form svg,.frm-ready-made-solution .frm-hover-icons svg{color:#fff}.frm-hover-icons .frm-create-form:hover,.frm-ready-made-solution .frm-hover-icons a:hover,.frm-hover-icons>.frm-unlock-form:hover,.frm-hover-icons>.frm-unlock-form:hover .frmsvg{background-color:var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover,.frm-hover-icons .frm-delete-form:hover{border:1px solid var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover .frmsvg,.frm-hover-icons .frm-delete-form:hover .frmsvg{color:var(--primary-700) !important}.frm-application-card h4 .frmsvg,.frm-locked-template h3 .frmsvg{height:var(--text-sm);width:var(--text-sm);vertical-align:text-top;color:var(--grey-500)}.frm-modal-back{cursor:pointer;margin-right:4px}.frm-modal-cancel{float:left}.frm-meta-tag,.frm-meta-tag:hover{padding:var(--gap-2xs) var(--gap-xs);border-radius:var(--small-radius);font-weight:600;display:inline-flex;background-color:#d9ebff;gap:2px}.frm-meta-tag.frm-grey-tag,.frm-meta-tag.frm-grey-tag:hover{background-color:var(--sidebar-hover);color:var(--grey-900)}.frm-meta-tag.frm-red-tag,.frm-meta-tag.frm-red-tag:hover{background:var(--error-100);color:var(--error-700)}.frm-meta-tag.frm-orange-tag,.frm-meta-tag.frm-orange-tag:hover{background-color:#fef7f4;color:var(--orange)}.frm-meta-tag.frm-green-tag,.frm-meta-tag.frm-green-tag:hover{background-color:var(--success-500);color:#fff}.frm-entry-status-0,.frm-meta-tag.frm-lt-green-tag,.frm-meta-tag.frm-lt-green-tag:hover{background-color:var(--success-100);color:var(--success-800)}.frm-meta-tag.frm-new-pill{background-color:var(--success-500);vertical-align:text-bottom}.frm_add_field span+.frm-meta-tag{margin-left:0}.frm-entry-status{font-weight:500}.frm-entry-status-1{color:#7a4d05;background:#fff2d2}#frm-create-footer{padding:15px 20px}li .frm-hover-icons .frm-preview-form,.frm-hover-icons .frm-unlock-form,.frm-locked-template .frm-hover-icons .frm-create-form,.frm-modal-back{display:none}.frm-locked-template .frm-hover-icons .frm-unlock-form,li[data-preview] .frm-hover-icons .frm-preview-form{display:inline-flex}.frm-modal-back svg{color:#7f7f7f}#frm-upgrade-body-list-wrapper>div{display:inline-block;width:33.3333333333%;vertical-align:top;text-align:left;margin-bottom:10px}#frm-upgrade-body-list-wrapper ul{padding-left:40px}#frm-upgrade-body-list-wrapper ul li::before{content:"\2022";color:var(--primary-500);display:inline-block;width:1em;margin-left:-1em}.frm-embed-modal-content{padding:var(--gap-md)}.frm-embed-modal-content.frm-loading-page-options{display:flex;justify-content:center}#frm_embed_modal .frm_embed_example{background:var(--sidebar-color);border:1px solid var(--sidebar-hover);border-radius:var(--small-radius);color:var(--grey-900);font-size:var(--text-sm);padding-right:var(--gap-lg);width:100%;height:auto !important;resize:none}#frm_embed_modal textarea.frm_embed_example{padding-bottom:0}.frm-embed-modal-content>div a{position:absolute;right:0;top:0}.frm-embed-modal-content>div{position:relative;margin-bottom:var(--gap-sm)}.frm-embed-modal-content>div:last-child{margin-bottom:0}.frm-embed-modal-content svg[id^=frm_copy_embed_]{position:absolute;bottom:10px;right:10px;cursor:pointer;opacity:.5}.frm-border-info-box,.frm-embed-modal-option{border-radius:var(--small-radius);border:1px solid var(--grey-300);padding:var(--gap-sm);cursor:pointer;display:flex;gap:var(--gap-sm);font-size:var(--text-sm)}.frm-embed-modal-option+.frm-embed-modal-option{margin-top:var(--gap-sm)}.caret.rotate-270,.frm-embed-modal-option .caret{align-self:center;margin-left:auto;transform:rotate(-90deg)}#frm_embed_modal .frm_modal_footer{display:none}#frm_embed_modal.frm-on-page-2 .frm_modal_footer{display:block}.frm-embed-modal-content ul{max-height:300px;overflow-y:scroll}.frm-embed-modal-wrapper.frm-dialog{overflow:visible}#frm-bulk-modal .frm_grid_container{grid-template-columns:repeat(12, 8.33%);grid-gap:0}#frm-bulk-modal .frm8{border-right:1px solid var(--grey-300);padding:10px 20px 10px var(--gap-lg)}#frm-bulk-modal .frm4{padding:10px 0}.frm-inline-modal .howto{margin:5px 0 10px;color:var(--grey)}.frm-inline-modal .frm_code_list+.howto{margin-bottom:0}#frm_bulk_options{height:240px;width:100%;border:none;box-shadow:none;padding:0}.frm-bulk-edit-link{display:flex;align-items:center;justify-content:flex-end;gap:var(--gap-2xs);font-size:var(--text-sm);margin:12px 0 12px auto}.frm-bulk-edit-link .frm-bulk-edit-link{margin:0}.frm-small-add{font-size:var(--text-sm) !important}.frm-small-add span{color:var(--primary-500);font-size:12px;height:12px;width:12px}.frm_no_captcha_text{font-weight:700;color:#a00}.frm_image_from_url{height:50px}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm_actions_dropdown .frm-dropdown-menu{font-size:var(--text-sm);color:#5f6c72}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_scale{text-align:center;float:left;margin-right:10px}.frm_scale input{display:block;margin:5px}.frm_multi_fields_container{float:left}.frm_multi_fields_container,.frm_form_builder .frm_form_fields input[type=tel] .frm_form_builder .frm_form_fields input[type=range],.frm_form_builder .frm_form_fields input[type=text]{width:100%;height:auto}.frm_form_builder .frm_time_wrap .frm_time_sep{vertical-align:sub;vertical-align:-webkit-baseline-middle}.frm_form_builder input[type=range]::-webkit-slider-runnable-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-moz-range-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-lower{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-upper{background-color:var(--blue-border)}.frm-embed-field-placeholder{text-align:center;height:145px;display:flex;align-items:center;justify-content:center}.frm-fake-field{display:block;height:25px;background-color:var(--light-blue);border:1px solid var(--grey-300);margin:10px 0;border-radius:var(--small-radius)}.frm-embed-message{position:absolute;background:#fff;border:1px solid var(--grey-300);color:var(--grey-700);padding:var(--gap-md);font-size:var(--text-lg);max-width:200px;min-width:50%;margin:0 var(--gap-md);overflow:hidden;text-overflow:ellipsis}.frm-summary-message{top:50%;left:50%;padding:15px 0;font-size:var(--text-md);transform:translate(-50%, -50%)}.frm-summary-learn-more{font-size:inherit !important}.frm-single-settings .frm-embed-message{width:100%;position:static;border-radius:var(--small-radius)}#new_fields input[type=text],#new_fields input[type=number],.frm_field_box .frm_form_fields>textarea,.frm_form_fields .frm_form_field>textarea,.frm_form_fields .frm_form_field>input[type=email],.frm_form_fields .frm_form_field>input[type=url],.frm_form_fields .frm_form_field>input[type=number],.frm_form_fields .frm_form_field>input[type=tel],.frm_form_fields .frm_form_field>input[type=text],.frm_form_fields .frm_form_field>input[type=range]{width:100%}.frm_form_fields textarea.wp-editor-area{width:100%;border:none}.frm_form_fields input[type=file],.frm_form_fields input[type=file]:disabled{background:rgba(0,0,0,0);border:none;box-shadow:none;width:auto}.frm_form_fields select{width:auto;max-width:100%}input[type=radio],input[type=checkbox]{width:16px;padding:0}.frm_grid_container>p,.frm_grid_container>p.frm_form_field,.frm_grid_container>div.frm_form_field,#new_fields .frm_grid_container>p{margin-top:8px;margin-bottom:8px;margin-right:0}.frm_grid_container>p>label:only-child,.frm_grid_container>p.frm_form_field>label:only-child,.frm_grid_container>div.frm_form_field>label:only-child,#new_fields .frm_grid_container>p>label:only-child{margin-bottom:0}.frm_grid_container>.frm-has-modal>p:only-child{margin-bottom:var(--gap-xs)}#new_fields div.frm_grid_container>.frm_primary_label{margin-top:8px}#new_fields .frm_primary_label+p,#new_fields .frm_primary_label+.frm6+.frm6,#new_fields .frm_primary_label+.frm6+.frm-inline-modal+.frm6{margin-top:0}.frm_catlevel_2,.frm_catlevel_3,.frm_catlevel_4,.frm_catlevel_5{margin-left:18px}.frm_wrap .frm-fields .auto_width,.frm_form_fields input.auto_width,.frm_form_fields select.auto_width,.frm_form_fields textarea.auto_width{width:auto !important}.frm_form_fields select.auto_width{min-width:60px}.frm_form_fields input:focus,.frm_form_fields select:focus,.frm_form_fields textarea:focus,.frm_focus_field input{background-color:#fff;border-color:#ddd}.frm_form_builder .frm_radio,.frm_form_builder .frm_checkbox{display:block;margin-bottom:2px}.frm_form_builder .frm_radio label,.frm_form_builder .frm_checkbox label{font-size:var(--text-sm)}.horizontal_radio .frm_radio,.horizontal_radio .frm_checkbox{margin-right:5px;display:inline-block}.frm_form_builder .frm_opt_container .frm_radio.frm_image_option label,.frm_form_builder .frm_opt_container .frm_checkbox.frm_image_option label{display:flex;align-items:center;gap:9px;white-space:normal}.frm_form_field.frm_two_col .frm_opt_container,.frm_form_field.frm_three_col .frm_opt_container,.frm_form_field.frm_four_col .frm_opt_container{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:max-content;grid-gap:0 2.5%}.frm_form_field.frm_three_col .frm_opt_container{grid-template-columns:repeat(3, 1fr)}.frm_form_field.frm_four_col .frm_opt_container{grid-template-columns:repeat(4, 1fr)}.frm_form_field.frm_two_col .frm_radio,.frm_form_field.frm_two_col .frm_checkbox,.frm_form_field.frm_three_col .frm_radio,.frm_form_field.frm_three_col .frm_checkbox,.frm_form_field.frm_four_col .frm_radio,.frm_form_field.frm_four_col .frm_checkbox{grid-column-end:span 1}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap .with_frm_style .frm_radio input[type=radio],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_scale input[type=radio],.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{width:15px;min-width:15px;height:15px;border:1px solid var(--grey-300);box-shadow:var(--box-shadow-sm);-webkit-appearance:none}.frm_wrap input[type=radio]{border-color:var(--grey-300);box-shadow:var(--box-shadow-sm)}.frm_wrap input[type=radio]:checked::before{background-color:var(--primary-500)}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_checkbox input[type=checkbox]{border-radius:4px}.frm-white-body input[type=checkbox]:checked,.frm_wrap input[type=checkbox]:checked{background-color:var(--border-color-active, var(--primary-500)) !important;border-color:var(--border-color-active, var(--primary-500)) !important}.frm-white-body input[type=checkbox]:checked:focus,.frm_wrap input[type=checkbox]:checked:focus{border-color:var(--border-color-active, var(--primary-500))}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{content:"";display:block;width:100% !important;height:100% !important;background-image:url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.6667 1.5L4.25001 7.91667L1.33334 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") !important;background-size:8px !important;background-repeat:no-repeat !important;background-position:center !important;margin:0}.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{margin-right:5px}.frm_inner_field_container{margin-bottom:10px}.frm_conf_inline .frm_inner_field_container,.frm_conf_inline .frm_inner_conf_container{width:49%;float:left}.frm_conf_inline .frm_inner_field_container{margin-right:2%;clear:both}.frm_inner_field_container>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>label,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>label,li.ui-state-default.selected>.frm_inner_field_container>label{max-width:calc(100% - 100px)}.frm-drag-fade{background-color:var(--lightest-grey) !important;border-radius:4px}.frm-drag-fade *{opacity:0}.frm-dragging .divider_section_only,.frm-dragging .frm_field_box{pointer-events:none}.frm_form_settings #op-popup,.frm_form_settings com-1password-op-button,.frm_conf_below .frm_conf_field_container .frm_primary_label,.frm_conf_inline .frm_inner_field_container .frm-show-click a,.frm_conf_below .frm_conf_field_container .frm-show-click a{display:none !important}.frm_conf_inline .frm_inner_field_container .frm-field-action-icons{position:absolute;right:5px}.frm_conf_below .frm_conf_field_container{margin-top:10px}.frm_calc_dec{width:50px}.frm_ext_sc{display:none}.frm_long_input{width:100% !important;box-sizing:border-box}.frmcenter{text-align:center}img.frm_help{margin-left:2px;vertical-align:middle;padding-bottom:2px}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}label input[type=checkbox],label input[type=radio]{vertical-align:inherit}#editorcontainer #dyncontent{margin:0;width:100%;padding:6px;line-height:var(--leading);border:0 none;outline:none;box-sizing:border-box}.frm_postbox_icon{margin:-6px 0 0 -10px}.frm_form_builder a:hover{text-decoration:underline}.frm_form_builder .widget-title h4{padding:10px 15px}.frm_form_builder .widget-top a.widget-action::after{margin:7px 12px 0}.frmbutton.frm_tgateway{display:none !important}.frm_html_legend pre{display:inline}#ed_fullscreen{display:none !important}.frm_posttax_opt_list{overflow:auto;max-height:200px;background-color:#fff}.frm_posttax_opt_list p.howto{font-size:12px}.frm_border_bottom{border-bottom:1px solid var(--grey-300);margin-bottom:10px;padding-bottom:10px}.frm_posttax_opt_list .frm_border_bottom span.howto{padding-right:10px}.frm_posttax_opt_list .frm_border_bottom input{margin-right:1px}.frm_add_remove div.frm_form_field{padding-bottom:5px}.frm_field_opts_list{max-height:260px;overflow:auto}.frm_white_bg{background-color:#fff}.frm_border_light{border:solid 1px #ddd}#new_fields .form-table input[type=text],#new_fields .form-table select,.form-table .form-field input,.form-table .form-field .quicktags-toolbar input,.form-field input,.form-field .quicktags-toolbar input{width:auto}.frm_aff_link{float:right}.frm_select_box{text-align:center;font-weight:700;width:100%;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box{text-align:left;font-weight:400;font-size:inherit !important;border:none;padding:0 !important;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box:focus{outline:none;box-shadow:none}.wp-list-table .frm_no_items.frm_select_box{text-align:center;font-weight:700;width:500px;max-width:100%;font-size:inherit}#frm-options-panel{padding:0 var(--gap-sm);color:var(--grey-900);overflow:hidden}.frm-right-panel a.frm_add_logic_link,#frm-options-panel h3{font-size:var(--text-md);font-weight:500;background-color:#fff;border-radius:var(--small-radius);padding:18px var(--gap-sm);margin:2px calc(-1*var(--gap-sm));transition:background-color 200ms ease-out,box-shadow 200ms ease-out,color 200ms ease-out}.frm-right-panel a.frm_add_logic_link .frmsvg,#frm-options-panel h3 .frmsvg{width:13px;height:13px;color:var(--grey-500);transition:transform 300ms ease-in}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type),.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type),#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child{color:var(--grey-700);box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type) .frmsvg,.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child .frmsvg,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type) .frmsvg,#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child .frmsvg{transform:rotate(-180deg)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div,#frm-options-panel h3:not(.frm-collapsed)+div{padding-top:6px;padding-bottom:6px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container{padding-bottom:14px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link.frm-collapsed,#frm-options-panel h3.frm-collapsed{color:var(--grey-500);background-color:rgba(0,0,0,0)}.frm-right-panel a.frm_add_logic_link:hover,#frm-options-panel h3:hover{color:var(--grey-700);background-color:#fff;box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:focus-visible,#frm-options-panel h3:focus-visible{outline:1px solid var(--primary-500) !important;outline-offset:-1px}.frm-right-panel a.frm_add_logic_link:focus{outline:auto}.frm_field_key{background-color:#f7f7f7}#frm_form_editor_container #edit-slug-box{padding:0}.frm-alt-table{position:relative;width:100%;border-collapse:collapse;margin-top:.5em;font-size:15px}#form_show_entry_page .frm-alt-table:not(.frm-zebra-striping)::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff}.frm-alt-table th{width:200px}.frm-alt-table tr,.frm-alt-table tr.frm-odd{background-color:rgba(0,0,0,0)}.frm-alt-table tr.frm-even{background-color:var(--sidebar-color)}.frm-alt-table th,.frm-alt-table td{background-color:rgba(0,0,0,0);vertical-align:top;text-align:left;padding:20px}.frm-alt-table h3{margin-bottom:0}.form-field .frm_cb_button{height:22px;line-height:20px;margin-bottom:10px;margin-right:5px}.edit_field_type_select .frm_option_val_label{margin-left:12px}.frm_rte{background:url(../images/rte.png) no-repeat}.frm_rte .howto{margin:10px 0 46px}.subform_section{margin:25px}.subform_section,.subform_section label,.subform_section input{opacity:80}.subform_section .frm_sortable_field_opts{display:none}#frm_form_editor_container .subform_section .frm_primary_label{display:block}.subform_section.subform_break{border-top:1px dashed #ccc}.button-secondary.frm_html_field{background-color:#ededed;padding:10px 20px;line-height:inherit;width:auto;height:auto !important;border-radius:0;box-sizing:content-box}.frm_html_field_placeholder{margin-bottom:10px;text-align:center}.recaptcha_placeholder{border:1px solid #d3d3d3;width:300px}.turnstile_placeholder{width:300px}.frm_sorting .frm_rte textarea{width:653px;background:#fff;margin:1px 0 0;border:1px solid #dfdfdf;border-top:none;border-radius:0;float:none !important}.frm_full_rte textarea{width:98%;padding:0}.frm_field_box{padding:5px;min-height:20px;margin:10px 0}.frm_indent_opt,td.frm_indent_opt{padding-left:25px}.frm_charts object{background:rgba(0,0,0,0)}.frm_charts h2{height:34px}.frm_single_option.ui-sortable-placeholder,li.sortable-placeholder{border:none;margin:0;visibility:visible !important;box-shadow:2px -10px 0 2px var(--primary-500)}#frm_form_editor_container>ul>.frm_single_option.ui-sortable-placeholder,#frm_form_editor_container>ul>li.sortable-placeholder{width:calc(100% - 5px) !important;height:0 !important}#frm_form_editor_container>ul>li>ul{position:relative}#frm_form_editor_container>ul>li>ul>li.sortable-placeholder,#frm_form_editor_container ul.start_divider>li>ul>li.sortable-placeholder{position:absolute;top:20px;bottom:0}.edit_field_type_divider+li.sortable-placeholder{box-shadow:2px 5px 0 2px var(--primary-500)}.start_divider li.sortable-placeholder{box-shadow:2px -5px 0 2px var(--primary-500)}.frm-is-collapsed+.sortable-placeholder{box-shadow:2px 15px 0 2px var(--primary-500)}.frm_single_option.ui-sortable-placeholder{box-shadow:0 0 1px 1px var(--primary-500)}.frm_sorting>li.edit_field_type_end_divider:first-child,.frm-show-click,li.ui-state-default.edit_field_type_divider .frm-show-click{display:none}.frm_form_field.ui-sortable-helper .frm-field-action-icons,.frm_form_field.ui-sortable-helper .frm_form_fields,.frm_form_field.ui-sortable-helper .frm_description,.frm_form_field.ui-sortable-helper .description{display:none}.frm_form_field.ui-sortable-helper .frm_primary_label,.frm_form_field.ui-sortable-helper .frm_inner_field_container{margin:0 !important}.frm-single-settings .frm-show-click{display:block !important}.frm-show-hover,.frm_single_visible_hover,li.ui-state-default.edit_field_type_divider .frm-show-hover{opacity:0;transition:opacity .15s ease-in-out}#frm-show-fields .frm-field-settings-open .frm-show-hover{opacity:1}.frm_sortable_field_opts{margin-top:5px}.frm_single_option{clear:both;margin:0 !important;padding-bottom:5px}.frm_single_option input[type=radio],.frm_single_option input[type=checkbox]{margin-top:0}.frm_single_option .frm-with-right-icon input[type=text]+.frmsvg{position:relative;right:27px;width:14px;height:14px;padding:0;margin:var(--gap-2xs) 0 0}.frm_product_price_wrapper,.frm_image_preview_wrapper,#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 106px) !important;flex-grow:1}.frm-right-panel .frm_single_option a.frm_remove_tag,.frm_single_option a{padding-left:7px}.frm_single_option:hover .frm_single_visible_hover{opacity:100}.frm_single_option .frm-drag{font-size:23px;width:24px;height:24px;margin-left:-6px;margin-right:var(--gap-xs);color:var(--grey-500)}.frm_single_option .frm-drag::before{vertical-align:middle}.frm-drag,.frm_single_option.ui-sortable-helper{cursor:move}.frm_single_option .frm_option_key{margin-left:19px !important}.frm_option_key input[type=text]{margin-top:var(--gap-xs) !important;margin-left:11px !important}.frm_option_key input[type=checkbox]+input[type=text],.frm_option_key input[type=radio]+input[type=text]{margin-left:30px !important}li.ui-state-default.selected .frm-show-click,li.ui-state-default.selected.edit_field_type_divider .frm-show-click{display:inline;vertical-align:top}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>.frm-show-hover,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{opacity:100}li.frm_field_box>ul.frm_grid_container{position:relative}.frm_sorting span.ui-icon{width:16px}body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) .frm_image_options .frm_image_option_container{--field-border-width: 1px;--border-color: var(--grey-300);--border-color-active: var(--primary-500);--border-radius: var(--small-radius)}#form_show_entry_page .frm_file_link,#form_show_entry_page .frm_image_option_container{display:inline-flex;flex-wrap:nowrap;flex-direction:column;text-align:center;align-items:center;width:150px;margin-right:10px;margin-bottom:10px}#form_show_entry_page .frm_image_option_container img{width:150px;height:150px;object-fit:cover}#form_show_entry_page .frm_file_link img{max-width:150px;height:auto}#form_show_entry_page .frm_file_link~br{display:none}#form_show_entry_page .frm_upload_label{padding:10px}#form_show_entry_page.frm_wrap .postbox{overflow:hidden}.frm_image_option_container .frm_image_placeholder_icon svg{height:150px}.frm_list_entry_page .frm_file_link,.frm_list_entry_page .frm_image_option_container.frm_label_with_image{display:block;text-align:center}.frm_list_entry_page .frm_image_option_container img{width:75px;height:75px;object-fit:cover}.frm_list_entry_page img{max-width:100%;height:auto}.frm_image_option_container .frm_empty_url{background-color:var(--sidebar-color)}.frm_list_entry_page .frm_image_option_container .frm_text_label_for_image{display:block;padding:5px 0 10px}.frm_list_entry_page .frm_upload_label,.frm-summary-page-wrapper .frm_text_label_for_image{display:block}#frm-welcome .frm_image_options .frm_image_option_container,#form_global_settings .frm_image_options .frm_image_option_container{background:var(--sidebar-color)}#frm-welcome .frm_image_option_container svg,#form_global_settings .frm_image_option_container svg{max-width:calc(100% - 20px)}#frm-new-template .frm_image_option_container svg{height:50px;margin:10px auto 0}.frm_image_option_container{position:relative}.frm_text_label_for_image>svg{width:30px;position:absolute;top:5px;right:calc(50% - 15px)}.frm_single_option .frm_option_key{margin-top:17px}.frm_single_option .frm_option_key.frm_image_preview_wrapper{margin-top:var(--gap-xs)}.frm_image_data{margin-left:var(--gap-sm);display:flex;flex-direction:column;font-size:var(--text-sm);justify-content:space-around;min-width:0}.frm_image_styling_frame{display:flex;align-items:stretch;margin-left:36px;margin-bottom:var(--gap-xs);width:100%}.frm_image_styling_frame img{height:54px;width:54px;min-width:auto;min-height:auto;border-radius:3px;object-fit:cover;object-position:center}.frm_image_styling_frame .frm_email_attachment_icon img{height:auto;width:auto;max-width:54px}.frm_image_preview_title{color:var(--grey-500);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.frm_wrap .frm_choose_image_box{cursor:pointer;color:var(--primary-500);background-color:#fff;margin-left:32px;text-align:center;width:100%}.frm-type-ranking .frm_option_key .frm_choose_image_box{margin-left:11px !important}.frm_wrap .frm_choose_image_box:hover{background:#fff}a.frm_remove_image_option,.frm_remove_image_option{color:var(--grey-400);cursor:pointer}a.frm_remove_image_option:hover .frmsvg,a.frm_remove_image_option:hover,.frm_remove_image_option:hover{color:rgba(40,47,54,.8)}.frm-form-setting-tabs{margin-top:var(--gap-sm) !important}.frm-right-panel>.postbox{background-color:rgba(0,0,0,0);border:none;box-shadow:none;margin:0}.frm-right-panel .postbox.frm_with_icons .inside,.frm-right-panel .postbox .inside,.frm-right-panel .inside{font-size:var(--text-md);padding:15px 20px 20px;color:var(--grey-700)}.frm-right-panel .misc-pub-section{padding:var(--gap-xs) 0;position:relative}.frm-right-panel .inside a,.frm-form-setting-tabs a{font-size:var(--text-md);color:var(--grey-700);padding:var(--gap-sm);display:block}.frm-form-setting-tabs a{color:var(--grey-900);padding:var(--gap-sm) var(--gap-md)}.frm-right-panel .inside a{padding:0;color:var(--primary-500);display:inline-block}.frm-right-panel .inside a:hover{color:var(--primary-700)}.frm-form-setting-tabs a:hover{background:var(--sidebar-hover);color:var(--grey-900)}.frm-right-panel .inside i,.frm-form-setting-tabs a i,.frm-form-setting-tabs a .frmsvg{margin:0 5px;display:inline-block;width:20px;height:20px;color:var(--grey-500)}.frm-form-setting-tabs a .frmsvg{margin:0}.frm-right-panel .inside a:hover i,.frm-right-panel .inside a:hover .frmsvg,.frm-form-setting-tabs a:hover .frmsvg,.frm-form-setting-tabs a:hover span{color:var(--grey-700)}.frm_settings_form .tabs-panel{padding:0 25px}#form_settings_page .tabs-panel,.frm_settings_form .tabs-panel{max-height:initial !important;min-height:50px !important}#frm_adv_info .tabs-panel{min-height:0 !important;overflow-x:hidden;padding:0;border:none;background:rgba(0,0,0,0)}select.frm_cancelnew,input.frm_enternew{width:175px}.frm_posttax_opt_list{border:1px solid var(--grey-300);padding:var(--gap-md);border-radius:var(--small-radius);margin:5px 0 5px var(--gap-md)}.frm-right-panel .wp-picker-open+.wp-picker-input-wrap{position:absolute;margin-left:calc((100% - 35px)*-1);margin-top:1px;width:calc(100% - 36px)}.frm-right-panel .wp-picker-container input[type=text].wp-color-picker{border:none;padding:5px 8px;font-family:inherit;color:var(--grey-700);font-size:var(--text-md);width:100%;line-height:var(--leading)}.frm-right-panel .wp-picker-input-wrap .wp-picker-clear{display:none !important}.frm-right-panel .wp-picker-holder{position:absolute;z-index:999}.frm-right-panel .wp-picker-input-wrap label{margin-bottom:0}.frm-right-panel .wp-picker-container .wp-color-result.button{width:100%;overflow:hidden;margin:0 !important;height:var(--h-md) !important;padding:0 0 0 var(--gap-lg) !important;border-radius:var(--small-radius);border-color:var(--grey-300)}.frm-right-panel .wp-color-result-text{line-height:var(--leading) !important;font-size:var(--text-md);background:#fff !important;color:var(--grey-900);padding:5px 8px;border-color:var(--grey-300);text-align:left}.frm-right-panel .color-alpha{width:var(--gap-lg) !important}.frm_grid_container .wp-picker-container{width:100%;position:relative}.wp-picker-container button.wp-color-result{border:1px solid var(--grey-300) !important}.wp-picker-container .wp-picker-input-wrap input.hex.wp-color-picker{max-width:100%;position:relative}.frm_end .wp-picker-holder{margin-left:-145px}.frm_end.frm6 .wp-picker-holder{margin-left:-86px}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.tabs-panel{height:auto !important;min-height:260px}.tabs-panel.panel_secondary{min-height:20px;margin-top:10px;margin-left:150px}label.frm-example-icon{margin-right:20px !important;display:inline-block !important}#frm_stripe_icon{border-radius:5px}#captcha_settings .frm_primary_label{margin-top:var(--gap-sm)}.frm-long-icon-buttons{display:flex;gap:var(--gap-md)}.frm-long-icon-buttons>label{border:1px solid var(--grey-300);color:var(--grey-700);border-radius:var(--small-radius);display:flex;padding:var(--gap-sm);gap:var(--gap-sm);justify-content:center;align-items:center;width:calc(33% - var(--gap-sm));box-sizing:border-box}.frm-long-icon-buttons>label:hover{color:var(--primary-500)}.frm-long-icon-buttons input[type=radio]{display:none}.frm-long-icon-buttons input[type=radio]:checked+label{border-color:var(--primary-500);box-shadow:0 0 0 1px var(--primary-color)}.frm-long-icon-buttons label>svg{height:21px}.frm-example-icon .frmsvg,.frm-example-icon i{height:20px;width:20px;font-size:20px;color:var(--grey-700)}.frm_license_msg{margin-top:0}.frm_authorized_box .frm-show-unauthorized,.frm_unauthorized_box .frm-show-authorized{display:none}.edd_frm_status_icon.frmsvg{margin:0 5px}.edd_frm_license_row .frm_action_success .frmsvg{color:green}.edd_frm_license_row .frm_action_error .frmsvg{color:#d54e21}#form_global_settings .tabs-panel .num svg{display:none}.frm_no_items{margin:0 auto 50px;text-align:center;color:var(--grey-700);max-width:500px}.frm-subscribe{margin:var(--gap-lg) 0}.frm_inbox_count{color:#fff;border-radius:50%;display:inline-block;margin-right:8px;font-size:11px;text-align:center;min-width:18px;height:18px;margin-left:2px;vertical-align:text-bottom}#payments_settings .frm_payments_section .form-table td{padding-left:0;padding-right:0}#payments_settings .frm_payments_section .form-table{margin-top:0}#frm_authnet_general_settings>tr:first-of-type>td:first-of-type{padding-top:0}#frm_authnet_general_settings h3{margin-bottom:0}.frm_payment_settings_tab .frmsvg{height:22px}.frm_payment_settings_tab[for=frm_toggle_paypal_settings] .frmsvg{width:83px}.frm_payment_settings_tab[for=frm_toggle_authorize_net_settings] .frmsvg{width:99px}.frm_payment_settings_tab[for=frm_toggle_square_settings] .frmsvg{width:89px}.frm_payment_settings_tab[for=frm_toggle_stripe_settings] .frmsvg{width:53px}.frm-lite .xml_opts .frm-export-xml-items{display:none}.csv_opts #frm_csv_col_sep{width:45px}#frm_advanced td.frm_left_label{width:20%;padding-right:2px}#frm_where_options select{max-width:200px}#frm_where_options select.frm_insert_where_options{width:30%}#frm_where_options select.frm_where_is_options{width:20%}#frm_where_options span.frm_where_val{width:32%;display:inline-block;position:relative}#frm_where_options span.frm_where_val .frm_tooltip_icon,#frm_where_options span.frm_where_val .frm_help{left:-4px;position:absolute}#frm_where_options span.frm_where_val.frm_hidden{display:none}#frm_where_options span.frm_where_val input,#frm_where_options span.frm_where_val select{width:90%;margin-left:10px}#frm_where_options{min-height:31px}.tabs-panel.active .tabs-panel,.frm_settings_form .tabs-panel .tabs-panel{border:none;padding:0}.frm-feature-banner{background:var(--grey-700);color:#fff;border-radius:var(--small-radius);padding:20px;margin:10px 0}.frm-feature-banner p{font-size:var(--text-sm)}.frm-feature-banner .dismiss{margin-top:-10px;margin-right:-10px}.frm-feature-banner .dismiss svg{color:#fff}.frm-feature-banner .frm-big-icon{padding-right:20px;float:left;min-height:60px}.frm-big-icon svg{height:60px;width:60px}.frm-feature-banner p{margin-top:0}.frm_98_width{width:100% !important}h2.frm-h2,.frm_form_settings h2{border-bottom:1px solid var(--grey-300);color:var(--grey-900);font-weight:400 !important;padding:9px 0 5px;margin:0}.frm_settings_form h3,.frm_form_settings h3,.frm_form_settings span.frm_add_logic_link{font-size:var(--text-md);border-top:1px solid var(--grey-300);padding-top:var(--gap-sm);margin:var(--gap-sm) 0;font-weight:400;text-transform:uppercase;color:var(--medium-grey);display:block}.frm_form_settings .howto{color:var(--grey-500);font-size:var(--text-sm);margin-top:8px}.frm_form_settings .advanced_settings .form-table{margin-top:0}.frm_form_settings td.frm_175_width{width:175px}.frm_form_settings #success_url{width:95%}.frm_wrap .ui-autocomplete{padding:3px 0;max-height:310px}.frm_wrap .ui-widget{font-family:inherit}.frm_wrap .ui-autocomplete li{padding:2px 4px;background:none;color:var(--grey-700);border:none;font-weight:400}.frm_wrap .ui-autocomplete .ui-menu-item-wrapper.ui-state-active{border:none;font-weight:inherit}.frm_select_with_label{margin:7px 0 0}#frm-insert-fields-box,#frm-conditionals{max-height:none}#frm-conditionals,#frm-adv-info-tab{display:none;max-height:355px}#frm-insert-fields-box ul.subsubsub,#frm-conditionals ul.subsubsub{float:right;margin:0}#frm-insert-fields-box ul.alignleft,#frm-conditionals ul.alignleft{margin:4px 0 0}#frm_adv_info ul.frm_code_list.frm-full-hover{clear:both;max-height:215px;overflow:auto}#frm-insert-fields-box ul.frm_code_list li.clear.frm_block{height:10px}#frm_adv_info .frm_noallow{display:none}#frm_adv_info #frm-conditionals .frm_noallow{display:block}#frm_html_tab.frm_hidden{display:none}#frm_html_tab.active{display:inline}.frm_email_reply_container select,.frm_email_reply_container input,.form-table td.frm_150_width{width:170px}#frm_notification_settings .frm_no_top_padding{padding-top:0}.frm_email_settings.frm_email_settings.widgets-holder-wrap{overflow:auto;box-shadow:none}#frm_notification_settings .widget-top .widget-action,#frm_form_editor_container .widget-top .widget-action{border:0;margin:0;padding:8px;background:0 0;cursor:pointer;outline:0}#frm_notification_settings .widget-top .widget-action{padding-top:13.5px}#frm_email_addon_menu{border:1px solid var(--grey-300);padding:var(--gap-sm);border-radius:4px;margin:var(--gap-md) 0 var(--gap-sm)}#frm_email_addon_menu .frm-search{float:right;margin:0}#frm_email_addon_menu h3.frm-no-border{clear:none;padding-top:7px}.frm_email_settings .widget .widget-top{background-color:var(--sidebar-color)}.frm_email_settings .widget .widget-top,.frm_email_settings .widget .widget-top h3{cursor:pointer !important}.frm_email_settings .widget{margin-bottom:var(--gap-sm)}.frm_form_action_settings .widget-top{box-shadow:none;border-color:var(--grey-300);border-radius:var(--small-radius);background:var(--lightest-grey);color:var(--grey-700)}.frm_form_action_settings:hover .widget-top{border-color:var(--grey)}.frm_form_action_settings.open .widget-top{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.frm_form_action_settings.open:hover .widget-top{border-color:var(--grey-300)}.frm_form_action_settings>.widget-inside{display:none}.frm_form_action_settings.open>.widget-inside{display:block}.frm_form_action_settings .widget-inside{min-height:25px;padding:15px;border-color:var(--grey-300);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.frm_form_action_settings .widget-title h4,.frm_form_action_settings .widget-title h3{display:inline-block;border-bottom:none;padding:10px 10px 5px;font-size:var(--text-md);font-weight:500}#frm_email_addon_menu h3{margin:0 0 var(--gap-sm);clear:both}.frm_single_api_settings p>label{display:inline}.frm_form_action_icon{margin-right:5px}.frm_actions_list{margin:0;display:inline}.frm_actions_list li{float:left;width:15.6%;margin:10px .5% 15px;height:100px;text-align:center}.frm-limited-actions .frm-group-heading,.frm-limited-actions #frm-hide-groups,.frm-all-actions #frm-show-groups,.frm-limited-actions .frm-not-installed:not(.frm-search-result):not(.frm-default-show){display:none}label.frm_action_events{padding-left:15px}#frm-hide-groups,#frm-show-groups{font-size:var(--text-md);float:right}.frm_actions_list a:active,.frm_actions_list a:focus{outline:none}.frm_actions_list a{font-size:var(--text-sm);color:var(--grey-700);word-break:break-word}.frm_actions_list span.frm-outer-circle{background-color:var(--grey-100);padding:10px;text-align:center;border-radius:50%;display:block;width:30px;height:30px;margin:0 auto 15px;line-height:1}.frm_email_settings .widget-title h4{color:var(--grey-700)}.frm_disabled_action .widget-title h4{color:var(--grey)}.frm_actions_list a .frmsvg,.frm_actions_list a i{height:18px;width:18px;font-size:18px;padding:2px;color:var(--lightest-grey)}span.frm-inner-circle,.frm_email_settings .widget-title .frm_form_action_icon{background-color:var(--grey-400);border-radius:50%;display:inline-block;text-align:center;line-height:1}span.frm-inner-circle{background-color:var(--primary-700);height:22px;width:22px;padding:4px;color:#fff}.frm-inner-circle svg{fill:currentColor}.frm_email_settings .widget-title .frm_form_action_icon{height:15px;width:15px;padding:5px;color:#fff;vertical-align:middle}.frm_actions_list .frmsvg,.frm_actions_list i::before,.frm_email_settings .widget-title .frm_form_action_icon i,.frm_email_settings .widget-title .frm_form_action_icon .frmsvg{height:15px;width:15px;vertical-align:text-top}.frm_actions_list i::before{vertical-align:middle}.frm_email_settings .widget-title:hover .frm_form_action_icon{background-color:var(--grey)}span.frm-inner-circle.frm-inverse{background-color:rgba(0,0,0,0);color:var(--primary-700);padding:0;height:30px;width:100%}.frm_actions_list span.frm-inverse i,.frm_actions_list span.frm-inverse .frmsvg{color:var(--primary-700);height:30px;width:30px;font-size:30px;padding:0}.frm_actions_list i.frm-inverse::before{height:30px;width:100%;font-size:30px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse{background:#fff;padding:0;height:24px;width:24px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse i::before{color:var(--grey-400);height:24px;width:24px;font-size:24px}.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse i::before{color:var(--grey-500)}.frm_email_icons{padding:10px 0 5px 6px;font-size:20px}.frm_email_icons a{margin-left:8px;color:var(--grey);opacity:0;transition:all .2s ease}.frm_email_icons a .frmsvg{color:var(--grey)}.frm_email_icons a:hover,.widget-top:hover .frm_email_icons a{opacity:1}.frm_actions_list a.frm_inactive_action{color:var(--grey)}.frm_inactive_action .frm-inner-circle,.frm_actions_list .frm_inactive_action i{opacity:.4}table td,.form-table tr td{vertical-align:top}#new_fields .form-table tr td{display:block;padding:7px 0 0}#new_fields .form-table tr td:first-child{margin:0}#new_fields .form-table tr td:last-child{margin-bottom:9px}.form-table #list-table th{text-align:center}#form_settings_page th,#form_settings_page td,.frm_settings_form td,#frm_notification_settings .frm_form_action_settings td p{padding:7px 0}#permissions_settings_settings .frm_grid_container{align-items:center}#frm_notification_settings .form-table>tbody>tr>th{width:150px;font-weight:400;padding-right:10px}#frm_notification_settings .frm_single_email_settings .form-table>tbody>tr>th{width:80px}#frm_notification_settings table tr td:first-child{padding-left:0}#frm_notification_settings table tr td:last-child{padding-right:0}#frm_notification_settings .frm_left_label{float:none;width:auto !important}.frm-fields .frm_autoresponder_rows select{width:auto}#frm_notification_settings .frm_with_left_label,#frm_notification_settings .frm_left_label+textarea,#frm_notification_settings .frm_left_label+select,#frm_notification_settings .frm_left_label+input[type=text]{width:100%}#frm_notification_settings .frm_email_buttons{padding:var(--gap-2xs);background:var(--light-blue);color:var(--primary-700);border-radius:var(--small-radius);border-color:var(--blue-border);line-height:1;height:auto;min-height:12px;font-size:var(--text-xs);box-shadow:none}p.frm_bcc_cc_container,p.frm_reply_to_container{float:right;z-index:1;position:relative}p.frm_bcc_cc_container{margin:14px 0 0}p.frm_reply_to_container{margin:-4px 0 0}.frm_email_row .frm_cancel1_icon::before{vertical-align:bottom}.frm_cc_row.frm_email_row .frm-with-right-icon,.frm_bcc_row.frm_email_row .frm-with-right-icon,.frm_reply_to_row.frm_email_row .frm-with-right-icon{width:calc(100% - 20px);display:inline-block}.frm_email_row .frm_remove_field .frm_close_icon{position:relative;fill:var(--grey-500);vertical-align:middle}.frm-inline-select,p.frm-inline-select,.frm_logic_rows .frm-collapse-me{line-height:var(--h-md) !important}.frm_logic_row{padding:var(--gap-xs) 0 0}.frm-single-settings ul.frm_sortable_field_opts{border-bottom:1px solid var(--grey-200);padding-bottom:var(--gap-xs);margin-bottom:var(--gap-xs)}.frm-single-settings .frm-add-other svg.frm_add_tag{position:relative;top:5px;margin-right:4px}.frm-single-settings .frm_single_option .frm_remove_tag::before{content:""}.frm-single-settings input[type=checkbox][readonly]{opacity:.5;pointer-events:none}.advanced_settings .frm_logic_row{margin:14px 0}.advanced_settings .frm_logic_row select,.advanced_settings .frm_logic_row input{max-width:30% !important}.frm_form_action_settings .frm_logic_row p{margin-top:0;margin-bottom:0;padding:0}#poststuff .widgets-holder-wrap .frm_form_action_settings .widget-inside{padding-bottom:0}#poststuff .frm_form_settings .widgets-holder-wrap .widget-inside{padding-left:15px;padding-right:15px}#form_global_settings h3{font-size:var(--text-sm);margin-top:25px}#form_global_settings .tabs-panel+h3{margin-top:0;border:none}#poststuff .frm_form_settings .widget-inside h3,#poststuff .frm_form_settings .advanced_settings h3,#poststuff .frm_settings_form h3,#frm_advanced .inside h3{border-top:1px solid #eee;border-bottom:none;margin:15px -15px 0;padding:8px 15px;font-size:var(--text-sm)}#poststuff .frm_form_settings h3.frm_first_h3,#poststuff h3.frm_first_h3{border:none;margin-top:0}h3.frm_add_logic_link{margin-bottom:0 !important}a.frm_add_logic_link.frm_hidden{display:none}a.frm_add_logic_link.frm_hidden+.frm_logic_rows{height:auto}.frm_icon_font{color:#a0a0a0;color:var(--grey)}.frm-fields label .frm_icon_font{font-size:inherit}.misc-pub-revisions.frm_icon_font,.misc-pub-revisions.frm_icon_font:hover{color:inherit}.postbox.frm_with_icons .inside{padding:0;margin:0}.frm_add_tag::before{content:"\e602"}.frm_remove_tag::before{content:"\e600"}.frm_logic_row .frm1>.frm_remove_tag{padding:0}.frm_tooltip_icon::before{font-size:13px;vertical-align:top}.frm_help svg,.frm_help .frmsvg{height:13px;width:13px;vertical-align:top;color:var(--grey-400)}.form-field input[type=text].frm_other_input{width:30%;margin-left:10px}.frm-add-other{text-align:right}.frm-add-other .frm_add_tag{vertical-align:20%}.frm_action_icon{margin:5px 0 0 5px}span.frm_action_icon{margin:0 4px 0 0}.frm_action_icon:active{outline:none}a.frm_action_icon:hover{text-decoration:none}.frm_action_icon.frm_error_icon::before{content:"\e608"}.frm_inactive_icon.frm_action_icon.frm_error_icon::before{content:"\e606"}.frm-field-action-icons{text-align:right;position:absolute;top:2px;right:2px;max-width:100%}.frm-field-action-icons .frm-field-id{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:80px;max-width:calc(100% - 50px);position:relative;top:2px}.frm-field-action-icons>a{font-size:var(--text-md);width:17px}.frm-field-action-icons a:hover{text-decoration:none}.frm-field-action-icons .dropdown{display:inline-block}.frm-field-action-icons>a .frmsvg{color:var(--grey-500) !important;font-size:17px;width:17px;height:17px}.frm-field-action-icons>a .frmsvg,.frm-field-action-icons>div>a .frmsvg{vertical-align:baseline}.edit_field_type_end_divider .frm-field-action-icons{display:none !important}.frm-move{cursor:grab}span.howto{display:inline}.frm_import_message{margin:15px 0;line-height:2.5}.frm_sorting .form-field .widget input[type=text],.frm_sorting .form-field .widget input[type=number],.frm_sorting .form-field .widget select,#wpcontent .frm_sorting .form-field .widget select,.frm_sorting .form-field .widget textarea{width:auto}.tagchecklist span.no_taglist{display:inline;float:none;line-height:15px;margin-right:0;font-size:inherit}.tagchecklist .frm_exclude_cat_list span{display:inline}.tagchecklist span a::before{line-height:23px;text-align:start}.frm_form_action_settings .frm_email_row .frm_tooltip_icon{position:relative;bottom:2px}.frm_no_entries_form{padding:60px 0}.frm_no_entries_form .frm_no_entries_header{font-size:20px;margin-bottom:10px}.frm_no_entries_form .frm_no_entries_text{line-height:var(--leading)}#form_entries_page #the-list .no-items{height:240px}#form_reports_page img.frm_no_reports{max-width:100%}.frm_wrap .google-visualization-table .gradient,.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-odd,.frm_wrap .google-visualization-table-tr-odd.google-visualization-table-tr-over{background:var(--lightest-grey)}.frm_wrap .google-visualization-table-tr-over{background:#fff}.frm_wrap .google-visualization-table-table th,.frm_wrap .google-visualization-table-table td{border-right-width:0;padding:10px !important}.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-head th{white-space:pre-wrap;font-size:var(--text-md);font-weight:400 !important;text-align:left}.frm_wrap .google-visualization-table-td-number{text-align:inherit}#form_reports_page .postbox{text-align:center;float:none;display:inline-block;margin-right:2%;width:20%;min-width:175px}#form_views_page img.frm_no_views{max-width:100%}.frm_field_opts_popup{min-width:300px;background-color:#fff}.frm_field_opts_popup #wpadminbar{display:none}.frm_prepop{width:100%;list-style:none;overflow:auto;margin:0;max-height:295px}.frm_prepop li{margin:0}.frm_prepop li a{display:block;text-decoration:none;cursor:pointer;padding:5px 20px}.frm_prepop li a:hover{background:var(--sidebar-color)}#frm_form_editor_container #frm_form_key_box{width:13em;max-width:30%}#frm_form_editor_container #frm_form_desc{width:70%}#frm_form_editor_container .ui-widget-content{display:none;padding:15px}#frm_form_editor_container .ui-widget-content label{float:left;width:170px;text-align:right;padding-right:5px;clear:both}#frm_form_editor_container .ui-widget-content label.nofloat{clear:none;float:none;margin-left:10px}#frm_form_editor_container .ui-state-default{color:#333 !important}.frm_green{color:var(--green) !important}#frm_form_editor_container .ui-state-default a.frm_orange,.frm-right-panel a.frm_orange,#postbox-container-1 a.frm_orange{color:#d54e21}#styling_settings input[type=checkbox],#styling_settings input[type=radio]{border:solid 1px #bbb}#styling_settings .widget .widget-top,#frm_form_editor_container .widget .widget-top{cursor:pointer}.frm_sorting .widget,.frm_settings_page .widget{background:#fff}.frm_sorting .widget-title h4{font-weight:400}.frm_sorting .widget,#postbox-container-1 .widget,.frm-right-panel .widget,.frm_settings_page .widget{margin-bottom:0}.frm_settings_page .widget-inside{padding:0 5px 5px}.frm_sorting .widget,.widget-inside,.frm_sorting .form-field .widget{display:none}#frm-show-fields{min-height:350px;padding:0 0 35px;margin:0;position:relative}.frm-has-fields #frm-show-fields{min-height:50px}#frm_builder_page .frm-lite-credit-card-element,body.frm-admin-page-styles .frm-lite-credit-card-element{position:relative}#frm_builder_page .frm-lite-credit-card-element>div,body.frm-admin-page-styles .frm-lite-credit-card-element>div{position:absolute;top:calc(50% - 1px);transform:translateY(-50%);right:10px;color:#d0d4dd}#frm_builder_page #frm_field_group_controls{position:absolute;padding:5px;border-radius:4px 4px 0 0;text-align:right;box-sizing:border-box;right:0;top:-28px;height:28px;z-index:3}.frm-field-group-hover-target,.frm-has-open-field-group-popup,#frm_builder_page #frm_field_group_controls,.frm-selected-field-group{background:rgba(65,153,253,.04)}.frm-selected-field-group{position:relative}#frm_builder_page #frm_field_group_controls>span:first-child{margin-right:5px}#frm_builder_page #frm_field_group_controls svg{pointer-events:none}#frm_field_group_controls{visibility:hidden}.frm-field-group-hover-target #frm_field_group_controls{visibility:visible}#frm_field_group_controls .dropdown-item a span{color:var(--grey-700)}#frm_field_group_controls .dropdown-item a:hover{text-decoration:none}.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider{display:none !important}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default,.frm_sorting>li.ui-state-default,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{border:1px solid rgba(0,0,0,0);font-weight:400 !important;background-color:rgba(0,0,0,0);background-image:none;padding:5px;margin:0;box-shadow:none;display:block;text-align:inherit !important;overflow:visible;position:relative}#frm-show-fields li.frm_cancel_sort{display:none}.divider_drop{text-align:center}.divider_drop .howto .frm_icon_font{font-style:normal}.show_repeat_sec{display:none}.repeat_section .show_repeat_sec{display:inline-block;margin:5px 0 0}.repeat_section tr.show_repeat_sec{display:table-row}.repeat_format .frm_repeat_label,.repeat_formattext .frmsvg,.repeat_formattext i{display:none}.frm_button{text-decoration:none;border:1px solid #eee;padding:5px;color:#444;vertical-align:middle;box-shadow:none !important}a.frm_button:hover{text-decoration:none !important}.frm_button,.frm_button .frm_icon_font::before{font-size:13px;vertical-align:middle}.frm_button .frmsvg{width:13px;height:13px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{padding:0;margin:0}ul.start_divider{padding:8px 13px 0 8px;min-height:115px;transition:all .4s linear}.frm-section-collapsed .frm_no_section_fields,.frm-section-collapsed ul.start_divider{height:0;min-height:0 !important}.frm-section-collapsed ul.start_divider{overflow:hidden}.frm-section-collapsed .frm_no_section_fields{overflow:hidden;padding:0;opacity:0}.frm-section-collapsed .divider_section_only .frm-collapsed-label{display:inline}.frm-page-collapsed .frm_clone_icon,.frm-page-collapsed .frm_delete_field,.frm-page-collapsed .frm_clone_field,.frm-section-collapsed .frm_clone_icon{opacity:.5;cursor:not-allowed}.edit_field_type_summary .frm_more_options_li:nth-child(2){display:none !important}.edit_field_type_submit .frm_more_options_li:not(:last-child){display:none !important}.frm_no_section_fields:not(.frm_block)+ul.start_divider{padding:0;min-height:132px}.frm_sorting li.ui-state-default .divider_section_only{padding:6px;margin-top:-10px;border:2px solid rgba(0,0,0,0);border-radius:var(--small-radius);z-index:2;position:relative}.divider_section_only>.frm_inner_field_container{padding:5px 0;margin:0}.frm-collapsed-label,.divider_section_only>.frm_inner_field_container .frm_form_fields{display:none}.frm-section-collapsed .divider_section_only::after,.divider_section_only::before{content:"";display:block;padding:2px 0;line-height:1px;border-top:2px solid var(--grey-300);top:-2px;position:absolute;width:100%;transition:.5s border-color ease-in-out}.frm-section-collapsed .divider_section_only::after{top:auto;bottom:-6px}.frm-section-collapsed .divider_section_only:hover::after,li.selected.frm-section-collapsed .divider_section_only::before,li.selected.frm-section-collapsed .divider_section_only::after,.divider_section_only:hover::before,li.selected .divider_section_only::before{border-color:rgba(0,0,0,0)}.frm_sorting li.ui-state-default.edit_field_type_divider{overflow:visible;position:relative;padding:0 0 0 20px;margin:25px 0 0 -5px;border-left:1px solid var(--primary-700);transition:border .7s ease-out}.frm-section-collapsed{border-left-color:rgba(0,0,0,0) !important}.frm_sorting li.edit_field_type_end_divider,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{margin:0 0 var(--gap-sm)}.frm-first-page .frm_prev_page{display:none}#frm_builder_page .frm_remove_form_row.frm_button,#frm_builder_page .frm_add_form_row.frm_button{border-radius:var(--small-radius);border:1px solid var(--blue-border)}#frm_builder_page .frm_remove_form_row .frmsvg,#frm_builder_page .frm_remove_form_row i::before,#frm_builder_page .frm_add_form_row .frmsvg,#frm_builder_page .frm_add_form_row i::before{color:var(--primary-700)}.frm-preview-buttons .frm_button_submit{margin:0 5px}.frm-page-break{border-top:1px dashed var(--primary-700);margin-top:var(--gap-lg);position:relative}.frm-page-break::before,.frm-page-break::after{content:"";position:absolute;background-color:#fff;border-radius:50%;border:1px solid var(--primary-700);text-rendering:auto;-webkit-font-smoothing:antialiased}.edit_field_type_divider .frm-divider-icon.frmsvg{padding:2px;position:absolute;left:-12px;color:#fff;background-color:var(--primary-700);border-radius:50%}.edit_field_type_divider .start_divider .frm-divider-icon.frmsvg{height:8px;width:8px;padding:0;bottom:-4px;left:-24.5px;color:var(--primary-700);background-color:#fff}.edit_field_type_divider.selected .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .frm-divider-icon.frmsvg{background:var(--primary-500)}.edit_field_type_divider.selected .start_divider .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .start_divider .frm-divider-icon.frmsvg{background-color:#fff;color:var(--primary-500)}.frm-page-break::before,.frm-page-break::after{width:8px;height:8px;top:-6px;border-color:var(--grey)}.frm-page-break::after{right:0}#frm-fake-page .frm-page-break{border-color:var(--grey)}#frm-fake-page{padding:0 5px}.frm_sorting li.edit_field_type_divider:hover,.frm_sorting li.edit_field_type_divider.selected{border-left-color:var(--primary-500)}.frm-section-collapsed::after{border-color:rgba(0,0,0,0) !important;color:rgba(0,0,0,0)}.frm-page-break .frm-collapse-page.button{margin-left:46%;margin-top:-16px;padding:6px 12px !important}#frm-fake-page.frm-page-collapsed{margin-bottom:0}.frm-page-collapsed{position:relative;overflow:visible !important;margin-bottom:var(--gap-lg)}.frm-collapse-page .frmsvg,.frm-collapse-page .frm_arrowdown6_icon{width:var(--text-sm);height:var(--text-sm);font-size:var(--text-sm);text-align:center;margin-left:2px;color:currentColor;transition:transform 300ms ease-in-out}.frm-page-collapsed .frm-collapse-page .frmsvg{transform:rotate(180deg)}#frm-fake-page .frm_arrowdown6_icon{color:currentColor}.frm-collapsed i::before,.frm-page-collapsed .frm_arrowdown6_icon::before{content:"\e913"}.frm-collapse-section svg{fill:var(--primary-color);transition:transform .2s ease-out,fill .2s ease-out}.frm-collapse-section:hover svg{fill:var(--primary-700)}.frm-section-collapsed .frm-collapse-section svg{transform:rotate(-90deg)}.open .widget-top .widget-title-action button .frmsvg{transform:rotate(90deg)}.widget-top .widget-title-action button .frmsvg use{color:var(--grey)}.frm-collapsed+.frm-collapse-me{overflow:hidden !important}.frm-collapse-me{padding-bottom:10px}.frm-collapse-me.frm_grid_container:has(.dropdown-toggle.multiselect){position:relative;z-index:1}.frm-collapsed+div{height:0;padding:0}.frm-collapsed+div.frm-collapse-me{display:none}.frm-collapsible{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding:var(--gap-xs) 0;margin:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.frm-collapsible.frm-collapsed{font-weight:400}.frm-collapsible:not(.frm-collapsed) .frmsvg{transform:rotate(-180deg)}h4.frm-collapsible{font-size:var(--text-md)}.frm-collapsible+.frm-collapse-me{padding-bottom:0}.frm-collapsible:focus-visible{outline:1px solid var(--primary-500)}.frm_sorting .divider_section_only>.frm_ipe_field_label{font-size:116%}#frm_form_editor_container .edit_field_type_break .frm_primary_label.frm_ipe_field_label.button{width:150px;text-align:center;margin-bottom:3px;display:block}tr.frm_options_heading td{padding-bottom:0}.frm_sorting .widget-inside .form-table td p,.frm_sorting .widget-inside .form-wrap label{padding:10px 0}.frm_no_fields,.frm_no_section_fields{text-align:center;position:absolute;color:var(--medium-grey);font-size:var(--text-md);box-sizing:border-box;border:1px dashed var(--grey-300);outline:2px solid rgba(0,0,0,0)}.frm-over-droppable+.frm_no_fields{border-style:solid;border-color:var(--primary-500);outline-color:var(--primary-500)}.frm_no_section_fields{display:none;margin:0;padding:20px 0 0;width:calc(100% - 20px);height:121px;transition:all .4s linear}.frm-empty-fields .frm_updated_message~.frm_no_fields{top:60px}#frm_form_editor_container:not(.frm-has-fields) #frm-show-fields>.frm_field_box:last-child{visibility:hidden}.frm-has-fields .frm_no_fields{display:none}#frm_form_editor_container:not(.frm-has-fields) #frm_drag_placeholder{display:none}#frm-form-button{display:none;margin:0 7px 25px}.frm-has-fields #frm-form-button{display:block}.frm-large-plus.frmsvg{color:var(--primary-700);height:45px;width:45px}.frm_no_section_fields p{color:var(--grey);font-size:15px}.frm_no_fields{top:0;width:calc(100% - 24px);min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-md);padding:var(--gap-md);border:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Crect width='99%25' height='99%25' fill='none' stroke='%23D0D5DD' stroke-width='1' stroke-dasharray='8,8' rx='8' ry='8' x='0.5%25' y='0.5%25' stroke-linecap='square' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");border-radius:var(--medium-radius);margin:var(--gap-sm) 12px}.frm_no_fields img{margin-left:calc(-1*var(--gap-lg))}.frm_no_fields .frm_drag_inst{font-size:20px;font-weight:600;margin:0 0 12px}.frm_no_fields p{color:var(--grey-600);font-size:var(--text-md);margin:0}.frm_product_price_wrapper{display:inline-block;vertical-align:middle}.frm_prod_type_single .frm_product_price_wrapper{width:100%}#new_fields .frm_product_price_wrapper input:first-child{width:60% !important;float:left}#new_fields .frm_product_price_wrapper input:nth-child(2){width:37% !important;float:right}li.frm_single_option{padding-bottom:var(--gap-sm);border-bottom:0}.frm_prod_type_single input[type=radio],.frm_prod_type_single .frm_drag_icon,.frm_prod_type_single .frm_sortable_field_opts li:nth-child(n+3),.frm_prod_type_single .frm_sortable_field_opts .frm_remove_tag,.frm_prod_type_single .frm_form_field:not(.frm_product_type):not(.frm_sep_val_product),.frm_prod_type_single .frm-bulk-edit-link,.frm_prod_type_user_def.frm_grid_container,.frm_prod_options_heading.frm_prod_user_def{display:none}.frm_prod_type_single .frm-ai-generate-options-modal-trigger{display:none !important}.frm_prod_type_single .frm_option_key{margin-left:0 !important}.frm_prod_type_single .frm_option_key input[type=checkbox]+input[type=text],.frm_prod_type_single .frm_option_key input[type=radio]+input[type=text]{margin-left:0 !important}.plugin-card-bottom .frm-trash{color:#a00}.frm-fields p>.frm_inline_label,.frm_inline_label{padding-left:3px;margin-right:12px;display:inline-block}.frm_left_label{clear:both;float:left;width:32% !important;margin-right:2% !important;line-height:2em}table td.frm_left_label{float:none;line-height:inherit;padding:5px 0 5px 2%}.frm_left_label.frm_alignright{padding-right:10px;text-align:right}.frm-fields .frm_left_label+textarea,.frm-fields .frm_left_label+select,.frm-fields .frm_left_label+input[type=text],.frm_with_left_label{width:66%}td.frm_left_label+td{width:66%;padding-top:0}#html_settings label{display:block}#html_settings .frm_field_html_box{width:100%}.frm-has-required .frm-required{color:var(--error-500)}ul.frm-category-tabs{margin-top:2px}.frm-category-tabs>li a,.frm-category-tabs>li a:active{outline:none;box-shadow:none;display:flex;gap:var(--gap-xs);align-items:center}.frm-category-tabs>li.active .frmsvg,.frm-category-tabs>li.active i,.frm-category-tabs>li.active span,.frm-category-tabs>li.active a{color:var(--primary-500)}.frm_wrap .manage-menus{margin-top:0;border:none;border-bottom:1px solid var(--grey-300);background:var(--lightest-grey)}.general_settings .postbox .manage-menus{border-top:none;border-left:none;border-right:none}.frm-postbox-no-h3{padding-top:10px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{color:var(--grey-900)}.no_repeat_section .frm_sorting>li.ui-state-default.edit_field_type_end_divider:hover{box-shadow:none}.frm-selected-field-group li.ui-state-default,.start_divider.frm_sorting li.ui-state-default.frm_not_divider.selected,.start_divider.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.ui-sortable-helper,.frm_sorting li.ui-state-default.edit_field_type_divider .divider_section_only:hover,.frm_sorting .repeat_section li.ui-state-default.edit_field_type_end_divider:hover,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only,.frm_update_msg,.frm_sorting li.ui-state-default.frm_not_divider.selected,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only{border-color:var(--primary-500);transition:.5s border-color ease-in-out}.frm_sorting li.ui-state-default.frm_not_divider.selected{box-shadow:0 0 1px 0 var(--primary-500)}.frm_sorting li.ui-state-default{transition:.7s box-shadow ease-in-out,.7s height linear}.frm_sorting li.ui-state-default.frm-newly-added{box-shadow:inset 0 0 2px 1px var(--blue-border)}.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{visibility:visible !important;display:inline !important}.edit_field_type_end_divider>label{display:none !important}.frm_email_actions.feature-filter{font-weight:700;border:1px solid #dfdfdf;background-color:#eee;padding:3px 5px 2px;font-size:var(--text-md);line-height:20px}.frm_update_msg{border-style:solid;margin:10px 0;color:#21759b;padding:8px 15px;border-radius:4px}.frm_update_msg.wrap{margin:10px 20px 0 2px}#frm-insert-fields-box .frm_update_msg{margin-right:.9em}.frm_update_msg a{font-weight:700}.widefat td{width:auto}.widefat .column-id{width:3.7em}.widefat .column-show_count{width:5em}.widefat .column-shortcode{width:9em}.toplevel_page_formidable .column-shortcode div{display:flex;gap:var(--gap-xs)}.widefat .column-entries,.widefat .column-link{width:10%;text-align:center}.widefat .column-form_key,.widefat .column-created_at{width:10%}.frm-white-body .search-box,.frm_wrap .frm-search{float:right;margin:0;clear:right}.frm-white-body .search-box,.frm-search{min-width:32%;position:relative;display:flex;gap:var(--gap-sm);align-items:center}.frm-inline-modal .frm-search,#frm_adv_info .frm-search{float:none;width:100%;clear:both;margin:var(--gap-xs) 0}.frm-button-group a{margin:0 7px !important}.frm_has_textarea .frm-with-right-icon{display:block}.frm-with-left-icon,.frm-with-right-icon{position:relative;display:block}i.frm-show-box,i.frm-show-inline-modal,.frm-with-left-icon i,.frm-with-right-icon i:not([class*=mce-]),.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,.frm-with-left-icon .frmsvg,.frm-with-right-icon .frmsvg,.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){position:absolute;padding:0 14px;pointer-events:none;left:0;color:var(--grey-400);font-size:var(--text-xs)}.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){padding-left:var(--gap-xs);padding-right:var(--gap-xs)}.frm-search>.frmsvg{box-sizing:unset}.frm-with-right-icon .frmsvg,.frm-with-right-icon i:not([class*=mce-]){right:0;top:-3px;left:auto;padding:0 10px 0 5px}.frm_form_settings .frm-with-right-icon .frmsvg{top:0}.frm_form_settings .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .wp-editor-container .frm-with-right-icon .frmsvg{top:auto;bottom:var(--gap-sm)}.frm_form_settings .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg{bottom:var(--gap-lg)}.frm_form_settings .frm_has_textarea .frm-with-right-icon .frmsvg{top:auto;bottom:6px}.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,i.frm-show-box,i.frm-show-inline-modal{top:auto;background-color:var(--primary-50);color:var(--primary-500);border-radius:6px;padding:var(--gap-2xs);margin:5px;margin-bottom:0;z-index:1;cursor:pointer;pointer-events:initial}.frm-open+.frm-inline-modal{top:-10px;margin-bottom:0}.frm-open+.frm-inline-modal.frm-modal-no-dismiss .inside>.frm-search:first-child{margin-top:var(--gap-sm)}.frm_grid_container>.frm-open+.frm-inline-modal{top:-4px}.frm_grid_container>.frm-open+.frm-inline-modal.frm-modal-no-dismiss{top:0 !important}.frm-with-left-icon input{padding-left:37px !important}.frm_wrap .frm-with-right-icon textarea,.frm_wrap .frm-with-right-icon input,.frm_wrap .frm-with-right-icon input[type=text]{padding-right:var(--gap-md)}#frm-show-fields .frm-with-left-icon .frmsvg,#frm-show-fields .frm-with-left-icon i{padding-top:10px}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:90%;text-overflow:ellipsis;overflow:hidden}.frm-not-set input{color:var(--primary-500) !important;font-size:13px}.frm-not-set .frmsvg,.frm-not-set i{color:var(--primary-700);opacity:1}.post-type-frm_display select[name=m]+#post-query-submit,select[name=m]{display:none}.frm_shortcode_select optgroup option{margin-left:1em}.frm_shortcode_select optgroup{padding-top:5px}.frm_shortcode_select .frm_subopt{margin-left:2em}.misc-pub-section a.edit-frm_shortcode,.misc-pub-section a.edit-form-status{float:none;font-size:13px}.frm-grid{border-collapse:collapse;border:none;margin-right:10px}.frm-grid td,.frm-grid th{padding:5px;border:1px solid #000}.post-type-frm_display #poststuff #post-body.columns-2{margin-right:var(--big-sidebar)}.post-type-frm_display #post-body.columns-2 #postbox-container-1{margin-right:calc(var(--big-sidebar)*-1);width:calc(var(--big-sidebar) - 40px)}.post-type-frm_display #poststuff #post-body.columns-2 #side-sortables{width:100%}#frm_dyncontent .hndle,#frm_dyncontent .handlediv{display:none !important}.post-type-frm_display .meta-box-sortables .frm_form_nav>li>a,.post-type-frm_display .frm_form_nav .nav-tab-active{padding:0 2px 5px;line-height:1.4}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle{border-bottom:1px solid var(--grey-300);margin:10px 0 0 !important;padding:0 25px 8px}.post-type-frm_display #side-sortables h2.hndle{margin-top:0 !important;padding-top:10px}.post-type-frm_display #post-body-content{margin-top:var(--gap-lg)}.post-type-frm_display.edit-php #wpbody-content>.wrap{margin:0}.post-type-frm_display .postbox .hndle,.post-type-frm_display .postbox{border-color:var(--grey-300)}.post-type-frm_display #postbox-container-1 .postbox,.post-type-frm_display #postbox-container-2 .postbox{border-radius:var(--small-radius);border-color:var(--grey-300);box-shadow:none}.post-type-frm_display #side-sortables .postbox{border-radius:0;border-top-width:0;margin-bottom:0}.post-type-frm_display #side-sortables .misc-pub-section{padding:15px 20px 10px}.post-type-frm_display .misc-pub-section .frmsvg,.post-type-frm_display #post-body .misc-pub-post-status::before,.post-type-frm_display #post-body #visibility::before,.post-type-frm_display .curtime #timestamp::before,.post-type-frm_display #post-body .misc-pub-revisions::before,.post-type-frm_display span.wp-media-buttons-icon::before{color:var(--grey)}.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #publishing-action,.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #minor-publishing-actions,.post-type-frm_display #frm_top_bar+#poststuff #edit-slug-box,.post-type-frm_display .wrap h1.wp-heading-inline,.post-type-frm_display .wrap>.page-title-action{display:none}.post-type-frm_display #poststuff h2.nav-tab-wrapper{padding-left:10px;margin-bottom:0;padding-bottom:0}.post-type-frm_display .nav-menus-php .wrap{margin:10px 0 0}.post-type-frm_display .nav-menus-php .wrap p{padding-left:12px;padding-right:12px}.post-type-frm_display .nav-tab{display:inline-block;background-color:#f4f4f4}.post-type-frm_display .nav-tab.frm_hidden{display:none}.post-type-frm_display .nav-tab:hover{background-color:#e4e4e4}.frm_order_row,.frm_where_row{margin-bottom:7px;line-height:30px}.frm-single-settings .frm_prod_field_opt_cont{margin-top:initial;margin-bottom:20px}select.texture{display:none}.post-type-frm_display #wp-content-editor-tools,#wp-content-editor-tools{background-color:rgba(0,0,0,0)}.post-type-frm_display #major-publishing-actions{border-color:var(--grey-300);background:var(--sidebar-color)}.post-type-frm_display #frm_adv_info{width:calc(var(--big-sidebar) - 40px);height:calc(100vh - 32px);overflow:hidden}.post-type-frm_display #frm_adv_info:not(.frm_fixed){top:0 !important}.post-type-frm_display #frm_adv_info.frm_fixed{position:fixed;z-index:9999;top:32px}.post-type-frm_display #frm_adv_info ul.frm_code_list.frm-full-hover{max-height:calc(100vh - 180px)}.frm_col_one{margin-right:4%;clear:both}ul .frm_col_one{float:left}ul .frm_col_two{float:right}ul.frm_two_col{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--gap-sm)}.frm_two_col li{margin-bottom:0}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}.frm_field_list #frm-insert-fields{max-height:none;font-size:var(--text-sm)}.frm_field_list #frm-insert-fields .button a{display:block;max-width:95%;overflow:hidden}#frm-insert-fields{padding:0 var(--gap-xs);overflow:hidden}#frm-insert-fields .frm-search{float:none;margin:0 0 var(--gap-md);width:auto}#frm-insert-fields li,#frm-insert-fields li a{text-decoration:none;font-weight:500;font-size:var(--text-md) !important;color:var(--grey-900)}#frm-insert-fields li.frm_show_upgrade{cursor:pointer;opacity:.5}#frm-insert-fields li span:not(.frm-new-pill){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}#frm-insert-fields li a.disabled:hover{cursor:not-allowed}#frm-insert-fields li.ui-draggable-disabled{opacity:.5}#frm-insert-fields li a:not(.disabled):hover .frmsvg,#frm-insert-fields li a:not(.disabled):hover i{color:var(--grey-600)}#frm-insert-fields li.frm_show_upgrade,#frm-insert-fields li a{text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;color:var(--grey-900) !important}#frm-insert-fields li a{display:flex !important;transition:background-color .2s ease-out,box-shadow .2s ease-out}#frm-insert-fields li a:not(.disabled):hover{background:#fff;box-shadow:var(--box-shadow-md)}#frm-insert-fields li a:focus-visible{outline:1px solid var(--primary-500)}#frm-insert-fields li.frm_show_upgrade.frm_hidden{display:none !important}#frm-insert-fields .frm-with-line{padding:12px var(--gap-md);font-weight:500;font-size:var(--text-sm)}#frm-insert-fields .frm-with-line::before{margin-left:calc(-1*var(--gap-sm));width:calc(100% + var(--gap-md))}.frm_code_list{clear:both}.frm_code_list.frm-full-hover a.frm_hidden,.frm_code_list .frmkeys{display:none}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}.frmsvg svg{pointer-events:none}.frmsvg.frm_svg40{width:40px;height:40px}.frmsvg.frm_svg24{width:24px;height:24px}.frmsvg.frm_svg20{width:20px;height:20px}.frmsvg.frm_svg15{width:15px;height:15px}.frmsvg.frm_svg14{width:14px !important;height:14px !important}.frmsvg.frm_svg13{width:13px;height:13px}.frmsvg.frm_svg12{width:12px;height:12px}.frmsvg.frm_svg9{width:9px;height:9px}input[disabled]{pointer-events:none}.frmbutton.ui-sortable-helper .frmsvg,.field_type_list li.frmbutton .frmsvg,.frmbutton.ui-sortable-helper i,.field_type_list li.frmbutton i,.frm_code_list a .frmsvg,.frm_code_list a i{color:var(--grey-500);display:inline-block;vertical-align:middle;width:var(--text-md);font-size:var(--text-md)}.field_type_list.frm_grid_container{gap:10px;margin:13px 0}.field_type_list li{margin:0;padding:0}.field_type_list li.frmbutton .frmsvg{width:24px;height:24px;font-size:24px}.frm_code_list i::before{font-size:inherit}.frmbutton.ui-draggable-dragging{pointer-events:none}.frmbutton.ui-draggable-dragging a{color:var(--grey-900) !important;background:var(--grey-100);text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging a{border:1px solid var(--grey-300);box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging span{font-size:15px}#frm-show-fields .frmbutton.ui-sortable-helper i,.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:#fff !important}.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:var(--grey-700) !important}.frm_sorting li.ui-state-default.ui-sortable-helper,.frmbutton.ui-sortable-helper{transition:opacity .2s;opacity:1;position:fixed;z-index:99999}#frm-insert-fields .frmbutton.ui-sortable-helper a,#frm-show-fields .frmbutton.ui-sortable-helper a{min-width:100px}li.frm_noallow.button,.frm_noallow{opacity:.5}.frm_actions_list a.frm_show_upgrade.frm_inactive_action::before,li.frm_noallow.button.frm_show_upgrade{cursor:pointer}.field_type_list li.frm_noallow.button.frm_show_upgrade:hover{border-color:inherit}.frm_noallow a{color:inherit}#frm_upgrade_modal_image{max-width:200px}#frm_upgrade_modal .frm-upgrade-message img{margin-top:10px;width:100%}.frm-tab-message{max-width:600px;margin:20px auto;color:rgba(63,75,91,.8)}.frm-settings-screenshot-toolbar{min-height:39px;display:flex}.frm-settings-screenshot-toolbar .frm-minmax-icon{height:8px;width:8px;border-radius:50%;align-self:center;margin-left:10px}.frm-settings-screenshot-toolbar .frm-minmax-icon:first-of-type{margin-left:20px}.frm-settings-screenshot-toolbar img{object-fit:contain;align-self:flex-end;margin-left:25px}.frm-settings-screenshot-toolbar+div{background:#fff;padding-top:25px;border-radius:0 0 16px 16px}.frm-settings-screenshot-toolbar+div img{max-width:calc(100% - 40px)}.frm-settings-screenshot-wrapper{max-width:700px;margin:50px auto 0;box-shadow:0 4px 4px rgba(189,196,205,.25),0 12px 56px rgba(42,57,75,.25);border-radius:16px;background:#ebecf1}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}a.frm-link-secondary{color:#c4c4c4;font-size:var(--text-sm);text-decoration:underline}.field_type_list li.button.frm_noallow,.field_type_list li.button.frm_noallow:hover,.button.frm_noallow,.button.frm_noallow:hover{color:inherit;border-color:#ccc;background:inherit}iframe#dyncontent_ifr{min-height:150px}/*! +/*!*********************************************************************************************************************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/css-unicode-loader/index.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./resources/scss/admin/frm_admin.scss ***! + \*********************************************************************************************************************************************************************************************************************************/ +@charset "UTF-8"; +/** + * Formidable Admin Styles + * + * Note: Do not modify the import order unless the change is part of a deliberate refactor. + */ +/** + * Base & Foundation + * + * Core variables, typography, and essential base styles + */ +/** + * Font Icons + */ +@font-face { + font-family: "s11-fp"; + src: url("../fonts/s11-fp.woff?v=7") format("woff"); + font-weight: 400; + font-style: normal; +} +.frm-submenu-highlight { + background: #1da867; +} + +.frm-submenu-highlight a span { + color: #fff; + font-weight: 600; +} + +.frmfont, +.frm_icon_font { + text-decoration: none; + text-shadow: none; + font-weight: 400; + display: inline-block; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + text-rendering: auto; + line-height: 1.5; + transition: color 0.1s ease-in-out, opacity 0.1s ease-in-out; + font-size: 18px; +} + +i.frmfont, +i.frm_icon_font { + font-style: normal; + font-variant: normal; + speak: none; +} + +.frmfont::before, +select.frmfont, +.frm_icon_font::before, +select.frm_icon_font { + font-family: "s11-fp" !important; + text-align: center; +} + +.frmfont, +a.frmfont, +.frmfont:hover, +a.frmfont:hover .frm_icon_font, +a.frm_icon_font, +.frm_icon_font:hover, +a.frm_icon_font:hover { + text-decoration: none !important; + box-shadow: none; +} + +.frmfont:focus, +.frm_icon_font:focus { + box-shadow: none; +} + +.frmfont:active, +.frm_icon_font:active { + outline: none; +} + +.frm_trigger .frm_icon_font { + padding: 0 5px; +} + +.frm_logo_icon::before { + content: "\e601"; +} + +.frm_required_icon::before { + content: "\e612"; +} + +.frm_delete_icon::before { + content: "\e610" !important; +} + +.frm_move_icon::before { + content: "\e61a"; +} + +.frm_drag_icon::before { + content: "\e93b"; +} + +.frm_clear_icon::before { + content: "\e60a"; +} + +.frm_noclear_icon::before { + content: "\e60b"; +} + +.frm_duplicate_icon::before { + content: "\e61b"; +} + +.frm_copy_icon::before { + content: "\f0c5"; +} + +.frm_clone_icon::before { + content: "\f24d"; +} + +.frm_tooltip_icon::before { + content: "\e611"; +} + +.frm_tooltip_solid_icon::before { + content: "\e907"; +} + +.frm_forbid_icon::before { + content: "\e636"; +} + +.frm_checkmark_icon::before { + content: "\e90a"; +} + +.frm_check_icon::before { + content: "\e605"; +} + +.frm_check1_icon::before { + content: "\e606"; +} + +.frm_plus_icon::before { + content: "\e62f"; +} + +.frm_plus1_icon::before { + content: "\e602"; +} + +.frm_plus2_icon::before { + content: "\e603"; +} + +.frm_plus3_icon::before { + content: "\e632"; +} + +.frm_plus4_icon::before { + content: "\e60f"; +} + +.frm_minus_icon::before { + content: "\e62e"; +} + +.frm_minus1_icon::before { + content: "\e600"; +} + +.frm_minus2_icon::before { + content: "\e604"; +} + +.frm_minus3_icon::before { + content: "\e633"; +} + +.frm_minus4_icon::before { + content: "\e613"; +} + +.frm_cancel_icon::before { + content: "\e607"; +} + +.frm_cancel1_icon::before { + content: "\e608"; +} + +.frm_close_icon::before { + content: "\e928"; +} + +.frm_report_problem_solid_icon::before { + content: "\e914"; +} + +.frm_report_problem_icon::before { + content: "\e915"; +} + +.frm_arrowup_icon::before { + content: "\e60d"; +} + +.frm_arrowup1_icon::before { + content: "\e60e"; +} + +.frm_arrowup2_icon::before { + content: "\e630"; +} + +.frm_arrowup3_icon::before { + content: "\e62b"; +} + +.frm_arrowup4_icon::before { + content: "\e62c"; +} + +.frm_arrowup5_icon::before { + content: "\e635"; +} + +.frm_arrowup5_solid_icon::before { + content: "\e9d"; +} + +.frm_arrowup7_icon::before { + content: "\e908"; +} + +.frm_arrowup6_icon::before { + content: "\e62d"; +} + +.frm_arrowdown_icon::before { + content: "\e609"; +} + +.frm_arrowdown1_icon::before { + content: "\e60c"; +} + +.frm_arrowdown2_icon::before { + content: "\e631"; +} + +.frm_arrowdown3_icon::before { + content: "\e628"; +} + +.frm_arrowdown4_icon::before { + content: "\e629"; +} + +.frm_arrowdown5_icon::before { + content: "\e634"; +} + +.frm_arrowdown5_solid_icon::before { + content: "\e905"; +} + +.frm_arrowdown7_icon::before { + content: "\e90b"; +} + +.frm_arrowdown6_icon::before { + content: "\e62a"; +} + +.frm_arrow_left_icon::before { + content: "\e912"; +} + +.frm_arrow_right_icon::before { + content: "\e913"; +} + +.frm_filter_icon::before { + content: "\e90c"; +} + +.frm_download_icon::before { + content: "\e615"; +} + +.frm_upload2_icon::before { + content: "\f093"; +} + +.frm_upload_icon::before { + content: "\e616"; +} + +.frm_download2_icon::before { + content: "\f019"; +} + +.frm_hard_drive_icon::before { + content: "\e916"; +} + +.frm_pencil_solid_icon::before { + content: "\e901"; +} + +.frm_pencil_icon::before { + content: "\e61d"; +} + +.frm_signature_icon::before { + content: "\e919"; +} + +.frm_user_icon::before { + content: "\e7ff"; +} + +.frm_register_icon::before { + content: "\e637"; +} + +.frm_account_circle_solid_icon::before { + content: "\e853"; +} + +.frm_account_circle_icon::before { + content: "\e921"; +} + +.frm_address_card_icon::before { + content: "\e996"; +} + +.frm_paragraph_icon::before { + content: "\f1dd"; +} + +.frm_checkbox_unchecked_icon::before { + content: "\e91e"; +} + +.frm_checkbox_icon::before { + content: "\e922"; +} + +.frm_checkbox_solid_icon::before { + content: "\e91f"; +} + +.frm_dropdown_icon::before { + content: "\e909"; +} + +.frm_caret_square_down_icon::before { + content: "\f150"; +} + +.frm_check_square_icon::before { + content: "\f14a"; +} + +.frm_radio_unchecked_icon::before { + content: "\e971"; +} + +.frm_radio_checked_icon::before { + content: "\ea54"; +} + +.frm_scrubber_icon::before { + content: "\f2f8"; +} + +.frm_location_solid_icon::before { + content: "\e955"; +} + +.frm_location_icon::before { + content: "\e947"; +} + +.frm_toggle_on_icon::before { + content: "\f205"; +} + +.frm_toggle_off_icon::before { + content: "\f204"; +} + +.frm_shield_check_icon::before { + content: "\f2f7"; +} + +.frm_shield_check_solid_icon::before { + content: "\e97d"; +} + +.frm_clock_icon::before { + content: "\e929"; +} + +.frm_clock_solid_icon::before { + content: "\e985"; +} + +.frm_link_icon::before { + content: "\f0c1"; +} + +.frm_email_icon::before { + content: "\e626"; +} + +.frm_email_solid_icon::before { + content: "\f0e0"; +} + +.frm_mail_bulk_icon::before { + content: "\e95c"; +} + +.frm_phone_icon::before { + content: "\e942"; +} + +.frm_calendar_icon::before { + content: "\f073"; +} + +.frm_code_icon::before { + content: "\e90d"; +} + +.frm_tag_icon::before { + content: "\e98b"; +} + +.frm_tag_solid_icon::before { + content: "\e989"; +} + +.frm_price_tags_icon::before { + content: "\e936"; +} + +.frm_search_icon::before { + content: "\e978"; +} + +.frm_sitemap_icon::before { + content: "\f0e8"; +} + +.frm_file_icon::before { + content: "\f15b"; +} + +.frm_file_text_solid_icon::before { + content: "\f15c"; +} + +.frm_file_text_icon::before { + content: "\e923"; +} + +.frm-option-icon::before, +.frm_option_icon::before { + content: "\e904"; +} + +.frm_option_solid_icon::before { + content: "\e906"; +} + +.frm_more_horiz_icon::before { + content: "\e5d3"; +} + +.frm_more_vert_icon::before { + content: "\e5d4"; +} + +.frm_more_horiz_solid_icon { + font-size: 28px !important; + font-weight: 700; + line-height: 18px; +} + +.frm_more_horiz_solid_icon::before { + content: "ยทยทยท"; +} + +.frm_more_vert_solid_icon::before { + content: "\f142"; +} + +.frm_calculator_icon::before { + content: "\f1ec"; +} + +.frm_keyboard_icon::before { + content: "\e924"; +} + +.frm_eye_icon::before { + content: "\f06e"; +} + +.frm_eye_solid_icon::before { + content: "\e945"; +} + +.frm_eye_slash_icon::before { + content: "\f070"; +} + +.frm_eye_slash_solid_icon::before { + content: "\e949"; +} + +.frm_page_break_icon::before { + content: "\e8e9"; +} + +.frm_view_day_icon::before { + content: "\e8ed"; +} + +.frm_attach_file_icon::before { + content: "\e226"; +} + +.frm_printer_icon::before { + content: "\e926"; +} + +.frm_header_icon::before { + content: "\f1dc"; +} + +.frm_h1_icon::before { + content: "\e94c"; +} + +.frm_repeat_icon::before { + content: "\f363"; +} + +.frm_repeater_icon::before { + content: "\e974"; +} + +.frm_hashtag_icon::before { + content: "\e292"; +} + +.frm_save_icon::before { + content: "\e927"; +} + +.frm_sliders_icon::before { + content: "\f1de"; +} + +.frm_code_commit_icon::before { + content: "\f386"; +} + +.frm_star_icon::before { + content: "\e9d7"; +} + +.frm_star_full_icon::before { + content: "\e9d9"; +} + +.frm_star_half_icon::before { + content: "\e9d8"; +} + +.frm_linear_scale_icon::before { + content: "\e260"; +} + +.frm_pie_chart_icon::before { + content: "\e99a"; +} + +.frm_stats_bars_icon::before { + content: "\e99c"; +} + +.frm_sms_icon::before { + content: "\e61c"; +} + +.frm_highrise_icon::before { + content: "\e617"; +} + +.frm_mailchimp_icon::before { + content: "\e622"; +} + +.frm_feed_icon::before { + content: "\e624"; +} + +.frm_align_right_icon::before { + content: "\e90f"; +} + +.frm_align_left_icon::before { + content: "\e910"; +} + +.frm_button_icon::before { + content: "\e911"; +} + +.frm_browser_icon::before { + content: "\e925"; +} + +.frm_cloud_upload_solid_icon::before { + content: "\e92c"; +} + +.frm_shuffle_icon::before { + content: "\e917"; +} + +.frm_swap_icon::before { + content: "\e918"; +} + +.frm_pallet_icon::before { + content: "\e96d"; +} + +.frm_fingerprint_icon::before { + content: "\e94a"; +} + +.frm_ghost_icon::before { + content: "\e94b"; +} + +.frm_heart_solid_icon::before { + content: "\e94d"; +} + +.frm_heart_icon::before { + content: "\e94e"; +} + +.frm_history_icon::before { + content: "\e94f"; +} + +.frm_import_icon::before { + content: "\e91a"; +} + +.frm_export_icon::before { + content: "\e91b"; +} + +.frm_label_solid_icon::before { + content: "\e952"; +} + +.frm_label_icon::before { + content: "\e953"; +} + +.frm_lock_open_icon::before { + content: "\e957"; +} + +.frm_lock_icon::before { + content: "\e959"; +} + +.frm_dollar_sign_icon::before { + content: "\e91c"; +} + +.frm_percent_icon::before { + content: "\e939"; +} + +.frm_external_link_icon::before { + content: "\e966"; +} + +.frm_pageview_solid_icon::before { + content: "\e96a"; +} + +.frm_pageview_icon::before { + content: "\e96b"; +} + +.frm_settings_icon::before { + content: "\e97a"; +} + +.frm_stamp_icon::before { + content: "\e980"; +} + +.frm_support_icon::before { + content: "\f1cd"; +} + +.frm_text_icon::before { + content: "\e98d"; +} + +.frm_text2_icon::before { + content: "\f031"; +} + +.frm_white_label_icon::before { + content: "\e91d" !important; +} + +.frm_authorize_icon::before { + content: "\e903"; +} + +.frm_icon_font.frm_activecampaign_icon { + background-image: none; +} + +.frm_activecampaign_icon::before { + content: "\e930"; +} + +.frm_aweber_icon::before { + content: "\e627"; +} + +.frm_campaignmonitor_icon::before { + content: "\e946"; +} + +.frm_constant_contact_icon::before { + content: "\e931"; +} + +.frm_getresponse_icon::before { + content: "\e932"; +} + +.frm_googlesheets_icon::before { + content: "\e944"; +} + +.frm_building_icon::before { + content: "\e93f"; +} + +.frm_hubspot_icon::before { + content: "\e933"; +} + +.frm_icontact_icon::before { + content: "\e940"; +} + +.frm_icon_font.frm_mailpoet_icon::before { + content: "\e934"; +} + +.frm_paypal_icon::before { + content: "\e61f"; +} + +.frm_sendinblue_icon::before { + content: "\e943"; +} + +.frm_sendy_icon::before { + content: "\e941"; +} + +.frm_salesforce_icon::before { + content: "\e935"; +} + +.frm_salesforcealt_icon::before { + content: "\e937"; +} + +.frm_stripe_icon::before { + content: "\e902"; +} + +.frm_stripealt_icon::before { + content: "\e93d"; +} + +.frm_twilio_icon::before { + content: "\e620"; +} + +.frm_woocommerce_icon::before { + content: "\e90e"; +} + +.frm_wordpress_icon::before { + content: "\f19a"; +} + +.frm_credit_card_icon::before { + content: "\e938"; +} + +.frm_credit-card-alt_icon::before, +.frm_credit_card_alt_icon::before { + content: "\f283"; +} + +.frm_cc_amex_icon::before { + content: "\f1f3"; +} + +.frm_cc_discover_icon::before { + content: "\f1f2"; +} + +.frm_cc_mastercard_icon::before { + content: "\f1f1"; +} + +.frm_cc_visa_icon::before { + content: "\f1f0"; +} + +.frm_cc_paypal_icon::before { + content: "\f1f4"; +} + +.frm_cc_stripe_icon::before { + content: "\f1f5"; +} + +/** + * Base - Variables + */ +:root, +.frm-white-body, +.frm_wrap { + --grey-900: #101828; + --grey-800: #1D2939; + --grey-700: #344054; + --grey-600: #475467; + --grey-500: #667085; /* Roughly 65% opacity */ + --grey-400: #98A2B3; + --grey-300: #D0D5DD; + --grey-200: #EAECF0; + --grey-100: #F2F4F7; + --grey-50: #F9FAFB; + --grey-25: #FCFCFD; + --dark-grey: var(--grey-700); /* Deprecated */ + --medium-grey: rgba(40, 47, 54, .65); + --grey: var(--grey-500); /* Deprecated */ + --grey-border: var(--grey-300); /* Deprecated */ + --lightest-grey: rgb(250, 250, 250); + --sidebar-color: var(--grey-50); + --sidebar-hover: var(--grey-200); + --primary-700: #2B66A9; + --primary-500: #4199FD; + --primary-300: #80BBFE; + --primary-200: #C0DDFE; + --primary-50: #ECF5FF; + --primary-25: #F5FAFF; + --primary-color: var(--primary-500); /* Deprecated */ + --primary-hover: var(--primary-700); /* Deprecated */ + --light-blue: var(--primary-25); /* Deprecated */ + --blue-border: rgb(188, 224, 253); + --error-700: #B42318; + --error-500: #F04438; + --error-300: #FECDCA; + --error-100: #FEE4E2; + --error-25: #FFF5F4; + --green: rgb(63, 172, 37); + --orange: #F15A24; + --warning-500: #F79009; + --pink: rgb(226, 42, 110); + --purple: rgb(141, 53, 245); + --success-900: #054F31; + --success-800: #065F46; + --success-500: #12b76a; + --success-100: #D1FAE5; + --success-200: #A6F4C5; + --success-50: #ECFDF3; + --success-25: #f6fef9; + --border-radius: 35px; + --small-radius: 8px; + --medium-radius: 16px; + --small-sidebar: 275px; + --medium-sidebar: 350px; + --big-sidebar: 390px; + --biggest-sidebar: 450px; + --text-xs: 12px; + --text-sm: 14px; + --text-md: 16px; + --text-lg: 18px; + --text-xl: 20px; + --h-xs: 24px; + --h-sm: 30px; + --h-md: 36px; + --leading: 1.5; + --gap-2xs: 4px; + --gap-xs: 8px; + --gap-sm: 16px; + --gap-md: 24px; + --gap-lg: 32px; + --gap-xl: 40px; + --gap-2xl: 48px; + --box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05); + --box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06); + --box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06); + --box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06); + --box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03); + --box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18); + --button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1); + /* Override front-end CSS */ + --check-label-color: var(--grey-700); +} + +/** + * Base - Font + */ +@font-face { + font-family: "Inter"; + src: url("../fonts/Inter-VariableFont_slnt,wght.ttf?v=1") format("truetype"); +} +.with_frm_style, +.frm-white-body .wpbody-content, +.frm_wrap { + font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; +} + +/* Safari 11+ */ +@media not all and (min-resolution: 0.001dpcm) { + @supports (-webkit-appearance: none) and (stroke-color: transparent) { + .with_frm_style, + .frm-white-body .wpbody-content, + .frm_wrap { + -webkit-font-smoothing: antialiased; + } + } +} +/** + * Utilities - Z-index + */ +.frm-sm-z-index { + z-index: 1; +} + +.frm-md-z-index { + z-index: 5; +} + +/** + * Base - Text + */ +.frm-white-body, +.frm-white-body p, +.frm_wrap, +.frm_wrap p, +.frm-modal, +.frm-white-body .postbox .inside { + font-size: var(--text-sm); + color: var(--grey-500); + line-height: var(--leading); +} + +.frm-white-body p, +.frm_wrap p { + margin: var(--gap-sm) 0; +} + +body:not(.frm-admin-page-styles):not(.frm-admin-page-style) .with_frm_style .frm_form_fields > fieldset { + --fieldset-padding: 15px 0; +} + +a, +.widget .widget-top, +.stuffbox h3, +.frm-collapsed { + cursor: pointer; + text-decoration: none; +} + +/** + * Layout & Primary Components + * + * Core structure and primary UI elements + */ +/** + * Layout - Wrap + */ +.post-type-frm_display .wrap > #posts-filter, +.wrap.frm-with-margin, +.frm_wrap > .wrap { + margin: var(--gap-sm) var(--gap-md) var(--gap-md); +} + +#frm_top_bar + .wrap { + margin: var(--gap-xl); +} + +.frm-full-screen #wpbody-content > .wrap { + margin: 0; +} + +.post-type-frm_display .wrap { + margin: 0; +} + +.toplevel_page_formidable #post-body-content { + overflow-x: visible; +} + +/** + * Components - Full Screen + */ +.frm-full-screen { + height: 100%; + overflow: hidden; +} + +.frm-full-screen.frm-admin-page-reports, +.frm-full-screen.frm-admin-page-entries, +.frm-full-screen.post-type-frm_display { + overflow: auto; +} + +.frm-full-screen #wpadminbar, +.frm-full-screen #adminmenumain, +.frm-full-screen .wp-header-end { + display: none; +} + +body.frm-white-body:not(.frm-full-screen) .mce-fullscreen { + top: 32px; + left: 160px; +} + +.frm-full-screen #wpbody-content, +.frm-full-screen #wpbody, +.frm-full-screen #wpcontent { + padding: 0; + overflow: hidden; + margin: 0 !important; +} + +/** + * Layout - Screen Meta + */ +.frm-white-body #wpbody-content { + position: relative; /* For screen meta links */ + padding-bottom: 0; +} + +.post-new-php.post-type-frm_display #screen-meta-links, +.post-php.post-type-frm_display #screen-meta-links { + display: none; +} + +.frm-white-body #screen-meta-links { + position: fixed; + bottom: 0; + right: 20px; +} + +.frm-full-screen #screen-meta-links .screen-meta-toggle { + right: 55px; +} + +.frm-white-body #screen-meta-links .show-settings { + border-radius: var(--small-radius) var(--small-radius) 0 0; + border: 1px solid var(--grey-300); + border-bottom: none; +} + +.frm-white-body.frm-lite #screen-meta-links .screen-meta-toggle { + right: 125px; /* Don't cover the lite upgrade button */ +} + +.frm-white-body #screen-meta { + margin: 0; +} + +.frm-white-body #screen-meta-links .show-settings::after { + color: var(--grey); +} + +/** + * Layout - Columns + */ +.frm-white-body .columns-2 { + border-bottom: 1px solid var(--grey-300); +} + +.frm-full-screen .columns-2 { + border: none; +} + +/** + * Layout - Body + */ +body.post-type-frm_display.edit-php, +body.frm-white-body { + background: #fff; +} + +body.frm-white-body ul#adminmenu a.wp-has-current-submenu::after, +body.frm-white-body ul#adminmenu > li.current > a.current::after { + border-right-color: #fff; +} + +.frm-white-body #wpcontent { + padding-left: 0; + padding-right: 0; +} + +.frm-white-body .wrap #post-body { + padding: 0 20px; +} + +.frm-grey-body #wpbody { + background: var(--grey-100); +} + +.frm-grey-body #frm_top_bar { + background: #fff; +} + +/** + * Components - Table Nav + */ +.post-type-frm_display .tablenav, +.frm_wrap .tablenav { + margin-bottom: 10px; +} + +.frm-white-body .tablenav .actions select, +.wp-admin .frm_wrap .tablenav select { + margin-right: var(--gap-xs); +} + +.tablenav .actions .button { + margin-top: 1px; +} + +/** + * Components - Table Widefat + */ +.frm-white-body table.widefat { + background: var(--lightest-grey); + border-width: 0; + box-shadow: none; + margin: 20px 0; +} + +.frm-white-body table.widefat tfoot, +.frm-white-body table.widefat thead { + background: #fff; +} + +.frm-white-body table.widefat th { + font-size: var(--text-md); +} + +.frm-white-body table.widefat th a { + color: var(--grey-700); +} + +.frm-white-body table.widefat strong a { + color: var(--primary-700); +} + +/** + * Components - Scroll Box + */ +.frm-scroll-box { + clear: both; + overflow: auto; + max-height: 405px; + border: 1px solid var(--grey-300); + border-radius: var(--small-radius); +} + +.frm_form_field.frm_scroll_box .frm_opt_container { + height: 100px; + overflow: auto; + border: 1px solid var(--grey-300); +} + +.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden) + p, +.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden) + div, +.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden) + span { + grid-column: span 6/span 6; + align-content: center; +} + +.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden) + p, +.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden) + div, +.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden) + span { + grid-column: span 12/span 12 !important; + align-content: center; +} + +.frm_form_field.frm-phone-type ~ [id*=frm-field-format-custom-] > label, +.frm_form_field.frm-format-dropdown ~ [id*=frm-field-format-custom-] > label { + opacity: 0; /* Hide the label for the format input in the phone field. */ +} + +.frm_form_field.frm-format-dropdown ~ [id*=frm-field-format-custom-] { + grid-column: span 6/span 6; +} + +/* Adjust "CSS Layout Classes" to full width when the "Format" setting is present. */ +.frm-single-settings.frm-type-textarea > .frm_grid_container [id*=frm-field-format-custom-] + p { + grid-column: span 12/span 12; +} + +.frm-single-settings .frm_grid_container { + column-gap: var(--gap-sm); +} + +.frm-content-center { + align-content: center; +} + +.frm-self-end { + align-self: end; +} + +/** + * Components - Short List + */ +.frm-short-list { + overflow: auto; + max-height: 190px; +} + +/** + * Components - Table Elements + */ +.frm-white-body table.frm-border td { + font-size: var(--text-sm); +} + +.frm-white-body .striped > tbody > :nth-child(odd) { + background-color: #fff; +} + +.frm_wrap td.column-title strong { + display: inline; +} + +td.column-title .frm_actions_dropdown { + float: right; +} + +/** + * Layout - Top Bar + */ +#frm_top_bar { + display: flex; + gap: var(--gap-sm); + width: 100%; + height: 72px; + margin: 0; + box-sizing: border-box; + text-align: center; + padding: 0 var(--gap-md); +} + +#frm_top_bar > .frm-full-close:last-child, +#frm_top_bar > #frm-publishing:last-child { + margin-left: auto; +} + +#frm_top_bar { + border-bottom: 1px solid var(--grey-300); + padding: 0 var(--gap-md); + overflow: visible; +} + +/** + * Base - Headings + */ +.frm-white-body h1, +.frm-white-body h2, +.frm-white-body h3, +.frm-white-body h4 { + color: var(--grey-900); + font-weight: 400; + line-height: var(--leading) !important; +} + +.frm-white-body .wrap h1, +.frm-white-body h1 { + font-size: var(--text-xl); +} + +.frm-white-body .wrap h2, +.frm-white-body h2 { + font-size: var(--text-lg); + font-weight: 500; +} + +.frm-white-body .wrap h3, +.frm-white-body h3 { + font-size: var(--text-md); +} + +.frm-white-body .wrap h4, +.frm-white-body h4 { + font-size: var(--text-sm); + font-weight: 500; +} + +/** + * Components - Error Modal + */ +#frm_error_modal .frm_lock_simple { + padding: 20px; + border-radius: 50%; + background-color: var(--primary-25); + display: inline-block; +} + +#frm_error_modal #frm_lock_simple { + color: var(--primary-500); +} + +#frm_error_modal .frm-modal-title { + display: block; +} + +#frm_error_modal .frm-modal-title h2 { + font-weight: 600; + font-size: var(--text-xl); + margin: 0; +} + +#frm_error_modal .frm_modal_content { + padding: var(--gap-md); + color: var(--grey-900); +} + +/** + * Layout - Editor Overrides + */ +/* Override CSS in Views plugin. */ +.frm-views-editor-body .frm_page_container #frm_top_bar h1 { + padding: 0 !important; + color: var(--grey-900); + font-size: var(--text-xl) !important; +} + +.post-type-frm_display .frm_top_left { + padding-bottom: 0 !important; +} + +.frm-new-table-view-option.frm-selected-table-view-option { + border-radius: var(--small-radius); + background: var(--primary-25); +} + +.frm-views-editor-body #frm_adv_info .tabs-panel { /* Views sidebar */ + padding-left: 4px; + padding-right: 4px; +} + +#frm_edit_box_content_modal .frm_modal_footer { + padding-top: var(--gap-sm); + border-top: 1px solid var(--grey-300); +} + +#frm_edit_box_content_modal .frm_modal_footer > div { + display: flex; + justify-content: space-between; +} + +#frm_edit_box_content_modal #frm_modal_box_select_area, +#frm_edit_box_content_modal #frm_box_content_wysiwyg_wrapper, +#frm_edit_box_content_modal .frm_modal_content { + max-height: calc(100vh - 176px) !important; +} + +#frm_edit_box_content_modal #frm_modal_box_select_area { + height: calc(100vh - 176px) !important; +} + +#frm_edit_box_content_modal #wp-content-editor-tools { + padding-top: 0; +} + +#frm_edit_box_content_modal.frm-modal .postbox .frm-modal-title + div:last-child { + right: var(--gap-md); +} + +.frm_code_list.frm-full-hover .frm-dropdown-view a { + flex-direction: row-reverse; /* Switch in the HTML */ +} + +#frm_view_editor_left.frm-right-panel .accordion-section-title::before { + content: "" !important; + margin: 0; +} + +/** End Temporary View CSS */ +/** + * Components - Upgrade Bar + */ +.frm-gradient, +.frm-upgrade-bar { + background: linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important; + color: #fff !important; + border: 0 !important; +} + +.frm-gradient.frm-button-primary:not([disabled]), +.frm-gradient.frm-button-primary:not([disabled]):hover, +.frm-gradient.frm-button-primary:not([disabled]):focus { + background: linear-gradient(90deg, #1961D5, #816CFA) !important; +} + +.frm-upgrade-bar, +.frm-gradient { + position: relative; +} + +.frm-upgrade-bar::before, +.frm-gradient::before { + content: ""; + display: none; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: rgba(255, 255, 255, 0.1); + z-index: 0; +} + +.frm-upgrade-bar:hover::before, +.frm-gradient:hover::before, +.frm-gradient:focus::before { + display: block; +} + +.frm-upgrade-bar-inner, +.frm-gradient > * { + position: relative; + z-index: 1; +} + +.frm-upgrade-bar { + border-bottom: 1px solid var(--sidebar-hover); + padding: 9px 0; + font-size: 12px; + text-align: center; +} + +.frm-upgrade-bar a { + color: currentColor !important; + text-decoration: underline; +} + +.frm-upgrade-bar a:focus { + outline: 1px dotted var(--sidebar-hover); +} + +.frm-upgrade-bar span { + opacity: 0.9; +} + +/** + * Components - Links + */ +a h1 .frmsvg { + color: var(--grey-400); + vertical-align: middle; + min-width: var(--text-sm); +} + +a .frmsvg { + color: currentColor; +} + +.frm_wrap .view-switch a.current::before, +.frm-white-body a, +.frm_wrap a, +.frm_wrap a i { + color: var(--primary-color); +} + +.frm_wrap a:active, +.frm_wrap a:hover { + color: var(--primary-700); + box-shadow: none; +} + +.post-type-frm_display a:focus, +.frm_wrap a:focus { + box-shadow: none; +} + +/** + * Layout - Top Bar - Navigation + */ +.frm_top_left { + text-align: left; + float: left; + white-space: nowrap; + max-width: 250px; + overflow: hidden; + text-overflow: ellipsis; + align-self: center; +} + +.post-type-frm_display .frm_top_left, +.frm_top_left.frm_top_wide { + max-width: 100%; +} + +.post-type-frm_display .frm_nav_bar .frm-header-logo, +.frm_nav_bar .frm-header-logo { + margin: 18px 0 10px; +} + +#frm_top_bar .frm_form_nav { + flex: 1; +} + +ul.frm_form_nav { + margin: 0 auto; + padding-top: 18px; + display: block; + min-width: 240px; +} + +.nav-tab-wrapper.frm_form_nav { + padding: 0 25px; +} + +ul.frm_form_nav > li { + margin: 0 min(3.5%, 32px) 0 0; + display: inline-block; +} + +.post-type-frm_display #advanced-sortables h2.hndle, +.post-type-frm_display #side-sortables h2.hndle, +.post-type-frm_display #normal-sortables h2.hndle, +.post-type-frm_display .frm_form_nav .nav-tab-active, +.frm_form_nav > li > a { + font-size: 1.3em; + text-decoration: none; + display: block; + padding: 6px 2px 4px; + font-weight: 500; + color: var(--grey-700); + border-bottom: 2px solid transparent; +} + +.post-type-frm_display.js .postbox .handlediv .toggle-indicator::before { + margin-top: 10px; +} + +.frm-nav-tabs a:focus, +.frm-nav-tabs a:active, +.frm_form_nav a:active, +.frm_form_nav a:focus { + outline: none; + box-shadow: none; +} + +.frm_form_nav > li > a { + font-size: var(--text-md); + font-weight: 400; + color: var(--grey-500); +} + +.frm_form_nav > li > a:hover { + border-color: var(--primary-700); +} + +.frm_form_nav .frm-dropdown-menu a:hover { + background-color: #eaf2fa; +} + +.post-type-frm_display .frm_form_nav .nav-tab-active, +.post-type-frm_display .frm_form_nav .nav-tab-active:hover, +.frm_form_nav > li a.current_page { + color: var(--primary-500); + border-color: var(--primary-500); + background: transparent; + opacity: 1; + font-weight: 600; +} + +/** + * Components - Full Close + */ +.frm-full-close { + display: none; + padding-left: var(--gap-md); + border: 0 solid var(--grey-300); + border-left-width: 1px; /* Make RTL a bit less maintenance */ + height: 100%; + box-sizing: border-box; +} + +.frm-full-screen .frm-full-close { + display: flex; + align-items: center; +} + +.frm-full-close a { + display: block; +} + +.frm-full-close .frmsvg { + font-size: 20px; + width: 20px; + height: 20px; + color: var(--grey-500); +} + +/** + * Layout - Top Bar - Elements + */ +#frm_top_bar h1 { + font-weight: 400; + padding: 0; + margin: 0; + color: var(--grey-900); + display: inline-flex; + gap: var(--gap-sm); + align-items: center; + text-align: left; + min-width: 200px; +} + +#frm_top_bar h1 span { + max-width: 175px; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + display: inline-block; + vertical-align: bottom; +} + +#frm_top_bar ul.frm_form_nav, +#frm_top_bar .frm-header-logo, +#frm_top_bar #frm_bs_dropdown { + align-self: center; + margin-top: 0; + margin-bottom: 0; + padding-top: 0; +} + +#frm_top_bar .frm-header-logo { + display: flex; /* Get rid of extra padding below logo */ +} + +#frm_top_bar h2 { + float: left; + margin: 0 0 0 var(--gap-sm); + padding: 2px 0 2px var(--gap-sm); + font-weight: 400; + border-left: 2px solid var(--grey); +} + +.frm_wrap > #frm_top_bar #frm-publishing { + margin-top: 0; +} + +#frm-publishing { + min-width: 225px; + align-self: center; + align-items: center; + display: flex; + flex-direction: row-reverse; + gap: 0 var(--gap-sm); + flex-wrap: wrap; +} + +/** + * Layout - Postbox + */ +.frm_wrap .postbox { + border-color: var(--grey-300); + border-radius: 6px; + box-shadow: none; +} + +.frm_wrap .postbox h3.hndle { + cursor: default; + padding: 10px 20px; + margin: 0; + line-height: 1.4em; + border-color: var(--grey-300); +} + +.frm-pre-hndle { + font-size: 15px; + padding: 5px; + margin: 9px 15px; +} + +/** + * Components - Table - Row + */ +.frm-empty-row { + display: none; +} + +.frm-child-row { + box-shadow: 5px 0 0 0 inset var(--sidebar-hover); +} + +/** + * Utilities - Effects - Animate + */ +.frm_animate_bg { + transition: background 200ms linear, color 200ms linear; +} + +/** + * Components - List - Subsubsub + */ +.wrap > .subsubsub { + clear: both; + margin: 0; +} + +.frm_wrap .subsubsub a { + line-height: var(--leading); + font-size: var(--text-sm); +} + +/** + * Layout - Container + */ +.frm-admin-page-styles .frm_page_container, +.frm_wrap .frm_page_container { /* Use .frm_wrap to avoid messing up Views editor layout */ + height: calc(100vh - 32px); + display: flex; + flex-direction: column; + overflow: hidden; + padding-top: 0; + position: fixed; + top: 32px; + bottom: 0; + left: 0; + right: 0; +} + +.frm-admin-page-translate .frm_wrap .frm_page_container, .frm-admin-page-update_translations .frm_wrap .frm_page_container { + position: static; +} + +.auto-fold.frm-admin-page-styles .frm_page_container, +.auto-fold .frm_wrap .frm_page_container, +.frm-unfold.frm-admin-page-styles .frm_page_container, +.frm-unfold .frm_wrap .frm_page_container { + left: 160px; +} + +.folded.frm-admin-page-styles .frm_page_container, +.folded .frm_wrap .frm_page_container { + left: 38px; +} + +.frm-full-screen.frm-admin-page-styles .frm_page_container, +.frm-full-screen .frm_wrap .frm_page_container { + height: 100vh; + top: 0; + left: 0; +} + +.frm-full-screen.frm-admin-page-entries .frm_page_container, +.frm-new-entry .frm_page_container, +.frm-admin-page-reports .frm_page_container, +.frm_list_entry_page .frm_page_container { + height: auto; + display: block; +} + +/** + * Layout - Container - Columns Elements + */ +.frm-new-entry .columns-2 { + border: none; +} + +.frm-white-body #frm_top_bar, +.frm-white-body .columns-2 { + flex: 0 0 auto; +} + +.columns-2 .frm-right-panel + div { + padding-bottom: var(--gap-md); + border-left: 1px solid var(--grey-300); +} + +.columns-2 .frm-right-panel + div, +.frm_wrap #post-body-content { + padding-bottom: 0; + padding-top: var(--gap-sm); + margin-bottom: 0; + background: #fff; + width: auto; + float: none; + flex: 2; +} + +.frm-white-body .columns-2 { + flex: 1; + display: flex; + overflow: hidden; +} + +.frm-white-body .columns-2 > div { + overflow-y: auto; + box-sizing: border-box; +} + +.frm_wrap .columns-2 .frm-right-panel, +.frm-right-panel { + flex: 0 0 var(--biggest-sidebar); + float: none; + width: var(--biggest-sidebar); + min-width: var(--biggest-sidebar); + background-color: var(--sidebar-color); + margin: 0; + box-shadow: none; + border: none; + padding-bottom: 25px; +} + +.frm-right-panel .frm_field_list, +.frm_wrap .frm-right-panel #frm_adv_info, +.frm_wrap #postbox-container-1 #frm_adv_info { + box-shadow: none; + border: none; + margin-bottom: 26px; +} + +/** + * Components - Settings - Has Shortcodes + */ +#new_fields, +.frm-has-modal, +p.frm_has_shortcodes { + position: relative; +} + +.frm-inline-modal.postbox { + background: #fff; + border-color: var(--grey-100); + border-radius: var(--small-radius); + box-shadow: var(--box-shadow-lg); +} + +.frm_has_shortcodes .frmsvg:not(.frm_help .frmsvg), +.frm_has_shortcodes i:not([class*=mce-]) { + position: absolute; + color: var(--primary-500); + border-radius: 50%; + border: 1px solid transparent; + z-index: 100; + text-align: center; +} + +.frm_has_shortcodes .frmsvg.frm-show-box { + border-radius: 6px !important; +} + +.frm_has_shortcodes input, +.frm_has_shortcodes textarea { + padding-left: 18px; + box-sizing: border-box; +} + +/** + * Components - Settings - Adv Info + */ +#form_settings_page #frm_adv_info, #frm_builder_page #frm_adv_info { + display: none; + top: 0; + width: 310px; + max-height: 315px; + min-height: 200px; + overflow-y: scroll; + z-index: 100; +} + +#form_global_settings .columns-2 > div { + overflow: auto; + height: calc(100vh - 32px); +} + +#form_global_settings .columns-2 .frm-right-panel, +#form_settings_page .columns-2 .frm-right-panel, +#wpbody-content .frm-page-skeleton .frm-right-panel { + flex: 0 0 var(--small-sidebar); + width: var(--small-sidebar); + min-width: var(--small-sidebar); +} + +#form_global_settings .frm_grid_container { + gap: 0 var(--gap-md); +} + +.frm-inner-content { + padding: var(--gap-md); +} + +.post-type-frm_display #poststuff { + padding: 0 0 10px 40px; +} + +#postbox-container-2 .postbox .inside { + padding: 15px 25px; +} + +#postbox-container-2 #frm_advanced .inside h3 { + margin: 15px -25px; + font-weight: 600; +} + +#form_settings_page .frm-inner-content { + padding-top: 0; + padding-bottom: 150px; + position: relative; +} + +.frm_wrap #submitdiv { + margin-bottom: 0; + border-width: 0 0 1px; + width: 100%; + min-width: unset; +} + +.frm_wrap #frm_adv_info .handlediv, +.frm_wrap #frm_adv_info .hndle { + display: none; +} + +.frm_wrap .menu-settings { + /* for add-on reverse compatibility */ + border: none; + margin-top: 0; +} + +.nodrag a { + cursor: pointer; +} + +.frm_wrap #frm_adv_info .inside { + margin: 0; +} + +#frm_adv_info > .inside { + padding: 0; +} +#frm_adv_info ul.subsubsub { + padding-bottom: var(--gap-xs) !important; +} +#frm_adv_info ul.subsubsub a { + font-weight: 500; +} +#frm_adv_info ul.subsubsub .frm-vertical-separator { + display: inline-block; + width: 1px; + height: 8px; + background-color: var(--grey-300); +} +#frm_adv_info #frm-insert-condition { + background-color: var(--primary-50); +} +#frm_adv_info #frm-insert-condition:hover { + background-color: var(--primary-25); +} + +#frm_builder_page #frm_adv_info { + width: 322px; + max-height: 356px; + border-radius: var(--small-radius); + overflow: hidden; +} +#frm_builder_page #frm_adv_info #taxonomy-linkcategory { + height: 356px; + overflow: hidden; +} +#frm_builder_page #frm_adv_info #taxonomy-linkcategory > div { + max-height: 286px; + padding: 0; +} +#frm_builder_page #frm_adv_info #taxonomy-linkcategory > div > * { + padding-bottom: var(--gap-sm); + max-height: unset; +} +#frm_builder_page #frm_adv_info #taxonomy-linkcategory > div > *:last-child { + padding-bottom: var(--gap-xs); +} +#frm_builder_page #frm_adv_info #frm-nav-tabs { + display: flex; + gap: var(--gap-xs); + background-color: var(--grey-100); + border-radius: var(--small-radius); + border: 0; + padding: var(--gap-xs); + margin: var(--gap-xs) var(--gap-2xs) var(--gap-sm); +} +#frm_builder_page #frm_adv_info #frm-nav-tabs > li { + flex: 1; + text-align: center; +} +#frm_builder_page #frm_adv_info #frm-nav-tabs > li a { + font-weight: 500; + line-height: 1; + color: var(--grey-500); + border-radius: var(--small-radius); + border: 0; + padding: var(--gap-xs); + margin: 0; +} +#frm_builder_page #frm_adv_info #frm-nav-tabs > li a:hover { + background-color: rgb(234, 236, 240); + color: var(--grey-500) !important; + box-shadow: var(--box-shadow-sm); +} +#frm_builder_page #frm_adv_info #frm-nav-tabs > li.frm-tabs a { + background-color: #fff; + color: var(--grey-900) !important; + box-shadow: var(--box-shadow-sm); +} +#frm_builder_page #frm_adv_info .frm-search, +#frm_builder_page #frm_adv_info .frm-with-search { + padding-top: 0; + margin: 0; +} + +/** + * Components - Modal - Inline Modal + */ +.frm-right-panel .frm-inline-modal.postbox .inside { + margin: 0; + padding: 0 14px 14px; +} +.frm-right-panel .frm-inline-modal.postbox .inside .frm-with-line, +.frm-right-panel .frm-inline-modal.postbox .inside .accordion-section-content h4 { + margin-left: -14px; + margin-right: -14px; +} + +.frm-right-panel .frm-inline-modal .inside p:not(.howto), +.frm-right-panel .frm-inline-modal .inside a { + font-size: 15px; +} + +.frm-inline-modal .inside a.frm_icon_font { + font-size: 18px; +} + +/** + * Components - Nav Tabs + */ +.frm-nav-tabs { + margin: 10px 0 20px; + padding: 0 var(--gap-sm); + display: block; + border-bottom: 1px solid var(--grey-300); +} + +#frm-nav-tabs { + position: -webkit-sticky; + position: sticky; + top: 0; + background-color: var(--sidebar-color); + z-index: 98; /* must be < 99 */ + margin-top: 0; + padding-top: 5px; +} + +.frm_form_settings #frm_adv_info #frm-nav-tabs { + background-color: #fff; + margin: 0 -4px; +} + +.frm_form_settings span.frm-with-right-icon, +#frm_builder_page .frm_has_shortcodes span.frm-with-right-icon:not(.frm_hidden) { + display: block; +} + +.frm-inline-modal .frm-nav-tabs, +#frm_adv_info .frm-nav-tabs { + margin: 5px 0 0; +} + +#frm_adv_info .frm-nav-tabs.frm-compact-nav { + padding-right: 0; + padding-left: 20px; +} + +.frm-nav-tabs li { + display: inline-block; + margin: 0; +} + +.frm-nav-tabs a { + color: var(--grey-700); + padding: 10px 1px; + margin: 0 9px; + border-bottom: 2px solid transparent; +} + +.frm_form_settings #frm_adv_info .frm-nav-tabs a { + padding: 5px 1px; + color: var(--grey-500); +} + +.frm-nav-tabs.frm-compact-nav a { + margin: 0 5px; +} + +.frm-nav-tabs a { + display: block; + opacity: 0.9; +} + +#frm_adv_info .frm-nav-tabs a { + color: var(--grey-700); +} + +.frm-nav-tabs a:hover, +.frm-nav-tabs .frm-tabs a { + color: var(--primary-500) !important; + border-color: var(--primary-500); +} + +.frm_form_settings #frm_adv_info .frm-nav-tabs .frm-tabs a { + font-weight: 500; +} + +/** + * Components - Modal - Bulk Modal + */ +#frm-bulk-modal .howto, +#frm-bulk-modal h3 { + font-size: var(--text-sm); + font-weight: 400; + margin: 5px 0 10px; + color: var(--grey); +} + +#frm-bulk-modal h3 { + margin-left: 20px; +} + +/** + * Layout - Sidebar + */ +.frm-right-panel a.frm_add_logic_link, +.frm-right-panel h3 { + color: var(--grey-700); + font-size: var(--text-lg); + font-weight: 400; + margin: 0; +} +.frm-right-panel h3 i { + color: var(--grey-700); + float: right; + width: 16px; + cursor: pointer; +} + +.frm-settings-panel { + /* Right padding reduced to compensate for scrollbar width (~8px) */ + padding: var(--gap-sm); + padding-right: var(--gap-xs); +} +.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-delimiter { + top: var(--gap-xs); + left: var(--gap-xs); + width: calc(100% - var(--gap-sm)); +} +.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-navs { + padding: var(--gap-xs) var(--gap-xs) 0; +} +.frm-settings-panel .frm-embed-field-placeholder { + height: unset; +} +.frm-settings-panel .frm-embed-field-placeholder img { + height: 100px; +} +.frm-settings-panel .frm-embed-field-placeholder .frm-embed-message { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + gap: var(--gap-sm); + max-width: unset; + color: var(--grey-800); + padding: var(--gap-lg); + border: 0; + box-shadow: var(--box-shadow-sm); + margin: 1px; +} + +.frm-single-settings .frm-default-value-wrapper > p { + margin-bottom: 0; +} +.frm-single-settings .frm-default-value-wrapper + p:empty { + display: none; +} +.frm-single-settings [class*=frm-lookup-box-] .frm_grid_container p { + margin-top: 0 !important; +} +.frm-single-settings .frm_single_option[id^=frm_watch_lookup_] { + margin-bottom: var(--gap-xs) !important; +} +.frm-single-settings > h3:first-of-type { + position: relative; + background-color: transparent !important; + border-top: none; + padding-top: 0 !important; + margin-top: 0 !important; +} +.frm-single-settings > h3:first-of-type::after { + content: ""; + position: absolute; + left: var(--gap-sm); + right: var(--gap-sm); + bottom: 0; + height: 1px; + background-color: var(--sidebar-hover); +} + +.frm-flex-justify, +.frm-right-panel .frm-single-settings h3 { + display: flex; + justify-content: space-between; + align-items: center; +} + +/* right sidebar */ +#post-body-content + .frm-right-panel { + flex: 0 0 var(--medium-sidebar); + width: var(--medium-sidebar); + min-width: var(--medium-sidebar); + border-left: 1px solid var(--sidebar-hover); +} + +.frm-new-entry #post-body-content + .frm-right-panel, +.frm-new-entry .frm-right-panel { + background: none; + border: none; +} + +#post-body-content + .frm-right-panel h3 { + padding: 20px 20px 0; + font-size: 17px; +} +#post-body-content + .frm-right-panel .frm_with_icons:first-of-type h3 { + border: none; +} + +#frm-insert-fields h3 { + color: var(--grey); + font-size: 15px; + font-weight: 400; + border-top: none; + border-bottom: 1px solid var(--sidebar-hover); + margin: 0; + padding: 10px 10px 10px 25px; +} + +.frm_wrap #frm_adv_info ul.category-tabs { + margin: 0; + padding: 10px 0 9px; + font-size: 15px; + background: transparent; +} +.frm_wrap #frm_adv_info ul.category-tabs li { + padding: 10px; + background-color: transparent !important; +} +.frm_wrap #frm_adv_info ul.category-tabs li:first-child { + border: none; +} + +.frm_wrap #frm_adv_info .categorydiv div.tabs-panel { + border: none; + background: transparent; +} +.frm_wrap #frm-categorydiv { + border-right: none; +} + +#frm_adv_info #frm-conditionals { + padding-top: var(--gap-sm); +} + +#postbox-container-1 #taxonomy-linkcategory #frm-html-tags { + display: none; + max-height: none; +} +#postbox-container-1 .frm_field_list #frm-insert-fields .frmbutton.dropdown { + position: relative; +} + +/** + * Components - Admin Footer + */ +.frm-white-body #footer-upgrade { + display: none; +} + +.frm-admin-footer-links, +.frm-admin-footer-links-nav, +.frm-admin-footer-links-socials { + display: flex; + justify-content: center; +} + +.frm-admin-footer-links { + gap: var(--gap-2xs); + flex-direction: column; + text-align: center; + padding: var(--gap-xl) 0 var(--gap-lg); + font-size: var(--text-xs); + color: var(--grey-400); +} + +body.frm-hidden-overflow { + height: 100%; + overflow: hidden; +} + +.frm-admin-footer-links-nav { + gap: var(--gap-2xs); + margin-bottom: var(--gap-xs); +} + +.frm-admin-footer-links-socials { + gap: var(--gap-xs); +} + +.frm-admin-footer-links-socials a { + color: var(--grey-400); +} + +/** + * Layout - List Entry Page + */ +.frm_list_entry_page h2 { + float: left; +} + +.frm_list_entry_page h2 + .error { + clear: both; +} + +/** + * Layout - Sidebar - Elements + */ +.frm_sidebar select { + width: 100%; + margin-left: 0; + margin-right: 0; +} + +.frm_sidebar #search-submit { + float: right; +} + +/** + * Layout - Single Entry Page + */ +.frm_single_entry_page #submitdiv { + margin: 0; +} + +.frm_single_entry_page .hndle a { + font-size: 13px; +} + +/** + * Components - Publish Actions + */ +.frm-right-panel #publishing-action { + float: none; +} + +.frm-right-panel #major-publishing-actions { + border-top: none; + height: 32px; + background: transparent; +} + +#major-publishing-actions .frm_submit_form { + float: right; + margin-left: 5px; +} + +/** + * Components - Button + */ +.frm_orange_button, +.frm_reverse_button { + font-size: 12px; + border: 1px solid var(--orange); + color: var(--orange); + font-weight: 600; + padding: 1px 4px; + border-radius: 4px; + background: transparent; +} + +.frm_reverse_button:hover, +.frm_reverse_button:active, +.frm_reverse_button:focus { + color: #fff; + background: var(--orange); + border: 1px solid var(--orange); +} + +.frm_reverse_button { + font-size: 1em; + transition: all 0.2s ease; +} + +.frm-button-primary, +.wp-core-ui .button-primary.frm-button-primary, +.wp-core-ui .button.frm-button-primary, +.frm-button-secondary, +.wp-core-ui .button-secondary.frm-button-secondary, +.wp-core-ui .button.frm-button-secondary, +.frm-white-body .frm-search .button, +.frm-white-body .search-box .button, +.frm-white-body .tablenav .button, +.frm_orange_button, +.toplevel_page_formidable #frm_upgrade_modal .button-primary, +.wp-core-ui.frm-white-body .button-primary, +.wp-core-ui.frm-white-body .button-secondary, +.frm-white-body .button-primary, +.frm-white-body .button-secondary, +#frm-form-button button, +.frm-form-button button, +.frm-preview-buttons button, +.frm-button-red, +.frm-button-tertiary { + text-shadow: none; + box-shadow: none; + border-radius: 30px; + border: 1px solid var(--primary-500); + font-size: var(--text-sm); + transition: all 0.2s ease; + padding: 7px 16px; + height: auto; + min-height: 28px; + outline: none; + line-height: var(--leading); + box-sizing: border-box; + font-weight: 500; + margin-bottom: 0; + display: inline-block; +} + +.frm-button-primary.frm-sharp, +.frm-button-secondary.frm-sharp { + border-radius: 12px !important; +} + +#wpcontent .frm-button-secondary.frm-button-gradient { + position: relative; + border-color: transparent !important; + background-clip: padding-box !important; +} +#wpcontent .frm-button-secondary.frm-button-gradient::before { + content: ""; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: -1; + margin: -1px; + border-radius: inherit; + background: linear-gradient(90deg, #129EFD 0%, #A334FD 100%); + transition: opacity 150ms ease-out; +} +#wpcontent .frm-button-secondary:hover::before { + opacity: 0.5; +} + +.no-js.wp-core-ui .frm-search .button.hide-if-no-js, +.js.wp-core-ui .frm-search .button.hide-if-js { + display: none; +} + +.frm-button-tertiary { + border-color: transparent; + color: var(--primary-500); +} + +.frm-button-tertiary:focus { + outline: none; +} + +.frm-button-tertiary.frm_loading_button::before { + border-right-color: var(--grey); + border-bottom-color: var(--grey); +} + +.frm-button-red, +.frm-button-red:focus { + --primary-color: var(--error-500); + --primary-500: var(--error-500); + --primary-700: var(--error-700); +} + +.frm-button-red:not(.frm-button-tertiary), +.frm-button-red:not(.frm-button-tertiary):focus { + color: #fff !important; +} + +.frm-white-body h2 .button, +.post-type-frm_display h2 .frm-button-primary, +.frm-white-body .tablenav .button, +.frm-button-primary.frm-button-sm, +.frm-button-secondary.frm-button-sm, +.frm-button-tertiary.frm-button-sm, +.frm-button-red.frm-button-sm { + padding: 4px 12px !important; + font-size: var(--text-xs) !important; +} + +.frm_no_style_button { + background: transparent; +} + +.frm-with-icon { + display: flex; + gap: var(--gap-xs); + align-items: center; +} + +.frm-with-icon svg { + opacity: 0.65; /* Get close to grey-500 without overriding hover colors */ +} + +.frm-with-icon.button svg { + height: var(--text-sm); + width: var(--text-sm); +} + +.frm-with-icon.frm-button-sm svg { + height: var(--text-xs); + width: var(--text-xs); +} + +.frm-white-body .button.add_media { + /* Media buttons above RTE */ + padding-left: 12px !important; + padding-right: 12px !important; + font-size: var(--text-xs); + border-radius: var(--border-radius); +} + +.wp-core-ui.frm-white-body #post-query-submit.button, +.wp-core-ui.frm-white-body .button.tablenav-pages-navspan, +.wp-core-ui.frm-white-body .button.first-page, +.wp-core-ui.frm-white-body .button.prev-page, +.wp-core-ui.frm-white-body .button.next-page, +.wp-core-ui.frm-white-body .button.last-page, +.wp-core-ui.frm-white-body .button.action { + background-color: transparent; + border-color: var(--grey-300); + color: var(--grey-700); + border-radius: var(--border-radius); +} + +.post-type-frm_display.wp-core-ui .button-primary, +.frm-button-primary, +.wp-core-ui .button-primary.frm-button-primary, +.frm_single_entry_page #frm-publishing .button-primary { + background-color: var(--primary-500) !important; + color: #fff !important; +} + +.frm-button-primary.frm_large, +.frm-button-secondary.frm_large { + height: auto !important; + padding: 12px 16px !important; +} + +.frm-button-secondary.frm-small, +.frm-button-primary.frm-small { + font-size: var(--text-xs) !important; + height: auto !important; + padding: var(--gap-2xs) 12px !important; +} + +.frm-button-primary i::before { + color: #fff; +} + +.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover, +.frm-button-primary:not([disabled]):hover { + background: var(--primary-700) !important; + border-color: var(--primary-700) !important; +} + +.wp-core-ui .button-primary.frm-button-primary:active { + vertical-align: inherit; +} + +.frm-white-body #search-submit, +#frm-form-button .frm_button_submit, +.frm-form-button .frm_button_submit, +.frm-white-body .frm-preview-buttons button, +.frm-white-body .button:not(.frm-button-primary), +.wp-core-ui.frm-white-body .button-secondary, +.wp-core-ui .button-secondary.frm-button-secondary, +.wp-core-ui .button.frm-button-secondary, +.frm-white-body .frm-button-secondary, +.frm-button-secondary { + color: var(--grey-800); + border-color: var(--grey-300); + background-color: #fff; +} + +#wp-content-media-buttons button, +#wp-content-media-buttons a.button { + border-color: var(--grey-300); +} + +.frm_orange_button { + border-color: #da791d !important; + background: var(--orange); + color: #fff; +} + +.frm-white-body .button:not(.frm-button-primary):focus, +.frm-white-body .button:not(.frm-button-primary):active, +.frm-white-body .frm-button-secondary:hover, +.wp-core-ui.frm-white-body .frm-button-secondary:hover, +.wp-core-ui.frm-white-body .button-secondary:hover, +.wp-core-ui.frm-white-body .button-secondary:focus, +.wp-core-ui.frm-white-body .tablenav .button:hover, +.frm_wrap .preview > .button:hover, +.frm-white-body #search-submit:hover { + border-color: var(--grey-300) !important; + color: var(--grey-800); + background: var(--grey-50) !important; + box-shadow: none !important; + outline: none !important; +} + +.frm-button-primary .frmsvg { + color: #fff; +} + +.frm_wrap .preview i { + font-size: inherit; +} + +.frm-white-body .frm-button-primary:focus, +.frm-white-body .frm-button-primary:active, +#frm-addons-page .button-primary:focus, +#form_global_settings .button-primary:focus, +#frm_upgrade_modal .button:focus { + border-color: var(--primary-700) !important; + background-color: var(--primary-700) !important; + box-shadow: none !important; + outline: none !important; +} + +.frm_wrap .preview > .button:focus, +.frm_orange_button:hover, +.frm_orange_button:focus, +.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover, +.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus, +.toplevel_page_formidable .frm_wrap button.button-primary:hover, +.toplevel_page_formidable .frm_wrap button.button-primary:focus { + outline: none; +} + +.frm_orange_button:hover, +.frm_orange_button:focus { + border-color: var(--orange) !important; + background: transparent; + color: var(--orange); + opacity: 1; +} + +.major-publishing-actions.frm_create_form_header { + padding: 8px 0; +} + +.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner { + font-size: 15px; + background: transparent; +} + +.frm-menu-boxes .frm_blank_form_text { + padding-bottom: 26px; +} + +input.frm_insert_in_template { + font-size: 10px; + width: 98%; + font-weight: 400; +} + +.frm-dismissible a.dismiss:focus { + box-shadow: none; +} + +.frm-dismissible a.dismiss { + top: 10px; + right: 10px; + position: absolute; +} + +.frm-dismissible a.dismiss svg { + color: var(--grey-800); +} + +/** + * Components - Review Request + */ +.wp-admin .frm-review-notice { + position: fixed !important; + bottom: var(--gap-2xl); + right: var(--gap-lg); + width: 380px; + text-align: center; + border-color: var(--grey-100); + padding: var(--gap-lg); + border-radius: var(--medium-radius); + box-shadow: var(--box-shadow-lg) !important; + z-index: 999; + box-sizing: border-box; + --gap-sm: 16px; + --gap-md: 24px; + --gap-2xl: 48px; +} + +.wp-admin .frm-review-notice * { + box-sizing: border-box; +} + +.frm-review-notice-icon { + display: inline-flex; + margin-bottom: var(--gap-sm); +} + +.wp-admin .frm-review-notice-title { + font-weight: 600; + margin-top: 0; + margin-bottom: var(--gap-xs); +} + +.wp-admin .frm-review-notice-text { + margin-top: 0; + margin-bottom: var(--gap-md); +} + +.frm-review-notice-signature { + text-align: left; + margin: var(--gap-md) 0; +} + +.frm-review-notice-signature img { + width: 40px; + height: 40px; + padding: 3px; + box-shadow: var(--box-shadow-md); + border-radius: 100%; +} + +#wpwrap .frm-dismiss-review-notice { + top: 16px; + right: 19px; +} + +.frm-review-notice #frmapi-feedback [class^=frm__] { + display: none; +} + +.frm-review-notice #frmapi-feedback input, +.frm-review-notice #frmapi-feedback textarea { + border-color: var(--grey-300); + border-radius: var(--small-radius); +} + +.frm-review-notice #frmapi-feedback input { + min-height: unset; + max-height: 36px; +} + +.frm-review-notice #frmapi-feedback textarea { + max-height: 80px; + padding-top: var(--gap-xs); +} + +.frm-review-notice #frmapi-feedback .frm_message { + color: var(--success-900); + background-color: var(--success-25); + border: 1px solid var(--success-200); + padding: var(--gap-sm) var(--gap-md); + margin: 0; +} + +.frm-review-notice #frmapi-feedback .frm_message p { + margin: 0; +} + +.frm-review-notice #frmapi-feedback .frm_button_submit { + background-color: var(--primary-500); + border-color: var(--primary-500) !important; + cursor: pointer; +} + +.frm-review-notice #frmapi-feedback .frm_button_submit:hover, +.frm-review-notice #frmapi-feedback .frm_button_submit:focus { + color: #fff; + background-color: var(--primary-700); + border-color: var(--primary-700) !important; +} + +.frm-review-notice .frm_error, +.frm-review-notice label { + color: #444; + text-align: left; +} + +.frm-review-notice label { + font-size: var(--text-sm); +} + +.frm-floating-success-message { + position: fixed; + z-index: 999; + border-radius: 4px; + right: 10px; + bottom: 10px; +} + +/** + * Utility Classes + * + * Reusable helper classes for spacing, typography, effects, etc. + */ +/** + * Utilities - Box Shadow + */ +.frm-box-shadow-xxl { + box-shadow: var(--box-shadow-xxl) !important; +} + +/** + * Utilities - Text Color + */ +.frm-text-primary-500 { + color: var(--primary-500); +} + +.frm-text-grey-400 { + color: var(--grey-400) !important; +} + +.frm-text-grey-500 { + color: var(--grey-500); +} + +.frm-text-grey-600 { + color: var(--grey-600) !important; +} + +.frm-text-grey-700 { + color: var(--grey-700); +} + +.frm-text-grey-900 { + color: var(--grey-900); +} + +.frm-text-success-500 { + color: var(--success-500); +} + +.frm-text-warning-500 { + color: var(--warning-500); +} + +/** + * Utilities - Margin + */ +.frm_no_margin, +.frm-m-0 { + margin: 0 !important; +} + +.frm-m-12 { + margin: var(--gap-2xl); +} + +.frm-m-2xs { + margin: var(--gap-2xs) !important; +} + +.frm_no_top_margin, +.frm-mt-0 { + margin-top: 0 !important; +} + +.frm-mt-2xs { + margin-top: var(--gap-2xs) !important; +} + +.-frm-mt-2xs { + margin-top: calc(-1 * var(--gap-2xs)) !important; +} + +.frm-mt-xs { + margin-top: var(--gap-xs) !important; +} + +.frm-mt-sm { + margin-top: var(--gap-sm) !important; +} + +.frm-mt-md { + margin-top: var(--gap-md) !important; +} + +.frm-mt-lg { + margin-top: var(--gap-lg) !important; +} + +.frm-mt-2xl { + margin-top: var(--gap-2xl) !important; +} + +.frm-mt-auto { + margin-top: auto !important; +} + +.frm_no_bottom_margin, +.frm-mb-0 { + margin-bottom: 0 !important; +} + +.frm-mb-2xs { + margin-bottom: var(--gap-2xs) !important; +} + +.frm-mb-6 { + margin-bottom: 6px !important; +} + +.frm-mb-sm { + margin-bottom: var(--gap-sm) !important; +} + +.frm-mb-12 { + margin-bottom: 12px !important; +} + +.frm-mb-xs { + margin-bottom: var(--gap-xs) !important; +} + +.frm-mb-md { + margin-bottom: var(--gap-md) !important; +} + +.frm-mb-lg { + margin-bottom: var(--gap-lg) !important; +} + +.frm-ml-2xs { + margin-left: var(--gap-2xs) !important; +} + +.frm-ml-xs { + margin-left: var(--gap-xs) !important; +} + +.frm-ml-auto { + margin-left: auto; +} + +.-frm-ml-2xs { + margin-left: calc(-1 * var(--gap-2xs)) !important; +} + +.frm-mr-auto { + margin-right: auto; +} + +.frm-force-mr-auto { + margin-right: auto !important; +} + +.frm-mr-2xs { + margin-right: var(--gap-2xs) !important; +} + +.frm-mr-xs { + margin-right: var(--gap-xs) !important; +} + +.frm-mr-2 { + margin-right: 2px !important; +} + +.frm-mx-0 { + margin-left: 0 !important; + margin-right: 0 !important; +} + +.frm-mx-xs { + margin-left: var(--gap-xs) !important; + margin-right: var(--gap-xs) !important; +} + +.frm-mx-sm { + margin-left: var(--gap-sm) !important; + margin-right: var(--gap-sm) !important; +} + +.frm-my-sm { + margin-top: var(--gap-sm) !important; + margin-bottom: var(--gap-sm) !important; +} + +.frm-my-xs { + margin-top: var(--gap-xs) !important; + margin-bottom: var(--gap-xs) !important; +} + +/** + * Utilities - Padding + */ +.frm-p-0 { + padding: 0 !important; +} + +.frm-p-1, +.frm-p-2xs { + padding: var(--gap-2xs); +} + +.frm-p-sm, +.frm-p-4 { + padding: var(--gap-sm) !important; +} + +.frm-p-sm { + padding: var(--gap-sm) !important; +} + +.frm-p-6, +.frm-p-md { + padding: var(--gap-md) !important; +} + +.frm-p-xl { + padding: var(--gap-xl) !important; +} + +.frm-px-0 { + padding-left: 0 !important; + padding-right: 0 !important; +} + +.frm-py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.frm-py-2xs { + padding-top: var(--gap-2xs) !important; + padding-bottom: var(--gap-2xs) !important; +} + +.frm-py-sm { + padding-top: var(--gap-sm) !important; + padding-bottom: var(--gap-sm) !important; +} + +.frm-pt-0 { + padding-top: 0 !important; +} + +.frm-pt-2xs { + padding-top: var(--gap-2xs) !important; +} + +.frm-pt-xs { + padding-top: var(--gap-xs) !important; +} + +.frm-pt-sm { + padding-top: var(--gap-sm) !important; +} + +.frm-pt-md { + padding-top: var(--gap-md) !important; +} + +.frm-pt-xl { + padding-top: var(--gap-xl) !important; +} + +.frm-pr-lg { + padding-right: var(--gap-lg) !important; +} + +.frm-pb-md { + padding-bottom: var(--gap-md) !important; +} + +.frm-pb-sm { + padding-bottom: var(--gap-sm) !important; +} + +.frm-pb-xs { + padding-bottom: var(--gap-xs) !important; +} + +.frm-pb-2xs { + padding-bottom: var(--gap-2xs) !important; +} + +.frm-pb-0 { + padding-bottom: 0 !important; +} + +.frm-px-sm { + padding-right: var(--gap-sm) !important; + padding-left: var(--gap-sm) !important; +} + +.frm-px-xs { + padding-right: var(--gap-xs) !important; + padding-left: var(--gap-xs) !important; +} + +.frm-px-md { + padding-right: var(--gap-md) !important; + padding-left: var(--gap-md) !important; +} + +/** + * Utilities - Font Size + */ +.frm-text-xs { + font-size: var(--text-xs) !important; +} + +.frm-text-sm { + font-size: var(--text-sm) !important; +} + +.frm-text-md { + font-size: var(--text-md) !important; +} + +.frm-text-lg { + font-size: var(--text-lg) !important; +} + +.frm-text-xl { + font-size: var(--text-xl) !important; +} + +.frm-leading-none { + line-height: 1; +} + +.frm-italic { + font-style: italic; +} + +.frm-no-italic { + font-style: normal; +} + +/** + * Utilities - Text Transform + */ +.frm-capitalize { + text-transform: capitalize; +} + +/** + * Utilities - Font Weight + */ +.frm-font-normal { + font-weight: 400 !important; +} + +.frm-font-medium { + font-weight: 500 !important; +} + +.frm-font-semibold { + font-weight: 600 !important; +} + +/** + * Utilities - Text Overflow + */ +.frm-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +[class*=frm-line-clamp-] { + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; +} + +.frm-line-clamp-2 { + -webkit-line-clamp: 2; +} + +.frm-white-space-nowrap { + white-space: nowrap; +} + +/** + * Utilities - Border Radius + */ +.frm-rounded-sm { + border-radius: var(--small-radius) !important; +} + +.frm-rounded-6 { + border-radius: 6px !important; +} + +/** + * Utilities - Width + */ +.frm-w-auto { + width: auto !important; +} + +.frm-w-full { + width: 100% !important; +} + +.frm-w-half { + width: 50% !important; +} + +.frm-w-fit { + width: fit-content !important; +} + +.frm-max-w-fit { + max-width: fit-content; +} + +.frm-h-auto { + height: auto !important; +} + +/** + * Utilities - Display + */ +#wpwrap .frm-force-hidden { + display: none !important; +} + +.frm_block, +.frm-block { + display: block; +} + +.frm_inline { + display: inline; +} + +.frm-force-inline { + display: inline !important; +} + +.frm_inline_block { + display: inline-block !important; +} + +/** + * Utilities - Flex + */ +.frm-inline-flex, +#wpbody-content .frm-inline-flex { + display: inline-flex; +} + +.frm-flex { + display: flex; +} + +.frm-force-flex { + display: flex !important; +} + +.frm_hidden, +.js .frm-hide-js { + display: none; +} + +.frm-flex-box { + display: flex; + gap: var(--gap-sm); +} + +.frm-flex-col { + display: flex; + flex-direction: column; +} + +.frm-flex-full { + flex: 1; +} + +.frm-force-flex-center, .frm-flex-center { + justify-content: center; + align-items: center; +} + +.frm-flex-center { + display: flex; +} + +.frm-force-flex-center { + display: flex !important; +} + +.frm-shrink-0 { + flex-shrink: 0; +} + +.frm-gap-0 { + gap: 0 !important; +} + +.frm-gap-2xs { + gap: var(--gap-2xs); +} + +.frm-gap-xs { + gap: var(--gap-xs); +} + +.frm-gap-sm { + gap: var(--gap-sm); +} + +.frm-gap-md { + gap: var(--gap-md); +} + +.frm-gap-xl { + gap: var(--gap-xl); +} + +.frm-justify-start { + justify-content: start !important; +} + +.frm-justify-center { + justify-content: center !important; +} + +.frm-justify-between { + justify-content: space-between; +} + +.frm-justify-end { + justify-content: end; +} + +.frm-items-center { + align-items: center; +} + +.frm-items-stretch { + align-items: stretch; +} + +#wpbody-content .frm-flex-wrap { + flex-wrap: wrap; +} + +.frm-grow { + flex-grow: 1; +} + +.frm-order-first { + order: -9999; +} + +.frm-order-last { + order: 9999; +} + +.frm-order-none { + order: 0; +} + +.frm-h-stack-sm, .frm-h-stack-xs, .frm-h-stack { + display: flex !important; + align-items: center; +} +.frm-h-stack-sm > input[type=checkbox], .frm-h-stack-xs > input[type=checkbox], .frm-h-stack > input[type=checkbox], +.frm-h-stack-sm > input[type=radio], +.frm-h-stack-xs > input[type=radio], +.frm-h-stack > input[type=radio] { + margin: 0 !important; +} + +.frm-h-stack { + gap: var(--gap-2xs); +} + +.frm-h-stack-xs { + gap: var(--gap-xs); +} + +.frm-h-stack-sm { + gap: var(--gap-sm); +} + +/** + * Utilities - Transition + */ +.frm-transition-ease { + transition: all 0.2s ease; +} + +/** + * Utilities - Visibility + */ +.frm_invisible { + visibility: hidden; + transition: all 0.2s ease; +} + +.frm_disabled { + opacity: 0.5; + cursor: default; + pointer-events: none; +} +.frm_disabled .frm-show-inline-modal { + pointer-events: none !important; +} + +/** + * Utilities - Float + */ +.frm_no_float { + float: none; +} + +/** + * Utilities - Text Align + */ +.frm-text-right { + text-align: right; +} + +/** + * Utilities - Border + */ +.frm-border-b { + border-bottom: 1px solid var(--grey-300); +} + +.frm-no-border { + border: none !important; +} + +.frm-hr { + display: block; + height: 1px; + background-color: var(--grey-200); + margin: var(--gap-xs) 0; +} + +/** + * Utilities - Opacity + */ +.frm-opacity-100 { + opacity: 1; +} + +/** + * Utilities - Z-index Helpers + */ +.frm-on-bottom { + z-index: -1; +} + +/** + * Utilities - Transform + */ +.frm-rotate-90 { + transform: rotate(90deg); +} + +/** + * Utilities - Cursor + */ +.frm-cursor-pointer { + cursor: pointer; +} + +/** + * Utilities - Vertical Align + */ +.frm-align-baseline { + vertical-align: baseline !important; +} + +/** + * Utilities - Generic Classes + */ +.frm-fields p > label.frm_hidden, +#wpbody-content label.frm_hidden, +.frm-lookup-modal .dismiss, +.frm-right-panel .inside a.frm_hidden, +#form_global_settings .frm_hidden, +ul.frm_form_nav > li.frm_hidden, +a.frm_hidden, +.button.frm_hidden, +.wp-core-ui .button.frm_hidden { + display: none; +} + +.postbox .inside > p.frm_no_bottom_margin:last-child { + margin-bottom: 0 !important; +} + +.frm_no_section_fields.frm_block { + display: block; +} + +.actions.frm_visible_overflow { + overflow: visible !important; +} + +.frm_full_opacity, +.frm_submit .frm_full_opacity, +.frm_submit .frm-opacity-100 { + opacity: 1; +} + +.frm-dropdown-menu.frm-on-top { + z-index: 99999; +} + +/** + * Utilities - Helper Classes + */ +.frm-vertical-line { + display: inline-block; + width: 1px; + height: 12px; + background-color: var(--grey-300); +} + +.frm-admin-full-screen #adminmenumain, +.frm-admin-full-screen #wpadminbar, +.frm-admin-full-screen #adminmenuback, +.frm-admin-full-screen #adminmenuwrap, +.frm-admin-full-screen #wpfooter { + display: none; +} + +.frm-admin-full-screen #wpcontent, +.frm-admin-full-screen.auto-fold #wpcontent { + margin: 0; + padding: 0; +} + +.frm-admin-full-screen.appearance_page_starter-templates #wpbody-content { + padding: 0; +} + +/** + * Forms & UI Components + * + * Form elements, inputs, fields, modals and interactive components + */ +/** + * Components - General Form Styles + */ +.frm_forms.with_frm_style { + max-width: 100%; +} + +.post-type-frm_display .wrap > .subsubsub, +.post-type-frm_display .wrap > .icl_subsubsub, +.frm_form_settings > p { + margin: 6px var(--gap-md); + padding: 0; +} + +.frm-entry-container { + margin: 0 40px 40px; + padding: 0; +} + +#form_reports_page .frm-inner-content { + width: calc(100% - 40px); + max-width: 900px; + margin: 20px auto; + padding: 20px; +} + +.frm_inner_field_container > .frm_form_fields { + clear: both; +} + +.post-type-frm_display h2, +.frm_wrap h2 { + margin-top: 0 !important; + font-size: var(--text-lg); + line-height: var(--leading); +} + +.post-type-frm_display .wrap > h2:first-child, +.frm_wrap .wrap > h2:first-child { + padding-top: 0; + margin-top: 0 !important; + font-size: var(--text-lg); +} + +#frm_form_editor_container { + position: relative; + margin-top: 28px; +} + +/** + * Components - Form Field + */ +.form-field p { + /* for conflicts */ + background: none; + border: none; +} + +.form-field label.frm_primary_label { + display: block; + float: none; + width: auto; +} + +#frm_view_editor_left label, +#frm_view_editor_left .frm_primary_label, +.frm-dialog .frm-sub-label, +.frm-dialog label, +.dropdown .frm_primary_label, +.accordion-container label, +.frm-fields td > label, +.frm-fields td > div > label, +.frm_form_field > label:first-child, +.frm-fields p > label, +.frm_on_submit_type > label, +.post-type-frm_display .frm_form_field > label, +#new_fields .frm_primary_label, +#form_global_settings .frm_primary_label, +#frm_form_editor_container .frm_primary_label, +#permissions_settings_settings .frm_primary_label { + color: var(--grey-700); + margin: 0 0 6px; + padding: 0; + width: auto; + font-size: var(--text-sm); + display: block; + line-height: var(--leading); +} + +#frm_form_editor_container #frm-show-fields .frm_primary_label { + min-height: 21px; +} + +.frm-fields td input + label { + display: inline; +} + +#frm_form_editor_container .edit_field_type_end_divider .frm_primary_label, +#frm_form_editor_container .edit_field_type_break .frm_primary_label { + display: none; +} + +form .frm_primary_label input { + font-size: 12px; +} + +.with_frm_style form .form-field { + margin-bottom: 20px; +} + +#frm_builder_page .with_frm_style form .frm_combo_inputs_container > .form-field { + margin-bottom: 0; +} + +.frm_description, +.with_frm_style form div.description, +.frm_error, +.with_frm_style form div.description textarea { + padding: 0; + font-size: 11px; +} + +.with_frm_style .description { + color: inherit; +} + +#frm_form_editor_container .divider_section_only .frm_primary_label { + display: flex; + align-items: center; + gap: var(--gap-xs); + font-size: 20px; +} + +#frm_form_editor_container .divider_section_only .frm_primary_label .frm-sub-label { + padding: 0; +} + +/** + * Token Input Component + * + * Displays space-separated values as selectable tokens + */ +.frm-token-container { + position: relative; + display: block; + direction: ltr; +} +.frm-token-container .frm-tokens { + position: absolute; + top: 0; + left: 0; + max-width: calc(100% - var(--gap-xl)); + display: flex; + align-items: center; + flex-wrap: wrap; + gap: var(--gap-2xs); + padding: 6px var(--gap-xs); + margin: 0; +} +.frm-token-container .frm-token { + position: relative; + display: flex; + align-items: center; + gap: var(--gap-xs); + min-height: 24px; + height: auto; + color: var(--grey-900); + background: var(--grey-100); + border-radius: 4px; + padding: 0 var(--gap-xs); + font-size: var(--text-md); + margin: 0; + z-index: 2; +} +.frm-token-container .frm-token .frm-token-value { + line-height: var(--leading); + white-space: normal; + word-break: break-word; +} +.frm-token-container .frm-token .frm-token-remove { + display: flex; + flex-shrink: 0; + cursor: pointer; +} +.frm-token-container .frm-token .frm-token-remove .frmsvg { + color: var(--grey-900); + position: static; + width: 12px; + height: 12px; + padding: 0; +} +.frm-token-container .frm-token .frm-token-remove:hover .frmsvg { + color: var(--error-500); +} +.frm-token-container .frm-show-inline-modal { + z-index: 3 !important; +} +.frm-token-container .frm-token-proxy-input { + position: relative; + z-index: 1; + padding-right: var(--gap-xl) !important; +} + +/** + * Components - Field Loading + */ +form .form-field.frm_field_loading { + margin-bottom: 0; + min-height: 0; + padding: 0; + text-align: center; +} + +.frm_sorting > .frm_field_loading .frm_visible_spinner.frm-wait { + margin-bottom: 10px; +} + +.frm_sorting > .frm_field_loading ~ .frm_field_loading .frm_visible_spinner.frm-wait { + margin-bottom: 0; + display: none; +} + +/** + * Components - Form Error + */ +.frm_description, +.with_frm_style form div.description, +.frm_error { + margin: 0; +} + +.frm_error { + color: #F04438; +} + +form .frm_blank_field input, +form .frm_blank_field textarea, +form .frm_blank_field select, +form .frm_blank_field .frm-g-recaptcha iframe, +form .frm_blank_field .g-recaptcha iframe { + border-color: #F04438; +} + +form .frm_blank_field label { + color: #F04438; +} + +.frm_required { + color: #F04438; +} + +/** + * Components - MCE Styles + */ +.with_frm_style .wp-editor-container textarea, +.postbox .wp-editor-container textarea, +.frm_remove_border { + border: none; +} + +.with_frm_style .mceIframeContainer, +.postbox .mceIframeContainer { + background-color: #fff; +} + +/** + * Components - License + */ +.frm_pro_license_msg { + clear: left; + margin-top: 10px; +} + +.frm-license-input { + position: relative; +} + +.frm-license-input span { + font-size: var(--text-sm); +} + +.frm-license-input .frmsvg { + width: 20px; + height: 20px; + margin-left: 5px; + vertical-align: text-top; +} + +.frm-license-input .frmsvg, +.frm-license-input span, +.frm-license-input i { + color: rgb(0, 131, 26); +} + +/** + * Components - Upgrade to Pro + */ +.upgrade_to_pro { + padding: 10px 25px 25px; + max-width: 700px; + margin: 20px auto !important; +} + +.upgrade_to_pro .error { + display: none; +} + +/** + * Components - Message Styles + */ +.toplevel_page_formidable #wpbody-content > .error { + margin: 1px; + padding: 5px 12px; +} + +.frm_error_style, +.frm_warning_style, +.frm_note_style2, +.frm_note_style, +.frm_message, +#post-body-content .frm_updated_message, +div.frm_updated_message { + border-radius: var(--small-radius); + background-color: #D5F2DC; + color: #1E561F; + padding: var(--gap-sm) var(--gap-md); + font-size: var(--text-sm); + margin: var(--gap-sm) 0; + text-align: left; +} + +.frm_note_style2 { + background: linear-gradient(90deg, #e9effa, #fcf6fe) padding-box, linear-gradient(90deg, #1961D5, #E8ABEF) border-box; + border: 1px solid transparent; +} + +#frm_top_bar + .wrap > .frm_updated_message, #frm_top_bar + .wrap > .frm_warning_style { + display: inline-block; + width: 100%; + box-sizing: border-box; +} + +#post-body-content > .frm_updated_message { + margin: 5px 65px; +} + +#form_global_settings #post-body-content > .frm_updated_message, +#form_global_settings #post-body-content > .frm_warning_style { + margin: 5px 25px; +} + +.frm_error_style { + color: #973937; + background-color: #EBCCCC; + clear: both; +} + +.frm_error_style a { + text-decoration: underline; + font-weight: 600; +} + +.frm_error_style svg { + opacity: 0.7; +} + +.frm_warning_style { + color: #7A4D05; + background-color: #FFF2D2; +} + +.frm_warning_heading { + font-weight: 700; + margin-bottom: 4px; +} + +/* Warning message dismiss */ +.frm_warning_style { + position: relative; + padding-right: calc(var(--gap-md) + 15px); +} + +body.rtl .frm_warning_style { + padding-right: var(--gap-md); + padding-left: calc(var(--gap-md) + 15px); +} + +.frm-warning-dismiss { + position: absolute; + top: 10px; + right: 10px; + display: flex; + cursor: pointer; + transition: opacity 0.2s ease-out; +} + +body.rtl .frm-warning-dismiss { + left: 10px; + right: auto; +} + +.frm-warning-dismiss:hover { + opacity: 0.8; +} + +.frm-warning-dismiss.frmsvg, +.frm-warning-dismiss.frmsvg svg { + width: 15px; + height: 15px; +} + +.frm_note_style { + background: rgba(188, 224, 253, 0.23); + color: var(--grey-700); +} + +.frm-banner-alert { + text-align: left; + margin: 0; + border-radius: 0; + padding: 10px 0 10px 40px; +} + +.frm-banner-alert a { + color: var(--primary-500); + font-weight: 400; + text-decoration: none; +} + +.frm_updated_message ul, +.frm_updated_message li, +.frm_warning_style ul, +.frm_warning_style li, +.frm_error_style ul, +.frm_error_style li { + margin: 0; +} + +.frm-inline-message { + border: 1px solid var(--primary-700); + border-radius: var(--small-radius); + color: var(--primary-700); + background: #fff; + text-align: center; + padding: 20px; + font-size: var(--text-sm); + line-height: var(--leading); +} + +.frm-inline-message a { + text-decoration: underline; + font-weight: 600; + color: var(--primary-700); +} + +.frm_pro_heading span { + margin-top: 10px; +} + +.frm_pro_heading .alignright { + text-align: right; +} + +.frm-yes { + color: var(--green); + font-size: var(--text-xl); +} + +.frm-nope { + color: var(--grey-400); + font-size: var(--text-xl); +} + +/** + * Components - Upgrade Bar Elements + */ +.upgrade_to_pro a { + color: var(--orange); +} + +.upgrade_to_pro table .frmsvg { + height: var(--text-xl); + width: var(--text-xl); +} + +.upgrade_to_pro table.widefat { + background-color: #fff; + border-collapse: collapse; +} + +.frm-white-body .upgrade_to_pro table th, +.upgrade_to_pro table td { + padding: 10px 15px; + border: 1px solid var(--grey-300); + line-height: var(--leading); + font-size: var(--text-sm); +} + +.upgrade_to_pro table th.frmcenter { + text-align: center; +} + +/** + * Components - Table Styles + */ +.widefat th.frm_table_break { + background-color: var(--sidebar-color); +} + +/** + * Base - Howto + */ +h2.frm-h2 + .howto { + color: var(--medium-grey); + max-width: 850px; + margin: 5px 0 20px; +} + +/** + * Components - Card + */ +.frm-card { + width: 100%; + border-radius: 10px; + border: 1px solid var(--grey-300); + opacity: 1; + transition: opacity 1s; +} + +.frm-card-box { + max-width: 524px; + background-color: #fff; + border-radius: var(--medium-radius); + padding: var(--gap-xl); + border: 1px solid var(--grey-200); + box-shadow: var(--box-shadow-md); +} + +.frm-card-box.frm-has-progress-bar { + position: relative; + overflow: hidden; + border-radius: var(--medium-radius); +} + +.frm-card-box-progress-bar { + position: absolute; + top: 0; + left: 0; + right: 0; + height: var(--gap-xs); + background-color: var(--primary-25); +} + +.frm-card-box-progress-bar > span { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 33%; + background-color: var(--primary-500); +} + +.frm-card-box-header { + display: flex; + justify-content: center; + margin-bottom: var(--gap-sm); +} + +.frm-card-box.frm-has-progress-bar .frm-card-box-header { + margin-top: var(--gap-xs); +} + +.frm-card-box-content > :last-child { + margin-bottom: 0; +} + +.frm-card-box-footer { + display: flex; + justify-content: end; + gap: var(--gap-sm); + margin-top: var(--gap-lg); +} + +.frm-card-box-title { + font-size: var(--text-xl) !important; + font-weight: 600 !important; + margin-bottom: var(--gap-xs); +} + +.frm-card-box-text { + font-size: var(--text-md) !important; + color: var(--grey-600) !important; + margin-top: 0 !important; +} + +/** + * Utilities - Fade + */ +.frm-fade { + opacity: 0; + transition: all 1s; +} + +/** + * Components - Add-on Tiles + */ +.frm-addons .frm-card.frm-addon-not-installed { + position: relative; +} + +.frm-addons .plugin-card-top { + min-height: 155px; + padding-top: var(--gap-lg); + overflow: hidden; +} + +.frm-addons .plugin-card-top h2 { + margin-top: 0; + font-weight: 400; +} + +.frm-template-row p, +.frm-addons .plugin-card-top p { + opacity: 0.8; +} + +.frm-addons .plugin-card-top > :not(p):not(h2) { + /* Hide notices from third party plugins */ + display: none; +} + +.frm-addons .plugin-card-bottom { + padding: 5px 20px 20px; + text-align: center; + background: transparent; + border-top: none; +} + +.frm-addons .plugin-card-bottom, +.frm-addons .plugin-card-bottom .button { + font-size: 15px; +} + +.frm-addons .button, +.frm-addons .frm-button-tertiary { + float: right; +} + +.frm-addons .addon-status { + float: left; + padding-top: 4px; +} + +.frm-addon-not-installed .frm-activate-addon, +.frm-addon-not-installed .frm-deactivate-addon, +.frm-addon-not-installed .frm-uninstall-addon, +.frm-addon-installed .frm-install-addon, +.frm-addon-installed .frm-deactivate-addon, +.frm-addon-active .frm-activate-addon, +.frm-addon-active .frm-install-addon, +.frm-addon-active .frm-uninstall-addon, +.plugin-card-pro.frm-addon-active .button, +.plugin-card-pro.frm-addon-active .frm-button-tertiary { + display: none !important; +} + +.frm-save-and-reload-options { + margin-top: 10px; + font-size: 13px; +} + +.frm-save-and-reload, +.frm-save-and-reload + .frm-button-secondary { + visibility: visible !important; +} + +.addon-status-label { + opacity: 0.7; +} + +.frm-addon-active .addon-status-label { + color: var(--green); + opacity: 1; +} + +.frm-addon-error { + position: absolute; + top: 55px; + left: 10px; + right: 10px; + font-weight: 700; + text-align: center; +} + +/** + * Components - Form Templates + */ +.frm-new-template.plugin-card-bottom { + overflow: visible; +} + +#frm-new-template p:first-child { + margin-top: 0; +} + +/** + * Layout - Admin Page + */ +.frm-admin-page-formidableedit #wpbody-content > *:not(.frm-review-notice):not(.frm_previous_install):not(.frm-banner-alert):not(#frm-svg-icons-pack), +#wpbody-content > .updated, +#wpbody-content > #update-nag, +#wpbody-content > .update-nag, +#wpbody-content > .notice, +#wpbody-content > .error:not(.frm_previous_install), +.frm-white-body .updated, +.frm-white-body .notice, +.frm_wrap > .wrap > .notice, +.frm-white-body .error:not(.frm_previous_install) { + display: none; +} + +.frm-admin-page-formidableedit #frm_builder_page { + display: block !important; +} + +.frm-white-body .updated, +.frm-white-body .error { + margin: 0; + padding: 10px 20px; +} + +/** + * Components - Modal + */ +.frm-modal:not(#frm-dismissable-cta) .postbox { + max-height: 600px; + overflow: hidden; + margin-bottom: 0; +} + +.frm-modal .postbox .frm_modal_top, +.frm-dialog .frm_common_modal .postbox > div:first-child, +.frm-error-modal .frm_modal_top { + padding: var(--gap-md) var(--gap-md) 0; + position: relative; +} + +.frm-modal h2, +.frm-modal .postbox .inside h2, +.frm-modal .postbox .frm-modal-title, +.frm-dialog .frm_common_modal .postbox > div:first-child > div:first-child, +.frm-error-modal .frm-modal-title { + display: inline-block; + font-size: var(--text-lg); + color: var(--grey-900); + font-weight: 600; + margin: 0; + padding: 0; +} + +.frm-modal h3 { + font-weight: 500; +} + +/* Dismiss icon button */ +.frm-inline-modal > a.dismiss, +.frm-modal .postbox > a.dismiss, +.frm-modal .postbox .frm-modal-title + div:last-child, +.frm-dialog .frm_common_modal .postbox > div:first-child > div:last-child { + position: absolute; + top: 19px; + right: 19px; + display: flex; + z-index: 2; +} + +body.rtl .frm-inline-modal > a.dismiss, +body.rtl .frm-modal .postbox > a.dismiss, +body.rtl .frm-modal .postbox .frm-modal-title + div:last-child, +body.rtl .frm-dialog .frm_common_modal .postbox > div:first-child > div:last-child { + right: unset; + left: 30px; +} + +.frm-info-modal .postbox > a.dismiss, +.frm-inline-modal > a.dismiss { + right: 13px; + top: 13px; +} + +.frm-modal .postbox .frm-modal-title + div:last-child a, +.frm-modal a.dismiss .frmsvg, +.frm_common_modal .frm_modal_top a .frmsvg { + color: var(--grey-500); +} + +.frm-modal .postbox .frm-modal-title + div:last-child a:hover, +.frm-modal a.dismiss .frmsvg:hover, +.frm_common_modal .frm_modal_top a .frmsvg:hover { + color: var(--grey-700); +} + +.frm-modal .frm_modal_content > div.inside, +.frm_common_modal .frm_modal_content > div.inside { + padding: var(--gap-md); + margin: 0; + font-size: var(--text-sm); + color: var(--grey-700); +} + +.frm-modal p { + color: var(--grey-900); +} + +.frm_common_modal .postbox { + display: flex; + flex-direction: column; +} + +.frm-modal .postbox > div.inside .cta-inside { + overflow-y: auto; + height: auto; +} + +.frm_modal_footer { + padding: 0 var(--gap-md) var(--gap-sm); + text-align: right; +} + +body.frm-body-with-open-modal { + overflow-y: hidden; +} + +/** + * Components - Template List + */ +/* These template list styles are still used to list the View types in the New View modal. */ +.frm-templates-list { + margin-top: 0; +} + +.frm-templates-list.frm_grid_container li { + margin-bottom: 0; +} + +.frm-templates-list li { + vertical-align: top; + position: relative; + box-sizing: border-box; + border-radius: 6px; + border: 1px solid transparent; + text-align: left; +} + +.frm-templates-list li:not(.frm_hidden) { + display: inline-block; +} + +.frm-templates-list.frm-categories-list li { + width: 100%; +} + +.frm-templates-list li.frm-selectable { + cursor: pointer; +} + +.frm-templates-list li.frm-selectable:hover { + background: var(--light-blue); + border-color: rgba(65, 153, 253, 0.5); +} + +.frm-templates-list li.frm-selectable:hover h3, +.frm-templates-list li.frm-selectable:hover p { + max-width: calc(100% - 65px); +} + +.frm-templates-list .frm-featured-form { + display: flex; + width: 100%; +} + +.frm-templates-list li .frm-featured-form { + padding: 7px 5px; +} + +.frm-templates-list li li > div { + padding-left: 0; +} + +.frm-templates-list li > div > div { + vertical-align: middle; +} + +.frm-category-icon, +.frm-icon-wrapper { + background: var(--primary-500); + border-radius: var(--small-radius); + color: #fff; + width: 32px; + height: 32px; + font-size: 18px; + box-sizing: border-box; + align-self: center; + justify-content: center; + align-items: center; + display: inline-flex; +} + +.frm-templates-list li .frm-category-icon { + overflow: hidden; +} + +.frm-templates-list li h3, +.frm-templates-list li p { + text-align: left; + margin: 0; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} + +.frm-templates-list li h3, +.frm-templates-list .frm-install-template h3 { + font-size: var(--text-sm) !important; +} + +.frm-templates-list .frm-install-template div { + text-align: left; +} + +#frm_leave_email, +#frm_code_from_email { + width: 480px; + max-width: 100%; +} + +.frm-templates-list.frm-categories-list li > div > div:last-child { + padding-left: 0; +} + +.frm-hover-icons { + position: absolute; + right: 0; + top: 17px; /* Template item height - borders - icon height */ + max-width: 91px; + height: 100%; + box-sizing: border-box; + padding: 0 10px 0 5px !important; + border-radius: var(--small-radius); + text-align: right; + display: flex; + gap: 5px; +} + +.frm-ready-made-solution .frm-hover-icons { + visibility: hidden; +} + +.frm-ready-made-solution:hover .frm-hover-icons { + visibility: visible; +} + +.frm-hover-icons a { + width: 22px; + height: 22px; + font-size: var(--text-md); + display: inline-flex; + align-items: center; + justify-content: center; + border-radius: 50%; + box-sizing: border-box; + line-height: var(--leading); + text-align: center; +} + +.frm-hover-icons > .frm-preview-form, +.frm-hover-icons > .frm-delete-form { + border: 1px solid var(--primary-500); +} + +.frm-hover-icons > .frm-create-form, +.frm-ready-made-solution .frm-hover-icons a { + background-color: var(--primary-500); +} + +.frm-hover-icons > a .frmsvg { + width: 14px; + height: 14px; + vertical-align: baseline; +} + +.frm-hover-icons > .frm-preview-form .frmsvg, +.frm-hover-icons > .frm-delete-form .frmsvg { + color: var(--primary-500); +} + +.frm-hover-icons > .frm-unlock-form { + background-color: var(--primary-500); +} + +.frm-hover-icons > .frm-unlock-form .frmsvg { + background-color: var(--primary-500); +} + +.frm-ready-made-solution .frmsvg { + width: 14px; + height: 14px; +} + +.frm-hover-icons .frm-create-form svg, +.frm-ready-made-solution .frm-hover-icons svg { + color: #fff; +} + +.frm-hover-icons .frm-create-form:hover, +.frm-ready-made-solution .frm-hover-icons a:hover, +.frm-hover-icons > .frm-unlock-form:hover, +.frm-hover-icons > .frm-unlock-form:hover .frmsvg { + background-color: var(--primary-700) !important; +} + +.frm-hover-icons .frm-preview-form:hover, +.frm-hover-icons .frm-delete-form:hover { + border: 1px solid var(--primary-700) !important; +} + +.frm-hover-icons .frm-preview-form:hover .frmsvg, +.frm-hover-icons .frm-delete-form:hover .frmsvg { + color: var(--primary-700) !important; +} + +.frm-application-card h4 .frmsvg, +.frm-locked-template h3 .frmsvg { + height: var(--text-sm); + width: var(--text-sm); + vertical-align: text-top; + color: var(--grey-500); +} + +/** + * Components - Modal Actions + */ +.frm-modal-back { + cursor: pointer; + margin-right: 4px; +} + +.frm-modal-cancel { + float: left; +} + +/** + * Components - Meta Tag + */ +.frm-meta-tag, +.frm-meta-tag:hover { + padding: var(--gap-2xs) var(--gap-xs); + border-radius: var(--small-radius); + font-weight: 600; + display: inline-flex; + background-color: #D9EBFF; + gap: 2px; +} + +.frm-meta-tag.frm-grey-tag, +.frm-meta-tag.frm-grey-tag:hover { + background-color: var(--sidebar-hover); + color: var(--grey-900); +} + +.frm-meta-tag.frm-red-tag, +.frm-meta-tag.frm-red-tag:hover { + background: var(--error-100); + color: var(--error-700); +} + +.frm-meta-tag.frm-orange-tag, +.frm-meta-tag.frm-orange-tag:hover { + background-color: #FEF7F4; + color: var(--orange); +} + +.frm-meta-tag.frm-green-tag, +.frm-meta-tag.frm-green-tag:hover { + background-color: var(--success-500); + color: #fff; +} + +.frm-entry-status-0, +.frm-meta-tag.frm-lt-green-tag, +.frm-meta-tag.frm-lt-green-tag:hover { + background-color: var(--success-100); + color: var(--success-800); +} + +.frm-meta-tag.frm-new-pill { + background-color: var(--success-500); + vertical-align: text-bottom; +} + +.frm_add_field span + .frm-meta-tag { + margin-left: 0; +} + +/** + * Components - Upgrade List + */ +/* Start entry statuses */ +.frm-entry-status { + font-weight: 500; +} + +.frm-entry-status-1 { + color: #7A4D05; + background: #FFF2D2; +} + +/* End entry statuses */ +#frm-create-footer { + padding: 15px 20px; +} + +li .frm-hover-icons .frm-preview-form, +.frm-hover-icons .frm-unlock-form, +.frm-locked-template .frm-hover-icons .frm-create-form, +.frm-modal-back { + display: none; +} + +.frm-locked-template .frm-hover-icons .frm-unlock-form, +li[data-preview] .frm-hover-icons .frm-preview-form { + display: inline-flex; +} + +.frm-modal-back svg { + color: #7F7F7F; +} + +#frm-upgrade-body-list-wrapper > div { + display: inline-block; + width: 33.3333333333%; + vertical-align: top; + text-align: left; + margin-bottom: 10px; +} + +#frm-upgrade-body-list-wrapper ul { + padding-left: 40px; +} + +#frm-upgrade-body-list-wrapper ul li::before { + content: "\2022"; + color: var(--primary-500); + display: inline-block; + width: 1em; + margin-left: -1em; +} + +/** + * Components - Embed Modal + */ +.frm-embed-modal-content { + padding: var(--gap-md); +} + +.frm-embed-modal-content.frm-loading-page-options { + display: flex; + justify-content: center; +} + +#frm_embed_modal .frm_embed_example { + background: var(--sidebar-color); + border: 1px solid var(--sidebar-hover); + border-radius: var(--small-radius); + color: var(--grey-900); + font-size: var(--text-sm); + padding-right: var(--gap-lg); + width: 100%; + height: auto !important; + resize: none; +} + +#frm_embed_modal textarea.frm_embed_example { + padding-bottom: 0; +} + +.frm-embed-modal-content > div a { + position: absolute; + right: 0; + top: 0; +} + +.frm-embed-modal-content > div { + position: relative; + margin-bottom: var(--gap-sm); +} + +.frm-embed-modal-content > div:last-child { + margin-bottom: 0; +} + +.frm-embed-modal-content svg[id^=frm_copy_embed_] { + position: absolute; + bottom: 10px; /* Input height - SVG height */ + right: 10px; + cursor: pointer; + opacity: 0.5; +} + +.frm-border-info-box, +.frm-embed-modal-option { + border-radius: var(--small-radius); + border: 1px solid var(--grey-300); + padding: var(--gap-sm); + cursor: pointer; + display: flex; + gap: var(--gap-sm); + font-size: var(--text-sm); +} + +.frm-embed-modal-option + .frm-embed-modal-option { + margin-top: var(--gap-sm); +} + +.caret.rotate-270, +.frm-embed-modal-option .caret { + align-self: center; + margin-left: auto; + transform: rotate(-90deg); +} + +#frm_embed_modal .frm_modal_footer { + display: none; +} + +#frm_embed_modal.frm-on-page-2 .frm_modal_footer { + display: block; +} + +.frm-embed-modal-content ul { + max-height: 300px; + overflow-y: scroll; +} + +.frm-embed-modal-wrapper.frm-dialog { + overflow: visible; +} + +/** + * Components - Bulk Options + */ +#frm-bulk-modal .frm_grid_container { + grid-template-columns: repeat(12, 8.33%); + grid-gap: 0; +} + +#frm-bulk-modal .frm8 { + border-right: 1px solid var(--grey-300); + padding: 10px 20px 10px var(--gap-lg); +} + +#frm-bulk-modal .frm4 { + padding: 10px 0; +} + +.frm-inline-modal .howto { + margin: 5px 0 10px; + color: var(--grey); +} + +.frm-inline-modal .frm_code_list + .howto { + margin-bottom: 0; +} + +#frm_bulk_options { + height: 240px; + width: 100%; + border: none; + box-shadow: none; + padding: 0; +} + +.frm-bulk-edit-link { + display: flex; + align-items: center; + justify-content: flex-end; + gap: var(--gap-2xs); + font-size: var(--text-sm); + margin: 12px 0 12px auto; +} +.frm-bulk-edit-link .frm-bulk-edit-link { + margin: 0; +} + +/** + * Components - Small Add + */ +.frm-small-add { + font-size: var(--text-sm) !important; +} + +.frm-small-add span { + color: var(--primary-500); + font-size: 12px; + height: 12px; + width: 12px; +} + +/** + * Components - Image From URL + */ +.frm_no_captcha_text { + font-weight: 700; + color: #A00; +} + +.frm_image_from_url { + height: 50px; +} + +/** + * Components - Dropdown + */ +/*Switch form dropdown*/ +h1 .fa-caret-down { + font-size: 18px; +} + +.caret { + display: inline-block; + width: 19px; + height: 9px; + margin-right: -8px; + vertical-align: middle; +} + +.caret, +.wp-admin .frm_wrap select, +.frm_wrap .frm_form_builder select, +.frm_wrap .ui-autocomplete-input { + background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%; + padding-right: var(--gap-lg) !important; +} + +.caret { + padding-right: var(--gap-xs) !important; + background-position-x: 5px; +} + +.frm-btn-group .caret { + float: right; + margin-top: calc(var(--text-md) / 2); +} + +.dropdown { + position: relative; +} + +.dropdown-toggle:focus { + outline: 0; +} + +.frm_wrap .ui-autocomplete, +#frm_adv_info.frm-dropdown-menu, +.frm-dropdown-menu { + /* Copied from .dropdown-menu rules from Bootstrap */ + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + padding-left: 4px; + padding-right: 4px; + margin: var(--gap-xs) 0 0; + text-align: left; + list-style: none; + background: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid var(--grey-100); + border-radius: 0.25rem; + box-shadow: var(--box-shadow-lg); + /* Custom rules */ + max-height: 200px; + overflow-y: auto; + overflow-x: hidden; + font-size: var(--text-md); + width: auto; + min-width: 160px; +} + +.frm6 .frm-dropdown-menu { + min-width: 100px; + max-width: 99%; +} + +#frm_bs_dropdown .frm-dropdown-menu { + max-width: 400px; +} + +.field_type_list .frm-dropdown-menu { + min-width: 150px !important; +} + +#frm_field_group_controls .frm-dropdown-menu, +.frm-field-action-icons .frm-dropdown-menu { + min-width: 180px !important; +} + +.frm-field-action-icons .frm-dropdown-toggle svg { + color: #9EA9B8; +} + +.multiselect-container.frm-dropdown-menu, +#search-submit .frm-dropdown-menu { + min-width: 200px !important; +} + +.preview .frm-dropdown-menu { + min-width: 230px !important; +} + +.frm-dropdown-menu.dropdown-menu-right { + right: 0; + left: auto; +} + +.frm-dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} + +.frm-dropdown-menu > .dropdown-item { + margin: 0; +} + +.frm-select-list-item, +.frm_wrap .ui-autocomplete li > div, +.multiselect-container button.multiselect-option, +.frm-dropdown-menu > .dropdown-item > a, +.frm-dropdown-menu .frm_dropdown_li { + clear: both; + font-weight: 400; + white-space: nowrap; + text-decoration: none; + border-radius: var(--small-radius); +} + +.frm-dropdown-menu > .active > a, +.frm-dropdown-menu > .active > a:hover, +.frm-dropdown-menu > .active > a:focus { + text-decoration: none; + outline: 0; +} + +.frm-select-list-item.disabled, +.frm-dropdown-menu > .disabled > a, .frm-dropdown-menu > .disabled > a:hover, .frm-dropdown-menu > .disabled > a:focus { + color: #999; +} + +.frm-select-list-item.disabled:hover, +.frm-dropdown-menu > .disabled > a:hover, +.frm-dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + cursor: not-allowed; +} + +.open > .frm-dropdown-menu { + display: block; +} + +.open > a { + outline: 0; +} + +.dropdown-header { + display: block; + padding: 3px 10px; + font-size: var(--text-xs); + color: var(--grey-400); +} + +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} + +.dropdown-menu-right > .frm-dropdown-menu, +.pull-right > .frm-dropdown-menu { + right: 0; + left: auto; +} + +.navbar-fixed-bottom .dropdown .caret { + border-top: 0 dotted; + border-bottom: 4px solid #000; + content: ""; +} + +.navbar-fixed-bottom .dropdown .frm-dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} + +.btn { + border: 1px solid #ddd; + background: #fff; + height: 28px; + line-height: var(--leading); +} + +a.frm_option_icon::before { + color: var(--primary-500); + font-size: 22px; + width: 22px; + height: 22px; +} + +a.frm_option_icon:focus::before, +a.frm_option_icon:hover::before { + color: var(--primary-700); +} + +.frm_top_left .frm-dropdown-toggle { + color: #999; +} + +.frm-card ol { + margin-left: 15px; +} + +.frm-dropdown-toggle { + text-decoration: none; +} + +.frm-card .frm-dropdown-toggle { + border: 1px solid var(--grey-300); + border-radius: var(--small-radius); + font-size: 13px; + color: var(--grey-700); + padding: 7px 20px; +} + +.frm_actions_dropdown .frm-dropdown-menu { + font-size: var(--text-sm); + color: #5F6C72; +} + +.frm-dropdown-menu .frm_icon_font { + vertical-align: middle; + color: #5F6C72; + margin-right: 3px; +} + +/* BS Multiselect */ +.multiselect-container.frm-dropdown-menu { + top: auto; + left: auto; + font-size: var(--text-sm); + padding: 4px; + margin-bottom: 3px; +} + +/** + * Accordion + */ +#post-body-content + .frm-right-panel h3.accordion-section-title { + padding: 7px 10px 8px 14px; + font-size: var(--text-md); + color: var(--grey-700); +} + +.frm-with-line, +.accordion-section-content h4 { + font-size: var(--text-md); + font-weight: 400; + margin: 20px -20px 10px; + padding: 0 20px; + color: var(--grey-700); + position: relative; + border: none !important; +} + +.frm-with-line span, +.accordion-section-content h4 span { + background: #fff; + padding: 0 var(--gap-xs); + position: relative; + display: inline-block; + z-index: 2; +} + +.accordion-section-content h4 span { + background: var(--sidebar-color); +} + +.frm-right-panel .frm-with-line span { + background: var(--sidebar-color) !important; + margin-left: -4px; +} + +.frm-right-panel .frm-inline-modal .frm-with-line span { + background: #fff !important; +} + +.frm-with-line::before, +.accordion-section-content h4::before { + content: ""; + display: block; + position: absolute; + border-bottom: 1px solid var(--grey-300); + left: 0; + width: 100%; + top: 50%; +} + +.control-section .accordion-section-title::after, +.customize-pane-child .accordion-section-title::after { + top: 15px; +} + +.accordion-container .frm-dropdown-menu { + min-width: 40px; +} + +.frm-btn-group .multiselect.dropdown-toggle { + box-sizing: border-box; + min-height: unset; + cursor: pointer; +} + +.accordion-container .frm-dropdown-menu::before, +.accordion-container .multiselect.dropdown-toggle::before { + font-family: "s11-fp" !important; +} + +/** + * Components - Multiselect + */ +.multiselect-container { + position: absolute; + list-style-type: none; + margin: 0; + padding: 0; + width: 100%; + max-width: 250px; +} + +.multiselect-container button.multiselect-option { + width: 100%; + text-align: left; + border: none; + margin-bottom: 4px; +} + +.multiselect-container button.multiselect-option label { + margin-left: 5px; +} + +.accordion-container .multiselect-container label { + padding: 3px 19px 3px 7px; +} + +.frm-btn-group.btn-group > .btn-group:nth-child(2) > .multiselect.btn { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} + +.frm-btn-group.btn-group, .frm-btn-group.btn-group-vertical { + display: block; +} + +.multiselect-option label { + max-width: calc(100% - 22px); + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; +} + +/** + * Components - Fields + */ +.frm_scale { + text-align: center; + float: left; + margin-right: 10px; +} + +.frm_scale input { + display: block; + margin: 5px; +} + +.frm_multi_fields_container { + float: left; +} + +.frm_multi_fields_container, +.frm_form_builder .frm_form_fields input[type=tel] .frm_form_builder .frm_form_fields input[type=range], +.frm_form_builder .frm_form_fields input[type=text] { + width: 100%; + height: auto; +} + +.frm_form_builder .frm_time_wrap .frm_time_sep { + vertical-align: sub; + vertical-align: -webkit-baseline-middle; +} + +.frm_form_builder input[type=range]::-webkit-slider-runnable-track { + background-color: var(--blue-border); +} + +.frm_form_builder input[type=range]::-moz-range-track { + background-color: var(--blue-border); +} + +.frm_form_builder input[type=range]::-ms-fill-lower { + background-color: var(--blue-border); +} + +.frm_form_builder input[type=range]::-ms-fill-upper { + background-color: var(--blue-border); +} + +.frm-embed-field-placeholder { + text-align: center; + height: 145px; + display: flex; + align-items: center; + justify-content: center; +} + +.frm-fake-field { + display: block; + height: 25px; + background-color: var(--light-blue); + border: 1px solid var(--grey-300); + margin: 10px 0; + border-radius: var(--small-radius); +} + +.frm-embed-message { + position: absolute; + background: #fff; + border: 1px solid var(--grey-300); + color: var(--grey-700); + padding: var(--gap-md); + font-size: var(--text-lg); + max-width: 200px; + min-width: 50%; + margin: 0 var(--gap-md); + overflow: hidden; + text-overflow: ellipsis; +} + +.frm-summary-message { + top: 50%; + left: 50%; + padding: 15px 0; + font-size: var(--text-md); + transform: translate(-50%, -50%); +} + +.frm-summary-learn-more { + font-size: inherit !important; +} + +.frm-single-settings .frm-embed-message { + width: 100%; + position: static; + border-radius: var(--small-radius); +} + +#new_fields input[type=text], +#new_fields input[type=number], +.frm_field_box .frm_form_fields > textarea, +.frm_form_fields .frm_form_field > textarea, +.frm_form_fields .frm_form_field > input[type=email], +.frm_form_fields .frm_form_field > input[type=url], +.frm_form_fields .frm_form_field > input[type=number], +.frm_form_fields .frm_form_field > input[type=tel], +.frm_form_fields .frm_form_field > input[type=text], +.frm_form_fields .frm_form_field > input[type=range] { + width: 100%; +} + +.frm_form_fields textarea.wp-editor-area { + width: 100%; + border: none; +} + +.frm_form_fields input[type=file], .frm_form_fields input[type=file]:disabled { + background: transparent; + border: none; + box-shadow: none; + width: auto; +} + +.frm_form_fields select { + width: auto; + max-width: 100%; +} + +input[type=radio], +input[type=checkbox] { + width: 16px; + padding: 0; +} + +.frm_grid_container > p, +.frm_grid_container > p.frm_form_field, +.frm_grid_container > div.frm_form_field, +#new_fields .frm_grid_container > p { + margin-top: 8px; + margin-bottom: 8px; + margin-right: 0; +} +.frm_grid_container > p > label:only-child, +.frm_grid_container > p.frm_form_field > label:only-child, +.frm_grid_container > div.frm_form_field > label:only-child, +#new_fields .frm_grid_container > p > label:only-child { + margin-bottom: 0; +} + +.frm_grid_container > .frm-has-modal > p:only-child { + margin-bottom: var(--gap-xs); +} + +#new_fields div.frm_grid_container > .frm_primary_label { + margin-top: 8px; +} + +#new_fields .frm_primary_label + p, +#new_fields .frm_primary_label + .frm6 + .frm6, +#new_fields .frm_primary_label + .frm6 + .frm-inline-modal + .frm6 { + margin-top: 0; +} + +.frm_catlevel_2, .frm_catlevel_3, .frm_catlevel_4, .frm_catlevel_5 { + margin-left: 18px; +} + +.frm_wrap .frm-fields .auto_width, +.frm_form_fields input.auto_width, .frm_form_fields select.auto_width, .frm_form_fields textarea.auto_width { + width: auto !important; +} + +.frm_form_fields select.auto_width { + min-width: 60px; +} + +.frm_form_fields input:focus, .frm_form_fields select:focus, +.frm_form_fields textarea:focus, .frm_focus_field input { + background-color: #fff; + border-color: #ddd; +} + +.frm_form_builder .frm_radio, +.frm_form_builder .frm_checkbox { + display: block; + margin-bottom: 2px; +} + +.frm_form_builder .frm_radio label, +.frm_form_builder .frm_checkbox label { + font-size: var(--text-sm); +} + +/** + * Components - Copied Frontend + */ +.horizontal_radio .frm_radio, +.horizontal_radio .frm_checkbox { + margin-right: 5px; + display: inline-block; +} + +.frm_form_builder .frm_opt_container .frm_radio.frm_image_option label, +.frm_form_builder .frm_opt_container .frm_checkbox.frm_image_option label { + display: flex; + align-items: center; + gap: 9px; + white-space: normal; +} + +.frm_form_field.frm_two_col .frm_opt_container, +.frm_form_field.frm_three_col .frm_opt_container, +.frm_form_field.frm_four_col .frm_opt_container { + display: grid; + grid-template-columns: repeat(2, 1fr); + grid-auto-rows: max-content; + grid-gap: 0 2.5%; +} + +.frm_form_field.frm_three_col .frm_opt_container { + grid-template-columns: repeat(3, 1fr); +} + +.frm_form_field.frm_four_col .frm_opt_container { + grid-template-columns: repeat(4, 1fr); +} + +.frm_form_field.frm_two_col .frm_radio, +.frm_form_field.frm_two_col .frm_checkbox, +.frm_form_field.frm_three_col .frm_radio, +.frm_form_field.frm_three_col .frm_checkbox, +.frm_form_field.frm_four_col .frm_radio, +.frm_form_field.frm_four_col .frm_checkbox { + grid-column-end: span 1; +} + +/** + * Components - Fields Part 2 + */ +.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox], +.frm_wrap .with_frm_style .frm_radio input[type=radio], +.frm_wrap input[type=checkbox], +.frm-white-body input[type=checkbox], +.field-group input[type=checkbox], +.frm_scale input[type=radio], +.frm_radio input[type=radio], +.frm_checkbox input[type=checkbox] { + width: 15px; + min-width: 15px; + height: 15px; + border: 1px solid var(--grey-300); + box-shadow: var(--box-shadow-sm); + -webkit-appearance: none; +} + +.frm_wrap input[type=radio] { + border-color: var(--grey-300); + box-shadow: var(--box-shadow-sm); +} +.frm_wrap input[type=radio]:checked::before { + background-color: var(--primary-500); +} + +.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox], +.frm_wrap input[type=checkbox], +.frm-white-body input[type=checkbox], +.field-group input[type=checkbox], +.frm_checkbox input[type=checkbox] { + border-radius: 4px; +} + +.frm-white-body input[type=checkbox]:checked, +.frm_wrap input[type=checkbox]:checked { + background-color: var(--border-color-active, var(--primary-500)) !important; + border-color: var(--border-color-active, var(--primary-500)) !important; +} + +.frm-white-body input[type=checkbox]:checked:focus, +.frm_wrap input[type=checkbox]:checked:focus { + border-color: var(--border-color-active, var(--primary-500)); +} + +.frm-white-body input[type=checkbox]:checked::before, +.frm_wrap input[type=checkbox]:checked::before { + content: ""; + display: block; + width: 100% !important; + height: 100% !important; + background-image: url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.6667 1.5L4.25001 7.91667L1.33334 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") !important; + background-size: 8px !important; + background-repeat: no-repeat !important; + background-position: center !important; + margin: 0; +} + +.frm_radio input[type=radio], +.frm_checkbox input[type=checkbox] { + margin-right: 5px; +} + +.frm_inner_field_container { + margin-bottom: 10px; +} + +.frm_conf_inline .frm_inner_field_container, +.frm_conf_inline .frm_inner_conf_container { + width: 49%; + float: left; +} + +.frm_conf_inline .frm_inner_field_container { + margin-right: 2%; + clear: both; +} + +.frm_inner_field_container > label { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; +} + +.frm_field_box:not(.edit_field_type_divider):hover > .frm_inner_field_container > label, +.frm_field_box .divider_section_only:hover > .frm_inner_field_container > label, +li.ui-state-default.selected > .frm_inner_field_container > label { + max-width: calc(100% - 100px); +} + +.frm-drag-fade { + background-color: var(--lightest-grey) !important; + border-radius: 4px; +} + +.frm-drag-fade * { + opacity: 0; +} + +.frm-dragging .divider_section_only, +.frm-dragging .frm_field_box { + pointer-events: none; +} + +.frm_form_settings #op-popup, +.frm_form_settings com-1password-op-button, +.frm_conf_below .frm_conf_field_container .frm_primary_label, +.frm_conf_inline .frm_inner_field_container .frm-show-click a, +.frm_conf_below .frm_conf_field_container .frm-show-click a { + display: none !important; +} + +.frm_conf_inline .frm_inner_field_container .frm-field-action-icons { + position: absolute; + right: 5px; +} + +.frm_conf_below .frm_conf_field_container { + margin-top: 10px; +} + +.frm_calc_dec { + width: 50px; +} + +.frm_ext_sc { + display: none; +} + +.frm_long_input { + width: 100% !important; + box-sizing: border-box; +} + +/** + * Utilities - Text Align - Part 2 + */ +.frmcenter { + text-align: center; +} + +/** + * Components - Image Help + */ +img.frm_help { + margin-left: 2px; + vertical-align: middle; + padding-bottom: 2px; +} + +/** + * Components - Loading + */ +.frm_spinner.frm-wait, +.frm_spinner.spinner { + float: left; + visibility: hidden; + margin: 0 10px; +} + +.frm_visible_spinner.frm-wait, +.frm_visible_spinner.spinner { + visibility: visible; + float: none; +} + +.frm_form_action_settings .frm_spinner.frm-wait, +.frm_form_action_settings .frm_spinner.spinner { + visibility: visible; + float: none; + vertical-align: bottom; +} + +.frm_form_action_settings .frm_loading { + font-size: 15px; + text-align: center; +} + +.frm_ajax_settings_tab .frm-wait, +.frm_ajax_settings_tab .spinner { + visibility: visible; + float: none; + margin-top: 20px; +} + +.wp-core-ui .frm_loading_button.button-primary.frm-button-primary, +.frm_loading_button, +.frm_loading_form.frm_button_submit { + position: relative !important; + opacity: 0.8; + color: transparent !important; + text-shadow: none !important; +} + +.frm_loading_button:hover, +.frm_loading_button:active, +.frm_loading_button:focus, +.frm_loading_form.frm_button_submit:hover, +.frm_loading_form.frm_button_submit:active, +.frm_loading_form.frm_button_submit:focus { + cursor: not-allowed; + color: transparent !important; + outline: none !important; + box-shadow: none; +} + +.frm-wait { + margin: 20px; + width: 20px; + height: 20px; + position: relative; + display: inline-block; +} + +#frm-show-fields .frm-wait:only-child { + position: absolute; + left: 50px; + top: 30px; +} + +.frm-wait::before, +.frm_loading_button::before, +.frm_loading_form.frm_button_submit::before { + content: ""; + display: inline-block; + position: absolute; + background: transparent; + border: 1px solid #fff; + border-top-color: transparent; + border-left-color: transparent; + border-radius: 50%; + box-sizing: border-box; + top: 50%; + left: 50%; + margin-top: -10px; + margin-left: -10px; + width: 20px; + height: 20px; + animation: spin 2s linear infinite; +} + +.frm-wait::before { + border-bottom-color: var(--primary-700); + border-right-color: var(--primary-700); +} + +.frm_loading_button.frm-button-secondary::before { + border-bottom-color: var(--primary-500); + border-right-color: var(--primary-500); +} + +input[type=submit]:focus { + outline: none !important; +} + +/* Effects */ +@keyframes spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} +/** + * Components - Fields Part 3 + */ +label input[type=checkbox], label input[type=radio] { + vertical-align: inherit; +} + +#editorcontainer #dyncontent { + margin: 0; + width: 100%; + padding: 6px; + line-height: var(--leading); + border: 0 none; + outline: none; + box-sizing: border-box; +} + +/*ICONS*/ +.frm_postbox_icon { + margin: -6px 0 0 -10px; +} + +.frm_form_builder a:hover { + text-decoration: underline; +} + +.frm_form_builder .widget-title h4 { + padding: 10px 15px; +} + +.frm_form_builder .widget-top a.widget-action::after { + margin: 7px 12px 0; +} + +.frmbutton.frm_tgateway { + display: none !important; +} + +.frm_html_legend pre { + display: inline; +} + +#ed_fullscreen { + display: none !important; +} + +.frm_posttax_opt_list { + overflow: auto; + max-height: 200px; + background-color: #fff; +} + +.frm_posttax_opt_list p.howto { + font-size: 12px; +} + +.frm_border_bottom { + border-bottom: 1px solid var(--grey-300); + margin-bottom: 10px; + padding-bottom: 10px; +} + +.frm_posttax_opt_list .frm_border_bottom span.howto { + padding-right: 10px; +} + +.frm_posttax_opt_list .frm_border_bottom input { + margin-right: 1px; +} + +.frm_add_remove div.frm_form_field { + padding-bottom: 5px; +} + +.frm_field_opts_list { + max-height: 260px; + overflow: auto; +} + +/** + * Utilities - Background + */ +.frm_white_bg { + background-color: #fff; +} + +/** + * Utilities - Border - Light + */ +.frm_border_light { + border: solid 1px #ddd; +} + +/** + * Components - Form Input Styles + */ +#new_fields .form-table input[type=text], +#new_fields .form-table select, +.form-table .form-field input, +.form-table .form-field .quicktags-toolbar input, +.form-field input, .form-field .quicktags-toolbar input { + width: auto; +} + +/** + * Components - Affiliate Link + */ +.frm_aff_link { + float: right; +} + +/** + * Component: Select Box + */ +.frm_select_box { + text-align: center; + font-weight: 700; + width: 100%; + background-color: transparent !important; +} + +.wp-list-table input.frm_select_box { + text-align: left; + font-weight: 400; + font-size: inherit !important; + border: none; + padding: 0 !important; + background-color: transparent !important; +} + +.wp-list-table input.frm_select_box:focus { + outline: none; + box-shadow: none; +} + +.wp-list-table .frm_no_items.frm_select_box { + text-align: center; + font-weight: 700; + width: 500px; + max-width: 100%; + font-size: inherit; +} + +/** + * Component: Options Panel + */ +#frm-options-panel { + padding: 0 var(--gap-sm); + color: var(--grey-900); + overflow: hidden; +} + +.frm-right-panel a.frm_add_logic_link, +#frm-options-panel h3 { + font-size: var(--text-md); + font-weight: 500; + background-color: #fff; + border-radius: var(--small-radius); + padding: 18px var(--gap-sm); + margin: 2px calc(-1 * var(--gap-sm)); + transition: background-color 200ms ease-out, box-shadow 200ms ease-out, color 200ms ease-out; +} +.frm-right-panel a.frm_add_logic_link .frmsvg, +#frm-options-panel h3 .frmsvg { + width: 13px; + height: 13px; + color: var(--grey-500); + transition: transform 300ms ease-in; +} +.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type), .frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child, +#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type), +#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child { + color: var(--grey-700); + box-shadow: var(--box-shadow-sm); +} +.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type) .frmsvg, .frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child .frmsvg, +#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type) .frmsvg, +#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child .frmsvg { + transform: rotate(-180deg); +} +.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed) + div, +#frm-options-panel h3:not(.frm-collapsed) + div { + padding-top: 6px; + padding-bottom: 6px; +} +.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed) + div.frm_grid_container, +#frm-options-panel h3:not(.frm-collapsed) + div.frm_grid_container { + padding-bottom: 14px; +} +.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed) + div.frm_grid_container > p:first-child, +#frm-options-panel h3:not(.frm-collapsed) + div.frm_grid_container > p:first-child { + margin-top: var(--gap-sm); +} +.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed) + div.frm_grid_container > p:first-child.frm6 + .frm6, +#frm-options-panel h3:not(.frm-collapsed) + div.frm_grid_container > p:first-child.frm6 + .frm6 { + margin-top: var(--gap-sm); +} +.frm-right-panel a.frm_add_logic_link.frm-collapsed, +#frm-options-panel h3.frm-collapsed { + color: var(--grey-500); + background-color: transparent; +} +.frm-right-panel a.frm_add_logic_link:hover, +#frm-options-panel h3:hover { + color: var(--grey-700); + background-color: #fff; + box-shadow: var(--box-shadow-sm); +} +.frm-right-panel a.frm_add_logic_link:focus-visible, +#frm-options-panel h3:focus-visible { + outline: 1px solid var(--primary-500) !important; + outline-offset: -1px; +} + +.frm-right-panel a.frm_add_logic_link:focus { + outline: auto; +} + +/** + * Component: Field Key + */ +.frm_field_key { + background-color: #F7F7F7; +} + +/** + * Component: Form Editor + */ +#frm_form_editor_container #edit-slug-box { + padding: 0; +} + +/** + * Component: Alt Table + */ +.frm-alt-table { + position: relative; + width: 100%; + border-collapse: collapse; + margin-top: 0.5em; + font-size: 15px; +} + +/* Before `applyZebraStriping` is executed, an empty space is displayed */ +#form_show_entry_page .frm-alt-table:not(.frm-zebra-striping)::before { + content: ""; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: #fff; +} + +.frm-alt-table th { + width: 200px; +} + +.frm-alt-table tr, +.frm-alt-table tr.frm-odd { + background-color: transparent; +} + +.frm-alt-table tr.frm-even { + background-color: var(--sidebar-color); +} + +.frm-alt-table th, +.frm-alt-table td { + background-color: transparent; + vertical-align: top; + text-align: left; + padding: 20px; +} + +.frm-alt-table h3 { + margin-bottom: 0; +} + +/** + * Component: Checkbox Button + */ +.form-field .frm_cb_button { + height: 22px; + line-height: 20px; + margin-bottom: 10px; + margin-right: 5px; +} + +/** + * Option Label + */ +.edit_field_type_select .frm_option_val_label { + margin-left: 12px; +} + +/** + * Components - Rich Text Editor + */ +.frm_rte { + background: url(../images/rte.png) no-repeat; +} + +.frm_rte .howto { + margin: 10px 0 46px; +} + +/** + * Component: Subform Section + */ +.subform_section { + margin: 25px; +} + +.subform_section, +.subform_section label, +.subform_section input { + opacity: 80; +} + +.subform_section .frm_sortable_field_opts { + display: none; +} + +#frm_form_editor_container .subform_section .frm_primary_label { + display: block; +} + +.subform_section.subform_break { + border-top: 1px dashed #ccc; +} + +/** + * Component: HTML Field + */ +.button-secondary.frm_html_field { + background-color: #ededed; + padding: 10px 20px; + line-height: inherit; + width: auto; + height: auto !important; + border-radius: 0; + box-sizing: content-box; +} + +.frm_html_field_placeholder { + margin-bottom: 10px; + text-align: center; +} + +.recaptcha_placeholder { + border: 1px solid #d3d3d3; + width: 300px; +} + +.turnstile_placeholder { + width: 300px; +} + +/** + * Component: RTE Textarea + */ +.frm_sorting .frm_rte textarea { + width: 653px; + background: #fff; + margin: 1px 0 0; + border: 1px solid #dfdfdf; + border-top: none; + border-radius: 0; + float: none !important; +} + +.frm_full_rte textarea { + width: 98%; + padding: 0; +} + +/** + * Component: Field Box + */ +.frm_field_box { + padding: 5px; + min-height: 20px; + margin: 10px 0; +} + +/** + * Components - Indent Options + */ +.frm_indent_opt, td.frm_indent_opt { + padding-left: 25px; +} + +/** + * Components - Charts + */ +.frm_charts object { + background: transparent; +} + +.frm_charts h2 { + height: 34px; +} + +/** + * Component: Sortable Placeholder + */ +.frm_single_option.ui-sortable-placeholder, +li.sortable-placeholder { + border: none; + margin: 0; + visibility: visible !important; + box-shadow: 2px -10px 0 2px var(--primary-500); +} + +#frm_form_editor_container > ul > .frm_single_option.ui-sortable-placeholder, +#frm_form_editor_container > ul > li.sortable-placeholder { + width: calc(100% - 5px) !important; + height: 0 !important; +} + +#frm_form_editor_container > ul > li > ul { + position: relative; +} + +#frm_form_editor_container > ul > li > ul > li.sortable-placeholder, +#frm_form_editor_container ul.start_divider > li > ul > li.sortable-placeholder { + position: absolute; + top: 20px; + bottom: 0; +} + +.edit_field_type_divider + li.sortable-placeholder { + box-shadow: 2px 5px 0 2px var(--primary-500); +} + +.start_divider li.sortable-placeholder { + box-shadow: 2px -5px 0 2px var(--primary-500); +} + +.frm-is-collapsed + .sortable-placeholder { + box-shadow: 2px 15px 0 2px var(--primary-500); +} + +.frm_single_option.ui-sortable-placeholder { + box-shadow: 0 0 1px 1px var(--primary-500); +} + +/** + * Component: Sorting Display + */ +.frm_sorting > li.edit_field_type_end_divider:first-child, +.frm-show-click, +li.ui-state-default.edit_field_type_divider .frm-show-click { + display: none; +} + +.frm_form_field.ui-sortable-helper .frm-field-action-icons, +.frm_form_field.ui-sortable-helper .frm_form_fields, +.frm_form_field.ui-sortable-helper .frm_description, +.frm_form_field.ui-sortable-helper .description { + display: none; +} + +.frm_form_field.ui-sortable-helper .frm_primary_label, +.frm_form_field.ui-sortable-helper .frm_inner_field_container { + margin: 0 !important; +} + +.frm-single-settings .frm-show-click { + display: block !important; +} + +.frm-show-hover, +.frm_single_visible_hover, +li.ui-state-default.edit_field_type_divider .frm-show-hover { + opacity: 0; + transition: opacity 0.15s ease-in-out; +} + +#frm-show-fields .frm-field-settings-open .frm-show-hover { + opacity: 1; +} + +.frm_sortable_field_opts { + margin-top: 5px; +} + +/** + * Component: Single Option + */ +.frm_single_option { + clear: both; + margin: 0 !important; + padding-bottom: 5px; +} +.frm_single_option input[type=radio], +.frm_single_option input[type=checkbox] { + margin-top: 0; +} +.frm_single_option .frm-with-right-icon input[type=text] + .frmsvg { + position: relative; + right: 27px; + width: 14px; + height: 14px; + padding: 0; + margin: var(--gap-2xs) 0 0; +} + +.frm_product_price_wrapper, +.frm_image_preview_wrapper, +#new_fields .frm_single_option select, +#new_fields .frm_single_option input[type=text] { + width: calc(100% - 106px) !important; + flex-grow: 1; +} + +.frm-right-panel .frm_single_option a.frm_remove_tag, +.frm_single_option a { + padding-left: 7px; +} + +.frm_single_option:hover .frm_single_visible_hover { + opacity: 100; +} + +.frm_single_option .frm-drag { + font-size: 23px; + width: 24px; + height: 24px; + margin-left: -6px; + margin-right: var(--gap-xs); + color: var(--grey-500); +} + +.frm_single_option .frm-drag::before { + vertical-align: middle; +} + +.frm-drag, +.frm_single_option.ui-sortable-helper { + cursor: move; +} + +.frm_option_key input[type=text] { + margin-top: var(--gap-xs) !important; + margin-left: 11px !important; +} +.frm_option_key input[type=checkbox] + input[type=text], +.frm_option_key input[type=radio] + input[type=text] { + margin-left: 30px !important; +} + +li.ui-state-default.selected .frm-show-click, +li.ui-state-default.selected.edit_field_type_divider .frm-show-click { + display: inline; + vertical-align: top; +} + +.frm_field_box:not(.edit_field_type_divider):hover > .frm_inner_field_container > .frm-show-hover, +.frm_field_box .divider_section_only:hover > .frm_inner_field_container > .frm-show-hover, +li.ui-state-default.selected > .frm_inner_field_container > .frm-show-hover, +li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover { + opacity: 100; +} + +li.frm_field_box > ul.frm_grid_container { + position: relative; +} + +/** + * Component: UI Icon + */ +.frm_sorting span.ui-icon { + width: 16px; +} + +/** + * Component: Entry Page + */ +body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) .frm_image_options .frm_image_option_container { + --field-border-width: 1px; + --border-color: var(--grey-300); + --border-color-active: var(--primary-500); + --border-radius: var(--small-radius); +} + +#form_show_entry_page .frm_file_link, +#form_show_entry_page .frm_image_option_container { + display: inline-flex; + flex-wrap: nowrap; + flex-direction: column; + text-align: center; + align-items: center; + width: 150px; + margin-right: 10px; + margin-bottom: 10px; +} + +#form_show_entry_page .frm_image_option_container img { + width: 150px; + height: 150px; + object-fit: cover; +} + +#form_show_entry_page .frm_file_link img { + max-width: 150px; + height: auto; +} + +#form_show_entry_page .frm_file_link ~ br { + display: none; +} + +#form_show_entry_page .frm_upload_label { + padding: 10px; +} + +#form_show_entry_page.frm_wrap .postbox { + overflow: hidden; +} + +.frm_image_option_container .frm_image_placeholder_icon svg { + height: 150px; +} + +.frm_list_entry_page .frm_file_link, +.frm_list_entry_page .frm_image_option_container.frm_label_with_image { + display: block; + text-align: center; +} + +.frm_list_entry_page .frm_image_option_container img { + width: 75px; + height: 75px; + object-fit: cover; +} + +.frm_list_entry_page img { + max-width: 100%; + height: auto; +} + +.frm_image_option_container .frm_empty_url { + background-color: var(--sidebar-color); +} + +.frm_list_entry_page .frm_image_option_container .frm_text_label_for_image { + display: block; + padding: 5px 0 10px; +} + +.frm_list_entry_page .frm_upload_label, +.frm-summary-page-wrapper .frm_text_label_for_image { + display: block; +} + +/** + * Welcome and Global Settings Image Options + */ +#frm-welcome .frm_image_options .frm_image_option_container, +#form_global_settings .frm_image_options .frm_image_option_container { + background: var(--sidebar-color); +} + +#frm-welcome .frm_image_option_container svg, +#form_global_settings .frm_image_option_container svg { + max-width: calc(100% - 20px); +} + +/** + * Component: Option Templates + */ +/* Style image option container for Directory add on. */ +#frm-new-template .frm_image_option_container svg { + height: 50px; + margin: 10px auto 0; +} + +/* Show an icon on top */ +.frm_image_option_container { + position: relative; +} + +.frm_text_label_for_image > svg { + width: 30px; + position: absolute; + top: 5px; + right: calc(50% - 15px); +} + +/* End show an icon on top */ +.frm_single_option .frm_option_key { + margin-top: 17px; +} +.frm_single_option .frm_option_key.frm_image_preview_wrapper { + margin-top: var(--gap-xs); +} + +/** + * Component: Image + */ +.frm_image_data { + margin-left: var(--gap-sm); + display: flex; + flex-direction: column; + font-size: var(--text-sm); + justify-content: space-around; + min-width: 0; /* Allows flex items to shrink below content size */ +} + +.frm_image_styling_frame { + display: flex; + align-items: stretch; + margin-left: 36px; + margin-bottom: var(--gap-xs); + width: 100%; +} +.frm_image_styling_frame img { + height: 54px; + width: 54px; + min-width: auto; + min-height: auto; + border-radius: 3px; + object-fit: cover; + object-position: center; +} +.frm_image_styling_frame .frm_email_attachment_icon img { + height: auto; + width: auto; + max-width: 54px; +} + +.frm_image_preview_title { + color: var(--grey-500); + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + min-width: 0; /* Critical for text truncation in flex */ + flex: 1 1 auto; /* Better flex behavior */ +} + +.frm_wrap .frm_choose_image_box { + cursor: pointer; + color: var(--primary-500); + background-color: #fff; + margin-left: 32px; + text-align: center; + width: 100%; +} + +.frm-type-ranking .frm_option_key .frm_choose_image_box { + margin-left: 11px !important; +} + +.frm_wrap .frm_choose_image_box:hover { + background: #fff; +} + +a.frm_remove_image_option, +.frm_remove_image_option { + color: var(--grey-400); + cursor: pointer; +} + +a.frm_remove_image_option:hover .frmsvg, +a.frm_remove_image_option:hover, +.frm_remove_image_option:hover { + color: rgba(40, 47, 54, 0.8); +} + +/** + * Component: Settings and Panel + */ +/* Form Settings Tabs */ +.frm-form-setting-tabs { + margin-top: var(--gap-sm) !important; +} + +.frm-right-panel > .postbox { + background-color: transparent; + border: none; + box-shadow: none; + margin: 0; +} + +.frm-right-panel .postbox.frm_with_icons .inside, +.frm-right-panel .postbox .inside, +.frm-right-panel .inside { + font-size: var(--text-md); + padding: 15px 20px 20px; + color: var(--grey-700); +} + +.frm-right-panel .misc-pub-section { + padding: var(--gap-xs) 0; + position: relative; +} + +.frm-right-panel .inside a, +.frm-form-setting-tabs a { + font-size: var(--text-md); + color: var(--grey-700); + padding: var(--gap-sm); + display: block; +} + +.frm-form-setting-tabs a { + color: var(--grey-900); + padding: var(--gap-sm) var(--gap-md); +} + +.frm-right-panel .inside a { + padding: 0; + color: var(--primary-500); + display: inline-block; +} + +.frm-right-panel .inside a:hover { + color: var(--primary-700); +} + +.frm-form-setting-tabs a:hover { + background: var(--sidebar-hover); + color: var(--grey-900); +} + +.frm-right-panel .inside i, +.frm-form-setting-tabs a i, +.frm-form-setting-tabs a .frmsvg { + margin: 0 5px; + display: inline-block; + width: 20px; + height: 20px; + color: var(--grey-500); +} + +.frm-form-setting-tabs a .frmsvg { + margin: 0; +} + +.frm-right-panel .inside a:hover i, +.frm-right-panel .inside a:hover .frmsvg, +.frm-form-setting-tabs a:hover .frmsvg, +.frm-form-setting-tabs a:hover span { + color: var(--grey-700); +} + +.frm_settings_form .tabs-panel { + padding: 0 25px; +} + +#form_settings_page .tabs-panel, +.frm_settings_form .tabs-panel { + max-height: initial !important; + min-height: 50px !important; +} + +#frm_adv_info .tabs-panel { + min-height: 0 !important; + overflow-x: hidden; + padding: 0; + border: none; + background: transparent; +} + +select.frm_cancelnew, input.frm_enternew { + width: 175px; +} + +.frm_posttax_opt_list { + border: 1px solid var(--grey-300); + padding: var(--gap-md); + border-radius: var(--small-radius); + margin: 5px 0 5px var(--gap-md); +} + +/* Color picker CSS */ +.frm-right-panel .wp-picker-open + .wp-picker-input-wrap { + position: absolute; + margin-left: calc((100% - 35px) * -1); + margin-top: 1px; + width: calc(100% - 36px); +} + +.frm-right-panel .wp-picker-container input[type=text].wp-color-picker { + border: none; + padding: 5px 8px; + font-family: inherit; + color: var(--grey-700); + font-size: var(--text-md); + width: 100%; + line-height: var(--leading); +} + +.frm-right-panel .wp-picker-input-wrap .wp-picker-clear { + display: none !important; +} + +.frm-right-panel .wp-picker-holder { + position: absolute; + z-index: 999; +} + +.frm-right-panel .wp-picker-input-wrap label { + margin-bottom: 0; +} + +.frm-right-panel .wp-picker-container .wp-color-result.button { + width: 100%; + overflow: hidden; + margin: 0 !important; + height: var(--h-md) !important; + padding: 0 0 0 var(--gap-lg) !important; + border-radius: var(--small-radius); + border-color: var(--grey-300); +} + +.frm-right-panel .wp-color-result-text { + line-height: var(--leading) !important; + font-size: var(--text-md); + background: #fff !important; + color: var(--grey-900); + padding: 5px 8px; + border-color: var(--grey-300); + text-align: left; +} + +.frm-right-panel .color-alpha { + width: var(--gap-lg) !important; +} + +.frm_grid_container .wp-picker-container { + width: 100%; + position: relative; +} + +.wp-picker-container button.wp-color-result { + border: 1px solid var(--grey-300) !important; +} + +.wp-picker-container .wp-picker-input-wrap input.hex.wp-color-picker { + max-width: 100%; + position: relative; +} + +.frm_end .wp-picker-holder { + margin-left: -145px; +} + +.frm_end.frm6 .wp-picker-holder { + margin-left: -86px; +} + +/* End of color picker CSS */ +/** + * Toggle Components + * + * These are the styles for the "Enable Formidable styling" toggle in the visual styler. + * To use this element, you can call the FrmHtmlHelper::toggle function. + */ +.frm_toggle_opt { + padding: 0; + white-space: normal; + display: inline; + vertical-align: middle; + font-weight: 400; +} + +.frm_on_label, +.frm_off_label { + color: var(--grey-700); +} + +.frm_toggle { + position: relative; + display: inline-block; + width: 40px; + height: var(--h-xs); + vertical-align: middle; +} + +.frm_toggle_block { + display: inline-flex !important; + gap: var(--gap-xs); + align-items: center; +} + +.frm_toggle input, +.frm_toggle_block input { + display: none !important; +} + +.frm_toggle_slider { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: var(--grey-200); + transition: 0.4s; + border-radius: 30px; +} + +.frm_toggle_slider::before { + box-sizing: border-box; + content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E"); + position: absolute; + left: 2px; + bottom: 2px; + display: flex; + align-items: center; + justify-content: center; + width: 20px; + height: 20px; + font-size: 20px; + line-height: 20px; + background-color: #fff; + border-radius: 50%; + transition: 0.4s; + box-shadow: var(--box-shadow-md); +} + +input:checked + .frm_toggle .frm_toggle_slider { + background-color: var(--primary-500); +} + +input:focus + .frm_toggle .frm_toggle_slider { + box-shadow: var(--box-shadow-md); +} + +input:checked + .frm_toggle .frm_toggle_slider::before { + transform: translateX(16px); + content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E"); +} + +input[disabled] + .frm_toggle_slider, +input[disabled] + .frm_toggle .frm_toggle_slider { + pointer-events: none; + cursor: text; + opacity: 0.5; +} + +.frm_toggle_opt ~ .frm_toggle .frm_toggle_slider::before { + content: "" !important; /* Don't show x/check if off label included or on builder page */ +} + +.rtl .frm_toggle_opt { + padding: 0 8px; +} + +.rtl .frm_toggle_slider::before { + left: 17px; +} + +.rtl input:checked + .frm_toggle .frm_toggle_slider::before { + transform: none !important; + left: 1px; +} + +/* Deprecated admin toggle */ +.frm_toggle_off, +.frm_toggle_on { + display: none; + color: #fff; + z-index: 999; + position: absolute; + font-size: 10px; + line-height: 20px; + left: 6px; +} + +.frm_toggle_off { + display: inline; + left: auto; + right: 5px; + color: var(--dark-grey); +} + +.frm_toggle_long { + width: 80% !important; + height: 28px; + display: inline-block !important; +} + +.frm_toggle_long .frm_toggle_slider { + background: var(--primary-700); + box-shadow: 0 0 0 2px var(--primary-700); +} + +.frm_toggle_long .frm_toggle_off, +.frm_toggle_long .frm_toggle_on { + width: 50%; + text-align: center; + font-size: 13px; + line-height: 28px; +} + +.frm_toggle_long .frm_toggle_on { + left: 0; +} + +.frm_toggle_long .frm_toggle_off { + right: 0; +} + +.frm_toggle_long .frm_toggle_slider::before { + width: 50%; + left: 0; + top: 0; + border-radius: var(--border-radius) 0 0 var(--border-radius); + height: 100%; + background-color: #fff; + color: var(--primary-color); + content: "" !important; +} + +.frm_toggle_long input:checked + .frm_toggle_slider::before { + transform: translateX(101%); + border-radius: 0 var(--border-radius) var(--border-radius) 0; +} + +input:checked + .frm_toggle_slider + .frm_toggle_on { + display: inline; +} + +input:checked + .frm_toggle_slider + .frm_toggle_on + .frm_toggle_off { + display: none; +} + +.frm_toggle_long .frm_toggle_on, +.frm_toggle_long input:checked + .frm_toggle_slider + .frm_toggle_on + .frm_toggle_off { + display: inline; + color: var(--primary-500); + font-weight: 400; +} + +.frm_toggle_long .frm_toggle_off, +.frm_toggle_long input:checked + .frm_toggle_slider + .frm_toggle_on { + color: #fff; + font-weight: 700; +} + +/* End toggle styling */ +/** + * Global Settings + */ +.tabs-panel { + height: auto !important; + min-height: 260px; +} + +.tabs-panel.panel_secondary { + min-height: 20px; + margin-top: 10px; + margin-left: 150px; +} + +label.frm-example-icon { + margin-right: 20px !important; + display: inline-block !important; +} + +#frm_stripe_icon { + border-radius: 5px; +} + +#captcha_settings .frm_primary_label { + margin-top: var(--gap-sm); +} + +.frm-long-icon-buttons { + display: flex; + gap: var(--gap-md); +} + +.frm-long-icon-buttons > label { + border: 1px solid var(--grey-300); + color: var(--grey-700); + border-radius: var(--small-radius); + display: flex; + padding: var(--gap-sm); + gap: var(--gap-sm); + justify-content: center; + align-items: center; + width: calc(33% - var(--gap-sm)); + box-sizing: border-box; +} + +.frm-long-icon-buttons > label:hover { + color: var(--primary-500); +} + +.frm-long-icon-buttons input[type=radio] { + display: none; +} + +.frm-long-icon-buttons input[type=radio]:checked + label { + border-color: var(--primary-500); + box-shadow: 0 0 0 1px var(--primary-color); +} + +.frm-long-icon-buttons label > svg { + height: 21px; +} + +.frm-example-icon .frmsvg, +.frm-example-icon i { + height: 20px; + width: 20px; + font-size: 20px; + color: var(--grey-700); +} + +.frm_license_msg { + margin-top: 0; +} + +.frm_authorized_box .frm-show-unauthorized, +.frm_unauthorized_box .frm-show-authorized { + display: none; +} + +.edd_frm_status_icon.frmsvg { + margin: 0 5px; +} + +.edd_frm_license_row .frm_action_success .frmsvg { + color: green; +} + +.edd_frm_license_row .frm_action_error .frmsvg { + color: #D54E21; +} + +/* Hide the install steps for solutions */ +#form_global_settings .tabs-panel .num svg { + display: none; +} + +/* Empty List */ +.frm_no_items { + margin: 0 auto 50px; + text-align: center; + color: var(--grey-700); + max-width: 500px; +} + +.frm-subscribe { + margin: var(--gap-lg) 0; +} + +.frm_inbox_count { + color: #fff; + border-radius: 50%; + display: inline-block; + margin-right: 8px; + font-size: 11px; + text-align: center; + min-width: 18px; + height: 18px; + margin-left: 2px; + vertical-align: text-bottom; +} + +/** + * Global Payment Settings + */ +#payments_settings .frm_payments_section .form-table td { + padding-left: 0; + padding-right: 0; +} + +#payments_settings .frm_payments_section .form-table { + margin-top: 0; +} + +#frm_authnet_general_settings > tr:first-of-type > td:first-of-type { + padding-top: 0; +} + +#frm_authnet_general_settings h3 { + margin-bottom: 0; +} + +.frm_payment_settings_tab .frmsvg { + height: 22px; +} + +.frm_payment_settings_tab[for=frm_toggle_paypal_settings] .frmsvg { + width: 83px; +} + +.frm_payment_settings_tab[for=frm_toggle_authorize_net_settings] .frmsvg { + width: 99px; +} + +.frm_payment_settings_tab[for=frm_toggle_square_settings] .frmsvg { + width: 89px; +} + +.frm_payment_settings_tab[for=frm_toggle_stripe_settings] .frmsvg { + width: 53px; +} + +/** + * Import/Export + */ +.frm-lite .xml_opts .frm-export-xml-items { + display: none; +} + +.csv_opts #frm_csv_col_sep { + width: 45px; +} + +#frm_advanced td.frm_left_label { + width: 20%; + padding-right: 2px; +} + +/** + * Component: Where Options + */ +#frm_where_options select { + max-width: 200px; +} + +#frm_where_options select.frm_insert_where_options { + width: 30%; +} + +#frm_where_options select.frm_where_is_options { + width: 20%; +} + +#frm_where_options span.frm_where_val { + width: 32%; + display: inline-block; + position: relative; +} + +#frm_where_options span.frm_where_val .frm_tooltip_icon, +#frm_where_options span.frm_where_val .frm_help { + left: -4px; + position: absolute; +} + +#frm_where_options span.frm_where_val.frm_hidden { + display: none; +} + +#frm_where_options span.frm_where_val input, #frm_where_options span.frm_where_val select { + width: 90%; + margin-left: 10px; +} + +#frm_where_options { + min-height: 31px; +} + +/** + * Component: Tabs Panel + */ +.tabs-panel.active .tabs-panel, +.frm_settings_form .tabs-panel .tabs-panel { + border: none; + padding: 0; +} + +/** + * Component: Feature Banner + */ +.frm-feature-banner { + background: var(--grey-700); + color: #fff; + border-radius: var(--small-radius); + padding: 20px; + margin: 10px 0; +} + +.frm-feature-banner p { + font-size: var(--text-sm); +} + +.frm-feature-banner .dismiss { + margin-top: -10px; + margin-right: -10px; +} + +.frm-feature-banner .dismiss svg { + color: #fff; +} + +.frm-feature-banner .frm-big-icon { + padding-right: 20px; + float: left; + min-height: 60px; +} + +.frm-big-icon svg { + height: 60px; + width: 60px; +} + +.frm-feature-banner p { + margin-top: 0; +} + +/** + * Add-on Backward Compatibility + */ +/*for add-on reverse compatibility */ +.frm_98_width { + width: 100% !important; +} + +/** + * Form Settings Tab styles + */ +h2.frm-h2, +.frm_form_settings h2 { + border-bottom: 1px solid var(--grey-300); + color: var(--grey-900); + font-weight: 400 !important; + padding: 9px 0 5px; + margin: 0; +} + +.frm_settings_form h3, +.frm_form_settings h3, +.frm_form_settings span.frm_add_logic_link { + font-size: var(--text-md); + border-top: 1px solid var(--grey-300); + padding-top: var(--gap-sm); + margin: var(--gap-sm) 0; + font-weight: 400; + text-transform: uppercase; + color: var(--medium-grey); + display: block; +} + +.frm_form_settings .howto { + color: var(--grey-500); + font-size: var(--text-sm); + margin-top: 8px; +} + +.frm_form_settings .advanced_settings .form-table { + margin-top: 0; +} + +.frm_form_settings td.frm_175_width { + width: 175px; +} + +.frm_form_settings #success_url { + width: 95%; +} + +.frm_wrap .ui-autocomplete { + padding: 3px 0; + max-height: 310px; +} + +.frm_wrap .ui-widget { + font-family: inherit; +} + +.frm_wrap .ui-autocomplete li { + padding: 2px 4px; + background: none; + color: var(--grey-700); + border: none; + font-weight: 400; +} + +.frm_wrap .ui-autocomplete .ui-menu-item-wrapper.ui-state-active { + border: none; + font-weight: inherit; +} + +.frm_select_with_label { + margin: 7px 0 0; +} + +/** + * Customization Panel styles + */ +/* Customization Panel */ +#frm-insert-fields-box, #frm-conditionals { + max-height: none; +} + +#frm-conditionals, #frm-adv-info-tab { + display: none; + max-height: 355px; +} + +#frm-insert-fields-box ul.subsubsub, +#frm-conditionals ul.subsubsub { + float: right; + margin: 0; +} + +#frm-insert-fields-box ul.alignleft, +#frm-conditionals ul.alignleft { + margin: 4px 0 0; +} + +#frm_adv_info ul.frm_code_list.frm-full-hover { + clear: both; + max-height: 215px; + overflow: auto; +} + +#frm-insert-fields-box ul.frm_code_list li.clear.frm_block { + height: 10px; +} + +#frm_adv_info .frm_noallow { + display: none; +} + +#frm_adv_info #frm-conditionals .frm_noallow { + display: block; +} + +/** + * Customize HTML Tab styles + */ +/* Customize HTML Tab */ +#frm_html_tab.frm_hidden { + display: none; +} + +#frm_html_tab.active { + display: inline; +} + +/** + * Form Actions Tab styles + */ +.frm_email_reply_container select, +.frm_email_reply_container input, +.form-table td.frm_150_width { + width: 170px; +} + +#frm_notification_settings .frm_no_top_padding { + padding-top: 0; +} + +.frm_email_settings.frm_email_settings.widgets-holder-wrap { + overflow: auto; + box-shadow: none; +} + +#frm_notification_settings .widget-top .widget-action, +#frm_form_editor_container .widget-top .widget-action { + border: 0; + margin: 0; + padding: 8px; + background: 0 0; + cursor: pointer; + outline: 0; +} + +#frm_notification_settings .widget-top .widget-action { + padding-top: 13.5px; +} + +#frm_email_addon_menu { + border: 1px solid var(--grey-300); + padding: var(--gap-sm); + border-radius: 4px; + margin: var(--gap-md) 0 var(--gap-sm); +} + +#frm_email_addon_menu .frm-search { + float: right; + margin: 0; +} + +#frm_email_addon_menu h3.frm-no-border { + clear: none; + padding-top: 7px; +} + +.frm_email_settings .widget .widget-top { + background-color: var(--sidebar-color); +} + +.frm_email_settings .widget .widget-top, +.frm_email_settings .widget .widget-top h3 { + cursor: pointer !important; +} + +.frm_email_settings .widget { + margin-bottom: var(--gap-sm); +} + +.frm_form_action_settings .widget-top { + box-shadow: none; + border-color: var(--grey-300); + border-radius: var(--small-radius); + background: var(--lightest-grey); + color: var(--grey-700); +} + +.frm_form_action_settings:hover .widget-top { + border-color: var(--grey); +} + +.frm_form_action_settings.open .widget-top { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + border-bottom: none; +} + +.frm_form_action_settings.open:hover .widget-top { + border-color: var(--grey-300); +} + +.frm_form_action_settings > .widget-inside { + display: none; +} + +.frm_form_action_settings.open > .widget-inside { + display: block; +} + +.frm_form_action_settings .widget-inside { + min-height: 25px; + padding: 15px; + border-color: var(--grey-300); + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; +} + +.frm_form_action_settings .widget-title h4, +.frm_form_action_settings .widget-title h3 { + display: inline-block; + border-bottom: none; + padding: 10px 10px 5px; + font-size: var(--text-md); + font-weight: 500; +} + +#frm_email_addon_menu h3 { + margin: 0 0 var(--gap-sm); + clear: both; +} + +.frm_single_api_settings p > label { + display: inline; +} + +.frm_form_action_icon { + margin-right: 5px; +} + +.frm_actions_list { + margin: 0; + display: inline; +} + +.frm_actions_list li { + float: left; + width: 15.6%; + margin: 10px 0.5% 15px; + height: 100px; + text-align: center; +} + +.frm-limited-actions .frm-group-heading, +.frm-limited-actions #frm-hide-groups, +.frm-all-actions #frm-show-groups, +.frm-limited-actions .frm-not-installed:not(.frm-search-result):not(.frm-default-show) { + display: none; +} + +label.frm_action_events { + padding-left: 15px; +} + +#frm-hide-groups, +#frm-show-groups { + font-size: var(--text-md); + float: right; +} + +.frm_actions_list a:active, .frm_actions_list a:focus { + outline: none; +} + +.frm_actions_list a { + font-size: var(--text-sm); + color: var(--grey-700); + word-break: break-word; +} + +.frm_actions_list span.frm-outer-circle { + /* 50px total with 30px content */ + background-color: var(--grey-100); + padding: 10px; + text-align: center; + border-radius: 50%; + display: block; + width: 30px; + height: 30px; + margin: 0 auto 15px; + line-height: 1; +} + +.frm_email_settings .widget-title h4 { + color: var(--grey-700); +} + +.frm_disabled_action .widget-title h4 { + color: var(--grey); +} + +.frm_actions_list a .frmsvg, +.frm_actions_list a i { + height: 18px; + width: 18px; + font-size: 18px; + padding: 2px; + color: var(--lightest-grey); +} + +span.frm-inner-circle, +.frm_email_settings .widget-title .frm_form_action_icon { + background-color: var(--grey-400); + border-radius: 50%; + display: inline-block; + text-align: center; + line-height: 1; +} + +span.frm-inner-circle { + background-color: var(--primary-700); + height: 22px; + width: 22px; + padding: 4px; + color: #fff; +} + +.frm-inner-circle svg { + fill: currentColor; +} + +.frm_email_settings .widget-title .frm_form_action_icon { + height: 15px; + width: 15px; + padding: 5px; + color: #fff; + vertical-align: middle; +} + +.frm_actions_list .frmsvg, +.frm_actions_list i::before, +.frm_email_settings .widget-title .frm_form_action_icon i, +.frm_email_settings .widget-title .frm_form_action_icon .frmsvg { + height: 15px; + width: 15px; + vertical-align: text-top; +} + +.frm_actions_list i::before { + vertical-align: middle; +} + +.frm_email_settings .widget-title:hover .frm_form_action_icon { + background-color: var(--grey); +} + +span.frm-inner-circle.frm-inverse { + background-color: transparent; + color: var(--primary-700); + padding: 0; + height: 30px; + width: 100%; +} + +.frm_actions_list span.frm-inverse i, +.frm_actions_list span.frm-inverse .frmsvg { + color: var(--primary-700); + height: 30px; + width: 30px; + font-size: 30px; + padding: 0; +} + +.frm_actions_list i.frm-inverse::before { + height: 30px; + width: 100%; + font-size: 30px; +} + +.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse { + background: #fff; + padding: 0; + height: 24px; + width: 24px; +} + +.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse .frmsvg, +.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse i::before { + color: var(--grey-400); + height: 24px; + width: 24px; + font-size: 24px; +} + +.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse .frmsvg, +.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse i::before { + color: var(--grey-500); +} + +.frm_email_icons { + padding: 10px 0 5px 6px; + font-size: 20px; +} + +.frm_email_icons a { + margin-left: 8px; + color: var(--grey); + opacity: 0; + transition: all 0.2s ease; +} + +.frm_email_icons a .frmsvg { + color: var(--grey); +} + +.frm_email_icons a:hover, +.widget-top:hover .frm_email_icons a { + opacity: 1; +} + +.frm_actions_list a.frm_inactive_action { + color: var(--grey); +} + +.frm_inactive_action .frm-inner-circle, +.frm_actions_list .frm_inactive_action i { + opacity: 0.4; +} + +/** + * Component: Notification Settings + */ +table td, .form-table tr td { + vertical-align: top; +} + +#new_fields .form-table tr td { + display: block; + padding: 7px 0 0; +} + +#new_fields .form-table tr td:first-child { + margin: 0; +} + +#new_fields .form-table tr td:last-child { + margin-bottom: 9px; +} + +.form-table #list-table th { + text-align: center; +} + +#form_settings_page th, +#form_settings_page td, +.frm_settings_form td, +#frm_notification_settings .frm_form_action_settings td p { + padding: 7px 0; +} + +#permissions_settings_settings .frm_grid_container { + align-items: center; +} + +#frm_notification_settings .form-table > tbody > tr > th { + width: 150px; + font-weight: 400; + padding-right: 10px; +} + +#frm_notification_settings .frm_single_email_settings .form-table > tbody > tr > th { + width: 80px; +} + +#frm_notification_settings table tr td:first-child { + padding-left: 0; +} + +#frm_notification_settings table tr td:last-child { + padding-right: 0; +} + +#frm_notification_settings .frm_left_label { + float: none; /* For add-ons that haven't been updated for 4.0 */ + width: auto !important; +} + +.frm-fields .frm_autoresponder_rows select { + width: auto; +} + +#frm_notification_settings .frm_with_left_label, +#frm_notification_settings .frm_left_label + textarea, +#frm_notification_settings .frm_left_label + select, +#frm_notification_settings .frm_left_label + input[type=text] { + width: 100%; +} + +#frm_notification_settings .frm_email_buttons { + padding: var(--gap-2xs); + background: var(--light-blue); + color: var(--primary-700); + border-radius: var(--small-radius); + border-color: var(--blue-border); + line-height: 1; + height: auto; + min-height: 12px; + font-size: var(--text-xs); + box-shadow: none; +} + +p.frm_bcc_cc_container, +p.frm_reply_to_container { + float: right; + z-index: 1; + position: relative; +} + +p.frm_bcc_cc_container { + margin: 14px 0 0; +} + +p.frm_reply_to_container { + margin: -4px 0 0; +} + +.frm_email_row .frm_cancel1_icon::before { + vertical-align: bottom; +} + +.frm_cc_row.frm_email_row .frm-with-right-icon, +.frm_bcc_row.frm_email_row .frm-with-right-icon, +.frm_reply_to_row.frm_email_row .frm-with-right-icon { + width: calc(100% - 20px); + display: inline-block; +} + +.frm_email_row .frm_remove_field .frm_close_icon { + position: relative; + fill: var(--grey-500); + vertical-align: middle; +} + +/** + * Component: Logic Fields + */ +.frm-inline-select, +p.frm-inline-select, +.frm_logic_rows .frm-collapse-me { + line-height: var(--h-md) !important; +} + +.frm_logic_row { + padding: var(--gap-xs) 0 0; +} + +.frm-single-settings ul.frm_sortable_field_opts { + border-bottom: 1px solid var(--grey-200); + padding-bottom: var(--gap-xs); + margin-bottom: var(--gap-xs); +} + +.frm-single-settings .frm-add-other svg.frm_add_tag { + position: relative; + top: 5px; + margin-right: 4px; +} + +.frm-single-settings .frm_single_option .frm_remove_tag::before { + content: ""; +} + +.frm-single-settings input[type=checkbox][readonly] { + opacity: 0.5; + pointer-events: none; +} + +.advanced_settings .frm_logic_row { + margin: 14px 0; +} + +.advanced_settings .frm_logic_row select, +.advanced_settings .frm_logic_row input { + max-width: 30% !important; +} + +.frm_form_action_settings .frm_logic_row p { + margin-top: 0; + margin-bottom: 0; + padding: 0; +} + +/** + * Component: Form Settings Widget + */ +#poststuff .widgets-holder-wrap .frm_form_action_settings .widget-inside { + padding-bottom: 0; +} + +#poststuff .frm_form_settings .widgets-holder-wrap .widget-inside { + padding-left: 15px; + padding-right: 15px; +} + +#form_global_settings h3 { + font-size: var(--text-sm); + margin-top: 25px; +} + +#form_global_settings .tabs-panel + h3 { + margin-top: 0; + border: none; +} + +#poststuff .frm_form_settings .widget-inside h3, +#poststuff .frm_form_settings .advanced_settings h3, +#poststuff .frm_settings_form h3, +#frm_advanced .inside h3 { + border-top: 1px solid #eee; + border-bottom: none; + margin: 15px -15px 0; + padding: 8px 15px; + font-size: var(--text-sm); +} + +#poststuff .frm_form_settings h3.frm_first_h3, +#poststuff h3.frm_first_h3 { + border: none; + margin-top: 0; +} + +h3.frm_add_logic_link { + margin-bottom: 0 !important; +} + +a.frm_add_logic_link.frm_hidden { + display: none; +} +a.frm_add_logic_link.frm_hidden + .frm_logic_rows { + height: auto; +} + +/** + * Icon Font styles + */ +.frm_icon_font { + color: #A0A0A0; + color: var(--grey); +} + +.frm-fields label .frm_icon_font { + font-size: inherit; +} + +.misc-pub-revisions.frm_icon_font, +.misc-pub-revisions.frm_icon_font:hover { + color: inherit; +} + +.postbox.frm_with_icons .inside { + padding: 0; + margin: 0; +} + +.frm_add_tag::before { + content: "\e602"; +} + +.frm_remove_tag::before { + content: "\e600"; +} + +.frm_logic_row .frm1 > .frm_remove_tag { + padding: 0; +} + +.frm_tooltip_icon::before { + font-size: 13px; + vertical-align: top; +} + +.frm_help svg, +.frm_help .frmsvg { + height: 13px; + width: 13px; + vertical-align: top; + color: var(--grey-400); +} + +.form-field input[type=text].frm_other_input { + width: 30%; + margin-left: 10px; +} + +.frm-add-other { + text-align: right; +} + +.frm-add-other .frm_add_tag { + vertical-align: 20%; +} + +.frm_action_icon { + margin: 5px 0 0 5px; +} + +span.frm_action_icon { + margin: 0 4px 0 0; +} + +.frm_action_icon:active { + outline: none; +} + +a.frm_action_icon:hover { + text-decoration: none; +} + +.frm_action_icon.frm_error_icon::before { + content: "\e608"; +} + +.frm_inactive_icon.frm_action_icon.frm_error_icon::before { + content: "\e606"; +} + +.frm-field-action-icons { + text-align: right; + position: absolute; + top: 2px; + right: 2px; + max-width: 100%; +} + +.frm-field-action-icons .frm-field-id { + display: inline-block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 80px; + max-width: calc(100% - 50px); + position: relative; + top: 2px; +} + +.frm-field-action-icons > a { + font-size: var(--text-md); + width: 17px; +} + +.frm-field-action-icons a:hover { + text-decoration: none; +} + +.frm-field-action-icons .dropdown { + display: inline-block; +} + +.frm-field-action-icons > a .frmsvg { + color: var(--grey-500) !important; + font-size: 17px; + width: 17px; + height: 17px; +} + +.frm-field-action-icons > a .frmsvg, +.frm-field-action-icons > div > a .frmsvg { + vertical-align: baseline; +} + +.edit_field_type_end_divider .frm-field-action-icons { + display: none !important; +} + +.frm-move { + cursor: grab; +} + +/** + * Extended Howto styles + */ +span.howto { + display: inline; +} + +.frm_import_message { + margin: 15px 0; + line-height: 2.5; +} + +/** + * Form Widget styles + */ +.frm_sorting .form-field .widget input[type=text], +.frm_sorting .form-field .widget input[type=number], +.frm_sorting .form-field .widget select, +#wpcontent .frm_sorting .form-field .widget select, +.frm_sorting .form-field .widget textarea { + width: auto; +} + +/** + * Tag Checklist styles + */ +.tagchecklist span.no_taglist { + display: inline; + float: none; + line-height: 15px; + margin-right: 0; + font-size: inherit; +} + +.tagchecklist .frm_exclude_cat_list span { + display: inline; +} + +.tagchecklist span a::before { + line-height: 23px; + text-align: start; +} + +.frm_form_action_settings .frm_email_row .frm_tooltip_icon { + position: relative; + bottom: 2px; +} + +/** + * No Entries Page styles + */ +.frm_no_entries_form { + padding: 60px 0; +} + +.frm_no_entries_form .frm_no_entries_header { + font-size: 20px; + margin-bottom: 10px; +} + +.frm_no_entries_form .frm_no_entries_text { + line-height: var(--leading); +} + +#form_entries_page #the-list .no-items { + height: 240px; /* Equals to the max height of search dropdown */ +} + +/** + * Reports Page styles + */ +#form_reports_page img.frm_no_reports { + max-width: 100%; +} + +.frm_wrap .google-visualization-table .gradient, +.frm_wrap .google-visualization-table-tr-head, +.frm_wrap .google-visualization-table-tr-odd, +.frm_wrap .google-visualization-table-tr-odd.google-visualization-table-tr-over { + background: var(--lightest-grey); +} + +.frm_wrap .google-visualization-table-tr-over { + background: #fff; +} + +.frm_wrap .google-visualization-table-table th, +.frm_wrap .google-visualization-table-table td { + border-right-width: 0; + padding: 10px !important; +} + +.frm_wrap .google-visualization-table-tr-head, +.frm_wrap .google-visualization-table-tr-head th { + white-space: pre-wrap; + font-size: var(--text-md); + font-weight: 400 !important; + text-align: left; +} + +.frm_wrap .google-visualization-table-td-number { + text-align: inherit; +} + +#form_reports_page .postbox { + text-align: center; + float: none; + display: inline-block; + margin-right: 2%; + width: 20%; + min-width: 175px; +} + +/** + * Views Page styles + */ +#form_views_page img.frm_no_views { + max-width: 100%; +} + +/** + * Component: Field Options Popup + */ +.frm_field_opts_popup { + min-width: 300px; + background-color: #fff; +} + +.frm_field_opts_popup #wpadminbar { + display: none; +} + +.frm_prepop { + width: 100%; + list-style: none; + overflow: auto; + margin: 0; + max-height: 295px; +} + +.frm_prepop li { + margin: 0; +} + +.frm_prepop li a { + display: block; + text-decoration: none; + cursor: pointer; + padding: 5px 20px; +} + +.frm_prepop li a:hover { + background: var(--sidebar-color); +} + +/** + * Form Editor Container + */ +#frm_form_editor_container #frm_form_key_box { + width: 13em; + max-width: 30%; +} + +#frm_form_editor_container #frm_form_desc { + width: 70%; +} + +#frm_form_editor_container .ui-widget-content { + display: none; + padding: 15px; +} + +#frm_form_editor_container .ui-widget-content label { + float: left; + width: 170px; + text-align: right; + padding-right: 5px; + clear: both; +} + +#frm_form_editor_container .ui-widget-content label.nofloat { + clear: none; + float: none; + margin-left: 10px; +} + +#frm_form_editor_container .ui-state-default { + color: #333 !important; +} + +.frm_green { + color: var(--green) !important; +} + +#frm_form_editor_container .ui-state-default a.frm_orange, .frm-right-panel a.frm_orange, #postbox-container-1 a.frm_orange { + color: #D54E21; +} + +#styling_settings input[type=checkbox], #styling_settings input[type=radio] { + border: solid 1px #bbb; +} + +#styling_settings .widget .widget-top, #frm_form_editor_container .widget .widget-top { + cursor: pointer; +} + +/** + * Widget Sorting + */ +.frm_sorting .widget, .frm_settings_page .widget { + background: #fff; +} + +.frm_sorting .widget-title h4 { + font-weight: 400; +} + +.frm_sorting .widget, #postbox-container-1 .widget, .frm-right-panel .widget, .frm_settings_page .widget { + margin-bottom: 0; +} + +.frm_settings_page .widget-inside { + padding: 0 5px 5px; +} + +.frm_sorting .widget, +.widget-inside, +.frm_sorting .form-field .widget { + display: none; +} + +#frm-show-fields { + min-height: 350px; + padding: 0 0 35px; + margin: 0; + position: relative; +} + +.frm-has-fields #frm-show-fields { + min-height: 50px; +} + +#frm_builder_page .frm-lite-credit-card-element, +body.frm-admin-page-styles .frm-lite-credit-card-element { + position: relative; +} + +#frm_builder_page .frm-lite-credit-card-element > div, +body.frm-admin-page-styles .frm-lite-credit-card-element > div { + position: absolute; + top: calc(50% - 1px); + transform: translateY(-50%); + right: 10px; + color: #d0d4dd; +} + +#frm_builder_page #frm_field_group_controls { + position: absolute; + padding: 5px; + border-radius: 4px 4px 0 0; + text-align: right; + box-sizing: border-box; + right: 0; + top: -28px; + height: 28px; + z-index: 3; /* section dividers use z-index: 2; position above that to avoid it taking over hover control. */ +} + +.frm-field-group-hover-target, +.frm-has-open-field-group-popup, +#frm_builder_page #frm_field_group_controls, +.frm-selected-field-group { + background: rgba(65, 153, 253, 0.04); +} + +.frm-selected-field-group { + position: relative; +} + +#frm_builder_page #frm_field_group_controls > span:first-child { + margin-right: 5px; +} + +#frm_builder_page #frm_field_group_controls svg { + pointer-events: none; +} + +#frm_field_group_controls { + visibility: hidden; +} + +.frm-field-group-hover-target #frm_field_group_controls { + visibility: visible; +} + +#frm_field_group_controls .dropdown-item a span { + color: var(--grey-700); +} + +#frm_field_group_controls .dropdown-item a:hover { + text-decoration: none; +} + +/** + * Field Sorting + */ +.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider { + display: none !important; +} + +.frm-right-panel .ui-state-default, +#postbox-container-1 .ui-state-default, +.frm_sorting > li.ui-state-default, +.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover { + border: 1px solid transparent; + font-weight: 400 !important; + background-color: transparent; + background-image: none; + padding: 5px; + margin: 0; + box-shadow: none; + display: block; + text-align: inherit !important; + overflow: visible; + position: relative; +} + +#frm-show-fields li.frm_cancel_sort { + /* If a section gets dropped into a section, hide it */ + display: none; +} + +.divider_drop { + text-align: center; +} + +.divider_drop .howto .frm_icon_font { + font-style: normal; +} + +.show_repeat_sec { + display: none; +} + +.repeat_section .show_repeat_sec { + display: inline-block; + margin: 5px 0 0; +} + +.repeat_section tr.show_repeat_sec { + display: table-row; +} + +.repeat_format .frm_repeat_label, +.repeat_formattext .frmsvg, +.repeat_formattext i { + display: none; +} + +/** + * Frm Button + */ +.frm_button { + text-decoration: none; + border: 1px solid #eee; + padding: 5px; + color: #444; + vertical-align: middle; + box-shadow: none !important; +} + +a.frm_button:hover { + text-decoration: none !important; +} + +.frm_button, +.frm_button .frm_icon_font::before { + font-size: 13px; + vertical-align: middle; +} + +.frm_button .frmsvg { + width: 13px; + height: 13px; +} + +/** + * Components - Divider + */ +.frm-right-panel .ui-state-default, +#postbox-container-1 .ui-state-default { + padding: 0; + margin: 0; +} + +ul.start_divider { + padding: 8px 13px 0 8px; + min-height: 115px; + transition: all 0.4s linear; +} + +.frm-section-collapsed .frm_no_section_fields, +.frm-section-collapsed ul.start_divider { + height: 0; + min-height: 0 !important; +} + +.frm-section-collapsed ul.start_divider { + overflow: hidden; +} + +.frm-section-collapsed .frm_no_section_fields { + overflow: hidden; + padding: 0; + opacity: 0; +} + +.frm-section-collapsed .divider_section_only .frm-collapsed-label { + display: inline; +} + +.frm-page-collapsed .frm_clone_icon, +.frm-page-collapsed .frm_delete_field, +.frm-page-collapsed .frm_clone_field, +.frm-section-collapsed .frm_clone_icon { + opacity: 0.5; + cursor: not-allowed; +} + +/* Hide the Duplicate summary option because we are missing the logic that also adds a new page */ +.edit_field_type_summary .frm_more_options_li:nth-child(2) { + display: none !important; +} + +.edit_field_type_submit .frm_more_options_li:not(:last-child) { + display: none !important; +} + +.frm_no_section_fields:not(.frm_block) + ul.start_divider { + padding: 0; + min-height: 132px; +} + +.frm_sorting li.ui-state-default .divider_section_only { + padding: 6px; + margin-top: -10px; + border: 2px solid transparent; + border-radius: var(--small-radius); + z-index: 2; + position: relative; +} + +.divider_section_only > .frm_inner_field_container { + padding: 5px 0; + margin: 0; +} + +.frm-collapsed-label, +.divider_section_only > .frm_inner_field_container .frm_form_fields { + display: none; +} + +.frm-section-collapsed .divider_section_only::after, +.divider_section_only::before { + content: ""; + display: block; + padding: 2px 0; + line-height: 1px; + border-top: 2px solid var(--grey-300); + top: -2px; + position: absolute; + width: 100%; + transition: 0.5s border-color ease-in-out; +} + +.frm-section-collapsed .divider_section_only::after { + top: auto; + bottom: -6px; +} + +.frm-section-collapsed .divider_section_only:hover::after, +li.selected.frm-section-collapsed .divider_section_only::before, +li.selected.frm-section-collapsed .divider_section_only::after, +.divider_section_only:hover::before, +li.selected .divider_section_only::before { + border-color: transparent; +} + +.frm_sorting li.ui-state-default.edit_field_type_divider { + overflow: visible; + position: relative; + padding: 0 0 0 20px; + margin: 25px 0 0 -5px; + border-left: 1px solid var(--primary-700); + transition: border 0.7s ease-out; +} + +.frm-section-collapsed { + border-left-color: transparent !important; +} + +.frm_sorting li.edit_field_type_end_divider, +.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover { + margin: 0 0 var(--gap-sm); +} + +.frm-first-page .frm_prev_page { + display: none; +} + +/** + * Components - Form Rows + */ +#frm_builder_page .frm_remove_form_row.frm_button, +#frm_builder_page .frm_add_form_row.frm_button { + border-radius: var(--small-radius); + border: 1px solid var(--blue-border); +} + +#frm_builder_page .frm_remove_form_row .frmsvg, +#frm_builder_page .frm_remove_form_row i::before, +#frm_builder_page .frm_add_form_row .frmsvg, +#frm_builder_page .frm_add_form_row i::before { + color: var(--primary-700); +} + +.frm-preview-buttons .frm_button_submit { + margin: 0 5px; +} + +.frm-page-break { + border-top: 1px dashed var(--primary-700); + margin-top: var(--gap-lg); + position: relative; +} + +.frm-page-break::before, +.frm-page-break::after { + content: ""; + position: absolute; + background-color: #fff; + border-radius: 50%; + border: 1px solid var(--primary-700); + text-rendering: auto; + -webkit-font-smoothing: antialiased; +} + +/** + * Components - Divider Icons + */ +.edit_field_type_divider .frm-divider-icon.frmsvg { + padding: 2px; + position: absolute; + left: -12px; + color: #fff; + background-color: var(--primary-700); + border-radius: 50%; +} + +.edit_field_type_divider .start_divider .frm-divider-icon.frmsvg { + height: 8px; + width: 8px; + padding: 0; + bottom: -4px; + left: -24.5px; + color: var(--primary-700); + background-color: #fff; +} + +.edit_field_type_divider.selected .frm-divider-icon.frmsvg, +.edit_field_type_divider:hover .frm-divider-icon.frmsvg { + background: var(--primary-500); +} + +.edit_field_type_divider.selected .start_divider .frm-divider-icon.frmsvg, +.edit_field_type_divider:hover .start_divider .frm-divider-icon.frmsvg { + background-color: #fff; + color: var(--primary-500); +} + +.frm-page-break::before, +.frm-page-break::after { + width: 8px; + height: 8px; + top: -6px; + border-color: var(--grey); +} + +.frm-page-break::after { + right: 0; +} + +#frm-fake-page .frm-page-break { + border-color: var(--grey); +} + +#frm-fake-page { + padding: 0 5px; +} + +.frm_sorting li.edit_field_type_divider:hover, +.frm_sorting li.edit_field_type_divider.selected { + border-left-color: var(--primary-500); +} + +/** + * Component: Page Collapsed + */ +.frm-section-collapsed::after { + border-color: transparent !important; + color: transparent; +} + +.frm-page-break .frm-collapse-page.button { + margin-left: 46%; + margin-top: -16px; + padding: 6px 12px !important; +} + +#frm-fake-page.frm-page-collapsed { + margin-bottom: 0; +} + +.frm-page-collapsed { + position: relative; + overflow: visible !important; + margin-bottom: var(--gap-lg); +} + +.frm-collapse-page .frmsvg, +.frm-collapse-page .frm_arrowdown6_icon { + width: var(--text-sm); + height: var(--text-sm); + font-size: var(--text-sm); + text-align: center; + margin-left: 2px; + color: currentColor; + transition: transform 300ms ease-in-out; +} + +.frm-page-collapsed .frm-collapse-page .frmsvg { + transform: rotate(180deg); +} + +#frm-fake-page .frm_arrowdown6_icon { + color: currentColor; +} + +.frm-collapsed i::before, +.frm-page-collapsed .frm_arrowdown6_icon::before { + content: "\e913"; +} + +.frm-collapse-section svg { + fill: var(--primary-color); + transition: transform 0.2s ease-out, fill 0.2s ease-out; +} + +.frm-collapse-section:hover svg { + fill: var(--primary-700); +} + +.frm-section-collapsed .frm-collapse-section svg { + transform: rotate(-90deg); +} + +.open .widget-top .widget-title-action button .frmsvg { + transform: rotate(90deg); +} + +.widget-top .widget-title-action button .frmsvg use { + color: var(--grey); +} + +.frm-collapsed + .frm-collapse-me { + overflow: hidden !important; +} + +.frm-collapse-me { + padding-bottom: 10px; +} + +.frm-collapse-me.frm_grid_container:has(.dropdown-toggle.multiselect) { + position: relative; + z-index: 1; +} + +.frm-collapsed + div { + height: 0; + padding: 0; +} +.frm-collapsed + div.frm-collapse-me { + display: none; +} + +.frm-collapsible { + display: flex; + justify-content: space-between; + align-items: center; + font-weight: 700; + padding: var(--gap-xs) 0; + margin: 0; + cursor: pointer; + /* prevent text selection */ + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.frm-collapsible.frm-collapsed { + font-weight: 400; +} +.frm-collapsible:not(.frm-collapsed) .frmsvg { + transform: rotate(-180deg); +} +h4.frm-collapsible { + font-size: var(--text-md); +} + +.frm-collapsible + .frm-collapse-me { + padding-bottom: 0; +} +.frm-collapsible:focus-visible { + outline: 1px solid var(--primary-500); +} + +/** + * Divider Labels + */ +.frm_sorting .divider_section_only > .frm_ipe_field_label { + font-size: 116%; +} + +#frm_form_editor_container .edit_field_type_break .frm_primary_label.frm_ipe_field_label.button { + width: 150px; + text-align: center; + margin-bottom: 3px; + display: block; +} + +tr.frm_options_heading td { + padding-bottom: 0; +} + +.frm_sorting .widget-inside .form-table td p, +.frm_sorting .widget-inside .form-wrap label { + padding: 10px 0; +} + +/** + * Empty Fields + */ +.frm_no_fields, +.frm_no_section_fields { + text-align: center; + position: absolute; + color: var(--medium-grey); + font-size: var(--text-md); + box-sizing: border-box; + border: 1px dashed var(--grey-300); + outline: 2px solid transparent; +} + +.frm-over-droppable + .frm_no_fields { + border-style: solid; + border-color: var(--primary-500); + outline-color: var(--primary-500); +} + +.frm_no_section_fields { + display: none; + margin: 0; + padding: 20px 0 0; + width: calc(100% - 20px); + height: 121px; + transition: all 0.4s linear; +} + +.frm-empty-fields .frm_updated_message ~ .frm_no_fields { + top: 60px; +} + +#frm_form_editor_container:not(.frm-has-fields) #frm-show-fields > .frm_field_box:last-child { + visibility: hidden; +} + +.frm-has-fields .frm_no_fields { + display: none; +} + +#frm_form_editor_container:not(.frm-has-fields) #frm_drag_placeholder { + display: none; +} + +#frm-form-button { + display: none; + margin: 0 7px 25px; +} + +.frm-has-fields #frm-form-button { + display: block; +} + +.frm-large-plus.frmsvg { + color: var(--primary-700); + height: 45px; + width: 45px; +} + +.frm_no_section_fields p { + color: var(--grey); + font-size: 15px; +} + +.frm_no_fields { + top: 0; + width: calc(100% - 24px); + min-height: 320px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + gap: var(--gap-md); + padding: var(--gap-md); + border: 0; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Crect width='99%25' height='99%25' fill='none' stroke='%23D0D5DD' stroke-width='1' stroke-dasharray='8,8' rx='8' ry='8' x='0.5%25' y='0.5%25' stroke-linecap='square' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E"); + border-radius: var(--medium-radius); + margin: var(--gap-sm) 12px; +} +.frm_no_fields img { + margin-left: calc(-1 * var(--gap-lg)); +} +.frm_no_fields .frm_drag_inst { + font-size: 20px; + font-weight: 600; + margin: 0 0 12px; +} +.frm_no_fields p { + color: var(--grey-600); + font-size: var(--text-md); + margin: 0; +} + +/** + * Product Fields + */ +.frm_product_price_wrapper { + display: inline-block; + vertical-align: middle; +} + +.frm_prod_type_single .frm_product_price_wrapper { + width: 100%; +} + +#new_fields .frm_product_price_wrapper input:first-child { + width: 60% !important; + float: left; +} + +#new_fields .frm_product_price_wrapper input:nth-child(2) { + width: 37% !important; + float: right; +} + +/** + * Field Choices + */ +li.frm_single_option { + padding-bottom: var(--gap-sm); + border-bottom: 0; +} + +.frm_prod_type_single input[type=radio], +.frm_prod_type_single .frm_drag_icon, +.frm_prod_type_single .frm_sortable_field_opts li:nth-child(n+3), +.frm_prod_type_single .frm_sortable_field_opts .frm_remove_tag, +.frm_prod_type_single .frm_form_field:not(.frm_product_type):not(.frm_sep_val_product), +.frm_prod_type_single .frm-bulk-edit-link, +.frm_prod_type_user_def.frm_grid_container, +.frm_prod_options_heading.frm_prod_user_def { + display: none; +} + +.frm_prod_type_single .frm-ai-generate-options-modal-trigger { + display: none !important; +} + +.frm_prod_type_single .frm_option_key { + margin-left: 0 !important; +} +.frm_prod_type_single .frm_option_key input[type=checkbox] + input[type=text], +.frm_prod_type_single .frm_option_key input[type=radio] + input[type=text] { + margin-left: 0 !important; +} + +.plugin-card-bottom .frm-trash { + color: #a00; +} + +/** + * Field Labels + */ +.frm-fields p > .frm_inline_label, +.frm_inline_label { + padding-left: 3px; + margin-right: 12px; + display: inline-block; +} + +.frm_left_label { + clear: both; + float: left; + width: 32% !important; + margin-right: 2% !important; + line-height: 2em; +} + +table td.frm_left_label { + float: none; + line-height: inherit; + padding: 5px 0 5px 2%; +} + +.frm_left_label.frm_alignright { + padding-right: 10px; + text-align: right; +} + +.frm-fields .frm_left_label + textarea, +.frm-fields .frm_left_label + select, +.frm-fields .frm_left_label + input[type=text], +.frm_with_left_label { + width: 66%; +} + +td.frm_left_label + td { + width: 66%; + padding-top: 0; +} + +#html_settings label { + display: block; +} + +#html_settings .frm_field_html_box { + width: 100%; +} + +.frm-has-required .frm-required { + color: var(--error-500); +} + +/** + * Category Tabs + */ +ul.frm-category-tabs { + margin-top: 2px; +} + +.frm-category-tabs > li a, +.frm-category-tabs > li a:active { + outline: none; + box-shadow: none; + display: flex; + gap: var(--gap-xs); + align-items: center; +} + +.frm-category-tabs > li.active .frmsvg, +.frm-category-tabs > li.active i, +.frm-category-tabs > li.active span, +.frm-category-tabs > li.active a { + color: var(--primary-500); +} + +.frm_wrap .manage-menus { + margin-top: 0; + border: none; + border-bottom: 1px solid var(--grey-300); + background: var(--lightest-grey); +} + +.general_settings .postbox .manage-menus { + border-top: none; + border-left: none; + border-right: none; +} + +.frm-postbox-no-h3 { + padding-top: 10px; +} + +/** + * Components : UI State Defaults + */ +.frm-right-panel .ui-state-default, #postbox-container-1 .ui-state-default { + color: var(--grey-900); +} + +.no_repeat_section .frm_sorting > li.ui-state-default.edit_field_type_end_divider:hover { + box-shadow: none; +} + +.frm-selected-field-group li.ui-state-default, +.start_divider.frm_sorting li.ui-state-default.frm_not_divider.selected, +.start_divider.frm_sorting li.ui-state-default.frm_not_divider:hover, +.frm_sorting li.ui-state-default.frm_not_divider:hover, +.frm_sorting li.ui-state-default.ui-sortable-helper, +.frm_sorting li.ui-state-default.edit_field_type_divider .divider_section_only:hover, +.frm_sorting .repeat_section li.ui-state-default.edit_field_type_end_divider:hover, +.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only, +.frm_update_msg, +.frm_sorting li.ui-state-default.frm_not_divider.selected, +.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only { + border-color: var(--primary-500); + transition: 0.5s border-color ease-in-out; +} + +.frm_sorting li.ui-state-default.frm_not_divider.selected { + box-shadow: 0 0 1px 0 var(--primary-500); +} + +.frm_sorting li.ui-state-default { + transition: 0.7s box-shadow ease-in-out, 0.7s height linear; +} + +.frm_sorting li.ui-state-default.frm-newly-added { + box-shadow: inset 0 0 2px 1px var(--blue-border); +} + +.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover { + visibility: visible !important; + display: inline !important; +} + +.edit_field_type_end_divider > label { + display: none !important; +} + +/** + * Update Message + */ +.frm_email_actions.feature-filter { + font-weight: 700; + border: 1px solid #DFDFDF; + background-color: #EEE; + padding: 3px 5px 2px; + font-size: var(--text-md); + line-height: 20px; +} + +.frm_update_msg { + border-style: solid; + margin: 10px 0; + color: #21759B; + padding: 8px 15px; + border-radius: 4px; +} + +.frm_update_msg.wrap { + margin: 10px 20px 0 2px; +} + +#frm-insert-fields-box .frm_update_msg { + margin-right: 0.9em; +} + +.frm_update_msg a { + font-weight: 700; +} + +.widefat td { + width: auto; +} + +.widefat .column-id { + width: 3.7em; +} + +.widefat .column-show_count { + width: 5em; +} + +.widefat .column-shortcode { + width: 9em; +} + +/** + * Admin Columns + */ +.toplevel_page_formidable .column-shortcode div { + display: flex; + gap: var(--gap-xs); +} + +.widefat .column-entries, .widefat .column-link { + width: 10%; + text-align: center; +} + +.widefat .column-form_key, .widefat .column-created_at { + width: 10%; +} + +.frm-white-body .search-box, +.frm_wrap .frm-search { + float: right; + margin: 0; + clear: right; +} + +.frm-white-body .search-box, +.frm-search { + min-width: 32%; + position: relative; + display: flex; + gap: var(--gap-sm); + align-items: center; +} + +.frm-inline-modal .frm-search, +#frm_adv_info .frm-search { + float: none; + width: 100%; + clear: both; + margin: var(--gap-xs) 0; +} + +/** + * Button Group + */ +.frm-button-group a { + margin: 0 7px !important; +} + +/** + * Input Icons + */ +.frm_has_textarea .frm-with-right-icon { + display: block; +} + +.frm-with-left-icon, +.frm-with-right-icon { + position: relative; + display: block; +} + +i.frm-show-box, +i.frm-show-inline-modal, +.frm-with-left-icon i, +.frm-with-right-icon i:not([class*=mce-]), +.frmsvg.frm-show-box, +.frmsvg.frm-show-inline-modal, +.frm-with-left-icon .frmsvg, +.frm-with-right-icon .frmsvg, +.frm-search > .frmsvg, +.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select) { + position: absolute; + padding: 0 14px; + pointer-events: none; + left: 0; + color: var(--grey-400); + font-size: var(--text-xs); +} + +.frm-search > .frmsvg, +.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select) { + padding-left: var(--gap-xs); + padding-right: var(--gap-xs); +} + +.frm-search > .frmsvg { + box-sizing: unset; +} + +.frm-with-right-icon .frmsvg, +.frm-with-right-icon i:not([class*=mce-]) { + right: 0; + top: -3px; + left: auto; + padding: 0 10px 0 5px; +} + +.frm_form_settings .frm-with-right-icon .frmsvg { + top: 0; +} + +.frm_form_settings .wp-editor-container .frm-with-right-icon .frmsvg, +#frm_builder_page .wp-editor-container .frm-with-right-icon .frmsvg { + top: auto; + bottom: var(--gap-sm); +} +.frm_form_settings .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg, +#frm_builder_page .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg { + bottom: var(--gap-lg); +} + +.frm_form_settings .frm_has_textarea .frm-with-right-icon .frmsvg { + top: auto; + bottom: 6px; +} + +.frmsvg.frm-show-box, +.frmsvg.frm-show-inline-modal, +i.frm-show-box, +i.frm-show-inline-modal { + top: auto; + background-color: var(--primary-50); + color: var(--primary-500); + border-radius: 6px; + padding: var(--gap-2xs); + margin: 5px; /* input height - svg / 2 */ + margin-bottom: 0; + z-index: 1; + cursor: pointer; + pointer-events: initial; +} + +/** + * Inline Modals + */ +.frm-open + .frm-inline-modal { + top: -10px; + margin-bottom: 0; +} +.frm-open + .frm-inline-modal.frm-modal-no-dismiss .inside > .frm-search:first-child { + margin-top: var(--gap-sm); +} + +.frm_grid_container > .frm-open + .frm-inline-modal { + top: -4px; +} +.frm_grid_container > .frm-open + .frm-inline-modal.frm-modal-no-dismiss { + top: 0 !important; +} + +/** + * Input Positioning + */ +.frm-with-left-icon input { + padding-left: 37px !important; +} + +.frm_wrap .frm-with-right-icon textarea, +.frm_wrap .frm-with-right-icon input, +.frm_wrap .frm-with-right-icon input[type=text] { + padding-right: var(--gap-md); +} + +#frm-show-fields .frm-with-left-icon .frmsvg, +#frm-show-fields .frm-with-left-icon i { + padding-top: 10px; +} + +/** + * Search Inputs + */ +.frm-search input[name=s], +.frm-search .dropdown-toggle, +.frm-search input.frm-search-input { + color: var(--grey-800); + border-color: var(--grey-300); + border-radius: var(--small-radius); + box-shadow: var(--box-shadow-xs); +} +.frm-search input[type=search], +.frm-search input[type=text] { + padding-left: var(--gap-lg) !important; +} +.frm-search .dropdown-toggle { + width: 100%; + float: none; + max-width: 200px; + background: transparent; + padding: 7px; + padding-left: 33px !important; + min-height: 32px; + text-align: inherit; + overflow: hidden; + text-overflow: ellipsis; +} +.frm-search #search-submit a { + color: var(--grey-800); +} +.frm-search #search-submit .caret { + opacity: 0.7; +} + +.frm-white-body .search-box input[name=s], +#wpwrap .frm-search input[type=search] { + flex: 1; + font-size: var(--text-md); + line-height: var(--text-xl); + padding: var(--gap-xs); +} + +span.multiselect-selected-text { + white-space: nowrap; + display: inline-block; + max-width: 90%; + text-overflow: ellipsis; + overflow: hidden; +} + +/** + * Not Set Fields + */ +.frm-not-set input { + color: var(--primary-500) !important; + font-size: 13px; +} + +.frm-not-set .frmsvg, +.frm-not-set i { + color: var(--primary-700); + opacity: 1; +} + +/** + * Shortcode Select + */ +.post-type-frm_display select[name=m] + #post-query-submit, +select[name=m] { + display: none; +} + +.frm_shortcode_select optgroup option { + margin-left: 1em; +} + +.frm_shortcode_select optgroup { + padding-top: 5px; +} + +.frm_shortcode_select .frm_subopt { + margin-left: 2em; +} + +.misc-pub-section a.edit-frm_shortcode, .misc-pub-section a.edit-form-status { + float: none; + font-size: 13px; +} + +.frm-grid { + border-collapse: collapse; + border: none; + margin-right: 10px; +} + +.frm-grid td, .frm-grid th { + padding: 5px; + border: 1px solid black; +} + +/** + * View Page Admin + */ +.post-type-frm_display #poststuff #post-body.columns-2 { + margin-right: var(--big-sidebar); +} + +.post-type-frm_display #post-body.columns-2 #postbox-container-1 { + margin-right: calc(var(--big-sidebar) * -1); + width: calc(var(--big-sidebar) - 40px); +} + +.post-type-frm_display #poststuff #post-body.columns-2 #side-sortables { + width: 100%; +} + +#frm_dyncontent .hndle, +#frm_dyncontent .handlediv { + display: none !important; +} + +.post-type-frm_display .meta-box-sortables .frm_form_nav > li > a, +.post-type-frm_display .frm_form_nav .nav-tab-active { + padding: 0 2px 5px; + line-height: 1.4; +} + +.post-type-frm_display #advanced-sortables h2.hndle, +.post-type-frm_display #side-sortables h2.hndle, +.post-type-frm_display #normal-sortables h2.hndle { + border-bottom: 1px solid var(--grey-300); + margin: 10px 0 0 !important; + padding: 0 25px 8px; +} + +.post-type-frm_display #side-sortables h2.hndle { + margin-top: 0 !important; + padding-top: 10px; +} + +.post-type-frm_display #post-body-content { + margin-top: var(--gap-lg); +} + +.post-type-frm_display.edit-php #wpbody-content > .wrap { + margin: 0; +} + +.post-type-frm_display .postbox .hndle, +.post-type-frm_display .postbox { + border-color: var(--grey-300); +} + +.post-type-frm_display #postbox-container-1 .postbox, +.post-type-frm_display #postbox-container-2 .postbox { + border-radius: var(--small-radius); + border-color: var(--grey-300); + box-shadow: none; +} + +.post-type-frm_display #side-sortables .postbox { + border-radius: 0; + border-top-width: 0; + margin-bottom: 0; +} + +.post-type-frm_display #side-sortables .misc-pub-section { + padding: 15px 20px 10px; +} + +/** + * View Page Admin Icons + */ +.post-type-frm_display .misc-pub-section .frmsvg, +.post-type-frm_display #post-body .misc-pub-post-status::before, +.post-type-frm_display #post-body #visibility::before, +.post-type-frm_display .curtime #timestamp::before, +.post-type-frm_display #post-body .misc-pub-revisions::before, +.post-type-frm_display span.wp-media-buttons-icon::before { + color: var(--grey); +} + +.post-type-frm_display #frm_top_bar + #poststuff #submitdiv #publishing-action, +.post-type-frm_display #frm_top_bar + #poststuff #submitdiv #minor-publishing-actions, +.post-type-frm_display #frm_top_bar + #poststuff #edit-slug-box, +.post-type-frm_display .wrap h1.wp-heading-inline, +.post-type-frm_display .wrap > .page-title-action { + display: none; +} + +/** + * View Page Admin Tabs + */ +.post-type-frm_display #poststuff h2.nav-tab-wrapper { + padding-left: 10px; + margin-bottom: 0; + padding-bottom: 0; +} + +.post-type-frm_display .nav-menus-php .wrap { + margin: 10px 0 0; +} + +.post-type-frm_display .nav-menus-php .wrap p { + padding-left: 12px; + padding-right: 12px; +} + +.post-type-frm_display .nav-tab { + display: inline-block; + background-color: #f4f4f4; +} + +.post-type-frm_display .nav-tab.frm_hidden { + display: none; +} + +.post-type-frm_display .nav-tab:hover { + background-color: #e4e4e4; +} + +/** + * Order/Where Rows + */ +.frm_order_row, +.frm_where_row { + margin-bottom: 7px; + line-height: 30px; +} + +.frm-single-settings .frm_prod_field_opt_cont { + margin-top: initial; + margin-bottom: 20px; +} + +/** + * Editor Elements + */ +/*hide elements if js is avail*/ +select.texture { + display: none; +} + +.post-type-frm_display #wp-content-editor-tools, +#wp-content-editor-tools { + background-color: transparent; +} + +.post-type-frm_display #major-publishing-actions { + border-color: var(--grey-300); + background: var(--sidebar-color); +} + +/** + * Advanced Info Panel + */ +.post-type-frm_display #frm_adv_info { + width: calc(var(--big-sidebar) - 40px); + height: calc(100vh - 32px); + overflow: hidden; +} + +.post-type-frm_display #frm_adv_info:not(.frm_fixed) { + top: 0 !important; +} + +.post-type-frm_display #frm_adv_info.frm_fixed { + position: fixed; + z-index: 9999; + top: 32px; +} + +.post-type-frm_display #frm_adv_info ul.frm_code_list.frm-full-hover { + max-height: calc(100vh - 180px); +} + +/** + * Column Layout + */ +.frm_col_one { + margin-right: 4%; + clear: both; +} + +ul .frm_col_one { + float: left; +} + +ul .frm_col_two { + float: right; +} + +ul.frm_two_col { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: var(--gap-sm); +} + +.frm_two_col li { + margin-bottom: 0; +} + +/** + * Component: Info Modals + */ +.frm-info-modal a, +.frm-info-modal ul, +.frm-info-modal p, +.frm-info-modal, +.settings-lite-cta a, +.settings-lite-cta ul, +.settings-lite-cta { + color: var(--grey-500); + font-size: var(--text-md); + box-shadow: none !important; +} + +.frm-info-modal h3, +.settings-lite-cta h3 { + font-size: 17px !important; +} + +.frm-green-icons .frmsvg { + color: var(--green); +} + +.frm-info-modal .postbox .inside, +.settings-lite-cta .postbox .inside { + padding: var(--gap-md); + margin: 0; +} + +.cta-inside a { + color: var(--orange); +} + +.info-modal-inside a.frm-standard-link { + color: var(--primary-500); +} + +.info-modal-inside a.frm-standard-link:hover { + color: var(--primary-700); +} + +.frm_no_p_margin > p { + margin: 0; +} + +/** + * Component: Code List + */ +.frm_code_list a.button { + display: block; + text-align: center; + font-size: 11px; + overflow: hidden; +} + +#frm-navbarDrop + .frm_code_list.frm-full-hover { + margin: var(--gap-xs) 0 0; + min-width: 300px; + max-height: 256px; +} + +.frm_code_list.frm-full-hover li { + margin: 0; +} + +.frm-select-list-item, +.frm_wrap .ui-autocomplete li > div, +.multiselect-container button.multiselect-option, +.frm-dropdown-menu > .dropdown-item > a, +.frm-dropdown-menu > .dropdown-item > a:visited, +.frm-dropdown-menu > .dropdown-item > a:link, +.frm-dropdown-menu .frm_dropdown_li, +.frm_code_list.frm-full-hover a { + display: flex; + color: var(--grey-700); + padding: 5px 10px; + font-size: var(--text-md); + gap: var(--gap-xs); + align-items: center; +} + +.multiselect-container button.multiselect-option.disabled { + opacity: 0.5; +} + +.frm_code_list.frm-full-hover a span { + max-width: 83px; + margin-right: var(--gap-xs); + margin-left: auto; +} + +.frm_code_list.frm-full-hover a { + border-radius: var(--small-radius); +} +.frm_code_list.frm-full-hover a:not(#frm-insert-condition), +.frm_code_list.frm-full-hover a span { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.frm_code_list.frm-full-hover a:focus span:last-child { + outline: 1px solid var(--primary-500); + outline-offset: var(--gap-2xs); +} + +.frm_code_list.frm-full-hover.frmcenter a { + display: block; +} + +#frm-layout-classes frm-full-hover a span { + max-width: 45%; +} + +.frm-select-list-item.active, +.frm-select-list-item:hover, +.frm_wrap .ui-autocomplete li div.ui-state-active, +.frm_wrap .ui-autocomplete li.ui-state-focus, +.multiselect-container button.multiselect-option.active, +.multiselect-container button.multiselect-option:hover, +.frm-dropdown-menu > .dropdown-item > a:hover, +.frm_code_list.frm-full-hover a:hover span, +.frm_code_list.frm-full-hover a:hover { + background: var(--primary-25); + color: var(--primary-500); +} + +.frm-select-list-item .frmsvg, +.frm-dropdown-menu > .dropdown-item > a .frmsvg { + opacity: 0.8; +} + +.frm-select-list-item:hover .frmsvg, +.frm-dropdown-menu > .dropdown-item > a:hover .frmsvg { + opacity: 1; +} + +.frm-dropdown-menu.frm_code_list > li > a { + padding: 3px 15px; + width: 300px; +} + +#frm_edit_box_content_modal .frm-with-search, +.frm-dropdown-menu .frm-with-search { + padding: var(--gap-xs) 10px 0; +} + +.frm-dropdown-menu .subsubsub { + padding: 0 10px; +} + +.frm_grid_container { + overflow: visible; +} + +.frm_code_list.frm_grid_container { + grid-gap: var(--gap-xs); +} + +.frm_code_list.frm_grid_container li { + width: auto; + margin: 0; +} + +.frm_code_list.frm_grid_container a { + display: block; + font-size: var(--text-md) !important; + font-weight: 500; + text-align: center; + color: var(--primary-500); + background-color: var(--light-blue); + border: 1px solid var(--primary-300); + border-radius: var(--small-radius); + padding: 10px 0; + box-shadow: var(--box-shadow-sm); +} +.frm_code_list.frm_grid_container a:hover { + background-color: var(--primary-500); + color: #fff; +} +.frm_code_list.frm_grid_container a:focus-visible { + outline: 2px solid var(--primary-500); + outline-offset: -1px; +} + +.frm-single-settings .frm_code_list.frm-full-hover, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover { + padding: 0; + margin: var(--gap-xs) -10px 0; +} +.frm-single-settings .frm_code_list.frm-full-hover > li > a, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a { + font-size: var(--text-md); + color: var(--grey-900); + padding: var(--gap-xs) 12px; +} +.frm-single-settings .frm_code_list.frm-full-hover > li > a span, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a span { + margin: 0; +} +.frm-single-settings .frm_code_list.frm-full-hover > li > a span:first-child, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a span:first-child { + max-width: 130px; +} +.frm-single-settings .frm_code_list.frm-full-hover > li > a span:last-child, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a span:last-child { + max-width: 120px; + margin-left: auto; +} +.frm-single-settings .frm_code_list.frm-full-hover > li > a:hover, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a:hover { + font-weight: 500; +} +.frm-single-settings .frm_code_list.frm-full-hover > li > a:hover, +.frm-single-settings .frm_code_list.frm-full-hover > li > a:hover .frmsvg, +.frm-single-settings .frm_code_list.frm-full-hover > li > a:hover span, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a:hover, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a:hover .frmsvg, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a:hover span { + color: var(--primary-500); +} + +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover { + margin: var(--gap-xs) 0 0; +} +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg { + width: 20px; + height: 20px; +} + +/** + * Component: Insert Fields + */ +.frm_field_list #frm-insert-fields { + max-height: none; + font-size: var(--text-sm); +} +.frm_field_list #frm-insert-fields .button a { + display: block; + max-width: 95%; + overflow: hidden; +} + +#frm-insert-fields { + padding: 0 var(--gap-xs); + overflow: hidden; +} +#frm-insert-fields .frm-search { + float: none; + margin: 0 0 var(--gap-md); + width: auto; +} +#frm-insert-fields li { + /* Prevents advanced fields from always appearing in search results */ +} +#frm-insert-fields li, +#frm-insert-fields li a { + text-decoration: none; + font-weight: 500; + font-size: var(--text-md) !important; + color: var(--grey-900); +} +#frm-insert-fields li.frm_show_upgrade { + cursor: pointer; + opacity: 0.5; +} +#frm-insert-fields li span:not(.frm-new-pill) { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + text-align: left; +} +#frm-insert-fields li a.disabled:hover { + cursor: not-allowed; +} +#frm-insert-fields li.ui-draggable-disabled { + opacity: 0.5; +} +#frm-insert-fields li a:not(.disabled):hover .frmsvg, +#frm-insert-fields li a:not(.disabled):hover i { + color: var(--grey-600); +} +#frm-insert-fields li.frm_show_upgrade, +#frm-insert-fields li a { + text-decoration: none; + display: inline-flex !important; + gap: var(--gap-xs); + align-items: center; + border-radius: var(--small-radius) !important; + padding: 11px var(--gap-md) 11px var(--gap-xs) !important; + color: var(--grey-900) !important; +} +#frm-insert-fields li a { + display: flex !important; + transition: background-color 0.2s ease-out, box-shadow 0.2s ease-out; +} +#frm-insert-fields li a:not(.disabled):hover { + background: #fff; + box-shadow: var(--box-shadow-md); +} +#frm-insert-fields li a:focus-visible { + outline: 1px solid var(--primary-500); +} +#frm-insert-fields li.frm_show_upgrade.frm_hidden { + display: none !important; +} +#frm-insert-fields .frm-with-line { + padding: 12px var(--gap-md); + font-weight: 500; + font-size: var(--text-sm); +} +#frm-insert-fields .frm-with-line::before { + margin-left: calc(-1 * var(--gap-sm)); + width: calc(100% + var(--gap-md)); +} + +.frm_code_list { + clear: both; +} +.frm_code_list.frm-full-hover a.frm_hidden, +.frm_code_list .frmkeys { + display: none; +} + +.frmsvg { + fill: currentColor; + width: 18px; + height: 18px; + vertical-align: middle; +} +.frmsvg svg { + pointer-events: none; +} +.frmsvg.frm_svg40 { + width: 40px; + height: 40px; +} +.frmsvg.frm_svg24 { + width: 24px; + height: 24px; +} +.frmsvg.frm_svg20 { + width: 20px; + height: 20px; +} +.frmsvg.frm_svg15 { + width: 15px; + height: 15px; +} +.frmsvg.frm_svg14 { + width: 14px !important; + height: 14px !important; +} +.frmsvg.frm_svg13 { + width: 13px; + height: 13px; +} +.frmsvg.frm_svg12 { + width: 12px; + height: 12px; +} +.frmsvg.frm_svg9 { + width: 9px; + height: 9px; +} + +input[disabled] { + pointer-events: none; +} + +.frmbutton.ui-sortable-helper .frmsvg, +.field_type_list li.frmbutton .frmsvg, +.frmbutton.ui-sortable-helper i, +.field_type_list li.frmbutton i, +.frm_code_list a .frmsvg, +.frm_code_list a i { + color: var(--grey-500); + display: inline-block; + vertical-align: middle; + width: var(--text-md); + font-size: var(--text-md); +} + +.field_type_list.frm_grid_container { + gap: 10px; + margin: 13px 0; +} +.field_type_list li { + margin: 0; + padding: 0; +} +.field_type_list li.frmbutton .frmsvg { + width: 24px; + height: 24px; + font-size: 24px; +} + +.frm_code_list i::before { + font-size: inherit; +} + +/* Icon while dragging */ +.frmbutton.ui-draggable-dragging { + pointer-events: none; +} +.frmbutton.ui-draggable-dragging a { + color: var(--grey-900) !important; + background: var(--grey-100); + text-decoration: none; + display: inline-flex !important; + gap: var(--gap-xs); + align-items: center; + border-radius: var(--small-radius) !important; + padding: 11px var(--gap-md) 11px var(--gap-xs) !important; + box-shadow: var(--box-shadow-md); +} + +/** + * Component: Field Dragging + */ +.frmbutton.ui-draggable-dragging a { + border: 1px solid var(--grey-300); + box-shadow: var(--box-shadow-md); +} + +.frmbutton.ui-draggable-dragging span { + font-size: 15px; +} + +#frm-show-fields .frmbutton.ui-sortable-helper i, +.frmbutton.ui-draggable-dragging i, +.frmbutton.ui-draggable-dragging .frmsvg { + color: #fff !important; +} + +.frmbutton.ui-draggable-dragging i, +.frmbutton.ui-draggable-dragging .frmsvg { + color: var(--grey-700) !important; +} + +.frm_sorting li.ui-state-default.ui-sortable-helper, +.frmbutton.ui-sortable-helper { + transition: opacity 0.2s; + opacity: 1; + position: fixed; + z-index: 99999; +} + +#frm-insert-fields .frmbutton.ui-sortable-helper a, +#frm-show-fields .frmbutton.ui-sortable-helper a { + min-width: 100px; +} + +/* End dragging */ +li.frm_noallow.button, +.frm_noallow { + opacity: 0.5; +} + +.frm_actions_list a.frm_show_upgrade.frm_inactive_action::before, +li.frm_noallow.button.frm_show_upgrade { + cursor: pointer; +} + +.field_type_list li.frm_noallow.button.frm_show_upgrade:hover { + border-color: inherit; +} + +.frm_noallow a { + color: inherit; +} + +/** + * Component: Upgrade Modal + */ +#frm_upgrade_modal_image { + max-width: 200px; +} + +#frm_upgrade_modal .frm-upgrade-message img { + margin-top: 10px; + width: 100%; +} + +/** + * Layout: Reports Info + */ +.frm-tab-message { + max-width: 600px; + margin: 20px auto; + color: rgba(63, 75, 91, 0.8); +} + +.frm-settings-screenshot-toolbar { + min-height: 39px; + display: flex; +} + +.frm-settings-screenshot-toolbar .frm-minmax-icon { + height: 8px; + width: 8px; + border-radius: 50%; + align-self: center; + margin-left: 10px; +} + +.frm-settings-screenshot-toolbar .frm-minmax-icon:first-of-type { + margin-left: 20px; +} + +.frm-settings-screenshot-toolbar img { + object-fit: contain; + align-self: flex-end; + margin-left: 25px; +} + +.frm-settings-screenshot-toolbar + div { + background: #fff; + padding-top: 25px; + border-radius: 0 0 16px 16px; +} + +.frm-settings-screenshot-toolbar + div img { + max-width: calc(100% - 40px); +} + +.frm-settings-screenshot-wrapper { + max-width: 700px; + margin: 50px auto 0; + box-shadow: 0 4px 4px rgba(189, 196, 205, 0.25), 0 12px 56px rgba(42, 57, 75, 0.25); + border-radius: 16px; + background: #EBECF1; +} + +/** + * Component: Dialog + */ +.frm-dialog { + z-index: 100; + padding: 0 !important; + border-radius: 16px; + border: none; + background-color: #fff; + max-width: 100% !important; +} + +.frm-dialog .postbox { + background: transparent; + box-shadow: none; + border: none; + line-height: var(--leading); +} + +.frm-dialog input[type=text], +.frm-dialog textarea { + font-size: var(--text-md); +} + +.frm-dialog textarea { + height: 75px; +} + +.frm-dialog button.frm-button-primary { + margin-right: 10px; +} + +.frm-dialog .frm-sub-label, +.frm-sub-label { + color: var(--grey); + text-transform: none; + padding-left: 8px; +} + +h2 .frm-sub-label { + font-size: var(--text-md); +} + +.frm-views-editor-body .ui-widget-overlay, +.frm-white-body .ui-widget-overlay, +.toplevel_page_formidable .ui-widget-overlay, +body[class*=formidable-payments] .ui-widget-overlay, +body.plugins-php .ui-widget-overlay { + position: fixed; + width: 100%; + height: 100%; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: var(--grey-500); + opacity: 0.5; + z-index: 2; +} + +/** + * Component: Circled Icons + */ +.frm-circled-icon { + width: 60px; + height: 60px; + border-radius: 50%; + background-color: var(--primary-25); +} + +.frm-circled-icon-large { + width: 80px; + height: 80px; +} + +.frm-circled-icon-green { + background-color: var(--success-50); +} + +.frm-circled-icon .frmsvg { + width: 21px; + height: 24px; +} + +.frm-circled-icon-large .frmsvg { + width: 24px; +} + +.frm-circled-icon .frmsvg use { + color: var(--primary-500); +} + +.frm-circled-icon-green .frmsvg use { + color: var(--success-500); +} + +.frm-border-icon { + display: flex; + align-items: center; + justify-content: center; + width: 40px; + height: 40px; + border: 1px solid var(--grey-300); + border-radius: var(--small-radius); +} + +.frm-upgrade-message img { + max-width: 100%; +} + +/** + * Component: Link Styles + */ +a.frm-link-secondary { + color: #c4c4c4; + font-size: var(--text-sm); + text-decoration: underline; +} + +.field_type_list li.button.frm_noallow, +.field_type_list li.button.frm_noallow:hover, +.button.frm_noallow, +.button.frm_noallow:hover { + color: inherit; + border-color: #ccc; + background: inherit; +} + +iframe#dyncontent_ifr { + min-height: 150px; +} + +/*! * Bootstrap v4.6.1 - */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}.frmdates_add_blackout_date_link,.frmdates_add_exception_link,.frm_form_field.frm_scroll_box .frm_opt_container,.frm-white-body .wrap input[type=text],.frm-white-body .wrap input[type=search],.frm-white-body .wrap input[type=number],.frm-white-body .wrap select,#frm-form-templates-modal select,.frm-white-body .wrap textarea,button.frm_choose_image_box,#titlediv input[type=text],.frm-fields button.btn,.frm_wrap textarea,.frm_wrap input[type=tel],.frm_wrap input[type=text],.frm_wrap input[type=email] .frm_wrap input[type=search],.frm_wrap input[type=number],.frm_wrap input[type=date],.frm_wrap select,.wp-admin .frm_wrap select,.field-group textarea,.field-group input[type=text],.field-group select,.frm-fields .frm-input-field{outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading)}.frm_input_with_suffix{border-radius:var(--small-radius);border:1px solid var(--grey-300);display:inline-block;padding-right:14px}.frm_input_with_suffix input{border:0 !important;padding-right:5px !important}.frm_wrap ::-webkit-datetime-edit{line-height:var(--leading)}.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus,.frm_wrap input:focus,.frm_wrap select:focus,.wp-core-ui .frm_wrap select:focus,#frm-form-templates-modal select:focus,.frm-btn-group .multiselect.dropdown-toggle:focus,.frm_wrap textarea:focus{border-color:var(--primary-500) !important;box-shadow:none !important}.wp-admin .frm_fields_container textarea:focus,.wp-admin .frm_fields_container input:focus,.wp-admin .frm_fields_container select:focus{border-color:var(--primary-500);box-shadow:none}#postbox-container-2 textarea,.frm_wrap textarea,.field-group textarea{line-height:2}.frm_wrap input[type=number]{height:auto}.frm_wrap select{padding:2px}.wp-admin .frm_wrap select,#frm-form-templates-modal select{max-width:100%}.frm_form_field.frm_scroll_box .frm_opt_container{padding:10px 12px}.frm_wrap input[disabled],.frm_wrap select[disabled],.frm_wrap textarea[disabled],.frm_wrap input[readonly],.frm_wrap select[readonly],.frm_wrap textarea[readonly],.frm_wrap input::placeholder{color:var(--grey-500)}textarea[id^=frm_calc_]::placeholder{font-size:var(--text-sm);line-height:var(--leading);font-style:italic;color:var(--grey-400);padding-top:5px}.frm_wrap .frm-button-primary.frm-disabled{opacity:.5;cursor:default}#postcustomstuff table td>div{padding-top:0 !important}.wp-admin .frm_wrap .form-table select{vertical-align:top}.frm_wrap .frm_form_builder select{line-height:var(--leading);height:var(--text-md);width:100%}#postbox-container-2 select,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,#frm-form-templates-modal select{height:auto}.frm-white-body .tablenav select,.frm-white-body .tablenav input[type=text],.wp-admin .frm_wrap .tablenav select,.frm_wrap .tablenav input[type=date],.frm_wrap .tablenav input[type=text]{padding-top:0;padding-bottom:0;line-height:1}.frm_wrap .tablenav ::-webkit-datetime-edit{line-height:1}.frm-fields button.btn,.frm-fields textarea,.frm-fields input[type=text],.frm-fields select,.field-group textarea,.field-group input[type=text],.field-group select,.accordion-container input.hex,.frm-fields .frm-input-field{width:100%;outline:0}.frm-fields button.btn{height:var(--h-md);text-align:inherit}.global-font .field-group input[type=text]{width:auto}.wp-core-ui .frm_grey.frm-button-primary.disabled,.wp-core-ui .frm_grey.frm-button-primary,#frm-welcome .frm_grey{opacity:.5;background:#f6f6f6 !important;border-color:#ddd !important;color:#9fa5aa !important}.windows::-webkit-scrollbar,.windows ::-webkit-scrollbar{width:7px;background:rgba(0,0,0,0)}.windows::-webkit-scrollbar-thumb,.windows ::-webkit-scrollbar-thumb{background:var(--grey-300);-webkit-border-radius:var(--border-radius);-webkit-box-shadow:none}.windows::-webkit-scrollbar-corner,.windows ::-webkit-scrollbar-corner{background:rgba(0,0,0,0)}.frm-scrollbar-wrapper,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list,#frm_builder_page #frm_adv_info .frm_code_list,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div,.frm-single-settings .frm_field_opts_list{overflow-x:hidden;overflow-y:auto !important;-ms-overflow-style:none;scrollbar-color:rgba(0,0,0,0) rgba(0,0,0,0);scrollbar-width:thin}.frm-scrollbar-wrapper:hover,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list:hover,#frm_builder_page #frm_adv_info .frm_code_list:hover,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div:hover,.frm-single-settings .frm_field_opts_list:hover{scrollbar-color:var(--grey-300) rgba(0,0,0,0)}.frm-scrollbar-wrapper:hover::-webkit-scrollbar-thumb,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list:hover::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info .frm_code_list:hover::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div:hover::-webkit-scrollbar-thumb,.frm-single-settings .frm_field_opts_list:hover::-webkit-scrollbar-thumb{background:var(--grey-300)}.frm-scrollbar-wrapper::-webkit-scrollbar,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar{width:3px}.frm-scrollbar-wrapper::-webkit-scrollbar-track,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-track,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-track,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-track,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-track{background:rgba(0,0,0,0);border-radius:100vw}.frm-scrollbar-wrapper::-webkit-scrollbar-thumb,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-thumb,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-thumb{background:rgba(0,0,0,0);border-radius:100vw}.frm-scrollbar-wrapper::-webkit-scrollbar-thumb:hover,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-thumb:hover,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-thumb:hover,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-thumb:hover,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-thumb:hover{background:var(--grey-300)}.rtl h3{font-weight:inherit !important}.rtl.js .accordion-section-title::after{left:10px;right:auto}.rtl #frm_top_bar #frm_bs_dropdown{padding-left:15px}.rtl .frm-full-close,.rtl .frm_wrap .columns-2 .frm-right-panel+div,.rtl .frm-right-panel{border-left-width:0;border-right:1px solid var(--grey-300)}.rtl .frm-full-close{padding-left:0;padding-right:var(--gap-md)}.rtl .frm-text-right{text-align:left}.rtl .frm_wrap #frm_adv_info ul.category-tabs li:first-child{border-left-width:1px}.rtl .frm-dropdown-menu{text-align:right}.rtl .frm_actions_dropdown .frm_icon_font{float:right;margin-right:0;margin-left:3px}.rtl #frm-insert-fields-box,.rtl #frm-conditionals{padding-right:.9em}.rtl #html_settings .frm_field_html_box{margin-right:0}.rtl .frm_list_entry_page h2{float:right}.rtl .frm_scale{float:right;margin-left:10px;margin-right:0}.rtl .frm-page-break .frm-collapse-page.button{margin-left:0;margin-right:46%}.rtl .frm-field-action-icons{right:unset;left:2px}.rtl .frm_has_shortcodes>i{right:auto;left:5px}.rtl p.frm_reply_to_container,.rtl p.frm_bcc_cc_container{float:left}.rtl .frm-with-right-icon:not(.frm-token-container) .frmsvg{right:auto;left:0}.rtl .frm-inline-modal>a.dismiss{left:13px;right:auto}.rtl.wp-admin .frm_wrap select{padding-left:var(--gap-lg) !important;padding-right:5px !important;background-position:left 11px top 55%}.rtl .frm_code_list.frm-full-hover a span{margin-left:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-navs ul li:first-child{margin-left:unset;margin-right:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-navs ul li:last-child{margin-right:unset;margin-left:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline{left:unset !important;right:0}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline.frm-first{right:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline.frm-last{right:calc(-1*var(--gap-xs))}.rtl .frm-unit-input .frm-input-group-suffix{right:unset;left:1px;padding-right:unset;padding-left:var(--gap-xs)}.rtl .frm-unit-input .frm-input-group-suffix select{text-align:left;background-position:left 0 top 50%;padding-left:21px !important}span.clear{display:block}.clearfix::after{content:".";display:block;height:0;clear:both;visibility:hidden}.clearfix{display:inline-block}.frm_form_fields .clear{height:auto}* html .clearfix{height:1%}.clearfix{display:block}#frm_small_device_message_container{display:none}@media only screen and (max-width: 1200px){.frm-addons{grid-template-columns:1fr 1fr}#frm_top_bar h1{min-width:0}}@media only screen and (max-width: 1050px){.frm-white-body,.frm_wrap{--biggest-sidebar: 390px}#form_settings_page .columns-2{margin:0}.frm_actions_list{margin-left:0}#frm_bs_dropdown .frm_bstooltip{display:none !important}}@media only screen and (max-width: 960px){.frm-white-body,.frm_wrap{--gap-sm: 8px;--gap-md: 16px;--gap-2xl: 24px}.frm-settings-panel{--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 32px}.auto-fold #adminmenuwrap{width:36px}.frm_wrap #postbox-container-1 #frm_adv_info{min-width:220px}p.howto{display:inline-block}.auto-fold.frm-admin-page-styles:not(.frm-full-screen) .frm_page_container,.auto-fold:not(.frm-full-screen) .frm_wrap .frm_page_container{left:36px}}@media only screen and (max-width: 850px){.frm-white-body,.frm_wrap{--biggest-sidebar: 350px;--big-sidebar: 350px}.frm_col_one{clear:none}.frm-fields p>.frm_inline_label,.frm_inline_label{display:block;margin:5px 0}#frm_top_bar h1{width:auto;max-width:200px}#frm-publishing{width:auto}#frm_form_editor_container,.frm-entry-container{margin:0 20px}.frm_wrap .frm-search{float:none !important;width:auto;clear:both}.post-type-frm_display #frm_adv_info{top:auto !important;position:static;width:auto}.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{min-width:275px}.frm_wrap #frm_adv_info ul.category-tabs li,.frm_wrap #frm_adv_info ul.category-tabs li.tabs{border:none}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{margin-left:12px}.frm_wrap #frm_adv_info ul.category-tabs li.tabs{border-bottom:2px solid #5b9dd9;padding-bottom:8px}.post-type-frm_display #poststuff{padding:10px 25px}.post-type-frm_display #side-sortables .postbox{margin-bottom:20px;border-radius:var(--small-radius);border-top-width:1px}#frm_top_bar .frm_form_nav{box-shadow:0 -0.47px 10px 0 rgba(16,24,40,.0588235294)}#frm_top_bar ul.frm_form_nav{padding:1em 0;position:fixed;bottom:0;width:100%;background:#fff;z-index:99;transform:translate(-50%, 0);left:50%}.frm_page_container>.columns-2,#frm_styler_wrapper{padding-bottom:64px}#frm_style_preview .frm_floating_style_button:not(.frm_hidden){position:static;display:inline-block}.frm_wrap .columns-2 .frm-right-panel{padding-bottom:0}#frm-publishing{margin-left:auto}#frm_top_bar>.frm-full-close:last-child{margin-left:0}#frm_bs_dropdown{display:block}#frm_bs_dropdown .frm_bstooltip{display:block !important}}@media only screen and (max-width: 782px){.frm-white-body,.frm_wrap{--small-sidebar: 20%;--medium-sidebar: 35% }#form_settings_page .advanced_settings .form-table td,.form-table th{display:table-cell;width:auto !important}.frm-white-body #publishing-action,.frm_wrap #publishing-action{line-height:normal}.frm-white-body #screen-meta-links{display:none}.frm_wrap .misc-pub-section{padding:6px 0}.frm_wrap .misc-pub-section>a{float:none;white-space:nowrap}.frm-form-setting-tabs a{position:relative;padding:10px 5px 10px 40px}.frm-form-setting-tabs a .frmsvg,.frm-form-setting-tabs a i{position:absolute;left:13px;top:calc(50% - 10px);margin:0}#frm-insert-fields .button,#frm-insert-fields .button a,.frmbutton.ui-sortable-helper a{line-height:26px;max-height:28px}a.frm_add_logic_link{margin-left:0;margin-right:0;width:100%;box-sizing:border-box}a.frm_add_logic_link:not([id^=logic_]) .frmsvg,a.frm_add_logic_link i{display:none}#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 83px)}.frm_single_entry_page .frm_form_fields input[type=text],.frm_single_entry_page .frm_form_fields select,.frm_single_entry_page .frm_form_fields textarea{width:100%}.with_frm_style .frm_radio input[type=radio],.with_frm_style .frm_checkbox input[type=checkbox]{width:25px !important}.frm_single_entry_page .with_frm_style .frm_radio input[type=radio],.frm_single_entry_page .with_frm_style .frm_checkbox input[type=checkbox]{width:18px !important}.wp-list-table.toplevel_page_formidable .column-entries,.wp-list-table.toplevel_page_formidable .column-form_key,.wp-list-table.toplevel_page_formidable .column-shortcode,.wp-list-table.toplevel_page_formidable .column-created_at{display:none !important}.wp-list-table.toplevel_page_formidable td.column-entries,.wp-list-table.toplevel_page_formidable td.column-form_key,.wp-list-table.toplevel_page_formidable td.column-shortcode,.wp-list-table.toplevel_page_formidable td.column-created_at{padding:3px 8px 3px 35%;text-align:left}#form_entries_page .wp-list-table th.frm_hidden,#form_entries_page .wp-list-table td.frm_hidden{display:none !important}.frm-white-body.auto-fold #wpcontent{padding-left:0}.frm_right_addon .frm_remove_field{bottom:11px}.frm-addons{grid-template-columns:1fr}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{left:0 !important}.frm_single_entry_page.frm_wrap .columns-2{display:block;border-bottom:none}.frm_single_entry_page .wrap.frm-with-margin{margin:10px 20px}.frm_single_entry_page #post-body-content+.frm-right-panel{width:auto;margin:0 20px;border:1px solid var(--sidebar-hover);border-radius:6px}#wp-content-media-buttons a.frm_insert_form{padding:0 var(--gap-sm)}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{width:1.2rem;height:1.2rem}}@media only screen and (max-width: 700px){.frm-white-body,.frm_wrap{--biggest-sidebar: 50%;--big-sidebar: 50%}}@media only screen and (max-width: 600px){.frm-white-body,.frm_wrap{--small-sidebar: 45px}.frm-form-setting-tabs a{visibility:collapse;font-size:0;padding:0 var(--gap-sm)}.frm-form-setting-tabs a .frmsvg,.frm-form-setting-tabs a i{visibility:visible;position:initial;font-size:18px}#frm_builder_page #frm-insert-fields{padding:0}.frm_wrap #frm_adv_info ul.category-tabs li{display:inline-block;padding:0;margin:2px 0;border-bottom:2px solid rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li.tabs,.frm_wrap #frm_adv_info ul.category-tabs li:first-child{margin-left:0;padding:0}.field_type_list li{text-align:center}#frm-insert-fields li a{padding:5px}#frm_form_editor_container .frm_primary_label{clear:both}#frm_builder_page .frm_code_list a.button{padding:2px}#frm_builder_page .frm_actions_dropdown>.frm-dropdown-menu{right:0;left:auto}.frm-right-panel h3.accordion-section-title{padding-right:10px;padding-left:10px;font-size:20px;white-space:nowrap;overflow:hidden}.frm-right-panel .accordion-section-title::before{margin-left:0;margin-right:3px}.rtl #frm_builder_page .frm_actions_dropdown>.frm-dropdown-menu{right:auto;left:0}.frm_on_submit_type svg{display:none}}@media only screen and (max-width: 475px){#frm_bs_dropdown{float:none}#frm-nav-tabs{padding:0;white-space:nowrap}#frm-nav-tabs a{margin-right:0}#frm_small_device_message_container{display:flex;flex-direction:column;align-items:center;justify-content:center;position:fixed;top:0;width:100%;height:100%;z-index:999999;background:var(--primary-500)}#frm_small_device_message{text-align:center;display:flex;flex-direction:column;align-items:center;width:80%;padding:1rem;background:#fff;border:solid 1px #fff;border-radius:var(--medium-radius)}#frm_small_device_message::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-78%, -65%);width:900px;height:900px;background-color:#0d7dfc;border-radius:50%;z-index:-1;opacity:.3}#frm_small_device_message>svg{padding-bottom:1rem}.toplevel_page_formidable:has(#frm_small_device_message_container) #posts-filter,.post-type-frm_display:has(#frm_small_device_message_container) #posts-filter{display:none}}@media print{a,.misc-pub-section a{color:#000 !important}.add-new-h2,#frm_top_bar,.dashicons,#adminmenuwrap,#adminmenuback,#wphead,#button_bar,#submitdiv,.button-secondary,#screen-metas,#screen-meta-links,#footer,#wpfooter,.inner-sidebar,.frm_form_nav,.frm_flash_graph,.frm_no_print,object,.error{visibility:hidden;display:none !important}.widget,.postbox,.stuffbox,.postbox h3{border-width:0 !important;border-color:#fff}.postbox{background:#fff !important;border:none;position:static}.postbox h3,.postbox h4{background:#fff !important}#wpbody-content{float:none}#wpcontent,#post-body-content,.has-right-sidebar #post-body,#poststuff .columns-2{margin:0 !important}.frm_wrap #poststuff .columns-2{display:block}#post-body-content+.frm-right-panel,.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{border:none;width:auto;display:block;padding:20px}.frm_wrap .columns-2,.frm_wrap .frm_page_container{height:auto;display:block}.misc-pub-section>span{padding:0}.frm-right-panel .postbox .inside{padding-left:12px;padding-right:12px}.curtime #timestamp::before{display:none;content:none !important}.frm_charts .alignleft{float:none}.pg_odd,.pg_even{page-break-inside:avoid;max-width:600px}.form-table td,.form-table th{padding:0}.frm_file_container a{display:block;width:100%}}.frm-admin-page-styles #frm-publishing #save_menu_header,.frm-admin-page-styles2 #frm-publishing #save_menu_header{display:inline-block}.edit_form_item .frm_combo_inputs_container[data-name-layout=last_first] .frm_form_subfield-first{order:2}.frm-video-wrapper iframe{width:100%;max-width:843px;border-radius:var(--border-radius)}#frm_field_group_popup{position:absolute;top:0;right:0;width:366px;max-height:231px;border-radius:8px;background:#fff;box-shadow:0 20px 48px rgba(40,47,54,.15);z-index:3;box-sizing:border-box;padding:24px 0;text-align:left}.rtl #frm_field_group_popup{text-align:right}.frm-merge-fields-into-row #frm_field_group_popup{top:unset;bottom:50px;height:196px}#frm_field_group_popup>hr{margin:12px 0}#frm_field_group_popup .frm-cancel-custom-field-group-layout,#frm_field_group_popup .frm-save-custom-field-group-layout{padding:4px 18px}#frm_field_group_popup .frm-cancel-custom-field-group-layout:hover{border-color:var(--primary-500) !important;color:var(--primary-500);background-color:rgba(0,0,0,0) !important}.frm-merge-fields-into-row #frm_field_group_popup .frm-break-field-group{display:none}.frm-merge-fields-into-row>a{color:rgba(40,47,54,.85);position:relative;top:2px}.frm-row-layout-title{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:27px}.frm-row-layout-option{background:#f6f7fb;box-sizing:border-box;border-radius:2px;padding:15px 10px}#frm_field_group_popup .frm-row-layout-option .frm_grid_container{grid-gap:0 5%;grid-template-columns:repeat(12, auto)}#frm_field_group_popup .frm-row-layout-option{cursor:pointer;border:2px solid rgba(0,0,0,0)}#frm_field_group_popup .frm-row-layout-option.frm-active-row-layout,#frm_field_group_popup .frm-row-layout-option:hover{border-color:var(--primary-500)}.frm-custom-field-group-layout,.frm-break-field-group{padding:4px 24px;cursor:pointer;font-size:var(--text-sm);line-height:19px;color:#484e54}.frm-custom-field-group-layout:hover,.frm-break-field-group:hover{background-color:rgba(245,245,245,.9607843137)}.frm-custom-field-group-layout svg,.frm-break-field-group svg{margin-right:5px}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}#frm_banner{width:100%;color:#fff;background:var(--primary-500);height:40px;line-height:40px;text-align:center;position:relative}.frm-banner-emoji{font-size:19px}.frm-banner-emoji,.frm-banner-title{margin-right:5px;vertical-align:top}.frm-banner-cta a{text-decoration:underline !important}#frm_banner .frm-banner-cta a.frm_inbox_dismiss{display:none}.frm-banner-dismiss{cursor:pointer;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.frm-banner-dismiss .frmsvg{vertical-align:top}.frm-ready-made-solution:not(.frm-search-result){display:none !important}#frm_leave_email_wrapper .frmsvg{top:0}#frm-add-my-email-address{margin-top:30px}.frm-ready-made-solution h3~a{color:var(--primary-500)}.frm-ready-made-solution img{max-width:100%;display:block;box-shadow:var(--box-shadow-lg)}.frm_single_on_submit_settings .frm_form_field{margin:22px 0}.frm_on_submit_type_setting{padding:8px 0}.frm_on_submit_type label{display:flex;border:1px solid var(--grey-border);border-radius:var(--small-radius);gap:16px;padding:16px;align-items:center;justify-content:center}.frm_on_submit_type input{opacity:0 !important;position:absolute;z-index:-1}.frm_on_submit_type input[type=radio]:checked+label{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}#form_settings_page .frm_on_submit_type label:hover,.frm_on_submit_type input[type=radio]:checked+label svg{color:var(--primary-color)}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}#frm-form-templates-modal textarea{height:108px}#frm-form-templates-modal .frm-fields button.btn{border-color:var(--grey-300);color:var(--grey-900);cursor:pointer}#frm-form-templates-modal .frm-fields button.btn .frmsvg{color:var(--grey-400);width:14px;height:14px}#frm-form-templates-modal .frm-form-templates-modal-fieldset{position:relative}#frm-form-templates-modal .frm-form-templates-modal-fieldset .frm-with-left-icon .frmsvg{padding:0;top:0;left:13px}#frm-form-templates-modal .postbox{display:block !important}#frm_empty_inbox #frm-leave-email-modal{margin-top:var(--gap-2xl)}#frm-name-your-form-modal .frm_modal_top{padding-top:var(--gap-sm)}#frm-field-group-message{position:absolute;bottom:32px;right:calc(50% - var(--biggest-sidebar));padding:var(--gap-xs) var(--gap-sm);border-radius:100px;background-color:var(--primary-25)}#frm-field-group-message .frm-field-group-message-text{gap:10px;color:var(--grey-800)}#frm-field-group-message-dismiss{margin-left:var(--gap-xs)}#frm-field-group-message-dismiss .frmsvg{color:var(--grey-800);width:15px;height:15px;cursor:pointer;transition:color 300ms ease-in-out}#frm-field-group-message-dismiss .frmsvg:hover{color:var(--grey-500)}.frm-card-item{display:flex;border:1px solid var(--grey-200);border-radius:var(--small-radius);padding:var(--gap-sm);box-shadow:var(--box-shadow-xs);background:#fff}.frm-card-item:not(.frm-counter-card){gap:10px}.frm-compact-card-item{padding:var(--gap-sm) 35px 10px 35px}.frm-card-bottom{background-color:var(--grey-50);margin-left:calc(var(--gap-sm)*-1);margin-bottom:calc(var(--gap-sm)*-1);margin-right:calc(var(--gap-sm)*-1);padding:var(--gap-sm);border-radius:0 0 var(--small-radius) var(--small-radius)}#welcome-panel:has(#frm_form_pf_importer){background-color:#fff;margin:var(--gap-sm) var(--gap-md) var(--gap-md);line-height:2}#welcome-panel:has(#frm_form_pf_importer) .welcome-panel-content{text-align:start !important;min-height:unset;display:block}#frm_form_pf_importer div{margin:10px 0 !important}#frm_form_pf_importer button{border:1px solid var(--primary-500);padding:7px 16px;min-height:28px;line-height:var(--leading);margin-bottom:0;background:var(--primary-500);color:#fff !important}#frm_form_pf_importer button:hover{background:#135e96;border-color:#135e96}.frm-option-box{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:500;background-color:#fff;padding:12px var(--gap-sm);border:1px solid var(--grey-200);border-radius:var(--small-radius);margin-bottom:var(--gap-xs);transition:background-color 100ms ease-out;cursor:pointer}.frm-option-box:hover{background-color:var(--grey-25)}.frm-option-box.frm-checked{background-color:var(--primary-25);border-color:var(--primary-200)}.frm-option-box.frm-disabled{cursor:default}.frm-option-box input[type=checkbox]{margin:0}.frm-option-box.frm-disabled input[type=checkbox]{opacity:.5}.frm-option-box .frm_help .frmsvg{width:12px;height:12px}.frm-validation-error:not(.frm_hidden){display:flex}.frm-validation-error{gap:calc(var(--gap-xs) + var(--gap-2xs))}.frm-validation-error span{color:var(--error-500)}.frm-validation-error span[frm-error]{display:none}.frm-validation-error[frm-error=empty] span[frm-error=empty],.frm-validation-error[frm-error=invalid] span[frm-error=invalid],.frm-validation-error[frm-error=custom] span[frm-error=custom]{display:inline-block}.frm-box{padding:var(--gap-sm);border:1px solid var(--grey-200);border-radius:var(--small-radius)}.frm-link-with-external-icon{display:flex;align-items:center;gap:var(--gap-2xs);font-size:var(--text-xs)}.frm-link-with-external-icon .frmsvg{width:16px;height:16px;transform:rotate(45deg)}#wpbody-content .frm-page-skeleton ul,#wpbody-content .frm-page-skeleton li{margin:0}#wpbody-content .frm-page-skeleton .frm-right-panel{padding:2px;overflow-y:initial}#wpbody-content .frm-page-skeleton .frm-scrollbar-wrapper{padding:var(--gap-md) var(--gap-sm)}#wpbody-content .frm-page-skeleton .frm-search{float:none;padding:0 var(--gap-2xs)}#wpbody-content .frm-page-skeleton .frm-search>svg{left:var(--gap-2xs)}#wpbody-content .frm-page-skeleton .frm-search>input{width:100%}.frm-page-skeleton-cat{cursor:pointer;padding:var(--gap-xs);border-radius:var(--small-radius);background-color:rgba(0,0,0,0);transition:background-color 250ms ease-out}.frm-page-skeleton-cat:hover{background-color:var(--grey-100)}.frm-page-skeleton-cat>*{z-index:2}.frm-page-skeleton-cat-text{color:var(--grey-900);text-transform:capitalize}.frm-page-skeleton-cat-count{color:var(--grey-400)}.frm-current .frm-page-skeleton-cat-text,.frm-current .frm-page-skeleton-cat-count{color:var(--primary-500)}.frm-list-grid-layout{display:grid;grid-template-columns:repeat(auto-fill, minmax(303px, 1fr));grid-auto-rows:max-content;gap:var(--gap-sm)}.frm-list-grid-layout>*{grid-column:span 1}#frm-page-skeleton-empty-state{height:100%;margin-top:calc(-1*var(--gap-md))}#frm-page-skeleton-empty-state .frm-page-skeleton-text{max-width:420px}.frm-page-skeleton-divider{border-top:1px solid var(--grey-200);margin:0}.field_type_list .frm_tsubmit{display:none !important}#frm_style_sidebar .accordion-section-title::after,#frm_view_editor_left .accordion-section-title::after{content:""}a[href="#square_settings"] svg.frmsvg{width:23px !important;height:22px !important}#frm_square_test_setup_modal a:focus{box-shadow:none !important}@media only screen and (max-width: 900px){#square_settings .frm_grid_container:has(.frm-card-item){grid-template-columns:repeat(1, 1fr)}#square_settings .frm-card-item+.frm-card-item{margin-top:var(--gap-sm)}}#frm_sale_banner{display:flex;height:90px;flex-direction:row;align-items:center;gap:var(--gap-sm);cursor:pointer;position:relative}#frm_sale_banner>div:first-child{align-self:flex-end;width:150px;height:100%;display:flex;justify-content:center}#frm_sale_banner>div:first-child img{align-self:center}#frm_sale_banner>div:nth-child(3){margin-left:auto;margin-right:50px}#frm_sale_banner>div:nth-child(2)>div:last-child{opacity:.8}#frm_sale_banner a:not(.dismiss){text-shadow:none;border-radius:30px;border:1px rgba(0,0,0,0);font-size:var(--text-sm);padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;margin-bottom:0;display:inline-block;font-weight:700;background-color:#fff;color:#000}#frm_sale_banner .dismiss{position:absolute;color:#fff;opacity:.6;right:15px;top:10px}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: #fff"]{background-color:#f0f0f0 !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(241, 90, 36, 1)"]{background-color:#e6470f !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(239, 58, 78, 1)"]{background-color:#ed1d34 !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(33, 2, 14, 1)"]{background-color:#3e041a !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(72, 51, 64, 1)"]{background-color:#362630 !important}.frm-lookup-box-label{display:none}.frm-inline-modal[id^=frm-lookup-box]{background-color:rgba(0,0,0,0);border:0;box-shadow:none}.frm-inline-modal[id^=frm-lookup-box] .frm-nav-tabs,.frm-inline-modal[id^=frm-lookup-box] .dismiss{display:none}.frm_single_option a.frm_remove_tag svg,.frm_single_option a.frm_add_opt svg{width:15px;height:15px}#frm_builder_page #frm-options-panel .frm-single-settings.frm-type-ranking .frm_image_styling_frame{margin-left:12px} + */ +.tooltip { + /* Copied from Bootstrap */ + position: absolute; + display: block; + margin: 0; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; + /* Custom rules */ + z-index: 9999999; + pointer-events: none; +} + +.tooltip.show { + opacity: 0.9; +} + +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; + margin-left: 0 !important; +} + +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top, .bs-tooltip-auto[x-placement^=top] { + padding: 0.4rem 0; +} + +.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=top] .arrow { + bottom: 0; +} + +.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=top] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} + +.bs-tooltip-right, .bs-tooltip-auto[x-placement^=right] { + padding: 0 0.4rem; +} + +.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=right] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=right] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} + +.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=bottom] { + padding: 0.4rem 0; +} + +.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=bottom] .arrow { + top: 0; +} + +.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=bottom] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} + +.bs-tooltip-left, .bs-tooltip-auto[x-placement^=left] { + padding: 0 0.4rem; +} + +.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=left] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=left] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} + +.frm-dropdown-menu.show { + display: block; +} + +.frm-single-settings .frm-dropdown-menu.show { + background: #fff; +} + +/* End Bootstrap */ +.preview.dropdown .dropdown-menu { + min-width: 205px; +} + +.frm_clear { + clear: both; +} + +.frm_clearfix::after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; +} + +.frm_clearfix { + display: block; +} + +.frm_admin_progress { + overflow: hidden; + height: 20px; + margin-bottom: 20px; + background-color: #f5f5f5; + border-radius: 4px; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} + +.frm_admin_progress_bar { + float: left; + width: 0; + height: 100%; + font-size: 12px; + line-height: 20px; + color: #fff; + text-align: center; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + transition: width 0.6s ease; + background-color: #04A4CC; +} + +.tooltip.frm_tooltip { + position: fixed; + top: auto !important; + bottom: 0 !important; + left: 0 !important; + max-width: none; + width: 100% !important; + z-index: 99999; +} + +.tooltip.frm_tooltip.bottom { + padding: 0; +} + +.frm_tooltip .tooltip-inner { + max-width: none; + min-height: 40px !important; + text-align: left; + box-shadow: 5px 5px 25px rgba(0, 0, 0, 0.5); + padding: 10px 40px; + border-top-color: #ccc; + background: var(--sidebar-color); + color: var(--grey-700); + border-radius: 0; + opacity: 1; + font-size: var(--text-sm); +} + +#frm_custom_css_box { + width: 100%; +} + +/** + * Component: Admin Inputs + */ +.frmdates_add_blackout_date_link, +.frmdates_add_exception_link, +.frm_form_field.frm_scroll_box .frm_opt_container, +.frm-white-body .wrap input[type=text], +.frm-white-body .wrap input[type=search], +.frm-white-body .wrap input[type=number], +.frm-white-body .wrap select, +#frm-form-templates-modal select, +.frm-white-body .wrap textarea, +button.frm_choose_image_box, +#titlediv input[type=text], +.frm-fields button.btn, +.frm_wrap textarea, +.frm_wrap input[type=tel], +.frm_wrap input[type=text], +.frm_wrap input[type=email] .frm_wrap input[type=search], +.frm_wrap input[type=number], +.frm_wrap input[type=date], +.frm_wrap select, +.wp-admin .frm_wrap select, +.field-group textarea, +.field-group input[type=text], +.field-group select, +.frm-fields .frm-input-field { + outline: 0; + box-shadow: var(--box-shadow-xs); + border-radius: var(--small-radius); + padding: 5px 14px; + border-color: var(--grey-300); + color: var(--grey-800); + font-size: var(--text-md); + margin: 0; + background-color: #fff; + line-height: var(--leading); +} + +.frm_input_with_suffix { + border-radius: var(--small-radius); + border: 1px solid var(--grey-300); + display: inline-block; + padding-right: 14px; +} + +.frm_input_with_suffix input { + border: 0 !important; + padding-right: 5px !important; +} + +.frm_wrap ::-webkit-datetime-edit { + line-height: var(--leading); +} + +.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus, +.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus, +.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus, +.frm_wrap input:focus, +.frm_wrap select:focus, +.wp-core-ui .frm_wrap select:focus, +#frm-form-templates-modal select:focus, +.frm-btn-group .multiselect.dropdown-toggle:focus, +.frm_wrap textarea:focus { + border-color: var(--primary-500) !important; + box-shadow: none !important; +} + +/* +Pages like Entries and Styles need the border-color and box-shadow properties without the !important flag. +To achieve this, we exclude them above and duplicate these rules specifically for those pages without using !important. +*/ +.wp-admin .frm_fields_container textarea:focus, +.wp-admin .frm_fields_container input:focus, +.wp-admin .frm_fields_container select:focus { + border-color: var(--primary-500); + box-shadow: none; +} + +#postbox-container-2 textarea, +.frm_wrap textarea, +.field-group textarea { + line-height: 2; +} + +.frm_wrap input[type=number] { + height: auto; +} + +.frm_wrap select { + padding: 2px; +} + +.wp-admin .frm_wrap select, +#frm-form-templates-modal select { + max-width: 100%; +} + +.frm_form_field.frm_scroll_box .frm_opt_container { + padding: 10px 12px; +} + +.frm_wrap input[disabled], +.frm_wrap select[disabled], +.frm_wrap textarea[disabled], +.frm_wrap input[readonly], +.frm_wrap select[readonly], +.frm_wrap textarea[readonly], +.frm_wrap input::placeholder { + color: var(--grey-500); +} + +textarea[id^=frm_calc_]::placeholder { + font-size: var(--text-sm); + line-height: var(--leading); + font-style: italic; + color: var(--grey-400); + padding-top: 5px; +} + +.frm_wrap .frm-button-primary.frm-disabled { + opacity: 0.5; + cursor: default; +} + +#postcustomstuff table td > div { + /* To override some inline css in add-on */ + padding-top: 0 !important; +} + +.wp-admin .frm_wrap .form-table select { + vertical-align: top; +} + +.frm_wrap .frm_form_builder select { + line-height: var(--leading); + height: var(--text-md); + width: 100%; +} + +#postbox-container-2 select, +.wp-admin .frm_wrap select, +.frm_wrap .frm_form_builder select, +#frm-form-templates-modal select { + height: auto; +} + +.frm-white-body .tablenav select, +.frm-white-body .tablenav input[type=text], +.wp-admin .frm_wrap .tablenav select, +.frm_wrap .tablenav input[type=date], +.frm_wrap .tablenav input[type=text] { + padding-top: 0; + padding-bottom: 0; + line-height: 1; +} + +.frm_wrap .tablenav ::-webkit-datetime-edit { + line-height: 1; +} + +.frm-fields button.btn, +.frm-fields textarea, +.frm-fields input[type=text], +.frm-fields select, +.field-group textarea, +.field-group input[type=text], +.field-group select, +.accordion-container input.hex, +.frm-fields .frm-input-field { + width: 100%; + outline: 0; +} + +.frm-fields button.btn { + height: var(--h-md); + text-align: inherit; +} + +.global-font .field-group input[type=text] { + width: auto; +} + +/** + * Component: Button Grey + */ +.wp-core-ui .frm_grey.frm-button-primary.disabled, +.wp-core-ui .frm_grey.frm-button-primary, +#frm-welcome .frm_grey { + opacity: 0.5; + background: #F6F6F6 !important; + border-color: #ddd !important; + color: #9FA5AA !important; +} + +/** + * Component: Scrollbars + */ +.windows::-webkit-scrollbar, +.windows ::-webkit-scrollbar { + width: 7px; + background: transparent; +} +.windows::-webkit-scrollbar-thumb, +.windows ::-webkit-scrollbar-thumb { + background: var(--grey-300); + -webkit-border-radius: var(--border-radius); + -webkit-box-shadow: none; +} +.windows::-webkit-scrollbar-corner, +.windows ::-webkit-scrollbar-corner { + background: transparent; +} + +.frm-scrollbar-wrapper, +.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list, +#frm_builder_page #frm_adv_info .frm_code_list, +#frm_builder_page #frm_adv_info #taxonomy-linkcategory > div, +.frm-single-settings .frm_field_opts_list { + overflow-x: hidden; + overflow-y: auto !important; /* Enable scrolling */ + -ms-overflow-style: none; /* For IE and Edge */ + scrollbar-color: transparent transparent; /* Firefox Scrollbar - transparent by default and show on hover */ + scrollbar-width: thin; +} +.frm-scrollbar-wrapper:hover, +.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list:hover, +#frm_builder_page #frm_adv_info .frm_code_list:hover, +#frm_builder_page #frm_adv_info #taxonomy-linkcategory > div:hover, +.frm-single-settings .frm_field_opts_list:hover { + scrollbar-color: var(--grey-300) transparent; /* Firefox Scrollbar - Show on hover with transparent background */ +} +.frm-scrollbar-wrapper:hover::-webkit-scrollbar-thumb, +.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list:hover::-webkit-scrollbar-thumb, +#frm_builder_page #frm_adv_info .frm_code_list:hover::-webkit-scrollbar-thumb, +#frm_builder_page #frm_adv_info #taxonomy-linkcategory > div:hover::-webkit-scrollbar-thumb, +.frm-single-settings .frm_field_opts_list:hover::-webkit-scrollbar-thumb { + background: var(--grey-300); /* Show scrollbar on hover */ +} +.frm-scrollbar-wrapper::-webkit-scrollbar, +.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar, +#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar, +#frm_builder_page #frm_adv_info #taxonomy-linkcategory > div::-webkit-scrollbar, +.frm-single-settings .frm_field_opts_list::-webkit-scrollbar { + width: 3px; +} +.frm-scrollbar-wrapper::-webkit-scrollbar-track, +.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-track, +#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-track, +#frm_builder_page #frm_adv_info #taxonomy-linkcategory > div::-webkit-scrollbar-track, +.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-track { + background: transparent; /* Transparent background */ + border-radius: 100vw; /* Consistent radius with thumb */ +} +.frm-scrollbar-wrapper::-webkit-scrollbar-thumb, +.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-thumb, +#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-thumb, +#frm_builder_page #frm_adv_info #taxonomy-linkcategory > div::-webkit-scrollbar-thumb, +.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-thumb { + background: transparent; + border-radius: 100vw; +} +.frm-scrollbar-wrapper::-webkit-scrollbar-thumb:hover, +.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-thumb:hover, +#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-thumb:hover, +#frm_builder_page #frm_adv_info #taxonomy-linkcategory > div::-webkit-scrollbar-thumb:hover, +.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-thumb:hover { + background: var(--grey-300); /* Show scrollbar on hover */ +} + +/** + * Component: RTL + */ +.rtl h3 { + font-weight: inherit !important; +} + +.rtl.js .accordion-section-title::after { + left: 10px; + right: auto; +} + +.rtl #frm_top_bar #frm_bs_dropdown { + padding-left: 15px; +} + +.rtl .frm-full-close, +.rtl .frm_wrap .columns-2 .frm-right-panel + div, +.rtl .frm-right-panel { + border-left-width: 0; + border-right: 1px solid var(--grey-300); +} + +.rtl .frm-full-close { + padding-left: 0; + padding-right: var(--gap-md); +} + +.rtl .frm-text-right { + text-align: left; +} + +.rtl .frm_wrap #frm_adv_info ul.category-tabs li:first-child { + border-left-width: 1px; +} + +.rtl .frm-dropdown-menu { + text-align: right; +} + +.rtl .frm_actions_dropdown .frm_icon_font { + float: right; + margin-right: 0; + margin-left: 3px; +} + +.rtl #frm-insert-fields-box, +.rtl #frm-conditionals { + padding-right: 0.9em; +} + +.rtl #html_settings .frm_field_html_box { + margin-right: 0; +} + +.rtl .frm_list_entry_page h2 { + float: right; +} + +.rtl .frm_scale { + float: right; + margin-left: 10px; + margin-right: 0; +} + +.rtl .frm-page-break .frm-collapse-page.button { + margin-left: 0; + margin-right: 46%; +} + +.rtl .frm-field-action-icons { + right: unset; + left: 2px; +} + +.rtl .frm_has_shortcodes > i { + right: auto; + left: 5px; +} + +.rtl p.frm_reply_to_container, +.rtl p.frm_bcc_cc_container { + float: left; +} + +.rtl .frm-with-right-icon:not(.frm-token-container) .frmsvg { + right: auto; + left: 0; +} + +.rtl .frm-inline-modal > a.dismiss { + left: 13px; + right: auto; +} + +.rtl.wp-admin .frm_wrap select { + padding-left: var(--gap-lg) !important; + padding-right: 5px !important; + background-position: left 11px top 55%; +} + +.rtl .frm_code_list.frm-full-hover a span { + margin-left: var(--gap-xs); +} + +.rtl .frm-style-tabs-wrapper .frm-tabs-navs ul li:first-child { + margin-left: unset; + margin-right: var(--gap-xs); +} +.rtl .frm-style-tabs-wrapper .frm-tabs-navs ul li:last-child { + margin-right: unset; + margin-left: var(--gap-xs); +} +.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline { + left: unset !important; + right: 0; +} +.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline.frm-first { + right: var(--gap-xs); +} +.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline.frm-last { + right: calc(-1 * var(--gap-xs)); +} + +.rtl .frm-unit-input .frm-input-group-suffix { + right: unset; + left: 1px; + padding-right: unset; + padding-left: var(--gap-xs); +} +.rtl .frm-unit-input .frm-input-group-suffix select { + text-align: left; + background-position: left 0 top 50%; + padding-left: 21px !important; +} + +/** + * Component: Clearfix + */ +span.clear { + display: block; +} + +.clearfix::after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +.clearfix { + display: inline-block; +} + +/*Override styling from other plugins*/ +.frm_form_fields .clear { + height: auto; +} + +/* Hides from IE-mac \*/ +* html .clearfix { + height: 1%; +} + +.clearfix { + display: block; +} + +#frm_small_device_message_container { + display: none; +} + +/* End hide from IE-mac */ +/** + * Responsive Styles + * + * Media queries for desktop, tablet, and mobile devices + */ +@media only screen and (max-width: 1200px) { + .frm-addons { + grid-template-columns: 1fr 1fr; + } + #frm_top_bar h1 { + min-width: 0; /* Reset the min-width to prevent menu items from stacking vertically */ + } +} +@media only screen and (max-width: 1050px) { + .frm-white-body, + .frm_wrap { + --biggest-sidebar: 390px; + } + #form_settings_page .columns-2 { + margin: 0; + } + .frm_actions_list { + margin-left: 0; + } + #frm_bs_dropdown .frm_bstooltip { + /* There isn't enough room for the title on a screen this size so just hide it. */ + display: none !important; + } +} +@media only screen and (max-width: 960px) { + .frm-white-body, + .frm_wrap { + --gap-sm: 8px; + --gap-md: 16px; + --gap-2xl: 24px; + } + /* Revert settings panel gap variables to default */ + .frm-settings-panel { + --gap-sm: 16px; + --gap-md: 24px; + --gap-2xl: 32px; + } + .auto-fold #adminmenuwrap { + width: 36px; + } + .frm_wrap #postbox-container-1 #frm_adv_info { + min-width: 220px; + } + p.howto { + display: inline-block; + } + /* Fix: Issue where the admin page content had extra white space to the left on small screens */ + .auto-fold.frm-admin-page-styles:not(.frm-full-screen) .frm_page_container, + .auto-fold:not(.frm-full-screen) .frm_wrap .frm_page_container { + left: 36px; + } +} +@media only screen and (max-width: 850px) { + .frm-white-body, + .frm_wrap { + --biggest-sidebar: 350px; + --big-sidebar: 350px; + } + .frm_col_one { + clear: none; + } + .frm-fields p > .frm_inline_label, + .frm_inline_label { + display: block; + margin: 5px 0; + } + #frm_top_bar h1 { + width: auto; + max-width: 200px; + } + #frm-publishing { + width: auto; + } + #frm_form_editor_container, + .frm-entry-container { + margin: 0 20px; + } + .frm_wrap .frm-search { + float: none !important; + width: auto; + clear: both; + } + .post-type-frm_display #frm_adv_info { + top: auto !important; + position: static; + width: auto; + } + .frm_wrap .frm-right-panel #frm_adv_info, + .frm_wrap #postbox-container-1 #frm_adv_info { + min-width: 275px; + } + .frm_wrap #frm_adv_info ul.category-tabs li, + .frm_wrap #frm_adv_info ul.category-tabs li.tabs { + border: none; + } + .frm_wrap #frm_adv_info ul.category-tabs li:first-child { + margin-left: 12px; + } + .frm_wrap #frm_adv_info ul.category-tabs li.tabs { + border-bottom: 2px solid #5b9dd9; + padding-bottom: 8px; + } + .post-type-frm_display #poststuff { + padding: 10px 25px; + } + .post-type-frm_display #side-sortables .postbox { + margin-bottom: 20px; + border-radius: var(--small-radius); + border-top-width: 1px; + } + #frm_top_bar .frm_form_nav { + box-shadow: 0 -0.47px 10px 0 rgba(16, 24, 40, 0.0588235294); + } + #frm_top_bar ul.frm_form_nav { + padding: 1em 0; + position: fixed; + bottom: 0; + width: 100%; + background: white; + z-index: 99; + transform: translate(-50%, 0); + left: 50%; + } + .frm_page_container > .columns-2, + #frm_styler_wrapper { + padding-bottom: 64px; + } + #frm_style_preview .frm_floating_style_button:not(.frm_hidden) { + position: static; + display: inline-block; + } + .frm_wrap .columns-2 .frm-right-panel { + padding-bottom: 0; + } + #frm-publishing { + margin-left: auto; + } + #frm_top_bar > .frm-full-close:last-child { + margin-left: 0; + } + #frm_bs_dropdown { + display: block; + } + #frm_bs_dropdown .frm_bstooltip { + display: block !important; + } +} +@media only screen and (max-width: 782px) { + .frm-white-body, + .frm_wrap { + --small-sidebar: 20%; + --medium-sidebar: 35% ; + } + #form_settings_page .advanced_settings .form-table td, .form-table th { + display: table-cell; + width: auto !important; + } + .frm-white-body #publishing-action, + .frm_wrap #publishing-action { + line-height: normal; + } + .frm-white-body #screen-meta-links { + display: none; + } + .frm_wrap .misc-pub-section { + padding: 6px 0; + } + .frm_wrap .misc-pub-section > a { + float: none; + white-space: nowrap; + } + .frm-form-setting-tabs a { + position: relative; + padding: 10px 5px 10px 40px; + } + .frm-form-setting-tabs a .frmsvg, + .frm-form-setting-tabs a i { + position: absolute; + left: 13px; + top: calc(50% - 10px); + margin: 0; + } + #frm-insert-fields .button, + #frm-insert-fields .button a, + .frmbutton.ui-sortable-helper a { + line-height: 26px; + max-height: 28px; + } + a.frm_add_logic_link { + margin-left: 0; + margin-right: 0; + width: 100%; + box-sizing: border-box; + } + a.frm_add_logic_link:not([id^=logic_]) .frmsvg, + a.frm_add_logic_link i { + display: none; + } + #new_fields .frm_single_option select, + #new_fields .frm_single_option input[type=text] { + width: calc(100% - 83px); + } + .frm_single_entry_page .frm_form_fields input[type=text], + .frm_single_entry_page .frm_form_fields select, + .frm_single_entry_page .frm_form_fields textarea { + width: 100%; + } + .with_frm_style .frm_radio input[type=radio], + .with_frm_style .frm_checkbox input[type=checkbox] { + width: 25px !important; + } + .frm_single_entry_page .with_frm_style .frm_radio input[type=radio], + .frm_single_entry_page .with_frm_style .frm_checkbox input[type=checkbox] { + width: 18px !important; + } + .wp-list-table.toplevel_page_formidable .column-entries, + .wp-list-table.toplevel_page_formidable .column-form_key, + .wp-list-table.toplevel_page_formidable .column-shortcode, + .wp-list-table.toplevel_page_formidable .column-created_at { + display: none !important; + } + .wp-list-table.toplevel_page_formidable td.column-entries, + .wp-list-table.toplevel_page_formidable td.column-form_key, + .wp-list-table.toplevel_page_formidable td.column-shortcode, + .wp-list-table.toplevel_page_formidable td.column-created_at { + padding: 3px 8px 3px 35%; + text-align: left; + } + #form_entries_page .wp-list-table th.frm_hidden, + #form_entries_page .wp-list-table td.frm_hidden { + display: none !important; + } + .frm-white-body.auto-fold #wpcontent { + padding-left: 0; + } + .frm_right_addon .frm_remove_field { + bottom: 11px; + } + .frm-addons { + grid-template-columns: 1fr; + } + .frm-admin-page-styles .frm_page_container, + .frm_wrap .frm_page_container { + left: 0 !important; + } + .frm_single_entry_page.frm_wrap .columns-2 { + display: block; + border-bottom: none; + } + .frm_single_entry_page .wrap.frm-with-margin { + margin: 10px 20px; + } + .frm_single_entry_page #post-body-content + .frm-right-panel { + width: auto; + margin: 0 20px; + border: 1px solid var(--sidebar-hover); + border-radius: 6px; + } + #wp-content-media-buttons a.frm_insert_form { + padding: 0 var(--gap-sm); + } + .frm-white-body input[type=checkbox]:checked::before, + .frm_wrap input[type=checkbox]:checked::before { + width: 1.2rem; + height: 1.2rem; + } +} +@media only screen and (max-width: 700px) { + .frm-white-body, + .frm_wrap { + --biggest-sidebar: 50%; + --big-sidebar: 50%; + } +} +@media only screen and (max-width: 600px) { + .frm-white-body, + .frm_wrap { + --small-sidebar: 45px; + } + .frm-form-setting-tabs a { + visibility: collapse; + font-size: 0; + padding: 0 var(--gap-sm); + } + .frm-form-setting-tabs a .frmsvg, + .frm-form-setting-tabs a i { + visibility: visible; + position: initial; + font-size: 18px; + } + #frm_builder_page #frm-insert-fields { + padding: 0; + } + .frm_wrap #frm_adv_info ul.category-tabs li { + display: inline-block; + padding: 0; + margin: 2px 0; + border-bottom: 2px solid transparent; + } + .frm_wrap #frm_adv_info ul.category-tabs li.tabs, + .frm_wrap #frm_adv_info ul.category-tabs li:first-child { + margin-left: 0; + padding: 0; + } + .field_type_list li { + text-align: center; + } + #frm-insert-fields li a { + padding: 5px; + } + #frm_form_editor_container .frm_primary_label { + clear: both; + } + #frm_builder_page .frm_code_list a.button { + padding: 2px; + } + #frm_builder_page .frm_actions_dropdown > .frm-dropdown-menu { + right: 0; + left: auto; + } + .frm-right-panel h3.accordion-section-title { + padding-right: 10px; + padding-left: 10px; + font-size: 20px; + white-space: nowrap; + overflow: hidden; + } + .frm-right-panel .accordion-section-title::before { + margin-left: 0; + margin-right: 3px; + } + .rtl #frm_builder_page .frm_actions_dropdown > .frm-dropdown-menu { + right: auto; + left: 0; + } + .frm_on_submit_type svg { + display: none; + } +} +@media only screen and (max-width: 475px) { + #frm_bs_dropdown { + float: none; + } + #frm-nav-tabs { + padding: 0; + white-space: nowrap; + } + #frm-nav-tabs a { + margin-right: 0; + } + #frm_small_device_message_container { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + position: fixed; + top: 0; + width: 100%; + height: 100%; + z-index: 999999; + background: var(--primary-500); + } + #frm_small_device_message { + text-align: center; + display: flex; + flex-direction: column; + align-items: center; + width: 80%; + padding: 1rem; + background: #fff; + border: solid 1px #fff; + border-radius: var(--medium-radius); + } + #frm_small_device_message::before { + content: ""; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-78%, -65%); + width: 900px; + height: 900px; + background-color: #0D7DFC; + border-radius: 50%; + z-index: -1; + opacity: 0.3; + } + #frm_small_device_message > svg { + padding-bottom: 1rem; + } + .toplevel_page_formidable:has(#frm_small_device_message_container) #posts-filter, + .post-type-frm_display:has(#frm_small_device_message_container) #posts-filter { + display: none; + } +} +@media print { + a, .misc-pub-section a { + color: #000 !important; + } + .add-new-h2, #frm_top_bar, .dashicons, + #adminmenuwrap, #adminmenuback, #wphead, #button_bar, #submitdiv, .button-secondary, + #screen-metas, #screen-meta-links, #footer, #wpfooter, .inner-sidebar, .frm_form_nav, + .frm_flash_graph, .frm_no_print, object, .error { + visibility: hidden; + display: none !important; + } + .widget, .postbox, .stuffbox, .postbox h3 { + border-width: 0 !important; + border-color: #fff; + } + .postbox { + background: #fff !important; + border: none; + position: static; + } + .postbox h3, .postbox h4 { + background: #fff !important; + } + #wpbody-content { + float: none; + } + #wpcontent, #post-body-content, + .has-right-sidebar #post-body, + #poststuff .columns-2 { + margin: 0 !important; + } + .frm_wrap #poststuff .columns-2 { + display: block; + } + #post-body-content + .frm-right-panel, + .frm_wrap .columns-2 .frm-right-panel, + .frm-right-panel { + border: none; + width: auto; + display: block; + padding: 20px; + } + .frm_wrap .columns-2, + .frm_wrap .frm_page_container { + height: auto; + display: block; + } + .misc-pub-section > span { + padding: 0; + } + .frm-right-panel .postbox .inside { + padding-left: 12px; + padding-right: 12px; + } + .curtime #timestamp::before { + display: none; + content: none !important; + } + .frm_charts .alignleft { + float: none; + } + .pg_odd, .pg_even { + page-break-inside: avoid; + max-width: 600px; + } + .form-table td, .form-table th { + padding: 0; + } + .frm_file_container a { + display: block; + width: 100%; + } +} +/** + * Extended Components + * + * Additional components loaded after the main layout + */ +/** + * Layout: Publishing + */ +.frm-admin-page-styles #frm-publishing #save_menu_header, +.frm-admin-page-styles2 #frm-publishing #save_menu_header { + display: inline-block; +} + +/* Change the order of subfields of the Name field in the backend */ +.edit_form_item .frm_combo_inputs_container[data-name-layout=last_first] .frm_form_subfield-first { + order: 2; +} + +.frm-video-wrapper iframe { + width: 100%; + max-width: 843px; + border-radius: var(--border-radius); +} + +/** + * Field group popup and related functionality + */ +#frm_field_group_popup { + position: absolute; + top: 0; + right: 0; + width: 366px; + max-height: 231px; + border-radius: 8px; + background: #fff; + box-shadow: 0 20px 48px rgba(40, 47, 54, 0.15); + z-index: 3; + box-sizing: border-box; + padding: 24px 0; + text-align: left; +} + +.rtl #frm_field_group_popup { + text-align: right; +} + +.frm-merge-fields-into-row #frm_field_group_popup { + top: unset; + bottom: 50px; + height: 196px; +} + +#frm_field_group_popup > hr { + margin: 12px 0; +} + +#frm_field_group_popup .frm-cancel-custom-field-group-layout, +#frm_field_group_popup .frm-save-custom-field-group-layout { + padding: 4px 18px; +} + +#frm_field_group_popup .frm-cancel-custom-field-group-layout:hover { + border-color: var(--primary-500) !important; + color: var(--primary-500); + background-color: transparent !important; +} + +.frm-merge-fields-into-row #frm_field_group_popup .frm-break-field-group { + display: none; +} + +.frm-merge-fields-into-row > a { + color: rgba(40, 47, 54, 0.85); + position: relative; + top: 2px; +} + +.frm-row-layout-title { + font-weight: 600; + font-size: 11px; + line-height: 15px; + text-transform: uppercase; + color: rgba(40, 47, 54, 0.45); + margin-bottom: 27px; +} + +.frm-row-layout-option { + background: #F6F7FB; + box-sizing: border-box; + border-radius: 2px; + padding: 15px 10px; +} + +#frm_field_group_popup .frm-row-layout-option .frm_grid_container { + grid-gap: 0 5%; + grid-template-columns: repeat(12, auto); +} + +#frm_field_group_popup .frm-row-layout-option { + cursor: pointer; + border: 2px solid transparent; +} + +#frm_field_group_popup .frm-row-layout-option.frm-active-row-layout, +#frm_field_group_popup .frm-row-layout-option:hover { + border-color: var(--primary-500); +} + +.frm-custom-field-group-layout, +.frm-break-field-group { + padding: 4px 24px; + cursor: pointer; + font-size: var(--text-sm); + line-height: 19px; + color: rgb(72, 78, 84); +} + +.frm-custom-field-group-layout:hover, +.frm-break-field-group:hover { + background-color: rgba(245, 245, 245, 0.9607843137); +} + +.frm-custom-field-group-layout svg, +.frm-break-field-group svg { + margin-right: 5px; +} + +/** + * Field multiselect popup + */ +#frm_field_multiselect_popup { + background: white; + height: 48px; + position: fixed; + border-radius: 4px; + box-shadow: 0 8px 24px rgba(40, 47, 54, 0.15); + color: rgba(40, 47, 54, 0.85); + font-size: 13px; + right: 30px; + bottom: 10px; + z-index: 2; +} + +#frm_field_multiselect_popup > div { + display: inline-block; + line-height: 48px; + vertical-align: top; +} + +#frm_field_multiselect_popup.frm-unmergable > .frm-merge-fields-into-row, +#frm_field_multiselect_popup.frm-unmergable > .frm-multiselect-popup-separator { + display: none; +} + +#frm_field_multiselect_popup > div:not(.frm-multiselect-popup-separator) { + padding: 0 20px; + cursor: pointer; +} + +#frm_field_multiselect_popup > div:not(.frm-multiselect-popup-separator):hover { + background: rgba(245, 245, 245, 0.9607843137); +} + +.frm-builder-popup-heading { + font-weight: 600; + font-size: 11px; + line-height: 15px; + text-transform: uppercase; + color: rgba(40, 47, 54, 0.45); + margin-bottom: 7px; +} + +.frm-builder-popup-subheading { + font-size: 12px; + line-height: 16px; + color: rgba(40, 47, 54, 0.45); +} + +#frm_field_group_popup input[type=text] { + height: 30px; + border-radius: 3px; + font-size: 14px; + padding: 8px; + color: rgb(84, 95, 110); + border-color: rgba(40, 47, 54, 0.2); +} + +.frm-multiselect-popup-separator { + height: 36px; + width: 1px; + position: relative; + top: 6px; + background: #C4C4C4; +} + +.frm-sortable-helper, +.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider) { + pointer-events: none; +} + +.frm-sortable-helper { + /* Make sure the item being dragged appears above other form builder fields */ + z-index: 99; +} + +/** + * Component: Banner Notification + */ +#frm_banner { + width: 100%; + color: #fff; + background: var(--primary-500); + height: 40px; + line-height: 40px; + text-align: center; + position: relative; +} + +.frm-banner-emoji { + font-size: 19px; +} + +.frm-banner-emoji, +.frm-banner-title { + margin-right: 5px; + vertical-align: top; +} + +.frm-banner-cta a { + text-decoration: underline !important; +} + +#frm_banner .frm-banner-cta a.frm_inbox_dismiss { + display: none; +} + +.frm-banner-dismiss { + cursor: pointer; + position: absolute; + right: 10px; + top: 50%; + transform: translateY(-50%); +} + +.frm-banner-dismiss .frmsvg { + vertical-align: top; +} + +/** + * Ready-made solution styles + */ +.frm-ready-made-solution:not(.frm-search-result) { + display: none !important; +} + +#frm_leave_email_wrapper .frmsvg { + top: 0; +} + +#frm-add-my-email-address { + margin-top: 30px; +} + +.frm-ready-made-solution h3 ~ a { + color: var(--primary-500); +} + +.frm-ready-made-solution img { + max-width: 100%; + display: block; + box-shadow: var(--box-shadow-lg); +} + +/** + * Component: On Submit Action + */ +.frm_single_on_submit_settings .frm_form_field { + margin: 22px 0; +} + +.frm_on_submit_type_setting { + padding: 8px 0; +} + +.frm_on_submit_type label { + display: flex; + border: 1px solid var(--grey-border); + border-radius: var(--small-radius); + gap: 16px; + padding: 16px; + align-items: center; + justify-content: center; +} + +.frm_on_submit_type input { + opacity: 0 !important; + position: absolute; + z-index: -1; +} + +.frm_on_submit_type input[type=radio]:checked + label { + border-color: var(--primary-color); + box-shadow: 0 0 0 1px var(--primary-color); +} + +#form_settings_page .frm_on_submit_type label:hover, +.frm_on_submit_type input[type=radio]:checked + label svg { + color: var(--primary-color); +} + +/** + * Component: Call-to-Action + */ +.frm_pro_tip, +.frm-cta { + justify-content: space-between; + align-items: center; + gap: var(--gap-2xl); + padding: var(--gap-xs) var(--gap-sm); + border-radius: var(--small-radius); + background: var(--primary-25); +} + +.frm-cta.frm-cta-border { + border: 1px solid var(--primary-200); +} + +.frm-cta.frm-cta-border .frm-cta-footer { + background-color: #fff; + padding: 12px var(--gap-sm); + border-top: 1px solid var(--primary-200); + border-bottom-left-radius: var(--small-radius); + border-bottom-right-radius: var(--small-radius); + margin-top: 12px; + margin-bottom: calc(-1 * var(--gap-sm)); + margin-left: calc(-1 * var(--gap-sm)); + margin-right: calc(-1 * var(--gap-sm)); +} + +.frm-cta h4 { + font-weight: 600; + margin-top: 0; + margin-bottom: var(--gap-2xs); +} + +.frm-cta-green { + background-color: var(--success-25); +} + +.frm-cta-green .frm-banner-title { + gap: calc(var(--gap-2xs) + 1px); + color: var(--grey-700); +} + +.frm-cta-green.frm-cta-border { + border-color: var(--success-100); +} + +.frm-cta-green.frm-cta-border .frm-cta-footer { + border-color: var(--success-100); +} + +.frm-cta-red { + background-color: var(--error-25); +} + +.frm-cta-red.frm-cta-border { + border-color: var(--error-100); +} + +.frm-cta-icon { + padding: 3px 15px 3px 0; + border-right: 1px solid currentColor; +} + +#frm-upgrade-banner { + gap: 0; +} + +#frm-upgrade-banner .frm-cta-icon + .frm-cta-content { + margin-right: auto; + padding-left: 15px; +} + +#frm-upgrade-banner.frm-gradient h4, +#frm-upgrade-banner.frm-gradient p { + color: currentColor; +} + +#frm-upgrade-banner.frm-gradient h4 { + font-size: 16px; + font-weight: 600; +} + +#frm-upgrade-banner.frm-gradient p { + font-size: 14px; +} + +.frm-right-panel .inside .frm_pro_tip, +.frm_pro_tip { + color: var(--grey-700); + background: #FFE7DE; + margin: 0 auto; + display: flex; + gap: var(--gap-xs); +} + +.frm_field_list .frm_pro_tip { + margin: 10px 15px; + position: relative; + width: calc(100% - 30px); + box-sizing: border-box; + font-size: 14px; +} + +.frm_pro_tip .frmsvg, +.frm_pro_tip i { + color: var(--orange); +} + +.frm-tip-info { + flex: 1; + text-align: left; +} + +.frm-tip-cta { + color: var(--orange); +} + +.frm-gradient .frm-tip-cta, +.frm-light-tip .frm-gradient .frm-tip-cta { + color: currentColor; + font-weight: 700; +} + +.frm-tip-badge { + font-size: 9px; + font-weight: 700; + text-transform: uppercase; + color: #1E63D5; + background-color: #fff; + line-height: 1; + border-radius: 4px; + padding: 3px 4px; +} + +.frm-light-tip .frm_pro_tip { + background: var(--primary-25); +} + +.frm-light-tip .frm_pro_tip .frmsvg, +.frm-light-tip .frm_pro_tip i, +.frm-light-tip .frm-tip-cta { + color: var(--primary-500); +} + +.nav-tab-wrapper .frm_pro_tip { + float: right; +} + +/** + * Component: Form Templates Modal + */ +/* Start confirm and form templates modals */ +#frm-form-templates-modal textarea { + height: 108px; +} + +#frm-form-templates-modal .frm-fields button.btn { + border-color: var(--grey-300); + color: var(--grey-900); + cursor: pointer; +} + +#frm-form-templates-modal .frm-fields button.btn .frmsvg { + color: var(--grey-400); + width: 14px; + height: 14px; +} + +#frm-form-templates-modal .frm-form-templates-modal-fieldset { + position: relative; +} + +#frm-form-templates-modal .frm-form-templates-modal-fieldset .frm-with-left-icon .frmsvg { + padding: 0; + top: 0; + left: 13px; +} + +/* Fixes pro issue #3508, prevent a conflict that hides the postbox in modal */ +#frm-form-templates-modal .postbox { + display: block !important; +} + +/* Leave email modal */ +#frm_empty_inbox #frm-leave-email-modal { + margin-top: var(--gap-2xl); +} + +/* Name your form modal */ +#frm-name-your-form-modal .frm_modal_top { + padding-top: var(--gap-sm); +} + +/* End confirm and form templates modals */ +/** + * Component: Field Group Message + */ +#frm-field-group-message { + position: absolute; + bottom: 32px; + right: calc(50% - var(--biggest-sidebar)); + padding: var(--gap-xs) var(--gap-sm); + border-radius: 100px; + background-color: var(--primary-25); +} + +#frm-field-group-message .frm-field-group-message-text { + gap: 10px; + color: var(--grey-800); +} + +#frm-field-group-message-dismiss { + margin-left: var(--gap-xs); +} + +#frm-field-group-message-dismiss .frmsvg { + color: var(--grey-800); + width: 15px; + height: 15px; + cursor: pointer; + transition: color 300ms ease-in-out; +} + +#frm-field-group-message-dismiss .frmsvg:hover { + color: var(--grey-500); +} + +/** + * Component - Card Item + */ +.frm-card-item { + display: flex; + border: 1px solid var(--grey-200); + border-radius: var(--small-radius); + padding: var(--gap-sm); + box-shadow: var(--box-shadow-xs); + background: #FFF; +} + +.frm-card-item:not(.frm-counter-card) { + gap: 10px; +} + +.frm-compact-card-item { + padding: var(--gap-sm) 35px 10px 35px; +} + +.frm-card-bottom { + background-color: var(--grey-50); + margin-left: calc(var(--gap-sm) * -1); + margin-bottom: calc(var(--gap-sm) * -1); + margin-right: calc(var(--gap-sm) * -1); + padding: var(--gap-sm); + border-radius: 0 0 var(--small-radius) var(--small-radius); +} + +/** + * Component: Pirate Forms Importer + */ +#welcome-panel:has(#frm_form_pf_importer) { + background-color: #fff; + margin: var(--gap-sm) var(--gap-md) var(--gap-md); + line-height: 2; +} + +#welcome-panel:has(#frm_form_pf_importer) .welcome-panel-content { + text-align: start !important; + min-height: unset; + display: block; +} + +#frm_form_pf_importer div { + margin: 10px 0 !important; +} + +#frm_form_pf_importer button { + border: 1px solid var(--primary-500); + padding: 7px 16px; + min-height: 28px; + line-height: var(--leading); + margin-bottom: 0; + background: var(--primary-500); + color: #fff !important; +} + +#frm_form_pf_importer button:hover { + background: #135e96; + border-color: #135e96; +} + +/** + * Component: Option Box + */ +.frm-option-box { + display: flex; + justify-content: space-between; + align-items: center; + font-size: 14px; + font-weight: 500; + background-color: #fff; + padding: 12px var(--gap-sm); + border: 1px solid var(--grey-200); + border-radius: var(--small-radius); + margin-bottom: var(--gap-xs); + transition: background-color 100ms ease-out; + cursor: pointer; +} + +.frm-option-box:hover { + background-color: var(--grey-25); +} + +.frm-option-box.frm-checked { + background-color: var(--primary-25); + border-color: var(--primary-200); +} + +.frm-option-box.frm-disabled { + cursor: default; +} + +.frm-option-box input[type=checkbox] { + margin: 0; +} + +.frm-option-box.frm-disabled input[type=checkbox] { + opacity: 0.5; +} + +.frm-option-box .frm_help .frmsvg { + width: 12px; + height: 12px; +} + +/** + * Component: Validation Error + */ +.frm-validation-error:not(.frm_hidden) { + display: flex; +} + +.frm-validation-error { + gap: calc(var(--gap-xs) + var(--gap-2xs)); +} + +.frm-validation-error span { + color: var(--error-500); +} + +.frm-validation-error span[frm-error] { + display: none; +} + +.frm-validation-error[frm-error=empty] span[frm-error=empty], +.frm-validation-error[frm-error=invalid] span[frm-error=invalid], +.frm-validation-error[frm-error=custom] span[frm-error=custom] { + display: inline-block; +} + +/** + * Utility: Box + */ +.frm-box { + padding: var(--gap-sm); + border: 1px solid var(--grey-200); + border-radius: var(--small-radius); +} + +/** + * External Link styles + */ +.frm-link-with-external-icon { + display: flex; + align-items: center; + gap: var(--gap-2xs); + font-size: var(--text-xs); +} + +.frm-link-with-external-icon .frmsvg { + width: 16px; + height: 16px; + transform: rotate(45deg); +} + +/** + * Page Skeleton + * + * Manages the layout and appearance of the page's content area. + */ +/* Core Styles for the Page */ +#wpbody-content .frm-page-skeleton { + /* Sidebar Styles */ + /* Scrollbar */ + /* Search */ +} +#wpbody-content .frm-page-skeleton ul, +#wpbody-content .frm-page-skeleton li { + margin: 0; +} +#wpbody-content .frm-page-skeleton .frm-right-panel { + padding: 2px; + overflow-y: initial; +} +#wpbody-content .frm-page-skeleton .frm-scrollbar-wrapper { + padding: var(--gap-md) var(--gap-sm); +} +#wpbody-content .frm-page-skeleton .frm-search { + float: none; + padding: 0 var(--gap-2xs); +} +#wpbody-content .frm-page-skeleton .frm-search > svg { + left: var(--gap-2xs); +} +#wpbody-content .frm-page-skeleton .frm-search > input { + width: 100%; +} + +/* Categories */ +.frm-page-skeleton-cat { + cursor: pointer; + padding: var(--gap-xs); + border-radius: var(--small-radius); + background-color: transparent; + transition: background-color 250ms ease-out; +} +.frm-page-skeleton-cat:hover { + background-color: var(--grey-100); +} +.frm-page-skeleton-cat > * { + z-index: 2; +} + +.frm-page-skeleton-cat-text { + color: var(--grey-900); + text-transform: capitalize; +} + +.frm-page-skeleton-cat-count { + color: var(--grey-400); +} + +.frm-current .frm-page-skeleton-cat-text, +.frm-current .frm-page-skeleton-cat-count { + color: var(--primary-500); +} + +/* Page Content Styles */ +.frm-list-grid-layout { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(303px, 1fr)); + grid-auto-rows: max-content; + gap: var(--gap-sm); +} +.frm-list-grid-layout > * { + grid-column: span 1; +} + +/* Empty State Styles */ +#frm-page-skeleton-empty-state { + height: 100%; + margin-top: calc(-1 * var(--gap-md)); +} +#frm-page-skeleton-empty-state .frm-page-skeleton-text { + max-width: 420px; +} + +/* Helper Classes */ +.frm-page-skeleton-divider { + border-top: 1px solid var(--grey-200); + margin: 0; +} + +/** + * Submit field styles + */ +.field_type_list .frm_tsubmit { + display: none !important; +} + +/** + * Component: Accordion Title + */ +#frm_style_sidebar .accordion-section-title::after, +#frm_view_editor_left .accordion-section-title::after { + content: ""; +} + +a[href="#square_settings"] svg.frmsvg { + width: 23px !important; + height: 22px !important; +} + +#frm_square_test_setup_modal a:focus { + box-shadow: none !important; +} + +@media only screen and (max-width: 900px) { + #square_settings .frm_grid_container:has(.frm-card-item) { + grid-template-columns: repeat(1, 1fr); + } + #square_settings .frm-card-item + .frm-card-item { + margin-top: var(--gap-sm); + } +} +#frm_sale_banner { + display: flex; + height: 90px; + flex-direction: row; + align-items: center; + gap: var(--gap-sm); + cursor: pointer; + position: relative; +} +#frm_sale_banner > div:first-child { + align-self: flex-end; + width: 150px; + height: 100%; + display: flex; + justify-content: center; +} +#frm_sale_banner > div:first-child img { + align-self: center; +} +#frm_sale_banner > div:nth-child(3) { + margin-left: auto; + margin-right: 50px; +} +#frm_sale_banner > div:nth-child(2) > div:last-child { + opacity: 0.8; +} +#frm_sale_banner a:not(.dismiss) { + text-shadow: none; + border-radius: 30px; + border: 1px transparent; + font-size: var(--text-sm); + padding: 7px 16px; + height: auto; + min-height: 28px; + outline: none; + line-height: var(--leading); + box-sizing: border-box; + margin-bottom: 0; + display: inline-block; + font-weight: 700; + background-color: #fff; + color: #000; +} +#frm_sale_banner .dismiss { + position: absolute; + color: #fff; + opacity: 0.6; + right: 15px; + top: 10px; +} +#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: #fff"] { + background-color: #F0F0F0 !important; +} +#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(241, 90, 36, 1)"] { + background-color: #E6470F !important; +} +#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(239, 58, 78, 1)"] { + background-color: #ED1D34 !important; +} +#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(33, 2, 14, 1)"] { + background-color: #3E041A !important; +} +#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(72, 51, 64, 1)"] { + background-color: #362630 !important; +} + +/** + * Backwards Compatibility + */ +.frm-lookup-box-label { + display: none; +} + +.frm-inline-modal[id^=frm-lookup-box] { + background-color: transparent; + border: 0; + box-shadow: none; +} +.frm-inline-modal[id^=frm-lookup-box] .frm-nav-tabs, +.frm-inline-modal[id^=frm-lookup-box] .dismiss { + display: none; +} + +.frm_single_option a.frm_remove_tag svg, +.frm_single_option a.frm_add_opt svg { + width: 15px; + height: 15px; +} + +#frm_builder_page #frm-options-panel .frm-single-settings.frm-type-ranking .frm_image_styling_frame { + margin-left: 12px; +} + +/*# sourceMappingURL=frm_admin.css.map*/ \ No newline at end of file diff --git a/js/addons-page.js b/js/addons-page.js index c3de805933..20dd829fce 100644 --- a/js/addons-page.js +++ b/js/addons-page.js @@ -1 +1,4787 @@ -(()=>{var t={616:t=>{t.exports=function(t,e){var n,r,o=0;function i(){var i,a,c=n,l=arguments.length;t:for(;c;){if(c.args.length===arguments.length){for(a=0;a{var r;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(t){return function(t,e){var n,r,a,c,l,s,u,f,d,p=1,y=t.length,m="";for(r=0;r=0),c.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,c.width?parseInt(c.width):0);break;case"e":n=c.precision?parseFloat(n).toExponential(c.precision):parseFloat(n).toExponential();break;case"f":n=c.precision?parseFloat(n).toFixed(c.precision):parseFloat(n);break;case"g":n=c.precision?String(Number(n.toPrecision(c.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=c.precision?n.substring(0,c.precision):n;break;case"t":n=String(!!n),n=c.precision?n.substring(0,c.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=c.precision?n.substring(0,c.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=c.precision?n.substring(0,c.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}o.json.test(c.type)?m+=n:(!o.number.test(c.type)||f&&!c.sign?d="":(d=f?"+":"-",n=n.toString().replace(o.sign,"")),s=c.pad_char?"0"===c.pad_char?"0":c.pad_char.charAt(1):" ",u=c.width-(d+n).length,l=c.width&&u>0?s.repeat(u):"",m+=c.align?d+n+l:"0"===s?d+l+n:l+d+n)}return m}(function(t){if(c[t])return c[t];for(var e,n=t,r=[],i=0;n;){if(null!==(e=o.text.exec(n)))r.push(e[0]);else if(null!==(e=o.modulo.exec(n)))r.push("%");else{if(null===(e=o.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){i|=1;var a=[],l=e[2],s=[];if(null===(s=o.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(s[1]);""!==(l=l.substring(s[0].length));)if(null!==(s=o.key_access.exec(l)))a.push(s[1]);else{if(null===(s=o.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(s[1])}e[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}n=n.substring(e[0].length)}return c[t]=r}(t),arguments)}function a(t,e){return i.apply(null,[t].concat(e||[]))}var c=Object.create(null);"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(r=function(){return{sprintf:i,vsprintf:a}}.call(e,n,e,t))||(t.exports=r))}()}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={exports:{}};return t[r](i,i.exports,n),i.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=window.frmGlobal,e=t.url,r=(t.nonce,"frm_hidden"),o="frm-hide-js",i="frm-current";function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}function c(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"default";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.elements=e,this.type=n,this.prepareElements()},e=[{key:"fadeIn",value:function(){var t=this;this.applyStyleToElements((function(e){e.classList.add("frm-fadein-up"),e.addEventListener("animationend",(function(){t.resetOpacity(),e.classList.remove("frm-fadein-up")}),{once:!0})}))}},{key:"cascadeFadeIn",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout((function(){t.applyStyleToElements((function(t,n){t.classList.remove("frm-animate"),t.style.transitionDelay=(n+1)*e+"s"}))}),200)}},{key:"prepareElements",value:function(){var t=this;this.applyStyleToElements((function(e){"default"===t.type&&(e.style.opacity="0.0"),"cascade"===t.type&&e.classList.add("frm-init-cascade-animation"),"cascade-3d"===t.type&&e.classList.add("frm-init-fadein-3d"),e.classList.add("frm-animate")}))}},{key:"resetOpacity",value:function(){this.applyStyleToElements((function(t){return t.style.opacity="1.0"}))}},{key:"applyStyleToElements",value:function(t){this.elements instanceof Element?t(this.elements,0):0":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},O=["(","?"],_={")":["("],":":["?","?:"]},j=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var C={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,n){if(t)throw e;return n}};var T={contextDelimiter:"",onMissingKey:null};function F(t,e){var n;for(n in this.data=t,this.pluralForms={},this.options={},T)this.options[n]=void 0!==e&&n in e?e[n]:T[n]}function I(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function D(t){for(var e=1;e=0||x[o]3&&void 0!==arguments[3]?arguments[3]:10,a=t[e];if(N(n)&&R(r))if("function"==typeof o)if("number"==typeof i){var c={callback:o,priority:i,namespace:r};if(a[n]){var l,s=a[n].handlers;for(l=s.length;l>0&&!(i>=s[l-1].priority);l--);l===s.length?s[l]=c:s.splice(l,0,c),a.__current.forEach((function(t){t.name===n&&t.currentIndex>=l&&t.currentIndex++}))}else a[n]={handlers:[c],runs:0};"hookAdded"!==n&&t.doAction("hookAdded",n,r,o,i)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},B=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r,o){var i=t[e];if(N(r)&&(n||R(o))){if(!i[r])return 0;var a=0;if(n)a=i[r].handlers.length,i[r]={runs:i[r].runs,handlers:[]};else for(var c=i[r].handlers,l=function(t){c[t].namespace===o&&(c.splice(t,1),a++,i.__current.forEach((function(e){e.name===r&&e.currentIndex>=t&&e.currentIndex--})))},s=c.length-1;s>=0;s--)l(s);return"hookRemoved"!==r&&t.doAction("hookRemoved",r,o),a}}},M=function(t,e){return function(n,r){var o=t[e];return void 0!==r?n in o&&o[n].handlers.some((function(t){return t.namespace===r})):n in o}},$=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){var o=t[e];o[r]||(o[r]={handlers:[],runs:0}),o[r].runs++;for(var i=o[r].handlers,a=arguments.length,c=new Array(a>1?a-1:0),l=1;l1&&void 0!==arguments[1]?arguments[1]:"default";r.data[e]=D(D(D({},L),r.data[e]),t),r.data[e][""]=D(D({},L[""]),r.data[e][""])},c=function(t,e){a(t,e),i()},l=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return r.data[t]||a(void 0,t),r.dcnpgettext(t,e,n,o,i)},s=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},u=function(t,e,r){var o=l(r,e,t);return n?(o=n.applyFilters("i18n.gettext_with_context",o,t,e,r),n.applyFilters("i18n.gettext_with_context_"+s(r),o,t,e,r)):o};if(n){var f=function(t){q.test(t)&&i()};n.addAction("hookAdded","core/i18n",f),n.addAction("hookRemoved","core/i18n",f)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return r.data[t]},setLocaleData:c,resetLocaleData:function(t,e){r.data={},r.pluralForms={},c(t,e)},subscribe:function(t){return o.add(t),function(){return o.delete(t)}},__:function(t,e){var r=l(e,void 0,t);return n?(r=n.applyFilters("i18n.gettext",r,t,e),n.applyFilters("i18n.gettext_"+s(e),r,t,e)):r},_x:u,_n:function(t,e,r,o){var i=l(o,void 0,t,e,r);return n?(i=n.applyFilters("i18n.ngettext",i,t,e,r,o),n.applyFilters("i18n.ngettext_"+s(o),i,t,e,r,o)):i},_nx:function(t,e,r,o,i){var a=l(i,o,t,e,r);return n?(a=n.applyFilters("i18n.ngettext_with_context",a,t,e,r,o,i),n.applyFilters("i18n.ngettext_with_context_"+s(i),a,t,e,r,o,i)):a},isRTL:function(){return"rtl"===u("ltr","text direction")},hasTranslation:function(t,e,o){var i,a,c=e?e+""+t:t,l=!(null===(i=r.data)||void 0===i||null===(a=i[null!=o?o:"default"])||void 0===a||!a[c]);return n&&(l=n.applyFilters("i18n.has_translation",l,t,e,o),l=n.applyFilters("i18n.has_translation_"+s(o),l,t,e,o)),l}}}(0,0,V));G.getLocaleData.bind(G),G.setLocaleData.bind(G),G.resetLocaleData.bind(G),G.subscribe.bind(G);var J=G.__.bind(G),H=(G._x.bind(G),G._n.bind(G),G._nx.bind(G),G.isRTL.bind(G),G.hasTranslation.bind(G),window.frmDom),Q=H.tag,W=H.div,Y=H.a,tt=H.img;function et(t){return et="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},et(t)}function nt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function rt(t,e,n){return(e=function(t){var e=function(t){if("object"!=et(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=et(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==et(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var ot,it=document.getElementById("post-body-content"),at=document.getElementById("".concat(v,"-sidebar")),ct=((ot=Y({className:"button button-primary frm-button-primary"})).setAttribute("role","button"),W({id:"".concat(v,"-empty-state"),className:"frm-flex-col frm-flex-center frm-gap-md ".concat(r),children:[tt({src:"".concat(e,"/images/page-skeleton/empty-state.svg"),alt:J("Empty State","formidable")}),W({className:"frmcenter",children:[Q("h2",{className:"".concat(v,"-title frm-mb-0")}),Q("p",{className:"".concat(v,"-text frm-mb-0")})]}),ot]}));null==it||it.appendChild(ct);var lt=function(){var t=document.querySelector("#".concat(v,"-empty-state"));return{emptyState:t,emptyStateTitle:null==t?void 0:t.querySelector(".".concat(v,"-title")),emptyStateText:null==t?void 0:t.querySelector(".".concat(v,"-text")),emptyStateButton:null==t?void 0:t.querySelector(".button")}}(),st=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==w(t)||null===t)throw new Error("createPageElements: initialElements must be a non-null object");var e=t;return{getElements:function(){return e},addElements:function(t){if("object"!==w(t)||null===t)throw new Error("addElements: newElements must be a non-null object");e=g(g({},e),t)}}}(function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==mt(t)||null===t)throw new Error("createPageState: initialState must be a non-null object");var e=t;return{getState:function(){return e},getSingleState:function(t){var n=Reflect.get(e,t);return void 0===n?null:n},setState:function(t){if("object"!==mt(t)||null===t)throw new Error("setState: newState must be a non-null object");e=pt(pt({},e),t)},setSingleState:function(t,n){Reflect.has(e,t)&&Reflect.set(e,t,n)}}}({notEmptySearchText:!1,selectedCategory:b,selectedCategoryEl:vt}),ht=bt.getState,gt=bt.getSingleState,St=bt.setState,wt=bt.setSingleState,xt=function(t){var e,n=t.currentTarget,r=n.getAttribute("data-category"),o=ht(),a=o.selectedCategory,c=o.selectedCategoryEl,l=o.notEmptySearchText;if(a!==r){a=wp.hooks.applyFilters("frmPage.selectedCategory",r),c.classList.remove(i),(c=n).classList.add(i),St({selectedCategory:a,selectedCategoryEl:c}),l&&((e=ut().searchInput).value="",e.dispatchEvent(new Event("input",{bubbles:!0}))),wp.hooks.doAction("frmPage.onCategoryClick",a);var u=ut().bodyContent;new s(u).fadeIn()}};function Ot(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),xt(t))}var _t=window.frmAddonsVars.addonRequestURL,jt="frm-addons",Et="available-addons",Pt="active-addons",kt="basic",At="plus",Ct="business",Tt="elite",Ft=ut(),It=Ft.bodyContent,Dt=Ft.sidebar;It.querySelectorAll(".frm-card-item:not(.plugin-card-formidable-pro)").forEach((function(t){var e=t.dataset.categories;switch(!0){case e.includes(Ct):t.setAttribute("data-categories","".concat(e,",").concat(Tt));break;case e.includes(At):t.setAttribute("data-categories","".concat(e,",").concat(Ct,",").concat(Tt));break;case e.includes(kt):t.setAttribute("data-categories","".concat(e,",").concat(At,",").concat(Ct,",").concat(Tt))}})),ft({upgradeBanner:document.getElementById("frm-upgrade-banner"),availableCategory:Dt.querySelector(".".concat(v,'-cat[data-category="').concat(Et,'"]')),activeCategory:Dt.querySelector(".".concat(v,'-cat[data-category="').concat(Pt,'"]')),categoriesTopDivider:Dt.querySelector(".".concat(v,"-divider")),basicPlanCategory:Dt.querySelector(".".concat(v,'-cat[data-category="').concat(kt,'"]')),plusPlanCategory:Dt.querySelector(".".concat(v,'-cat[data-category="').concat(At,'"]')),businessPlanCategory:Dt.querySelector(".".concat(v,'-cat[data-category="').concat(Ct,'"]')),elitePlanCategory:Dt.querySelector(".".concat(v,'-cat[data-category="').concat(Tt,'"]')),addonsList:document.getElementById("".concat(jt,"-list")),addons:It.querySelectorAll(".frm-card-item"),availableAddons:It.querySelectorAll(".frm-card-item:not(.frm-locked-item)"),addonsToggle:It.querySelectorAll(".frm_toggle_block"),bodyContentChildren:null==It?void 0:It.children});var Lt={};Lt[Et]=[],Lt[Pt]=[];var qt,Rt=".".concat(v,"-cat-count");function Nt(){var t=ut(),e=t.activeCategory,n=t.availableCategory,r=t.categoriesTopDivider,o=document.querySelectorAll(".frm-addon-active:not(.frm-locked-item)");0!==o.length?(Lt[Pt]=o,e.querySelector(Rt).textContent=o.length):p([e,n,r])}function zt(){var t=ht().selectedCategory,e=ut(),n=e.emptyState,r=e.emptyStateButton,o=e.emptyStateTitle,i=e.emptyStateText;n.setAttribute("data-view",t),o.textContent=J("No add-ons found","formidable"),i.textContent=J("Sorry, we didn't find any add-ons that match your criteria.","formidable"),r.textContent=J("Request Add-On","formidable"),r.href=_t,r.setAttribute("target","_blank"),d([n,r])}function Bt(t,e){if(t){if("string"==typeof t)return Mt(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Mt(t,e):void 0}}function Mt(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:r}}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 o,i=!0,a=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return i=t.done,t},e:function(t){a=!0,o=t},f:function(){try{i||null==e.return||e.return()}finally{if(a)throw o}}}}(new Map([["frm-addon-not-installed",".frm-install-addon"],["frm-addon-installed",".frm-activate-addon"],["frm-addon-active",".frm-deactivate-addon"]]).entries());try{for(a.s();!(o=a.n()).done;){var c=(n=o.value,r=2,function(t){if(Array.isArray(t))return t}(n)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,c=[],l=!0,s=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==e);l=!0);}catch(t){s=!0,o=t}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(s)throw o}}return c}}(n,r)||Bt(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=c[0],s=c[1];if(i.classList.contains(l)){(qt=i.querySelector(s)).click();break}}}catch(t){a.e(t)}finally{a.f()}}};var Ut=window.frmDom.search.init;function Zt(t,e){var n=t.foundSomething,r=t.notEmptySearchText;if(!e||"search"!==e.type||""!==e.target.value){var o=ht(),a=ut().allItemsCategory;wt("notEmptySearchText",r),o.notEmptySearchText||o.selectedCategory?(o.selectedCategory&&(function(t){var e=ut(),n=e.bodyContent,r=e.bodyContentChildren,o=e.addonsList;t&>("selectedCategoryEl").classList.remove(i),p(r),y(o),new s(n).fadeIn()}(r),r&&wt("selectedCategory","")),function(t){if(t){var e,n=ut().emptyState;e=n,"none"!==window.getComputedStyle(e).getPropertyValue("display")&&m(n)}else zt()}(n)):a.dispatchEvent(new Event("click",{bubbles:!0}))}}function Kt(){var t;ut().categoryItems.forEach((function(t){f(t,xt),t.addEventListener("keydown",Ot)})),wp.hooks.addAction("frmPage.onCategoryClick","frmAddonsPage",(function(t){!function(t){var e=ut(),n=e.bodyContent,r=e.addons,o=e.emptyState,i=e.upgradeBanner;m(o),y(i),n.dataset.category=t,b!==t?(p(r),0===Lt[t].length?(zt(),m(i)):d(Lt[t])):d(r)}(t)})),ut().addonsToggle.forEach((function(t){return t.addEventListener("click",$t)})),wp.hooks.addAction("frm_update_addon_state","frmAddonPage",(function(){Nt()})),t=ut().searchInput,Ut(t,"frm-card-item",{handleSearchResult:Zt})}var Xt;Xt=function(){(function(){var t,e,n,r,i,a,c,l,u,f,d=ut(),p=d.sidebar,m=d.searchInput,v=d.bodyContent,b=new s(v);m.value="",Nt(),function(){var t=ut(),e=t.bodyContent,n=t.availableCategory,r=t.availableAddons;if(Lt[Et]=r,n){n.querySelector(Rt).textContent=r.length;var o=e.querySelector(".".concat(jt,"-available-count"));o&&(o.textContent=r.length)}}(),function(){var t=ut(),e=t.allItemsCategory,n=t.addons;e.querySelector(Rt).textContent=n.length}(),e=(t=ut()).basicPlanCategory,n=t.plusPlanCategory,r=t.businessPlanCategory,i=t.elitePlanCategory,c=(a=function(t){return parseInt(t.querySelector(Rt).textContent,10)||0})(e),l=a(n)-1,u=a(r)-1,f=a(i)-1,n.querySelector(Rt).textContent=c+l,r.querySelector(Rt).textContent=c+l+u,i.querySelector(Rt).textContent=c+l+u+f,v.classList.remove(o),p.classList.remove(o),b.fadeIn(),y(p)})(),ut().addons.forEach((function(t){var e=t.getAttribute("data-categories");e&&e.split(",").forEach((function(e){Lt[e]||(Lt[e]=[]),Lt[e].push(t)}))})),Kt()},"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",Xt):Xt())})()})(); \ No newline at end of file +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@tannin/compile/index.js": +/*!***********************************************!*\ + !*** ./node_modules/@tannin/compile/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": () => (/* binding */ compile) +/* harmony export */ }); +/* harmony import */ var _tannin_postfix__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/postfix */ "./node_modules/@tannin/postfix/index.js"); +/* harmony import */ var _tannin_evaluate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tannin/evaluate */ "./node_modules/@tannin/evaluate/index.js"); + + + +/** + * Given a C expression, returns a function which can be called to evaluate its + * result. + * + * @example + * + * ```js + * import compile from '@tannin/compile'; + * + * const evaluate = compile( 'n > 1' ); + * + * evaluate( { n: 2 } ); + * // โ‡’ true + * ``` + * + * @param {string} expression C expression. + * + * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator. + */ +function compile( expression ) { + var terms = (0,_tannin_postfix__WEBPACK_IMPORTED_MODULE_0__["default"])( expression ); + + return function( variables ) { + return (0,_tannin_evaluate__WEBPACK_IMPORTED_MODULE_1__["default"])( terms, variables ); + }; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/evaluate/index.js": +/*!************************************************!*\ + !*** ./node_modules/@tannin/evaluate/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": () => (/* binding */ evaluate) +/* harmony export */ }); +/** + * Operator callback functions. + * + * @type {Object} + */ +var OPERATORS = { + '!': function( a ) { + return ! a; + }, + '*': function( a, b ) { + return a * b; + }, + '/': function( a, b ) { + return a / b; + }, + '%': function( a, b ) { + return a % b; + }, + '+': function( a, b ) { + return a + b; + }, + '-': function( a, b ) { + return a - b; + }, + '<': function( a, b ) { + return a < b; + }, + '<=': function( a, b ) { + return a <= b; + }, + '>': function( a, b ) { + return a > b; + }, + '>=': function( a, b ) { + return a >= b; + }, + '==': function( a, b ) { + return a === b; + }, + '!=': function( a, b ) { + return a !== b; + }, + '&&': function( a, b ) { + return a && b; + }, + '||': function( a, b ) { + return a || b; + }, + '?:': function( a, b, c ) { + if ( a ) { + throw b; + } + + return c; + }, +}; + +/** + * Given an array of postfix terms and operand variables, returns the result of + * the postfix evaluation. + * + * @example + * + * ```js + * import evaluate from '@tannin/evaluate'; + * + * // 3 + 4 * 5 / 6 โ‡’ '3 4 5 * 6 / +' + * const terms = [ '3', '4', '5', '*', '6', '/', '+' ]; + * + * evaluate( terms, {} ); + * // โ‡’ 6.333333333333334 + * ``` + * + * @param {string[]} postfix Postfix terms. + * @param {Object} variables Operand variables. + * + * @return {*} Result of evaluation. + */ +function evaluate( postfix, variables ) { + var stack = [], + i, j, args, getOperatorResult, term, value; + + for ( i = 0; i < postfix.length; i++ ) { + term = postfix[ i ]; + + getOperatorResult = OPERATORS[ term ]; + if ( getOperatorResult ) { + // Pop from stack by number of function arguments. + j = getOperatorResult.length; + args = Array( j ); + while ( j-- ) { + args[ j ] = stack.pop(); + } + + try { + value = getOperatorResult.apply( null, args ); + } catch ( earlyReturn ) { + return earlyReturn; + } + } else if ( variables.hasOwnProperty( term ) ) { + value = variables[ term ]; + } else { + value = +term; + } + + stack.push( value ); + } + + return stack[ 0 ]; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/plural-forms/index.js": +/*!****************************************************!*\ + !*** ./node_modules/@tannin/plural-forms/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": () => (/* binding */ pluralForms) +/* harmony export */ }); +/* harmony import */ var _tannin_compile__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/compile */ "./node_modules/@tannin/compile/index.js"); + + +/** + * Given a C expression, returns a function which, when called with a value, + * evaluates the result with the value assumed to be the "n" variable of the + * expression. The result will be coerced to its numeric equivalent. + * + * @param {string} expression C expression. + * + * @return {Function} Evaluator function. + */ +function pluralForms( expression ) { + var evaluate = (0,_tannin_compile__WEBPACK_IMPORTED_MODULE_0__["default"])( expression ); + + return function( n ) { + return +evaluate( { n: n } ); + }; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/postfix/index.js": +/*!***********************************************!*\ + !*** ./node_modules/@tannin/postfix/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": () => (/* binding */ postfix) +/* harmony export */ }); +var PRECEDENCE, OPENERS, TERMINATORS, PATTERN; + +/** + * Operator precedence mapping. + * + * @type {Object} + */ +PRECEDENCE = { + '(': 9, + '!': 8, + '*': 7, + '/': 7, + '%': 7, + '+': 6, + '-': 6, + '<': 5, + '<=': 5, + '>': 5, + '>=': 5, + '==': 4, + '!=': 4, + '&&': 3, + '||': 2, + '?': 1, + '?:': 1, +}; + +/** + * Characters which signal pair opening, to be terminated by terminators. + * + * @type {string[]} + */ +OPENERS = [ '(', '?' ]; + +/** + * Characters which signal pair termination, the value an array with the + * opener as its first member. The second member is an optional operator + * replacement to push to the stack. + * + * @type {string[]} + */ +TERMINATORS = { + ')': [ '(' ], + ':': [ '?', '?:' ], +}; + +/** + * Pattern matching operators and openers. + * + * @type {RegExp} + */ +PATTERN = /<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/; + +/** + * Given a C expression, returns the equivalent postfix (Reverse Polish) + * notation terms as an array. + * + * If a postfix string is desired, simply `.join( ' ' )` the result. + * + * @example + * + * ```js + * import postfix from '@tannin/postfix'; + * + * postfix( 'n > 1' ); + * // โ‡’ [ 'n', '1', '>' ] + * ``` + * + * @param {string} expression C expression. + * + * @return {string[]} Postfix terms. + */ +function postfix( expression ) { + var terms = [], + stack = [], + match, operator, term, element; + + while ( ( match = expression.match( PATTERN ) ) ) { + operator = match[ 0 ]; + + // Term is the string preceding the operator match. It may contain + // whitespace, and may be empty (if operator is at beginning). + term = expression.substr( 0, match.index ).trim(); + if ( term ) { + terms.push( term ); + } + + while ( ( element = stack.pop() ) ) { + if ( TERMINATORS[ operator ] ) { + if ( TERMINATORS[ operator ][ 0 ] === element ) { + // Substitution works here under assumption that because + // the assigned operator will no longer be a terminator, it + // will be pushed to the stack during the condition below. + operator = TERMINATORS[ operator ][ 1 ] || operator; + break; + } + } else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) { + // Push to stack if either an opener or when pop reveals an + // element of lower precedence. + stack.push( element ); + break; + } + + // For each popped from stack, push to terms. + terms.push( element ); + } + + if ( ! TERMINATORS[ operator ] ) { + stack.push( operator ); + } + + // Slice matched fragment from expression to continue match. + expression = expression.substr( match.index + operator.length ); + } + + // Push remainder of operand, if exists, to terms. + expression = expression.trim(); + if ( expression ) { + terms.push( expression ); + } + + // Pop remaining items from stack into terms. + return terms.concat( stack.reverse() ); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/dom-ready/build-module/index.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@wordpress/dom-ready/build-module/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": () => (/* binding */ domReady) +/* harmony export */ }); +/** + * @typedef {() => void} Callback + * + * TODO: Remove this typedef and inline `() => void` type. + * + * This typedef is used so that a descriptive type is provided in our + * automatically generated documentation. + * + * An in-line type `() => void` would be preferable, but the generated + * documentation is `null` in that case. + * + * @see https://github.com/WordPress/gutenberg/issues/18045 + */ + +/** + * Specify a function to execute when the DOM is fully loaded. + * + * @param {Callback} callback A function to execute after the DOM is ready. + * + * @example + * ```js + * import domReady from '@wordpress/dom-ready'; + * + * domReady( function() { + * //do something after DOM loads. + * } ); + * ``` + * + * @return {void} + */ +function domReady(callback) { + if (typeof document === 'undefined') { + return; + } + + if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly. + document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly. + ) { + return void callback(); + } // DOMContentLoaded has not fired yet, delay callback until then. + + + document.addEventListener('DOMContentLoaded', callback); +} +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createAddHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createAddHook.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 */ }); +/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js"); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + + +/** + * @callback AddHook + * + * Adds the hook to the appropriate hooks container. + * + * @param {string} hookName Name of hook to add + * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`. + * @param {import('.').Callback} callback Function to call when the hook is run + * @param {number} [priority=10] Priority of this hook + */ + +/** + * Returns a function which, when invoked, will add a hook. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {AddHook} Function that adds a new hook. + */ + +function createAddHook(hooks, storeKey) { + return function addHook(hookName, namespace, callback) { + var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10; + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(hookName)) { + return; + } + + if (!(0,_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__["default"])(namespace)) { + return; + } + + if ('function' !== typeof callback) { + // eslint-disable-next-line no-console + console.error('The hook callback must be a function.'); + return; + } // Validate numeric priority + + + if ('number' !== typeof priority) { + // eslint-disable-next-line no-console + console.error('If specified, the hook priority must be a number.'); + return; + } + + var handler = { + callback: callback, + priority: priority, + namespace: namespace + }; + + if (hooksStore[hookName]) { + // Find the correct insert index of the new hook. + var handlers = hooksStore[hookName].handlers; + /** @type {number} */ + + var i; + + for (i = handlers.length; i > 0; i--) { + if (priority >= handlers[i - 1].priority) { + break; + } + } + + if (i === handlers.length) { + // If append, operate via direct assignment. + handlers[i] = handler; + } else { + // Otherwise, insert before index via splice. + handlers.splice(i, 0, handler); + } // We may also be currently executing this hook. If the callback + // we're adding would come after the current callback, there's no + // problem; otherwise we need to increase the execution index of + // any other runs by 1 to account for the added element. + + + hooksStore.__current.forEach(function (hookInfo) { + if (hookInfo.name === hookName && hookInfo.currentIndex >= i) { + hookInfo.currentIndex++; + } + }); + } else { + // This is the first hook of its type. + hooksStore[hookName] = { + handlers: [handler], + runs: 0 + }; + } + + if (hookName !== 'hookAdded') { + hooks.doAction('hookAdded', hookName, namespace, callback, priority); + } + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createAddHook); +//# sourceMappingURL=createAddHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createCurrentHook.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createCurrentHook.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 */ }); +/** + * Returns a function which, when invoked, will return the name of the + * currently running hook, or `null` if no hook of the given type is currently + * running. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {() => string | null} Function that returns the current hook name or null. + */ +function createCurrentHook(hooks, storeKey) { + return function currentHook() { + var _hooksStore$__current, _hooksStore$__current2; + + var hooksStore = hooks[storeKey]; + return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createCurrentHook); +//# sourceMappingURL=createCurrentHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createDidHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createDidHook.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 */ }); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + +/** + * @callback DidHook + * + * Returns the number of times an action has been fired. + * + * @param {string} hookName The hook name to check. + * + * @return {number | undefined} The number of times the hook has run. + */ + +/** + * Returns a function which, when invoked, will return the number of times a + * hook has been called. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {DidHook} Function that returns a hook's call count. + */ + +function createDidHook(hooks, storeKey) { + return function didHook(hookName) { + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(hookName)) { + return; + } + + return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createDidHook); +//# sourceMappingURL=createDidHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createDoingHook.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createDoingHook.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 */ }); +/** + * @callback DoingHook + * Returns whether a hook is currently being executed. + * + * @param {string} [hookName] The name of the hook to check for. If + * omitted, will check for any hook being executed. + * + * @return {boolean} Whether the hook is being executed. + */ + +/** + * Returns a function which, when invoked, will return whether a hook is + * currently being executed. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {DoingHook} Function that returns whether a hook is currently + * being executed. + */ +function createDoingHook(hooks, storeKey) { + return function doingHook(hookName) { + var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook. + + if ('undefined' === typeof hookName) { + return 'undefined' !== typeof hooksStore.__current[0]; + } // Return the __current hook. + + + return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createDoingHook); +//# sourceMappingURL=createDoingHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createHasHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createHasHook.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 */ }); +/** + * @callback HasHook + * + * Returns whether any handlers are attached for the given hookName and optional namespace. + * + * @param {string} hookName The name of the hook to check for. + * @param {string} [namespace] Optional. The unique namespace identifying the callback + * in the form `vendor/plugin/function`. + * + * @return {boolean} Whether there are handlers that are attached to the given hook. + */ + +/** + * Returns a function which, when invoked, will return whether any handlers are + * attached to a particular hook. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {HasHook} Function that returns whether any handlers are + * attached to a particular hook and optional namespace. + */ +function createHasHook(hooks, storeKey) { + return function hasHook(hookName, namespace) { + var hooksStore = hooks[storeKey]; // Use the namespace if provided. + + if ('undefined' !== typeof namespace) { + return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) { + return hook.namespace === namespace; + }); + } + + return hookName in hooksStore; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createHasHook); +//# sourceMappingURL=createHasHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createHooks.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createHooks.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ _Hooks: () => (/* binding */ _Hooks), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _createAddHook__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createAddHook */ "./node_modules/@wordpress/hooks/build-module/createAddHook.js"); +/* harmony import */ var _createRemoveHook__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createRemoveHook */ "./node_modules/@wordpress/hooks/build-module/createRemoveHook.js"); +/* harmony import */ var _createHasHook__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createHasHook */ "./node_modules/@wordpress/hooks/build-module/createHasHook.js"); +/* harmony import */ var _createRunHook__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./createRunHook */ "./node_modules/@wordpress/hooks/build-module/createRunHook.js"); +/* harmony import */ var _createCurrentHook__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./createCurrentHook */ "./node_modules/@wordpress/hooks/build-module/createCurrentHook.js"); +/* harmony import */ var _createDoingHook__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./createDoingHook */ "./node_modules/@wordpress/hooks/build-module/createDoingHook.js"); +/* harmony import */ var _createDidHook__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./createDidHook */ "./node_modules/@wordpress/hooks/build-module/createDidHook.js"); + + +/** + * Internal dependencies + */ + + + + + + + +/** + * Internal class for constructing hooks. Use `createHooks()` function + * + * Note, it is necessary to expose this class to make its type public. + * + * @private + */ + +var _Hooks = function _Hooks() { + (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, _Hooks); + + /** @type {import('.').Store} actions */ + this.actions = Object.create(null); + this.actions.__current = []; + /** @type {import('.').Store} filters */ + + this.filters = Object.create(null); + this.filters.__current = []; + this.addAction = (0,_createAddHook__WEBPACK_IMPORTED_MODULE_1__["default"])(this, 'actions'); + this.addFilter = (0,_createAddHook__WEBPACK_IMPORTED_MODULE_1__["default"])(this, 'filters'); + this.removeAction = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'actions'); + this.removeFilter = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'filters'); + this.hasAction = (0,_createHasHook__WEBPACK_IMPORTED_MODULE_3__["default"])(this, 'actions'); + this.hasFilter = (0,_createHasHook__WEBPACK_IMPORTED_MODULE_3__["default"])(this, 'filters'); + this.removeAllActions = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'actions', true); + this.removeAllFilters = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'filters', true); + this.doAction = (0,_createRunHook__WEBPACK_IMPORTED_MODULE_4__["default"])(this, 'actions'); + this.applyFilters = (0,_createRunHook__WEBPACK_IMPORTED_MODULE_4__["default"])(this, 'filters', true); + this.currentAction = (0,_createCurrentHook__WEBPACK_IMPORTED_MODULE_5__["default"])(this, 'actions'); + this.currentFilter = (0,_createCurrentHook__WEBPACK_IMPORTED_MODULE_5__["default"])(this, 'filters'); + this.doingAction = (0,_createDoingHook__WEBPACK_IMPORTED_MODULE_6__["default"])(this, 'actions'); + this.doingFilter = (0,_createDoingHook__WEBPACK_IMPORTED_MODULE_6__["default"])(this, 'filters'); + this.didAction = (0,_createDidHook__WEBPACK_IMPORTED_MODULE_7__["default"])(this, 'actions'); + this.didFilter = (0,_createDidHook__WEBPACK_IMPORTED_MODULE_7__["default"])(this, 'filters'); +}; +/** @typedef {_Hooks} Hooks */ + +/** + * Returns an instance of the hooks object. + * + * @return {Hooks} A Hooks instance. + */ + +function createHooks() { + return new _Hooks(); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createHooks); +//# sourceMappingURL=createHooks.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createRemoveHook.js": +/*!************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createRemoveHook.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 */ }); +/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js"); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + + +/** + * @callback RemoveHook + * Removes the specified callback (or all callbacks) from the hook with a given hookName + * and namespace. + * + * @param {string} hookName The name of the hook to modify. + * @param {string} namespace The unique namespace identifying the callback in the + * form `vendor/plugin/function`. + * + * @return {number | undefined} The number of callbacks removed. + */ + +/** + * Returns a function which, when invoked, will remove a specified hook or all + * hooks by the given name. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName, + * without regard to namespace. Used to create + * `removeAll*` functions. + * + * @return {RemoveHook} Function that removes hooks. + */ + +function createRemoveHook(hooks, storeKey) { + var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + return function removeHook(hookName, namespace) { + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(hookName)) { + return; + } + + if (!removeAll && !(0,_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__["default"])(namespace)) { + return; + } // Bail if no hooks exist by this name + + + if (!hooksStore[hookName]) { + return 0; + } + + var handlersRemoved = 0; + + if (removeAll) { + handlersRemoved = hooksStore[hookName].handlers.length; + hooksStore[hookName] = { + runs: hooksStore[hookName].runs, + handlers: [] + }; + } else { + // Try to find the specified callback to remove. + var handlers = hooksStore[hookName].handlers; + + var _loop = function _loop(i) { + if (handlers[i].namespace === namespace) { + handlers.splice(i, 1); + handlersRemoved++; // This callback may also be part of a hook that is + // currently executing. If the callback we're removing + // comes after the current callback, there's no problem; + // otherwise we need to decrease the execution index of any + // other runs by 1 to account for the removed element. + + hooksStore.__current.forEach(function (hookInfo) { + if (hookInfo.name === hookName && hookInfo.currentIndex >= i) { + hookInfo.currentIndex--; + } + }); + } + }; + + for (var i = handlers.length - 1; i >= 0; i--) { + _loop(i); + } + } + + if (hookName !== 'hookRemoved') { + hooks.doAction('hookRemoved', hookName, namespace); + } + + return handlersRemoved; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createRemoveHook); +//# sourceMappingURL=createRemoveHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createRunHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createRunHook.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 */ }); +/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js"); + + +/** + * Returns a function which, when invoked, will execute all callbacks + * registered to a hook of the specified type, optionally returning the final + * value of the call chain. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to + * return its first argument. + * + * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks. + */ +function createRunHook(hooks, storeKey) { + var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + return function runHooks(hookName) { + var hooksStore = hooks[storeKey]; + + if (!hooksStore[hookName]) { + hooksStore[hookName] = { + handlers: [], + runs: 0 + }; + } + + hooksStore[hookName].runs++; + var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds. + + if (true) { + // Handle any 'all' hooks registered. + if ('hookAdded' !== hookName && hooksStore.all) { + handlers.push.apply(handlers, (0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__["default"])(hooksStore.all.handlers)); + } + } + + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + if (!handlers || !handlers.length) { + return returnFirstArg ? args[0] : undefined; + } + + var hookInfo = { + name: hookName, + currentIndex: 0 + }; + + hooksStore.__current.push(hookInfo); + + while (hookInfo.currentIndex < handlers.length) { + var handler = handlers[hookInfo.currentIndex]; + var result = handler.callback.apply(null, args); + + if (returnFirstArg) { + args[0] = result; + } + + hookInfo.currentIndex++; + } + + hooksStore.__current.pop(); + + if (returnFirstArg) { + return args[0]; + } + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createRunHook); +//# sourceMappingURL=createRunHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/index.js": +/*!*************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/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 */ actions: () => (/* binding */ actions), +/* harmony export */ addAction: () => (/* binding */ addAction), +/* harmony export */ addFilter: () => (/* binding */ addFilter), +/* harmony export */ applyFilters: () => (/* binding */ applyFilters), +/* harmony export */ createHooks: () => (/* reexport safe */ _createHooks__WEBPACK_IMPORTED_MODULE_0__["default"]), +/* harmony export */ currentAction: () => (/* binding */ currentAction), +/* harmony export */ currentFilter: () => (/* binding */ currentFilter), +/* harmony export */ defaultHooks: () => (/* binding */ defaultHooks), +/* harmony export */ didAction: () => (/* binding */ didAction), +/* harmony export */ didFilter: () => (/* binding */ didFilter), +/* harmony export */ doAction: () => (/* binding */ doAction), +/* harmony export */ doingAction: () => (/* binding */ doingAction), +/* harmony export */ doingFilter: () => (/* binding */ doingFilter), +/* harmony export */ filters: () => (/* binding */ filters), +/* harmony export */ hasAction: () => (/* binding */ hasAction), +/* harmony export */ hasFilter: () => (/* binding */ hasFilter), +/* harmony export */ removeAction: () => (/* binding */ removeAction), +/* harmony export */ removeAllActions: () => (/* binding */ removeAllActions), +/* harmony export */ removeAllFilters: () => (/* binding */ removeAllFilters), +/* harmony export */ removeFilter: () => (/* binding */ removeFilter) +/* harmony export */ }); +/* harmony import */ var _createHooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createHooks */ "./node_modules/@wordpress/hooks/build-module/createHooks.js"); +/** + * Internal dependencies + */ + +/** @typedef {(...args: any[])=>any} Callback */ + +/** + * @typedef Handler + * @property {Callback} callback The callback + * @property {string} namespace The namespace + * @property {number} priority The namespace + */ + +/** + * @typedef Hook + * @property {Handler[]} handlers Array of handlers + * @property {number} runs Run counter + */ + +/** + * @typedef Current + * @property {string} name Hook name + * @property {number} currentIndex The index + */ + +/** + * @typedef {Record & {__current: Current[]}} Store + */ + +/** + * @typedef {'actions' | 'filters'} StoreKey + */ + +/** + * @typedef {import('./createHooks').Hooks} Hooks + */ + +var defaultHooks = (0,_createHooks__WEBPACK_IMPORTED_MODULE_0__["default"])(); +var addAction = defaultHooks.addAction, + addFilter = defaultHooks.addFilter, + removeAction = defaultHooks.removeAction, + removeFilter = defaultHooks.removeFilter, + hasAction = defaultHooks.hasAction, + hasFilter = defaultHooks.hasFilter, + removeAllActions = defaultHooks.removeAllActions, + removeAllFilters = defaultHooks.removeAllFilters, + doAction = defaultHooks.doAction, + applyFilters = defaultHooks.applyFilters, + currentAction = defaultHooks.currentAction, + currentFilter = defaultHooks.currentFilter, + doingAction = defaultHooks.doingAction, + doingFilter = defaultHooks.doingFilter, + didAction = defaultHooks.didAction, + didFilter = defaultHooks.didFilter, + actions = defaultHooks.actions, + filters = defaultHooks.filters; + +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/validateHookName.js": +/*!************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/validateHookName.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 */ }); +/** + * Validate a hookName string. + * + * @param {string} hookName The hook name to validate. Should be a non empty string containing + * only numbers, letters, dashes, periods and underscores. Also, + * the hook name cannot begin with `__`. + * + * @return {boolean} Whether the hook name is valid. + */ +function validateHookName(hookName) { + if ('string' !== typeof hookName || '' === hookName) { + // eslint-disable-next-line no-console + console.error('The hook name must be a non-empty string.'); + return false; + } + + if (/^__/.test(hookName)) { + // eslint-disable-next-line no-console + console.error('The hook name cannot begin with `__`.'); + return false; + } + + if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) { + // eslint-disable-next-line no-console + console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.'); + return false; + } + + return true; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (validateHookName); +//# sourceMappingURL=validateHookName.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/validateNamespace.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 */ }); +/** + * Validate a namespace string. + * + * @param {string} namespace The namespace to validate - should take the form + * `vendor/plugin/function`. + * + * @return {boolean} Whether the namespace is valid. + */ +function validateNamespace(namespace) { + if ('string' !== typeof namespace || '' === namespace) { + // eslint-disable-next-line no-console + console.error('The namespace must be a non-empty string.'); + return false; + } + + if (!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(namespace)) { + // eslint-disable-next-line no-console + console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.'); + return false; + } + + return true; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (validateNamespace); +//# sourceMappingURL=validateNamespace.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/create-i18n.js": +/*!******************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/create-i18n.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createI18n: () => (/* binding */ createI18n) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js"); +/* harmony import */ var tannin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tannin */ "./node_modules/tannin/index.js"); + + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +/** + * External dependencies + */ + +/** + * @typedef {Record} LocaleData + */ + +/** + * Default locale data to use for Tannin domain when not otherwise provided. + * Assumes an English plural forms expression. + * + * @type {LocaleData} + */ + +var DEFAULT_LOCALE_DATA = { + '': { + /** @param {number} n */ + plural_forms: function plural_forms(n) { + return n === 1 ? 0 : 1; + } + } +}; +/* + * Regular expression that matches i18n hooks like `i18n.gettext`, `i18n.ngettext`, + * `i18n.gettext_domain` or `i18n.ngettext_with_context` or `i18n.has_translation`. + */ + +var I18N_HOOK_REGEXP = /^i18n\.(n?gettext|has_translation)(_|$)/; +/** + * @typedef {(domain?: string) => LocaleData} GetLocaleData + * + * Returns locale data by domain in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** + * @typedef {(data?: LocaleData, domain?: string) => void} SetLocaleData + * + * Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** + * @typedef {(data?: LocaleData, domain?: string) => void} ResetLocaleData + * + * Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** @typedef {() => void} SubscribeCallback */ + +/** @typedef {() => void} UnsubscribeCallback */ + +/** + * @typedef {(callback: SubscribeCallback) => UnsubscribeCallback} Subscribe + * + * Subscribes to changes of locale data + */ + +/** + * @typedef {(domain?: string) => string} GetFilterDomain + * Retrieve the domain to use when calling domain-specific filters. + */ + +/** + * @typedef {(text: string, domain?: string) => string} __ + * + * Retrieve the translation of text. + * + * @see https://developer.wordpress.org/reference/functions/__/ + */ + +/** + * @typedef {(text: string, context: string, domain?: string) => string} _x + * + * Retrieve translated string with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_x/ + */ + +/** + * @typedef {(single: string, plural: string, number: number, domain?: string) => string} _n + * + * Translates and retrieves the singular or plural form based on the supplied + * number. + * + * @see https://developer.wordpress.org/reference/functions/_n/ + */ + +/** + * @typedef {(single: string, plural: string, number: number, context: string, domain?: string) => string} _nx + * + * Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_nx/ + */ + +/** + * @typedef {() => boolean} IsRtl + * + * Check if current locale is RTL. + * + * **RTL (Right To Left)** is a locale property indicating that text is written from right to left. + * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common + * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages, + * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`). + */ + +/** + * @typedef {(single: string, context?: string, domain?: string) => boolean} HasTranslation + * + * Check if there is a translation for a given string in singular form. + */ + +/** @typedef {import('@wordpress/hooks').Hooks} Hooks */ + +/** + * An i18n instance + * + * @typedef I18n + * @property {GetLocaleData} getLocaleData Returns locale data by domain in a Jed-formatted JSON object shape. + * @property {SetLocaleData} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * @property {ResetLocaleData} resetLocaleData Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * @property {Subscribe} subscribe Subscribes to changes of Tannin locale data. + * @property {__} __ Retrieve the translation of text. + * @property {_x} _x Retrieve translated string with gettext context. + * @property {_n} _n Translates and retrieves the singular or plural form based on the supplied + * number. + * @property {_nx} _nx Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * @property {IsRtl} isRTL Check if current locale is RTL. + * @property {HasTranslation} hasTranslation Check if there is a translation for a given string. + */ + +/** + * Create an i18n instance + * + * @param {LocaleData} [initialData] Locale data configuration. + * @param {string} [initialDomain] Domain for which configuration applies. + * @param {Hooks} [hooks] Hooks implementation. + * @return {I18n} I18n instance + */ + +var createI18n = function createI18n(initialData, initialDomain, hooks) { + /** + * The underlying instance of Tannin to which exported functions interface. + * + * @type {Tannin} + */ + var tannin = new tannin__WEBPACK_IMPORTED_MODULE_1__["default"]({}); + var listeners = new Set(); + + var notifyListeners = function notifyListeners() { + listeners.forEach(function (listener) { + return listener(); + }); + }; + /** + * Subscribe to changes of locale data. + * + * @param {SubscribeCallback} callback Subscription callback. + * @return {UnsubscribeCallback} Unsubscribe callback. + */ + + + var subscribe = function subscribe(callback) { + listeners.add(callback); + return function () { + return listeners.delete(callback); + }; + }; + /** @type {GetLocaleData} */ + + + var getLocaleData = function getLocaleData() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + return tannin.data[domain]; + }; + /** + * @param {LocaleData} [data] + * @param {string} [domain] + */ + + + var doSetLocaleData = function doSetLocaleData(data) { + var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default'; + tannin.data[domain] = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA), tannin.data[domain]), data); // Populate default domain configuration (supported locale date which omits + // a plural forms expression). + + tannin.data[domain][''] = _objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA['']), tannin.data[domain]['']); + }; + /** @type {SetLocaleData} */ + + + var setLocaleData = function setLocaleData(data, domain) { + doSetLocaleData(data, domain); + notifyListeners(); + }; + /** @type {ResetLocaleData} */ + + + var resetLocaleData = function resetLocaleData(data, domain) { + // Reset all current Tannin locale data. + tannin.data = {}; // Reset cached plural forms functions cache. + + tannin.pluralForms = {}; + setLocaleData(data, domain); + }; + /** + * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not + * otherwise previously assigned. + * + * @param {string|undefined} domain Domain to retrieve the translated text. + * @param {string|undefined} context Context information for the translators. + * @param {string} single Text to translate if non-plural. Used as + * fallback return value on a caught error. + * @param {string} [plural] The text to be used if the number is + * plural. + * @param {number} [number] The number to compare against to use + * either the singular or plural form. + * + * @return {string} The translated string. + */ + + + var dcnpgettext = function dcnpgettext() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + var context = arguments.length > 1 ? arguments[1] : undefined; + var single = arguments.length > 2 ? arguments[2] : undefined; + var plural = arguments.length > 3 ? arguments[3] : undefined; + var number = arguments.length > 4 ? arguments[4] : undefined; + + if (!tannin.data[domain]) { + // use `doSetLocaleData` to set silently, without notifying listeners + doSetLocaleData(undefined, domain); + } + + return tannin.dcnpgettext(domain, context, single, plural, number); + }; + /** @type {GetFilterDomain} */ + + + var getFilterDomain = function getFilterDomain() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + return domain; + }; + /** @type {__} */ + + + var __ = function __(text, domain) { + var translation = dcnpgettext(domain, undefined, text); + + if (!hooks) { + return translation; + } + /** + * Filters text with its translation. + * + * @param {string} translation Translated text. + * @param {string} text Text to translate. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext', translation, text, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_' + getFilterDomain(domain), translation, text, domain) + ); + }; + /** @type {_x} */ + + + var _x = function _x(text, context, domain) { + var translation = dcnpgettext(domain, context, text); + + if (!hooks) { + return translation; + } + /** + * Filters text with its translation based on context information. + * + * @param {string} translation Translated text. + * @param {string} text Text to translate. + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_with_context', translation, text, context, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_with_context_' + getFilterDomain(domain), translation, text, context, domain) + ); + }; + /** @type {_n} */ + + + var _n = function _n(single, plural, number, domain) { + var translation = dcnpgettext(domain, undefined, single, plural, number); + + if (!hooks) { + return translation; + } + /** + * Filters the singular or plural form of a string. + * + * @param {string} translation Translated text. + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {string} number The number to compare against to use either the singular or plural form. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext', translation, single, plural, number, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_' + getFilterDomain(domain), translation, single, plural, number, domain) + ); + }; + /** @type {_nx} */ + + + var _nx = function _nx(single, plural, number, context, domain) { + var translation = dcnpgettext(domain, context, single, plural, number); + + if (!hooks) { + return translation; + } + /** + * Filters the singular or plural form of a string with gettext context. + * + * @param {string} translation Translated text. + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {string} number The number to compare against to use either the singular or plural form. + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_with_context', translation, single, plural, number, context, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_with_context_' + getFilterDomain(domain), translation, single, plural, number, context, domain) + ); + }; + /** @type {IsRtl} */ + + + var isRTL = function isRTL() { + return 'rtl' === _x('ltr', 'text direction'); + }; + /** @type {HasTranslation} */ + + + var hasTranslation = function hasTranslation(single, context, domain) { + var _tannin$data, _tannin$data2; + + var key = context ? context + "\x04" + single : single; + var result = !!((_tannin$data = tannin.data) !== null && _tannin$data !== void 0 && (_tannin$data2 = _tannin$data[domain !== null && domain !== void 0 ? domain : 'default']) !== null && _tannin$data2 !== void 0 && _tannin$data2[key]); + + if (hooks) { + /** + * Filters the presence of a translation in the locale data. + * + * @param {boolean} hasTranslation Whether the translation is present or not.. + * @param {string} single The singular form of the translated text (used as key in locale data) + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + result = + /** @type { boolean } */ + + /** @type {*} */ + hooks.applyFilters('i18n.has_translation', result, single, context, domain); + result = + /** @type { boolean } */ + + /** @type {*} */ + hooks.applyFilters('i18n.has_translation_' + getFilterDomain(domain), result, single, context, domain); + } + + return result; + }; + + if (initialData) { + setLocaleData(initialData, initialDomain); + } + + if (hooks) { + /** + * @param {string} hookName + */ + var onHookAddedOrRemoved = function onHookAddedOrRemoved(hookName) { + if (I18N_HOOK_REGEXP.test(hookName)) { + notifyListeners(); + } + }; + + hooks.addAction('hookAdded', 'core/i18n', onHookAddedOrRemoved); + hooks.addAction('hookRemoved', 'core/i18n', onHookAddedOrRemoved); + } + + return { + getLocaleData: getLocaleData, + setLocaleData: setLocaleData, + resetLocaleData: resetLocaleData, + subscribe: subscribe, + __: __, + _x: _x, + _n: _n, + _nx: _nx, + isRTL: isRTL, + hasTranslation: hasTranslation + }; +}; +//# sourceMappingURL=create-i18n.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/default-i18n.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/default-i18n.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ __: () => (/* binding */ __), +/* harmony export */ _n: () => (/* binding */ _n), +/* harmony export */ _nx: () => (/* binding */ _nx), +/* harmony export */ _x: () => (/* binding */ _x), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), +/* harmony export */ getLocaleData: () => (/* binding */ getLocaleData), +/* harmony export */ hasTranslation: () => (/* binding */ hasTranslation), +/* harmony export */ isRTL: () => (/* binding */ isRTL), +/* harmony export */ resetLocaleData: () => (/* binding */ resetLocaleData), +/* harmony export */ setLocaleData: () => (/* binding */ setLocaleData), +/* harmony export */ subscribe: () => (/* binding */ subscribe) +/* harmony export */ }); +/* harmony import */ var _create_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./create-i18n */ "./node_modules/@wordpress/i18n/build-module/create-i18n.js"); +/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/hooks */ "./node_modules/@wordpress/hooks/build-module/index.js"); +/** + * Internal dependencies + */ + +/** + * WordPress dependencies + */ + + +var i18n = (0,_create_i18n__WEBPACK_IMPORTED_MODULE_0__.createI18n)(undefined, undefined, _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__.defaultHooks); +/** + * Default, singleton instance of `I18n`. + */ + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (i18n); +/* + * Comments in this file are duplicated from ./i18n due to + * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722 + */ + +/** + * @typedef {import('./create-i18n').LocaleData} LocaleData + * @typedef {import('./create-i18n').SubscribeCallback} SubscribeCallback + * @typedef {import('./create-i18n').UnsubscribeCallback} UnsubscribeCallback + */ + +/** + * Returns locale data by domain in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {string} [domain] Domain for which to get the data. + * @return {LocaleData} Locale data. + */ + +var getLocaleData = i18n.getLocaleData.bind(i18n); +/** + * Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {LocaleData} [data] Locale data configuration. + * @param {string} [domain] Domain for which configuration applies. + */ + +var setLocaleData = i18n.setLocaleData.bind(i18n); +/** + * Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {LocaleData} [data] Locale data configuration. + * @param {string} [domain] Domain for which configuration applies. + */ + +var resetLocaleData = i18n.resetLocaleData.bind(i18n); +/** + * Subscribes to changes of locale data + * + * @param {SubscribeCallback} callback Subscription callback + * @return {UnsubscribeCallback} Unsubscribe callback + */ + +var subscribe = i18n.subscribe.bind(i18n); +/** + * Retrieve the translation of text. + * + * @see https://developer.wordpress.org/reference/functions/__/ + * + * @param {string} text Text to translate. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} Translated text. + */ + +var __ = i18n.__.bind(i18n); +/** + * Retrieve translated string with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_x/ + * + * @param {string} text Text to translate. + * @param {string} context Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} Translated context string without pipe. + */ + +var _x = i18n._x.bind(i18n); +/** + * Translates and retrieves the singular or plural form based on the supplied + * number. + * + * @see https://developer.wordpress.org/reference/functions/_n/ + * + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {number} number The number to compare against to use either the + * singular or plural form. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} The translated singular or plural form. + */ + +var _n = i18n._n.bind(i18n); +/** + * Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_nx/ + * + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {number} number The number to compare against to use either the + * singular or plural form. + * @param {string} context Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} The translated singular or plural form. + */ + +var _nx = i18n._nx.bind(i18n); +/** + * Check if current locale is RTL. + * + * **RTL (Right To Left)** is a locale property indicating that text is written from right to left. + * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common + * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages, + * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`). + * + * @return {boolean} Whether locale is RTL. + */ + +var isRTL = i18n.isRTL.bind(i18n); +/** + * Check if there is a translation for a given string (in singular form). + * + * @param {string} single Singular form of the string to look up. + * @param {string} [context] Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * @return {boolean} Whether the translation exists or not. + */ + +var hasTranslation = i18n.hasTranslation.bind(i18n); +//# sourceMappingURL=default-i18n.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/index.js": +/*!************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/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 */ __: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.__), +/* harmony export */ _n: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._n), +/* harmony export */ _nx: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._nx), +/* harmony export */ _x: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._x), +/* harmony export */ createI18n: () => (/* reexport safe */ _create_i18n__WEBPACK_IMPORTED_MODULE_1__.createI18n), +/* harmony export */ defaultI18n: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__["default"]), +/* harmony export */ getLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.getLocaleData), +/* harmony export */ hasTranslation: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.hasTranslation), +/* harmony export */ isRTL: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.isRTL), +/* harmony export */ resetLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.resetLocaleData), +/* harmony export */ setLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.setLocaleData), +/* harmony export */ sprintf: () => (/* reexport safe */ _sprintf__WEBPACK_IMPORTED_MODULE_0__.sprintf), +/* harmony export */ subscribe: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.subscribe) +/* harmony export */ }); +/* harmony import */ var _sprintf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sprintf */ "./node_modules/@wordpress/i18n/build-module/sprintf.js"); +/* harmony import */ var _create_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./create-i18n */ "./node_modules/@wordpress/i18n/build-module/create-i18n.js"); +/* harmony import */ var _default_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./default-i18n */ "./node_modules/@wordpress/i18n/build-module/default-i18n.js"); + + + +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/sprintf.js": +/*!**************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/sprintf.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ sprintf: () => (/* binding */ sprintf) +/* harmony export */ }); +/* harmony import */ var memize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! memize */ "./node_modules/memize/index.js"); +/* harmony import */ var memize__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(memize__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var sprintf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! sprintf-js */ "./node_modules/sprintf-js/src/sprintf.js"); +/* harmony import */ var sprintf_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(sprintf_js__WEBPACK_IMPORTED_MODULE_1__); +/** + * External dependencies + */ + + +/** + * Log to console, once per message; or more precisely, per referentially equal + * argument set. Because Jed throws errors, we log these to the console instead + * to avoid crashing the application. + * + * @param {...*} args Arguments to pass to `console.error` + */ + +var logErrorOnce = memize__WEBPACK_IMPORTED_MODULE_0___default()(console.error); // eslint-disable-line no-console + +/** + * Returns a formatted string. If an error occurs in applying the format, the + * original format string is returned. + * + * @param {string} format The format of the string to generate. + * @param {...*} args Arguments to apply to the format. + * + * @see https://www.npmjs.com/package/sprintf-js + * + * @return {string} The formatted string. + */ + +function sprintf(format) { + try { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + return sprintf_js__WEBPACK_IMPORTED_MODULE_1___default().sprintf.apply((sprintf_js__WEBPACK_IMPORTED_MODULE_1___default()), [format].concat(args)); + } catch (error) { + logErrorOnce('sprintf error: \n\n' + error.toString()); + return format; + } +} +//# sourceMappingURL=sprintf.js.map + +/***/ }), + +/***/ "./js/src/addons-page/addons/categorizeAddons.js": +/*!*******************************************************!*\ + !*** ./js/src/addons-page/addons/categorizeAddons.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ buildCategorizedAddons: () => (/* binding */ buildCategorizedAddons), +/* harmony export */ categorizedAddons: () => (/* binding */ categorizedAddons) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../elements */ "./js/src/addons-page/elements/index.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants */ "./js/src/addons-page/constants.js"); +/** + * Internal dependencies + */ + + +var categorizedAddons = {}; +categorizedAddons[_constants__WEBPACK_IMPORTED_MODULE_1__.VIEWS.AVAILABLE] = []; +categorizedAddons[_constants__WEBPACK_IMPORTED_MODULE_1__.VIEWS.ACTIVE] = []; + +/** + * Builds a categorized list of addons. + * + * @return {void} + */ +function buildCategorizedAddons() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + addons = _getElements.addons; + addons.forEach(function (addon) { + // Extract and split the categories from data attribute + var dataCategories = addon.getAttribute('data-categories'); + if (!dataCategories) { + return; + } + var categories = dataCategories.split(','); + categories.forEach(function (category) { + // Initialize the category array if not already done + if (!categorizedAddons[category]) { + categorizedAddons[category] = []; + } + + // Add the addon to the appropriate category + categorizedAddons[category].push(addon); + }); + }); +} + +/***/ }), + +/***/ "./js/src/addons-page/addons/index.js": +/*!********************************************!*\ + !*** ./js/src/addons-page/addons/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 */ buildCategorizedAddons: () => (/* reexport safe */ _categorizeAddons__WEBPACK_IMPORTED_MODULE_0__.buildCategorizedAddons), +/* harmony export */ categorizedAddons: () => (/* reexport safe */ _categorizeAddons__WEBPACK_IMPORTED_MODULE_0__.categorizedAddons) +/* harmony export */ }); +/* harmony import */ var _categorizeAddons__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./categorizeAddons */ "./js/src/addons-page/addons/categorizeAddons.js"); + + +/***/ }), + +/***/ "./js/src/addons-page/constants.js": +/*!*****************************************!*\ + !*** ./js/src/addons-page/constants.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ PLANS: () => (/* binding */ PLANS), +/* harmony export */ PREFIX: () => (/* binding */ PREFIX), +/* harmony export */ VIEWS: () => (/* binding */ VIEWS), +/* harmony export */ addonRequestURL: () => (/* binding */ addonRequestURL) +/* harmony export */ }); +var addonRequestURL = window.frmAddonsVars.addonRequestURL; + +var PREFIX = 'frm-addons'; +var VIEWS = { + AVAILABLE: 'available-addons', + ACTIVE: 'active-addons' +}; +var PLANS = { + BASIC: 'basic', + PLUS: 'plus', + BUSINESS: 'business', + ELITE: 'elite' +}; + +/***/ }), + +/***/ "./js/src/addons-page/elements/elements.js": +/*!*************************************************!*\ + !*** ./js/src/addons-page/elements/elements.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addElements: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.addElements), +/* harmony export */ getElements: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.getElements) +/* harmony export */ }); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants */ "./js/src/addons-page/constants.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + +var _getElements = (0,core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + bodyContent = _getElements.bodyContent, + sidebar = _getElements.sidebar; +bodyContent.querySelectorAll('.frm-card-item:not(.plugin-card-formidable-pro)').forEach(function (addon) { + var categories = addon.dataset.categories; + switch (true) { + case categories.includes(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.BUSINESS): + addon.setAttribute('data-categories', "".concat(categories, ",").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.ELITE)); + break; + case categories.includes(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.PLUS): + addon.setAttribute('data-categories', "".concat(categories, ",").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.BUSINESS, ",").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.ELITE)); + break; + case categories.includes(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.BASIC): + addon.setAttribute('data-categories', "".concat(categories, ",").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.PLUS, ",").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.BUSINESS, ",").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.ELITE)); + break; + } +}); +(0,core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.addElements)({ + // Body elements + upgradeBanner: document.getElementById('frm-upgrade-banner'), + // Category elements + availableCategory: sidebar.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.PREFIX, "-cat[data-category=\"").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.VIEWS.AVAILABLE, "\"]")), + activeCategory: sidebar.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.PREFIX, "-cat[data-category=\"").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.VIEWS.ACTIVE, "\"]")), + categoriesTopDivider: sidebar.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.PREFIX, "-divider")), + basicPlanCategory: sidebar.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.PREFIX, "-cat[data-category=\"").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.BASIC, "\"]")), + plusPlanCategory: sidebar.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.PREFIX, "-cat[data-category=\"").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.PLUS, "\"]")), + businessPlanCategory: sidebar.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.PREFIX, "-cat[data-category=\"").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.BUSINESS, "\"]")), + elitePlanCategory: sidebar.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.PREFIX, "-cat[data-category=\"").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.ELITE, "\"]")), + // Card elements + addonsList: document.getElementById("".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-list")), + addons: bodyContent.querySelectorAll('.frm-card-item'), + availableAddons: bodyContent.querySelectorAll('.frm-card-item:not(.frm-locked-item)'), + addonsToggle: bodyContent.querySelectorAll('.frm_toggle_block'), + // Add children of the bodyContent to the elements object + bodyContentChildren: bodyContent === null || bodyContent === void 0 ? void 0 : bodyContent.children +}); + + +/***/ }), + +/***/ "./js/src/addons-page/elements/index.js": +/*!**********************************************!*\ + !*** ./js/src/addons-page/elements/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 */ addElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_0__.addElements), +/* harmony export */ getElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_0__.getElements) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./elements */ "./js/src/addons-page/elements/elements.js"); + + +/***/ }), + +/***/ "./js/src/addons-page/events/addonToggleListener.js": +/*!**********************************************************!*\ + !*** ./js/src/addons-page/events/addonToggleListener.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 */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../elements */ "./js/src/addons-page/elements/index.js"); +/* harmony import */ var _ui___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../ui/ */ "./js/src/addons-page/ui/index.js"); +function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } +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."); } +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; } } +function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } +function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, 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 o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; } +function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } +function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } +/** + * Internal dependencies + */ + + +var targetButton; + +/** + * Manages event handling for addons toggle. + * + * @return {void} + */ +function addAddonToggleEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + addonsToggle = _getElements.addonsToggle; + addonsToggle.forEach(function (addonToggle) { + return addonToggle.addEventListener('click', onAddonToggleClick); + }); + wp.hooks.addAction('frm_update_addon_state', 'frmAddonPage', function () { + (0,_ui___WEBPACK_IMPORTED_MODULE_1__.setupActiveCategory)(); + }); +} + +/** + * Handles the click event on the addon toggle. + * + * @private + * @param {Event} event The click event object. + * @return {void} + */ +var onAddonToggleClick = function onAddonToggleClick(event) { + var _targetButton; + if ((_targetButton = targetButton) !== null && _targetButton !== void 0 && _targetButton.classList.contains('frm_loading_button')) { + return; + } + var addonToggle = event.currentTarget; + var addon = addonToggle.closest('.frm-card-item'); + var actionMap = new Map([['frm-addon-not-installed', '.frm-install-addon'], ['frm-addon-installed', '.frm-activate-addon'], ['frm-addon-active', '.frm-deactivate-addon']]); + var _iterator = _createForOfIteratorHelper(actionMap.entries()), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _step$value = _slicedToArray(_step.value, 2), + className = _step$value[0], + selector = _step$value[1]; + if (addon.classList.contains(className)) { + targetButton = addon.querySelector(selector); + targetButton.click(); + break; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } +}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addAddonToggleEvents); + +/***/ }), + +/***/ "./js/src/addons-page/events/index.js": +/*!********************************************!*\ + !*** ./js/src/addons-page/events/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 */ addEventListeners: () => (/* binding */ addEventListeners) +/* harmony export */ }); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../ui */ "./js/src/addons-page/ui/index.js"); +/* harmony import */ var _addonToggleListener__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./addonToggleListener */ "./js/src/addons-page/events/addonToggleListener.js"); +/* harmony import */ var _searchListener__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./searchListener */ "./js/src/addons-page/events/searchListener.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + + +/** + * Attaches event listeners for handling user interactions. + * + * @return {void} + */ +function addEventListeners() { + (0,core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.addCategoryEvents)(); + wp.hooks.addAction('frmPage.onCategoryClick', 'frmAddonsPage', function (selectedCategory) { + (0,_ui__WEBPACK_IMPORTED_MODULE_1__.showSelectedCategory)(selectedCategory); + }); + (0,_addonToggleListener__WEBPACK_IMPORTED_MODULE_2__["default"])(); + (0,_searchListener__WEBPACK_IMPORTED_MODULE_3__["default"])(); +} + +/***/ }), + +/***/ "./js/src/addons-page/events/searchListener.js": +/*!*****************************************************!*\ + !*** ./js/src/addons-page/events/searchListener.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 */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../elements */ "./js/src/addons-page/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../shared */ "./js/src/addons-page/shared/index.js"); +/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ui */ "./js/src/addons-page/ui/index.js"); +/** + * Internal dependencies + */ + + + +var initSearch = window.frmDom.search.init; + +/** + * Adds search-related event listeners by calling the 'initSearch' function. + * + * @see frmDom.search method + * @return {void} + */ +function addSearchEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + searchInput = _getElements.searchInput; + initSearch(searchInput, 'frm-card-item', { + handleSearchResult: handleSearchResult + }); +} + +/** + * Manages UI state based on search results and input value. + * + * @private + * @param {Object} args Contains flags for search status. + * @param {boolean} args.foundSomething True if search yielded results. + * @param {boolean} args.notEmptySearchText True if search input is not empty. + * @param {Event} event The event object (input, search, or change event). + * @return {void} + */ +function handleSearchResult(_ref, event) { + var foundSomething = _ref.foundSomething, + notEmptySearchText = _ref.notEmptySearchText; + // Prevent double calls as window.frmDom.search.init attaches both 'input' and 'search' events, + // triggering this method twice on 'x' button click. + if (event && event.type === 'search' && event.target.value === '') { + return; + } + var state = (0,_shared__WEBPACK_IMPORTED_MODULE_1__.getState)(); + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + allItemsCategory = _getElements2.allItemsCategory; + (0,_shared__WEBPACK_IMPORTED_MODULE_1__.setSingleState)('notEmptySearchText', notEmptySearchText); + + // Revert to 'All Templates' if search and selected category are both empty + if (!state.notEmptySearchText && !state.selectedCategory) { + allItemsCategory.dispatchEvent(new Event('click', { + bubbles: true + })); + return; + } + + // Display search state if a category is selected + if (state.selectedCategory) { + (0,_ui__WEBPACK_IMPORTED_MODULE_2__.showSearchState)(notEmptySearchText); + + // Setting "selectedCategory" to an empty string as a flag for search state + if (notEmptySearchText) { + (0,_shared__WEBPACK_IMPORTED_MODULE_1__.setSingleState)('selectedCategory', ''); + } + } + (0,_ui__WEBPACK_IMPORTED_MODULE_2__.displaySearchElements)(foundSomething); +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addSearchEvents); + +/***/ }), + +/***/ "./js/src/addons-page/shared/index.js": +/*!********************************************!*\ + !*** ./js/src/addons-page/shared/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 */ getSingleState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.getSingleState), +/* harmony export */ getState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.getState), +/* harmony export */ setSingleState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.setSingleState), +/* harmony export */ setState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.setState) +/* harmony export */ }); +/* harmony import */ var _pageState__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pageState */ "./js/src/addons-page/shared/pageState.js"); + + +/***/ }), + +/***/ "./js/src/addons-page/shared/pageState.js": +/*!************************************************!*\ + !*** ./js/src/addons-page/shared/pageState.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getSingleState: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.getSingleState), +/* harmony export */ getState: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.getState), +/* harmony export */ setSingleState: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.setSingleState), +/* harmony export */ setState: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.setState) +/* harmony export */ }); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/** + * External dependencies + */ + + +// NOTE: +// Use setState() here to add new states on the Add-Ons page. +// Check the 'core/page-skeleton' package for shared states you can use. + + + +/***/ }), + +/***/ "./js/src/addons-page/ui/index.js": +/*!****************************************!*\ + !*** ./js/src/addons-page/ui/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 */ displaySearchElements: () => (/* reexport safe */ _searchState__WEBPACK_IMPORTED_MODULE_2__.displaySearchElements), +/* harmony export */ setupActiveCategory: () => (/* reexport safe */ _setupInitialView__WEBPACK_IMPORTED_MODULE_0__.setupActiveCategory), +/* harmony export */ setupInitialView: () => (/* reexport safe */ _setupInitialView__WEBPACK_IMPORTED_MODULE_0__.setupInitialView), +/* harmony export */ showEmptyState: () => (/* reexport safe */ _showEmptyState__WEBPACK_IMPORTED_MODULE_3__.showEmptyState), +/* harmony export */ showSearchState: () => (/* reexport safe */ _searchState__WEBPACK_IMPORTED_MODULE_2__.showSearchState), +/* harmony export */ showSelectedCategory: () => (/* reexport safe */ _showSelectedCategory__WEBPACK_IMPORTED_MODULE_1__.showSelectedCategory) +/* harmony export */ }); +/* harmony import */ var _setupInitialView__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setupInitialView */ "./js/src/addons-page/ui/setupInitialView.js"); +/* harmony import */ var _showSelectedCategory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./showSelectedCategory */ "./js/src/addons-page/ui/showSelectedCategory.js"); +/* harmony import */ var _searchState__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./searchState */ "./js/src/addons-page/ui/searchState.js"); +/* harmony import */ var _showEmptyState__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./showEmptyState */ "./js/src/addons-page/ui/showEmptyState.js"); + + + + + +/***/ }), + +/***/ "./js/src/addons-page/ui/searchState.js": +/*!**********************************************!*\ + !*** ./js/src/addons-page/ui/searchState.js ***! + \**********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ displaySearchElements: () => (/* binding */ displaySearchElements), +/* harmony export */ showSearchState: () => (/* binding */ showSearchState) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../elements */ "./js/src/addons-page/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../shared */ "./js/src/addons-page/shared/index.js"); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! . */ "./js/src/addons-page/ui/index.js"); +/** + * WordPress dependencies + */ + + +/** + * External dependencies + */ + + + +/** + * Internal dependencies + */ + + + + +/** + * Updates the UI to display the search state. + * + * @param {boolean} notEmptySearchText True if search input is not empty. + * @return {void} + */ +function showSearchState(notEmptySearchText) { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + bodyContent = _getElements.bodyContent, + bodyContentChildren = _getElements.bodyContentChildren, + addonsList = _getElements.addonsList; + + // Remove highlighting from the currently selected category if the search text is not empty + if (notEmptySearchText) { + (0,_shared__WEBPACK_IMPORTED_MODULE_4__.getSingleState)('selectedCategoryEl').classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_1__.CURRENT_CLASS); + } + + // Hide non-relevant elements in the body content + (0,core_utils__WEBPACK_IMPORTED_MODULE_2__.hideElements)(bodyContentChildren); + (0,core_utils__WEBPACK_IMPORTED_MODULE_2__.show)(addonsList); + + // Smoothly display the updated UI elements + new core_utils__WEBPACK_IMPORTED_MODULE_2__.frmAnimate(bodyContent).fadeIn(); +} + +/** + * Displays search results based on search outcome. + * + * @param {boolean} foundSomething True if search yielded results. + * @return {void} + */ +function displaySearchElements(foundSomething) { + // Show empty state if no templates found + if (!foundSomething) { + (0,___WEBPACK_IMPORTED_MODULE_5__.showEmptyState)(); + return; + } + + // Hide empty state if currently displayed + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + emptyState = _getElements2.emptyState; + if ((0,core_utils__WEBPACK_IMPORTED_MODULE_2__.isVisible)(emptyState)) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_2__.hide)(emptyState); + } +} + +/***/ }), + +/***/ "./js/src/addons-page/ui/setupInitialView.js": +/*!***************************************************!*\ + !*** ./js/src/addons-page/ui/setupInitialView.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ setupActiveCategory: () => (/* binding */ setupActiveCategory), +/* harmony export */ setupInitialView: () => (/* binding */ setupInitialView) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../elements */ "./js/src/addons-page/elements/index.js"); +/* harmony import */ var _addons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../addons */ "./js/src/addons-page/addons/index.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../constants */ "./js/src/addons-page/constants.js"); +/** + * External dependencies + */ + + + + +/** + * Internal dependencies + */ + + + +var CAT_COUNT_CLASS = ".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-cat-count"); + +/** + * Sets up the initial view, performing any required + * DOM manipulations for proper element presentation. + * + * @return {void} + */ +function setupInitialView() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + sidebar = _getElements.sidebar, + searchInput = _getElements.searchInput, + bodyContent = _getElements.bodyContent; + var bodyContentAnimate = new core_utils__WEBPACK_IMPORTED_MODULE_1__.frmAnimate(bodyContent); + searchInput.value = ''; + setupActiveCategory(); + setupAvailableCategory(); + setupAllAddonsCategory(); + setupPlansCategory(); + + // Smoothly display the updated UI elements + bodyContent.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDE_JS_CLASS); + sidebar.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDE_JS_CLASS); + bodyContentAnimate.fadeIn(); + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.show)(sidebar); +} + +/** + * Sets up the "Active" category, updating the + * categorizedAddons object and the category count. + * + * @return {void} + */ +function setupActiveCategory() { + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + activeCategory = _getElements2.activeCategory, + availableCategory = _getElements2.availableCategory, + categoriesTopDivider = _getElements2.categoriesTopDivider; + var activeAddons = document.querySelectorAll('.frm-addon-active:not(.frm-locked-item)'); + if (activeAddons.length === 0) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hideElements)([activeCategory, availableCategory, categoriesTopDivider]); + return; + } + _addons__WEBPACK_IMPORTED_MODULE_4__.categorizedAddons[_constants__WEBPACK_IMPORTED_MODULE_5__.VIEWS.ACTIVE] = activeAddons; + + // Set "Active" category count + activeCategory.querySelector(CAT_COUNT_CLASS).textContent = activeAddons.length; +} + +/** + * Sets up the "Available" category, updating the + * categorizedAddons object and the category count. + * + * @private + * @return {void} + */ +function setupAvailableCategory() { + var _getElements3 = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + bodyContent = _getElements3.bodyContent, + availableCategory = _getElements3.availableCategory, + availableAddons = _getElements3.availableAddons; + _addons__WEBPACK_IMPORTED_MODULE_4__.categorizedAddons[_constants__WEBPACK_IMPORTED_MODULE_5__.VIEWS.AVAILABLE] = availableAddons; + + // Set "Available" category count + if (availableCategory) { + availableCategory.querySelector(CAT_COUNT_CLASS).textContent = availableAddons.length; + var upgradeBannerAvailableCount = bodyContent.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_5__.PREFIX, "-available-count")); + if (upgradeBannerAvailableCount) { + upgradeBannerAvailableCount.textContent = availableAddons.length; + } + } +} + +/** + * Sets up the "All Add-Ons" category, updating the + * category count. + * + * @private + * @return {void} + */ +function setupAllAddonsCategory() { + var _getElements4 = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + allItemsCategory = _getElements4.allItemsCategory, + addons = _getElements4.addons; + + // Set "All Add-Ons" category count + allItemsCategory.querySelector(CAT_COUNT_CLASS).textContent = addons.length; +} + +/** + * Sets up the "All Add-Ons" category, updating the + * category count. + * + * @private + * @return {void} + */ +function setupPlansCategory() { + var _getElements5 = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + basicPlanCategory = _getElements5.basicPlanCategory, + plusPlanCategory = _getElements5.plusPlanCategory, + businessPlanCategory = _getElements5.businessPlanCategory, + elitePlanCategory = _getElements5.elitePlanCategory; + var getCount = function getCount(category) { + return parseInt(category.querySelector(CAT_COUNT_CLASS).textContent, 10) || 0; + }; + + // The "Formidable Pro" add-on is included in all plans, so we just consider that in the basicCount + var basicCount = getCount(basicPlanCategory); + var plusCount = getCount(plusPlanCategory) - 1; + var businessCount = getCount(businessPlanCategory) - 1; + var eliteCount = getCount(elitePlanCategory) - 1; + + // Update the text content for each category + plusPlanCategory.querySelector(CAT_COUNT_CLASS).textContent = basicCount + plusCount; + businessPlanCategory.querySelector(CAT_COUNT_CLASS).textContent = basicCount + plusCount + businessCount; + elitePlanCategory.querySelector(CAT_COUNT_CLASS).textContent = basicCount + plusCount + businessCount + eliteCount; +} + +/***/ }), + +/***/ "./js/src/addons-page/ui/showEmptyState.js": +/*!*************************************************!*\ + !*** ./js/src/addons-page/ui/showEmptyState.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ showEmptyState: () => (/* binding */ showEmptyState) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../elements */ "./js/src/addons-page/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared */ "./js/src/addons-page/shared/index.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../constants */ "./js/src/addons-page/constants.js"); +/** + * WordPress dependencies + */ + + +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + + +/** + * Display the search-empty state. + * + * @return {void} + */ +function showEmptyState() { + var _getState = (0,_shared__WEBPACK_IMPORTED_MODULE_3__.getState)(), + selectedCategory = _getState.selectedCategory; + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + emptyState = _getElements.emptyState, + emptyStateButton = _getElements.emptyStateButton, + emptyStateTitle = _getElements.emptyStateTitle, + emptyStateText = _getElements.emptyStateText; + emptyState.setAttribute('data-view', selectedCategory); + emptyStateTitle.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('No add-ons found', 'formidable'); + emptyStateText.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Sorry, we didn\'t find any add-ons that match your criteria.', 'formidable'); + emptyStateButton.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Request Add-On', 'formidable'); + emptyStateButton.href = _constants__WEBPACK_IMPORTED_MODULE_4__.addonRequestURL; + emptyStateButton.setAttribute('target', '_blank'); + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.showElements)([emptyState, emptyStateButton]); +} + +/***/ }), + +/***/ "./js/src/addons-page/ui/showSelectedCategory.js": +/*!*******************************************************!*\ + !*** ./js/src/addons-page/ui/showSelectedCategory.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 */ showSelectedCategory: () => (/* binding */ showSelectedCategory) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../elements */ "./js/src/addons-page/elements/index.js"); +/* harmony import */ var _addons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../addons */ "./js/src/addons-page/addons/index.js"); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! . */ "./js/src/addons-page/ui/index.js"); +/** + * External dependencies + */ + + + +/** + * Internal dependencies + */ + + + + +/** + * Show addons based on selected category. + * + * @param {string} selectedCategory The selected category to display addons for. + * @return {void} + */ +function showSelectedCategory(selectedCategory) { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + bodyContent = _getElements.bodyContent, + addons = _getElements.addons, + emptyState = _getElements.emptyState, + upgradeBanner = _getElements.upgradeBanner; + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hide)(emptyState); + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.show)(upgradeBanner); + bodyContent.dataset.category = selectedCategory; + if (core_page_skeleton__WEBPACK_IMPORTED_MODULE_1__.VIEWS.ALL_ITEMS === selectedCategory) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.showElements)(addons); + return; + } + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hideElements)(addons); + if (_addons__WEBPACK_IMPORTED_MODULE_3__.categorizedAddons[selectedCategory].length === 0) { + (0,___WEBPACK_IMPORTED_MODULE_4__.showEmptyState)(); + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hide)(upgradeBanner); + } else { + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.showElements)(_addons__WEBPACK_IMPORTED_MODULE_3__.categorizedAddons[selectedCategory]); + } +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (showSelectedCategory); + +/***/ }), + +/***/ "./js/src/core/constants.js": +/*!**********************************!*\ + !*** ./js/src/core/constants.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ CHECKED_CLASS: () => (/* binding */ CHECKED_CLASS), +/* harmony export */ CURRENT_CLASS: () => (/* binding */ CURRENT_CLASS), +/* harmony export */ DISABLED_CLASS: () => (/* binding */ DISABLED_CLASS), +/* harmony export */ HIDDEN_CLASS: () => (/* binding */ HIDDEN_CLASS), +/* harmony export */ HIDE_JS_CLASS: () => (/* binding */ HIDE_JS_CLASS), +/* harmony export */ HOOKS: () => (/* binding */ HOOKS), +/* harmony export */ PLUGIN_URL: () => (/* binding */ PLUGIN_URL), +/* harmony export */ SINGLE_SETTINGS_CLASS: () => (/* binding */ SINGLE_SETTINGS_CLASS), +/* harmony export */ nonce: () => (/* binding */ nonce) +/* harmony export */ }); +var _window$frmGlobal = window.frmGlobal, + PLUGIN_URL = _window$frmGlobal.url, + nonce = _window$frmGlobal.nonce; + +var HIDDEN_CLASS = 'frm_hidden'; +var DISABLED_CLASS = 'frm_disabled'; +var HIDE_JS_CLASS = 'frm-hide-js'; +var CURRENT_CLASS = 'frm-current'; +var CHECKED_CLASS = 'frm-checked'; +var SINGLE_SETTINGS_CLASS = 'frm-single-settings'; +var HOOKS = { + SHOW_FIELD_SETTINGS: 'frmShowedFieldSettings' +}; + +/***/ }), + +/***/ "./js/src/core/factory/createPageElements.js": +/*!***************************************************!*\ + !*** ./js/src/core/factory/createPageElements.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createPageElements: () => (/* binding */ createPageElements) +/* harmony export */ }); +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 _objectSpread(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) { _defineProperty(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; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +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); } +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); } +/** + * Creates a page elements manager. + * + * @param {Object} [initialElements={}] An object containing initial DOM elements. + * @throws {Error} Throws an error if the `initialElements` is not an object. + * @return {Object} An object with methods to get and add elements. + */ +function createPageElements() { + var initialElements = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (_typeof(initialElements) !== 'object' || initialElements === null) { + throw new Error('createPageElements: initialElements must be a non-null object'); + } + var elements = initialElements; + + /** + * Retrieve the initialized essential DOM elements. + * + * @return {Object} The initialized elements object. + */ + function getElements() { + return elements; + } + + /** + * Add new elements to the elements object. + * + * @param {Object} newElements An object containing new elements to be added. + * @throws {Error} Throws an error if the `newElements` is not a non-null object. + * @return {void} Updates the elements object by merging the new elements into it. + */ + function addElements(newElements) { + if (_typeof(newElements) !== 'object' || newElements === null) { + throw new Error('addElements: newElements must be a non-null object'); + } + elements = _objectSpread(_objectSpread({}, elements), newElements); + } + return { + getElements: getElements, + addElements: addElements + }; +} + +/***/ }), + +/***/ "./js/src/core/factory/createPageState.js": +/*!************************************************!*\ + !*** ./js/src/core/factory/createPageState.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createPageState: () => (/* binding */ createPageState) +/* harmony export */ }); +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 _objectSpread(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) { _defineProperty(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; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +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); } +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); } +/** + * Creates a page state manager. + * + * @param {Object} [initialState={}] An object containing the initial state. + * @throws {Error} Throws an error if the `initialState` is not a plain object. + * @return {Object} An object with methods to initialize, get, and set the page state. + */ +function createPageState() { + var initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (_typeof(initialState) !== 'object' || initialState === null) { + throw new Error('createPageState: initialState must be a non-null object'); + } + var state = initialState; + + /** + * Returns the current page state. + * + * @return {Object|null} The current state of the page or null if not initialized. + */ + var getState = function getState() { + return state; + }; + + /** + * Returns a specific property from the current page state. + * + * @param {string} propertyName The name of the property to retrieve. + * @return {*} The value of the specified property, or null if it doesn't exist. + */ + var getSingleState = function getSingleState(propertyName) { + var value = Reflect.get(state, propertyName); + + // We convert `undefined` to `null` for a consistent API. + // This makes it easier for users to handle the results since all missing properties return `null`. + return value === undefined ? null : value; + }; + + /** + * Updates the page state with new values. + * + * @param {Object} newState The new values to update the state with. + * @throws {Error} Throws an error if `newState` is not a plain object. + * @return {void} + */ + var setState = function setState(newState) { + if (_typeof(newState) !== 'object' || newState === null) { + throw new Error('setState: newState must be a non-null object'); + } + state = _objectSpread(_objectSpread({}, state), newState); + }; + + /** + * Updates a specific property in the page state with a new value. + * + * @param {string} propertyName The name of the property to update. + * @param {*} value The new value to set for the property. + * @return {void} + */ + var setSingleState = function setSingleState(propertyName, value) { + if (Reflect.has(state, propertyName)) { + Reflect.set(state, propertyName, value); + } + }; + return { + getState: getState, + getSingleState: getSingleState, + setState: setState, + setSingleState: setSingleState + }; +} + +/***/ }), + +/***/ "./js/src/core/factory/index.js": +/*!**************************************!*\ + !*** ./js/src/core/factory/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 */ createPageElements: () => (/* reexport safe */ _createPageElements__WEBPACK_IMPORTED_MODULE_0__.createPageElements), +/* harmony export */ createPageState: () => (/* reexport safe */ _createPageState__WEBPACK_IMPORTED_MODULE_1__.createPageState) +/* harmony export */ }); +/* harmony import */ var _createPageElements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createPageElements */ "./js/src/core/factory/createPageElements.js"); +/* harmony import */ var _createPageState__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createPageState */ "./js/src/core/factory/createPageState.js"); + + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/constants.js": +/*!************************************************!*\ + !*** ./js/src/core/page-skeleton/constants.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ PREFIX: () => (/* binding */ PREFIX), +/* harmony export */ SEARCH_RESULT_ITEM: () => (/* binding */ SEARCH_RESULT_ITEM), +/* harmony export */ VIEWS: () => (/* binding */ VIEWS) +/* harmony export */ }); +var PREFIX = 'frm-page-skeleton'; +var SEARCH_RESULT_ITEM = 'frm-card-item'; +var VIEWS = { + ALL_ITEMS: 'all-items' +}; + +/***/ }), + +/***/ "./js/src/core/page-skeleton/elements/elements.js": +/*!********************************************************!*\ + !*** ./js/src/core/page-skeleton/elements/elements.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addElements: () => (/* binding */ addElements), +/* harmony export */ getElements: () => (/* binding */ getElements) +/* harmony export */ }); +/* harmony import */ var core_factory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/factory */ "./js/src/core/factory/index.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants */ "./js/src/core/page-skeleton/constants.js"); +/* harmony import */ var _emptyStateElement__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./emptyStateElement */ "./js/src/core/page-skeleton/elements/emptyStateElement.js"); +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); } +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 _objectSpread(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) { _defineProperty(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; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +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); } +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + +var bodyContent = document.getElementById('post-body-content'); +var sidebar = document.getElementById("".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-sidebar")); + +// Append empty state elements to body content +var emptyState = (0,_emptyStateElement__WEBPACK_IMPORTED_MODULE_2__.createEmptyStateElement)(); +bodyContent === null || bodyContent === void 0 || bodyContent.appendChild(emptyState); +var emptyStateElements = (0,_emptyStateElement__WEBPACK_IMPORTED_MODULE_2__.getEmptyStateElements)(); +var _createPageElements = (0,core_factory__WEBPACK_IMPORTED_MODULE_0__.createPageElements)(_objectSpread({ + bodyContent: bodyContent, + // Sidebar elements + sidebar: sidebar, + searchInput: sidebar.querySelector('.frm-search-input'), + categoryItems: sidebar.querySelectorAll(".".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-cat")), + allItemsCategory: sidebar.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-cat[data-category=\"").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.VIEWS.ALL_ITEMS, "\"]")) + }, emptyStateElements)), + getElements = _createPageElements.getElements, + addElements = _createPageElements.addElements; + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/elements/emptyStateElement.js": +/*!*****************************************************************!*\ + !*** ./js/src/core/page-skeleton/elements/emptyStateElement.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createEmptyStateElement: () => (/* binding */ createEmptyStateElement), +/* harmony export */ getEmptyStateElements: () => (/* binding */ getEmptyStateElements) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants */ "./js/src/core/page-skeleton/constants.js"); +/** + * WordPress dependencies + */ + + +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + +var _window$frmDom = window.frmDom, + tag = _window$frmDom.tag, + div = _window$frmDom.div, + a = _window$frmDom.a, + img = _window$frmDom.img; + +/** + * Create and return the Empty State HTML element. + * + * @return {HTMLElement} The Empty State element. + */ +function createEmptyStateElement() { + var button = a({ + className: 'button button-primary frm-button-primary' + }); + button.setAttribute('role', 'button'); + return div({ + id: "".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-empty-state"), + className: "frm-flex-col frm-flex-center frm-gap-md ".concat(core_constants__WEBPACK_IMPORTED_MODULE_1__.HIDDEN_CLASS), + children: [img({ + src: "".concat(core_constants__WEBPACK_IMPORTED_MODULE_1__.PLUGIN_URL, "/images/page-skeleton/empty-state.svg"), + alt: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Empty State', 'formidable') + }), div({ + className: 'frmcenter', + children: [tag('h2', { + className: "".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-title frm-mb-0") + }), tag('p', { + className: "".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-text frm-mb-0") + })] + }), button] + }); +} + +/** + * Return the elements related to the Empty State. + * + * @return {Object} Object containing Empty State related DOM elements. + */ +function getEmptyStateElements() { + var emptyState = document.querySelector("#".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-empty-state")); + return { + emptyState: emptyState, + emptyStateTitle: emptyState === null || emptyState === void 0 ? void 0 : emptyState.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-title")), + emptyStateText: emptyState === null || emptyState === void 0 ? void 0 : emptyState.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-text")), + emptyStateButton: emptyState === null || emptyState === void 0 ? void 0 : emptyState.querySelector('.button') + }; +} + +/***/ }), + +/***/ "./js/src/core/page-skeleton/elements/index.js": +/*!*****************************************************!*\ + !*** ./js/src/core/page-skeleton/elements/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 */ addElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_0__.addElements), +/* harmony export */ getElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_0__.getElements) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./elements */ "./js/src/core/page-skeleton/elements/elements.js"); + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/events/categoryListener.js": +/*!**************************************************************!*\ + !*** ./js/src/core/page-skeleton/events/categoryListener.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addCategoryEvents: () => (/* binding */ addCategoryEvents) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../elements */ "./js/src/core/page-skeleton/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared */ "./js/src/core/page-skeleton/shared/index.js"); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! . */ "./js/src/core/page-skeleton/events/index.js"); +/** + * External dependencies + */ + + + +/** + * Internal dependencies + */ + + + + +/** + * Manages event handling for sidebar category links. + * + * @return {void} + */ +function addCategoryEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + categoryItems = _getElements.categoryItems; + + // Attach click and keyboard event listeners to each sidebar category + categoryItems.forEach(function (category) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.onClickPreventDefault)(category, onCategoryClick); + category.addEventListener('keydown', onCategoryKeydown); + }); +} + +/** + * Handles the click event on a category item. + * + * @private + * @param {Event} event The click event object. + */ +var onCategoryClick = function onCategoryClick(event) { + var clickedCategory = event.currentTarget; + var newSelectedCategory = clickedCategory.getAttribute('data-category'); + var _getState = (0,_shared__WEBPACK_IMPORTED_MODULE_3__.getState)(), + selectedCategory = _getState.selectedCategory, + selectedCategoryEl = _getState.selectedCategoryEl, + notEmptySearchText = _getState.notEmptySearchText; + + // If the selected category hasn't changed, return early + if (selectedCategory === newSelectedCategory) { + return; + } + + /** + * Filter hook to modify the selected category. + * + * @param {string} selectedCategory The selected category + */ + selectedCategory = wp.hooks.applyFilters('frmPage.selectedCategory', newSelectedCategory); + + // Highlight the newly clicked category and update the application state + selectedCategoryEl.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.CURRENT_CLASS); + selectedCategoryEl = clickedCategory; + selectedCategoryEl.classList.add(core_constants__WEBPACK_IMPORTED_MODULE_0__.CURRENT_CLASS); + (0,_shared__WEBPACK_IMPORTED_MODULE_3__.setState)({ + selectedCategory: selectedCategory, + selectedCategoryEl: selectedCategoryEl + }); + + // Reset the search input if it contains text + if (notEmptySearchText) { + (0,___WEBPACK_IMPORTED_MODULE_4__.resetSearchInput)(); + } + + /** + * Trigger custom action to update category content. + * + * @param {string} selectedCategory The selected category. + */ + wp.hooks.doAction('frmPage.onCategoryClick', selectedCategory); + + // Smoothly display the updated UI elements + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + bodyContent = _getElements2.bodyContent; + new core_utils__WEBPACK_IMPORTED_MODULE_1__.frmAnimate(bodyContent).fadeIn(); +}; + +/** + * Handles the keyboard event on a category item. + * + * @param {KeyboardEvent} event The keyboard event object. + * @return {void} + */ +function onCategoryKeydown(event) { + // Only respond to 'Enter' or 'Space' key presses + if (event.key === 'Enter' || event.key === ' ') { + event.preventDefault(); + onCategoryClick(event); + } +} + +/***/ }), + +/***/ "./js/src/core/page-skeleton/events/index.js": +/*!***************************************************!*\ + !*** ./js/src/core/page-skeleton/events/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 */ addCategoryEvents: () => (/* reexport safe */ _categoryListener__WEBPACK_IMPORTED_MODULE_1__.addCategoryEvents), +/* harmony export */ resetSearchInput: () => (/* binding */ resetSearchInput) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../elements */ "./js/src/core/page-skeleton/elements/index.js"); +/* harmony import */ var _categoryListener__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./categoryListener */ "./js/src/core/page-skeleton/events/categoryListener.js"); +/** + * Internal dependencies + */ + + +/** + * Resets the value of the search input and triggers an input event. + * + * @return {void} + */ +function resetSearchInput() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + searchInput = _getElements.searchInput; + searchInput.value = ''; + searchInput.dispatchEvent(new Event('input', { + bubbles: true + })); +} + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/index.js": +/*!********************************************!*\ + !*** ./js/src/core/page-skeleton/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 */ PREFIX: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.PREFIX), +/* harmony export */ SEARCH_RESULT_ITEM: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.SEARCH_RESULT_ITEM), +/* harmony export */ VIEWS: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.VIEWS), +/* harmony export */ addCategoryEvents: () => (/* reexport safe */ _events__WEBPACK_IMPORTED_MODULE_3__.addCategoryEvents), +/* harmony export */ addElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_1__.addElements), +/* harmony export */ getElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_1__.getElements), +/* harmony export */ getSingleState: () => (/* reexport safe */ _shared__WEBPACK_IMPORTED_MODULE_2__.getSingleState), +/* harmony export */ getState: () => (/* reexport safe */ _shared__WEBPACK_IMPORTED_MODULE_2__.getState), +/* harmony export */ resetSearchInput: () => (/* reexport safe */ _events__WEBPACK_IMPORTED_MODULE_3__.resetSearchInput), +/* harmony export */ setSingleState: () => (/* reexport safe */ _shared__WEBPACK_IMPORTED_MODULE_2__.setSingleState), +/* harmony export */ setState: () => (/* reexport safe */ _shared__WEBPACK_IMPORTED_MODULE_2__.setState) +/* harmony export */ }); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./js/src/core/page-skeleton/constants.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./elements */ "./js/src/core/page-skeleton/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shared */ "./js/src/core/page-skeleton/shared/index.js"); +/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./events */ "./js/src/core/page-skeleton/events/index.js"); + + + + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/shared/index.js": +/*!***************************************************!*\ + !*** ./js/src/core/page-skeleton/shared/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 */ getSingleState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.getSingleState), +/* harmony export */ getState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.getState), +/* harmony export */ setSingleState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.setSingleState), +/* harmony export */ setState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.setState) +/* harmony export */ }); +/* harmony import */ var _pageState__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pageState */ "./js/src/core/page-skeleton/shared/pageState.js"); + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/shared/pageState.js": +/*!*******************************************************!*\ + !*** ./js/src/core/page-skeleton/shared/pageState.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getSingleState: () => (/* binding */ getSingleState), +/* harmony export */ getState: () => (/* binding */ getState), +/* harmony export */ setSingleState: () => (/* binding */ setSingleState), +/* harmony export */ setState: () => (/* binding */ setState) +/* harmony export */ }); +/* harmony import */ var core_factory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/factory */ "./js/src/core/factory/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../elements */ "./js/src/core/page-skeleton/elements/index.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants */ "./js/src/core/page-skeleton/constants.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + +var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_1__.getElements)(), + allItemsCategory = _getElements.allItemsCategory; +var _createPageState = (0,core_factory__WEBPACK_IMPORTED_MODULE_0__.createPageState)({ + notEmptySearchText: false, + selectedCategory: _constants__WEBPACK_IMPORTED_MODULE_2__.VIEWS.ALL_ITEMS, + selectedCategoryEl: allItemsCategory + }), + getState = _createPageState.getState, + getSingleState = _createPageState.getSingleState, + setState = _createPageState.setState, + setSingleState = _createPageState.setSingleState; + + +/***/ }), + +/***/ "./js/src/core/utils/animation.js": +/*!****************************************!*\ + !*** ./js/src/core/utils/animation.js ***! + \****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ frmAnimate: () => (/* binding */ frmAnimate) +/* 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); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +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); } +var frmAnimate = /*#__PURE__*/function () { + /** + * Construct frmAnimate + * + * @param {Element|Element[]} elements The elements to animate. + * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d + */ + function frmAnimate(elements) { + var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default'; + _classCallCheck(this, frmAnimate); + this.elements = elements; + this.type = type; + this.prepareElements(); + } + + /** + * Init animation - fadeIn. + * Requires this.type = 'default'; + * ex: new frmAnimate( elements ).fadeIn(); + */ + return _createClass(frmAnimate, [{ + key: "fadeIn", + value: function fadeIn() { + var _this = this; + this.applyStyleToElements(function (element) { + element.classList.add('frm-fadein-up'); + element.addEventListener('animationend', function () { + _this.resetOpacity(); + element.classList.remove('frm-fadein-up'); + }, { + once: true + }); + }); + } + + /** + * Init animation - cascadeFadeIn. + * Requires this.type = 'cascade'|'cascade-3d'; + * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn(); + * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn(); + * + * @param {number} delay The transition delay value. + */ + }, { + key: "cascadeFadeIn", + value: function cascadeFadeIn() { + var _this2 = this; + var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.03; + setTimeout(function () { + _this2.applyStyleToElements(function (element, index) { + element.classList.remove('frm-animate'); + element.style.transitionDelay = (index + 1) * delay + 's'; + }); + }, 200); + } + }, { + key: "prepareElements", + value: function prepareElements() { + var _this3 = this; + this.applyStyleToElements(function (element) { + if ('default' === _this3.type) { + element.style.opacity = '0.0'; + } + if ('cascade' === _this3.type) { + element.classList.add('frm-init-cascade-animation'); + } + if ('cascade-3d' === _this3.type) { + element.classList.add('frm-init-fadein-3d'); + } + element.classList.add('frm-animate'); + }); + } + }, { + key: "resetOpacity", + value: function resetOpacity() { + this.applyStyleToElements(function (element) { + return element.style.opacity = '1.0'; + }); + } + }, { + key: "applyStyleToElements", + value: function applyStyleToElements(callback) { + if (this.elements instanceof Element) { + callback(this.elements, 0); + return; + } + if (0 < this.elements.length) { + this.elements.forEach(function (element, index) { + return callback(element, index); + }); + } + } + }]); +}(); + +/***/ }), + +/***/ "./js/src/core/utils/async.js": +/*!************************************!*\ + !*** ./js/src/core/utils/async.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addToRequestQueue: () => (/* binding */ addToRequestQueue) +/* harmony export */ }); +// Initialize lastPromise with a resolved promise as the starting point for the queue +var lastPromise = Promise.resolve(); + +/** + * Adds a task to the request queue. + * + * @param {function(): Promise} task A function that returns a promise. + * @return {Promise} The new last promise in the queue. + */ +var addToRequestQueue = function addToRequestQueue(task) { + return lastPromise = lastPromise.then(task).catch(task); +}; + +/***/ }), + +/***/ "./js/src/core/utils/error.js": +/*!************************************!*\ + !*** ./js/src/core/utils/error.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ showFormError: () => (/* binding */ showFormError) +/* harmony export */ }); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! . */ "./js/src/core/utils/index.js"); +/** + * Internal dependencies + */ + + +/** + * Displays form validation error messages. + * + * @param {string} inputId The ID selector for the input field with the error. + * @param {string} errorId The ID selector for the error message display element. + * @param {string} type The categorization of the error (e.g., "invalid", "empty"). + * @param {string} [message] Optional. The specific error message to display. + * @return {void} + */ +var showFormError = function showFormError(inputId, errorId, type, message) { + var inputElement = document.querySelector(inputId); + var errorElement = document.querySelector(errorId); + if (!inputElement || !errorElement) { + console.warn('showFormError: Unable to find input or error element.'); + return; + } + + // If a message is provided, update the span element's text that matches the error type + if (message) { + var span = errorElement.querySelector("span[frm-error=\"".concat(type, "\"]")); + if (span) { + span.textContent = message; + } + } + + // Assign the error type and make the error message visible + errorElement.setAttribute('frm-error', type); + (0,___WEBPACK_IMPORTED_MODULE_0__.show)(errorElement); + + // Hide the error message when the user starts typing in the faulty input field + inputElement.addEventListener('keyup', function () { + (0,___WEBPACK_IMPORTED_MODULE_0__.hide)(errorElement); + }, { + once: true + }); +}; + +/***/ }), + +/***/ "./js/src/core/utils/event.js": +/*!************************************!*\ + !*** ./js/src/core/utils/event.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ documentOn: () => (/* binding */ documentOn), +/* harmony export */ onClickPreventDefault: () => (/* binding */ onClickPreventDefault) +/* harmony export */ }); +var _window$frmDom$util = window.frmDom.util, + onClickPreventDefault = _window$frmDom$util.onClickPreventDefault, + documentOn = _window$frmDom$util.documentOn; + + +/***/ }), + +/***/ "./js/src/core/utils/index.js": +/*!************************************!*\ + !*** ./js/src/core/utils/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 */ addToRequestQueue: () => (/* reexport safe */ _async__WEBPACK_IMPORTED_MODULE_1__.addToRequestQueue), +/* harmony export */ documentOn: () => (/* reexport safe */ _event__WEBPACK_IMPORTED_MODULE_3__.documentOn), +/* harmony export */ frmAnimate: () => (/* reexport safe */ _animation__WEBPACK_IMPORTED_MODULE_0__.frmAnimate), +/* harmony export */ getQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.getQueryParam), +/* harmony export */ hasQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.hasQueryParam), +/* harmony export */ hide: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.hide), +/* harmony export */ hideElements: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.hideElements), +/* harmony export */ isEmptyObject: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isEmptyObject), +/* harmony export */ isHTMLElement: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isHTMLElement), +/* harmony export */ isValidEmail: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isValidEmail), +/* harmony export */ isVisible: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.isVisible), +/* harmony export */ onClickPreventDefault: () => (/* reexport safe */ _event__WEBPACK_IMPORTED_MODULE_3__.onClickPreventDefault), +/* harmony export */ removeQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.removeQueryParam), +/* harmony export */ setQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.setQueryParam), +/* harmony export */ show: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.show), +/* harmony export */ showElements: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.showElements), +/* harmony export */ showFormError: () => (/* reexport safe */ _error__WEBPACK_IMPORTED_MODULE_2__.showFormError) +/* harmony export */ }); +/* harmony import */ var _animation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./animation */ "./js/src/core/utils/animation.js"); +/* harmony import */ var _async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./async */ "./js/src/core/utils/async.js"); +/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./error */ "./js/src/core/utils/error.js"); +/* harmony import */ var _event__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./event */ "./js/src/core/utils/event.js"); +/* harmony import */ var _url__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./url */ "./js/src/core/utils/url.js"); +/* harmony import */ var _validation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./validation */ "./js/src/core/utils/validation.js"); +/* harmony import */ var _visibility__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./visibility */ "./js/src/core/utils/visibility.js"); + + + + + + + + +/***/ }), + +/***/ "./js/src/core/utils/url.js": +/*!**********************************!*\ + !*** ./js/src/core/utils/url.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getQueryParam: () => (/* binding */ getQueryParam), +/* harmony export */ hasQueryParam: () => (/* binding */ hasQueryParam), +/* harmony export */ removeQueryParam: () => (/* binding */ removeQueryParam), +/* harmony export */ setQueryParam: () => (/* binding */ setQueryParam) +/* 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); } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +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); } +/** + * Initializes URL and URLSearchParams objects from the current window's location + */ +var url = new URL(window.location.href); +var urlParams = url.searchParams; + +/** + * Gets the value of a specified query parameter from the current URL. + * + * @param {string} paramName The name of the query parameter to retrieve. + * @return {string|null} The value associated with the specified query parameter name, or null if not found. + */ +var getQueryParam = function getQueryParam(paramName) { + return urlParams.get(paramName); +}; + +/** + * Removes a query parameter from the current URL and returns the updated URL string. + * + * @param {string} paramName The name of the query parameter to remove. + * @return {string} The updated URL string. + */ +var removeQueryParam = function removeQueryParam(paramName) { + urlParams.delete(paramName); + url.search = urlParams.toString(); + return url.toString(); +}; + +/** + * Sets the value of a query parameter in the current URL and optionally updates the browser's history state. + * + * @param {string} paramName The name of the query parameter to set. + * @param {string} paramValue The value to set for the query parameter. + * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'. + * @return {string} The updated URL string. + */ +var setQueryParam = function setQueryParam(paramName, paramValue) { + var updateMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'pushState'; + urlParams.set(paramName, paramValue); + url.search = urlParams.toString(); + if (['pushState', 'replaceState'].includes(updateMethod)) { + var state = _defineProperty({}, paramName, paramValue); + window.history[updateMethod](state, '', url); + } + return url.toString(); +}; + +/** + * Checks if a query parameter exists in the current URL. + * + * @param {string} paramName The name of the query parameter to check. + * @return {boolean} True if the query parameter exists, otherwise false. + */ +var hasQueryParam = function hasQueryParam(paramName) { + return urlParams.has(paramName); +}; + +/***/ }), + +/***/ "./js/src/core/utils/validation.js": +/*!*****************************************!*\ + !*** ./js/src/core/utils/validation.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ isEmptyObject: () => (/* binding */ isEmptyObject), +/* harmony export */ isHTMLElement: () => (/* binding */ isHTMLElement), +/* harmony export */ isValidEmail: () => (/* binding */ isValidEmail) +/* harmony export */ }); +/** + * Validates an email address using a regular expression. + * + * @param {string} email The email address to validate. + * @return {boolean} True if the email address is valid, otherwise false. + */ +var isValidEmail = function isValidEmail(email) { + return typeof email === 'string' ? /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(email) : false; +}; + +/** + * Validates if the given element is an instance of HTMLElement. + * + * @param {any} element Element to be checked. + * @return {boolean} True if it's an HTMLElement, otherwise false. + */ +var isHTMLElement = function isHTMLElement(element) { + return element instanceof HTMLElement || console.warn('Invalid argument: Element must be an instance of HTMLElement') || false; +}; + +/** + * Checks if the given object is empty. + * + * @param {Object} obj The object to check. + * @return {boolean} True if the object is empty, otherwise false. + */ +var isEmptyObject = function isEmptyObject(obj) { + return Object.keys(obj).length === 0 && obj.constructor === Object; +}; + +/***/ }), + +/***/ "./js/src/core/utils/visibility.js": +/*!*****************************************!*\ + !*** ./js/src/core/utils/visibility.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ hide: () => (/* binding */ hide), +/* harmony export */ hideElements: () => (/* binding */ hideElements), +/* harmony export */ isVisible: () => (/* binding */ isVisible), +/* harmony export */ show: () => (/* binding */ show), +/* harmony export */ showElements: () => (/* binding */ showElements) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/** + * Internal dependencies + */ + + +/** + * Shows specified elements by removing the hidden class. + * + * @param {Array} elements An array of elements to show. + * @return {void} + */ +var showElements = function showElements(elements) { + var _Array$from; + return (_Array$from = Array.from(elements)) === null || _Array$from === void 0 ? void 0 : _Array$from.forEach(function (element) { + return show(element); + }); +}; + +/** + * Hides specified elements by adding the hidden class. + * + * @param {Array} elements An array of elements to hide. + * @return {void} + */ +var hideElements = function hideElements(elements) { + var _Array$from2; + return (_Array$from2 = Array.from(elements)) === null || _Array$from2 === void 0 ? void 0 : _Array$from2.forEach(function (element) { + return hide(element); + }); +}; + +/** + * Removes the hidden class to show the element. + * + * @param {Element} element The element to show. + * @return {void} + */ +var show = function show(element) { + return element === null || element === void 0 ? void 0 : element.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); +}; + +/** + * Adds the hidden class to hide the element. + * + * @param {Element} element The element to hide. + * @return {void} + */ +var hide = function hide(element) { + return element === null || element === void 0 ? void 0 : element.classList.add(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); +}; + +/** + * Checks if an element is visible. + * + * @param {HTMLElement} element The HTML element to check for visibility. + * @return {boolean} Returns true if the element is visible, otherwise false. + */ +var isVisible = function isVisible(element) { + var styles = window.getComputedStyle(element); + return styles.getPropertyValue('display') !== 'none'; +}; + +/***/ }), + +/***/ "./node_modules/memize/index.js": +/*!**************************************!*\ + !*** ./node_modules/memize/index.js ***! + \**************************************/ +/***/ ((module) => { + +/** + * Memize options object. + * + * @typedef MemizeOptions + * + * @property {number} [maxSize] Maximum size of the cache. + */ + +/** + * Internal cache entry. + * + * @typedef MemizeCacheNode + * + * @property {?MemizeCacheNode|undefined} [prev] Previous node. + * @property {?MemizeCacheNode|undefined} [next] Next node. + * @property {Array<*>} args Function arguments for cache + * entry. + * @property {*} val Function result. + */ + +/** + * Properties of the enhanced function for controlling cache. + * + * @typedef MemizeMemoizedFunction + * + * @property {()=>void} clear Clear the cache. + */ + +/** + * Accepts a function to be memoized, and returns a new memoized function, with + * optional options. + * + * @template {Function} F + * + * @param {F} fn Function to memoize. + * @param {MemizeOptions} [options] Options object. + * + * @return {F & MemizeMemoizedFunction} Memoized function. + */ +function memize( fn, options ) { + var size = 0; + + /** @type {?MemizeCacheNode|undefined} */ + var head; + + /** @type {?MemizeCacheNode|undefined} */ + var tail; + + options = options || {}; + + function memoized( /* ...args */ ) { + var node = head, + len = arguments.length, + args, i; + + searchCache: while ( node ) { + // Perform a shallow equality test to confirm that whether the node + // under test is a candidate for the arguments passed. Two arrays + // are shallowly equal if their length matches and each entry is + // strictly equal between the two sets. Avoid abstracting to a + // function which could incur an arguments leaking deoptimization. + + // Check whether node arguments match arguments length + if ( node.args.length !== arguments.length ) { + node = node.next; + continue; + } + + // Check whether node arguments match arguments values + for ( i = 0; i < len; i++ ) { + if ( node.args[ i ] !== arguments[ i ] ) { + node = node.next; + continue searchCache; + } + } + + // At this point we can assume we've found a match + + // Surface matched node to head if not already + if ( node !== head ) { + // As tail, shift to previous. Must only shift if not also + // head, since if both head and tail, there is no previous. + if ( node === tail ) { + tail = node.prev; + } + + // Adjust siblings to point to each other. If node was tail, + // this also handles new tail's empty `next` assignment. + /** @type {MemizeCacheNode} */ ( node.prev ).next = node.next; + if ( node.next ) { + node.next.prev = node.prev; + } + + node.next = head; + node.prev = null; + /** @type {MemizeCacheNode} */ ( head ).prev = node; + head = node; + } + + // Return immediately + return node.val; + } + + // No cached value found. Continue to insertion phase: + + // Create a copy of arguments (avoid leaking deoptimization) + args = new Array( len ); + for ( i = 0; i < len; i++ ) { + args[ i ] = arguments[ i ]; + } + + node = { + args: args, + + // Generate the result from original function + val: fn.apply( null, args ), + }; + + // Don't need to check whether node is already head, since it would + // have been returned above already if it was + + // Shift existing head down list + if ( head ) { + head.prev = node; + node.next = head; + } else { + // If no head, follows that there's no tail (at initial or reset) + tail = node; + } + + // Trim tail if we're reached max size and are pending cache insertion + if ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) { + tail = /** @type {MemizeCacheNode} */ ( tail ).prev; + /** @type {MemizeCacheNode} */ ( tail ).next = null; + } else { + size++; + } + + head = node; + + return node.val; + } + + memoized.clear = function() { + head = null; + tail = null; + size = 0; + }; + + if ( false ) {} + + // Ignore reason: There's not a clear solution to create an intersection of + // the function with additional properties, where the goal is to retain the + // function signature of the incoming argument and add control properties + // on the return value. + + // @ts-ignore + return memoized; +} + +module.exports = memize; + + +/***/ }), + +/***/ "./node_modules/sprintf-js/src/sprintf.js": +/*!************************************************!*\ + !*** ./node_modules/sprintf-js/src/sprintf.js ***! + \************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +var __WEBPACK_AMD_DEFINE_RESULT__;/* global window, exports, define */ + +!function() { + 'use strict' + + var re = { + not_string: /[^s]/, + not_bool: /[^t]/, + not_type: /[^T]/, + not_primitive: /[^v]/, + number: /[diefg]/, + numeric_arg: /[bcdiefguxX]/, + json: /[j]/, + not_json: /[^j]/, + text: /^[^\x25]+/, + modulo: /^\x25{2}/, + placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/, + key: /^([a-z_][a-z_\d]*)/i, + key_access: /^\.([a-z_][a-z_\d]*)/i, + index_access: /^\[(\d+)\]/, + sign: /^[+-]/ + } + + function sprintf(key) { + // `arguments` is not an array, but should be fine for this call + return sprintf_format(sprintf_parse(key), arguments) + } + + function vsprintf(fmt, argv) { + return sprintf.apply(null, [fmt].concat(argv || [])) + } + + function sprintf_format(parse_tree, argv) { + var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign + for (i = 0; i < tree_length; i++) { + if (typeof parse_tree[i] === 'string') { + output += parse_tree[i] + } + else if (typeof parse_tree[i] === 'object') { + ph = parse_tree[i] // convenience purposes only + if (ph.keys) { // keyword argument + arg = argv[cursor] + for (k = 0; k < ph.keys.length; k++) { + if (arg == undefined) { + throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1])) + } + arg = arg[ph.keys[k]] + } + } + else if (ph.param_no) { // positional argument (explicit) + arg = argv[ph.param_no] + } + else { // positional argument (implicit) + arg = argv[cursor++] + } + + if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) { + arg = arg() + } + + if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) { + throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg)) + } + + if (re.number.test(ph.type)) { + is_positive = arg >= 0 + } + + switch (ph.type) { + case 'b': + arg = parseInt(arg, 10).toString(2) + break + case 'c': + arg = String.fromCharCode(parseInt(arg, 10)) + break + case 'd': + case 'i': + arg = parseInt(arg, 10) + break + case 'j': + arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0) + break + case 'e': + arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential() + break + case 'f': + arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg) + break + case 'g': + arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg) + break + case 'o': + arg = (parseInt(arg, 10) >>> 0).toString(8) + break + case 's': + arg = String(arg) + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 't': + arg = String(!!arg) + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'T': + arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase() + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'u': + arg = parseInt(arg, 10) >>> 0 + break + case 'v': + arg = arg.valueOf() + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'x': + arg = (parseInt(arg, 10) >>> 0).toString(16) + break + case 'X': + arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase() + break + } + if (re.json.test(ph.type)) { + output += arg + } + else { + if (re.number.test(ph.type) && (!is_positive || ph.sign)) { + sign = is_positive ? '+' : '-' + arg = arg.toString().replace(re.sign, '') + } + else { + sign = '' + } + pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' ' + pad_length = ph.width - (sign + arg).length + pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : '' + output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg) + } + } + } + return output + } + + var sprintf_cache = Object.create(null) + + function sprintf_parse(fmt) { + if (sprintf_cache[fmt]) { + return sprintf_cache[fmt] + } + + var _fmt = fmt, match, parse_tree = [], arg_names = 0 + while (_fmt) { + if ((match = re.text.exec(_fmt)) !== null) { + parse_tree.push(match[0]) + } + else if ((match = re.modulo.exec(_fmt)) !== null) { + parse_tree.push('%') + } + else if ((match = re.placeholder.exec(_fmt)) !== null) { + if (match[2]) { + arg_names |= 1 + var field_list = [], replacement_field = match[2], field_match = [] + if ((field_match = re.key.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') { + if ((field_match = re.key_access.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + } + else if ((field_match = re.index_access.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + } + else { + throw new SyntaxError('[sprintf] failed to parse named argument key') + } + } + } + else { + throw new SyntaxError('[sprintf] failed to parse named argument key') + } + match[2] = field_list + } + else { + arg_names |= 2 + } + if (arg_names === 3) { + throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported') + } + + parse_tree.push( + { + placeholder: match[0], + param_no: match[1], + keys: match[2], + sign: match[3], + pad_char: match[4], + align: match[5], + width: match[6], + precision: match[7], + type: match[8] + } + ) + } + else { + throw new SyntaxError('[sprintf] unexpected placeholder') + } + _fmt = _fmt.substring(match[0].length) + } + return sprintf_cache[fmt] = parse_tree + } + + /** + * export to either browser or node.js + */ + /* eslint-disable quote-props */ + if (true) { + exports.sprintf = sprintf + exports.vsprintf = vsprintf + } + if (typeof window !== 'undefined') { + window['sprintf'] = sprintf + window['vsprintf'] = vsprintf + + if (true) { + !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() { + return { + 'sprintf': sprintf, + 'vsprintf': vsprintf + } + }).call(exports, __webpack_require__, exports, module), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) + } + } + /* eslint-enable quote-props */ +}(); // eslint-disable-line + + +/***/ }), + +/***/ "./node_modules/tannin/index.js": +/*!**************************************!*\ + !*** ./node_modules/tannin/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": () => (/* binding */ Tannin) +/* harmony export */ }); +/* harmony import */ var _tannin_plural_forms__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/plural-forms */ "./node_modules/@tannin/plural-forms/index.js"); + + +/** + * Tannin constructor options. + * + * @typedef {Object} TanninOptions + * + * @property {string} [contextDelimiter] Joiner in string lookup with context. + * @property {Function} [onMissingKey] Callback to invoke when key missing. + */ + +/** + * Domain metadata. + * + * @typedef {Object} TanninDomainMetadata + * + * @property {string} [domain] Domain name. + * @property {string} [lang] Language code. + * @property {(string|Function)} [plural_forms] Plural forms expression or + * function evaluator. + */ + +/** + * Domain translation pair respectively representing the singular and plural + * translation. + * + * @typedef {[string,string]} TanninTranslation + */ + +/** + * Locale data domain. The key is used as reference for lookup, the value an + * array of two string entries respectively representing the singular and plural + * translation. + * + * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain + */ + +/** + * Jed-formatted locale data. + * + * @see http://messageformat.github.io/Jed/ + * + * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData + */ + +/** + * Default Tannin constructor options. + * + * @type {TanninOptions} + */ +var DEFAULT_OPTIONS = { + contextDelimiter: '\u0004', + onMissingKey: null, +}; + +/** + * Given a specific locale data's config `plural_forms` value, returns the + * expression. + * + * @example + * + * ``` + * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)' + * ``` + * + * @param {string} pf Locale data plural forms. + * + * @return {string} Plural forms expression. + */ +function getPluralExpression( pf ) { + var parts, i, part; + + parts = pf.split( ';' ); + + for ( i = 0; i < parts.length; i++ ) { + part = parts[ i ].trim(); + if ( part.indexOf( 'plural=' ) === 0 ) { + return part.substr( 7 ); + } + } +} + +/** + * Tannin constructor. + * + * @class + * + * @param {TanninLocaleData} data Jed-formatted locale data. + * @param {TanninOptions} [options] Tannin options. + */ +function Tannin( data, options ) { + var key; + + /** + * Jed-formatted locale data. + * + * @name Tannin#data + * @type {TanninLocaleData} + */ + this.data = data; + + /** + * Plural forms function cache, keyed by plural forms string. + * + * @name Tannin#pluralForms + * @type {Object} + */ + this.pluralForms = {}; + + /** + * Effective options for instance, including defaults. + * + * @name Tannin#options + * @type {TanninOptions} + */ + this.options = {}; + + for ( key in DEFAULT_OPTIONS ) { + this.options[ key ] = options !== undefined && key in options + ? options[ key ] + : DEFAULT_OPTIONS[ key ]; + } +} + +/** + * Returns the plural form index for the given domain and value. + * + * @param {string} domain Domain on which to calculate plural form. + * @param {number} n Value for which plural form is to be calculated. + * + * @return {number} Plural form index. + */ +Tannin.prototype.getPluralForm = function( domain, n ) { + var getPluralForm = this.pluralForms[ domain ], + config, plural, pf; + + if ( ! getPluralForm ) { + config = this.data[ domain ][ '' ]; + + pf = ( + config[ 'Plural-Forms' ] || + config[ 'plural-forms' ] || + // Ignore reason: As known, there's no way to document the empty + // string property on a key to guarantee this as metadata. + // @ts-ignore + config.plural_forms + ); + + if ( typeof pf !== 'function' ) { + plural = getPluralExpression( + config[ 'Plural-Forms' ] || + config[ 'plural-forms' ] || + // Ignore reason: As known, there's no way to document the empty + // string property on a key to guarantee this as metadata. + // @ts-ignore + config.plural_forms + ); + + pf = (0,_tannin_plural_forms__WEBPACK_IMPORTED_MODULE_0__["default"])( plural ); + } + + getPluralForm = this.pluralForms[ domain ] = pf; + } + + return getPluralForm( n ); +}; + +/** + * Translate a string. + * + * @param {string} domain Translation domain. + * @param {string|void} context Context distinguishing terms of the same name. + * @param {string} singular Primary key for translation lookup. + * @param {string=} plural Fallback value used for non-zero plural + * form index. + * @param {number=} n Value to use in calculating plural form. + * + * @return {string} Translated string. + */ +Tannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) { + var index, key, entry; + + if ( n === undefined ) { + // Default to singular. + index = 0; + } else { + // Find index by evaluating plural form for value. + index = this.getPluralForm( domain, n ); + } + + key = singular; + + // If provided, context is prepended to key with delimiter. + if ( context ) { + key = context + this.options.contextDelimiter + singular; + } + + entry = this.data[ domain ][ key ]; + + // Verify not only that entry exists, but that the intended index is within + // range and non-empty. + if ( entry && entry[ index ] ) { + return entry[ index ]; + } + + if ( this.options.onMissingKey ) { + this.options.onMissingKey( singular, domain ); + } + + // If entry not found, fall back to singular vs. plural with zero index + // representing the singular value. + return index === 0 ? singular : plural; +}; + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.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 */ _arrayLikeToArray) +/* harmony export */ }); +function _arrayLikeToArray(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.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 */ _arrayWithoutHoles) +/* harmony export */ }); +/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); + +function _arrayWithoutHoles(r) { + if (Array.isArray(r)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.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 */ _classCallCheck) +/* harmony export */ }); +function _classCallCheck(a, n) { + if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.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 */ _iterableToArray) +/* harmony export */ }); +function _iterableToArray(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.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 */ _nonIterableSpread) +/* harmony export */ }); +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."); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.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 */ _toConsumableArray) +/* harmony export */ }); +/* harmony import */ var _arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithoutHoles.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js"); +/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js"); +/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"); +/* harmony import */ var _nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableSpread.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js"); + + + + +function _toConsumableArray(r) { + return (0,_arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r) || (0,_iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(r) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(r) || (0,_nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__["default"])(); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js": +/*!*************************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.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 */ _unsupportedIterableToArray) +/* harmony export */ }); +/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); + +function _unsupportedIterableToArray(r, a) { + if (r) { + if ("string" == typeof r) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r, a) : void 0; + } +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/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/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); + +function _defineProperty(e, r, t) { + return (r = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r)) in e ? Object.defineProperty(e, r, { + value: t, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[r] = t, e; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/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/@wordpress/i18n/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/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/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/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js"); +/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "./node_modules/@wordpress/i18n/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 : i + ""; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/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); +} + + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // 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/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* 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/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"; +/*!*************************************!*\ + !*** ./js/src/addons-page/index.js ***! + \*************************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/dom-ready */ "./node_modules/@wordpress/dom-ready/build-module/index.js"); +/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ui */ "./js/src/addons-page/ui/index.js"); +/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./events */ "./js/src/addons-page/events/index.js"); +/* harmony import */ var _addons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./addons */ "./js/src/addons-page/addons/index.js"); +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + +(0,_wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_3__["default"])(function () { + (0,_ui__WEBPACK_IMPORTED_MODULE_0__.setupInitialView)(); + (0,_addons__WEBPACK_IMPORTED_MODULE_2__.buildCategorizedAddons)(); + (0,_events__WEBPACK_IMPORTED_MODULE_1__.addEventListeners)(); +}); +})(); + +/******/ })() +; +//# sourceMappingURL=addons-page.js.map \ No newline at end of file diff --git a/js/form-templates.js b/js/form-templates.js index 957358992d..1b5a83479a 100644 --- a/js/form-templates.js +++ b/js/form-templates.js @@ -1,2 +1,6257 @@ -/*! For license information please see form-templates.js.LICENSE.txt */ -(()=>{var t={616:t=>{t.exports=function(t,e){var r,n,o=0;function a(){var a,i,c=r,l=arguments.length;t:for(;c;){if(c.args.length===arguments.length){for(i=0;i{var n;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function a(t){return function(t,e){var r,n,i,c,l,u,s,f,p,m=1,d=t.length,h="";for(n=0;n=0),c.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,c.width?parseInt(c.width):0);break;case"e":r=c.precision?parseFloat(r).toExponential(c.precision):parseFloat(r).toExponential();break;case"f":r=c.precision?parseFloat(r).toFixed(c.precision):parseFloat(r);break;case"g":r=c.precision?String(Number(r.toPrecision(c.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=c.precision?r.substring(0,c.precision):r;break;case"t":r=String(!!r),r=c.precision?r.substring(0,c.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=c.precision?r.substring(0,c.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=c.precision?r.substring(0,c.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}o.json.test(c.type)?h+=r:(!o.number.test(c.type)||f&&!c.sign?p="":(p=f?"+":"-",r=r.toString().replace(o.sign,"")),u=c.pad_char?"0"===c.pad_char?"0":c.pad_char.charAt(1):" ",s=c.width-(p+r).length,l=c.width&&s>0?u.repeat(s):"",h+=c.align?p+r+l:"0"===u?p+l+r:l+p+r)}return h}(function(t){if(c[t])return c[t];for(var e,r=t,n=[],a=0;r;){if(null!==(e=o.text.exec(r)))n.push(e[0]);else if(null!==(e=o.modulo.exec(r)))n.push("%");else{if(null===(e=o.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){a|=1;var i=[],l=e[2],u=[];if(null===(u=o.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(i.push(u[1]);""!==(l=l.substring(u[0].length));)if(null!==(u=o.key_access.exec(l)))i.push(u[1]);else{if(null===(u=o.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");i.push(u[1])}e[2]=i}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return c[t]=n}(t),arguments)}function i(t,e){return a.apply(null,[t].concat(e||[]))}var c=Object.create(null);e.sprintf=a,e.vsprintf=i,"undefined"!=typeof window&&(window.sprintf=a,window.vsprintf=i,void 0===(n=function(){return{sprintf:a,vsprintf:i}}.call(e,r,e,t))||(t.exports=n))}()}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var a=e[n]={exports:{}};return t[n](a,a.exports,r),a.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=window.frmGlobal,e=t.canAccessApplicationDashboard,n=t.applicationsUrl,o=window.frmFormTemplatesVars,a=o.FEATURED_TEMPLATES_KEYS,i=o.upgradeLink,c="frm-form-templates",l="available-templates",u="favorites",s="custom",f="search",p="440px",m="550px",d="frm-page-skeleton",h="all-items";function y(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function v(t){for(var e=1;e":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},x=["(","?"],S={")":["("],":":["?","?:"]},T=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var C={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,r){if(t)throw e;return r}};var A={contextDelimiter:"",onMissingKey:null};function P(t,e){var r;for(r in this.data=t,this.pluralForms={},this.options={},A)this.options[r]=void 0!==e&&r in e?e[r]:A[r]}function F(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function B(t){for(var e=1;e=0||w[o]3&&void 0!==arguments[3]?arguments[3]:10,i=t[e];if(M(r)&&q(n))if("function"==typeof o)if("number"==typeof a){var c={callback:o,priority:a,namespace:n};if(i[r]){var l,u=i[r].handlers;for(l=u.length;l>0&&!(a>=u[l-1].priority);l--);l===u.length?u[l]=c:u.splice(l,0,c),i.__current.forEach((function(t){t.name===r&&t.currentIndex>=l&&t.currentIndex++}))}else i[r]={handlers:[c],runs:0};"hookAdded"!==r&&t.doAction("hookAdded",r,n,o,a)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},R=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n,o){var a=t[e];if(M(n)&&(r||q(o))){if(!a[n])return 0;var i=0;if(r)i=a[n].handlers.length,a[n]={runs:a[n].runs,handlers:[]};else for(var c=a[n].handlers,l=function(t){c[t].namespace===o&&(c.splice(t,1),i++,a.__current.forEach((function(e){e.name===n&&e.currentIndex>=t&&e.currentIndex--})))},u=c.length-1;u>=0;u--)l(u);return"hookRemoved"!==n&&t.doAction("hookRemoved",n,o),i}}},z=function(t,e){return function(r,n){var o=t[e];return void 0!==n?r in o&&o[r].handlers.some((function(t){return t.namespace===n})):r in o}},Y=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var o=t[e];o[n]||(o[n]={handlers:[],runs:0}),o[n].runs++;for(var a=o[n].handlers,i=arguments.length,c=new Array(i>1?i-1:0),l=1;l1&&void 0!==arguments[1]?arguments[1]:"default";n.data[e]=B(B(B({},D),n.data[e]),t),n.data[e][""]=B(B({},D[""]),n.data[e][""])},c=function(t,e){i(t,e),a()},l=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;return n.data[t]||i(void 0,t),n.dcnpgettext(t,e,r,o,a)},u=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},s=function(t,e,n){var o=l(n,e,t);return r?(o=r.applyFilters("i18n.gettext_with_context",o,t,e,n),r.applyFilters("i18n.gettext_with_context_"+u(n),o,t,e,n)):o};if(r){var f=function(t){N.test(t)&&a()};r.addAction("hookAdded","core/i18n",f),r.addAction("hookRemoved","core/i18n",f)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[t]},setLocaleData:c,resetLocaleData:function(t,e){n.data={},n.pluralForms={},c(t,e)},subscribe:function(t){return o.add(t),function(){return o.delete(t)}},__:function(t,e){var n=l(e,void 0,t);return r?(n=r.applyFilters("i18n.gettext",n,t,e),r.applyFilters("i18n.gettext_"+u(e),n,t,e)):n},_x:s,_n:function(t,e,n,o){var a=l(o,void 0,t,e,n);return r?(a=r.applyFilters("i18n.ngettext",a,t,e,n,o),r.applyFilters("i18n.ngettext_"+u(o),a,t,e,n,o)):a},_nx:function(t,e,n,o,a){var i=l(a,o,t,e,n);return r?(i=r.applyFilters("i18n.ngettext_with_context",i,t,e,n,o,a),r.applyFilters("i18n.ngettext_with_context_"+u(a),i,t,e,n,o,a)):i},isRTL:function(){return"rtl"===s("ltr","text direction")},hasTranslation:function(t,e,o){var a,i,c=e?e+""+t:t,l=!(null===(a=n.data)||void 0===a||null===(i=a[null!=o?o:"default"])||void 0===i||!i[c]);return r&&(l=r.applyFilters("i18n.has_translation",l,t,e,o),l=r.applyFilters("i18n.has_translation_"+u(o),l,t,e,o)),l}}}(0,0,V));Z.getLocaleData.bind(Z),Z.setLocaleData.bind(Z),Z.resetLocaleData.bind(Z),Z.subscribe.bind(Z);var J=Z.__.bind(Z),X=(Z._x.bind(Z),Z._n.bind(Z),Z._nx.bind(Z),Z.isRTL.bind(Z),Z.hasTranslation.bind(Z),window.frmGlobal),W=X.url,Q=(X.nonce,"frm_hidden"),tt="frm-hide-js",et="frm-current",rt=window.frmDom,nt=rt.tag,ot=rt.div,at=rt.a,it=rt.img;function ct(t){return ct="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ct(t)}function lt(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function ut(t,e,r){return(e=function(t){var e=function(t){if("object"!=ct(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=ct(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==ct(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var st,ft=document.getElementById("post-body-content"),pt=document.getElementById("".concat(d,"-sidebar")),mt=((st=at({className:"button button-primary frm-button-primary"})).setAttribute("role","button"),ot({id:"".concat(d,"-empty-state"),className:"frm-flex-col frm-flex-center frm-gap-md ".concat(Q),children:[it({src:"".concat(W,"/images/page-skeleton/empty-state.svg"),alt:J("Empty State","formidable")}),ot({className:"frmcenter",children:[nt("h2",{className:"".concat(d,"-title frm-mb-0")}),nt("p",{className:"".concat(d,"-text frm-mb-0")})]}),st]}));null==ft||ft.appendChild(mt);var dt=function(){var t=document.querySelector("#".concat(d,"-empty-state"));return{emptyState:t,emptyStateTitle:null==t?void 0:t.querySelector(".".concat(d,"-title")),emptyStateText:null==t?void 0:t.querySelector(".".concat(d,"-text")),emptyStateButton:null==t?void 0:t.querySelector(".button")}}(),ht=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==b(t)||null===t)throw new Error("createPageElements: initialElements must be a non-null object");var e=t;return{getElements:function(){return e},addElements:function(t){if("object"!==b(t)||null===t)throw new Error("addElements: newElements must be a non-null object");e=v(v({},e),t)}}}(function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==xt(t)||null===t)throw new Error("createPageState: initialState must be a non-null object");var e=t;return{getState:function(){return e},getSingleState:function(t){var r=Reflect.get(e,t);return void 0===r?null:r},setState:function(t){if("object"!==xt(t)||null===t)throw new Error("setState: newState must be a non-null object");e=bt(bt({},e),t)},setSingleState:function(t,r){Reflect.has(e,t)&&Reflect.set(e,t,r)}}}({notEmptySearchText:!1,selectedCategory:h,selectedCategoryEl:St}),Et=Tt.getState,_t=Tt.getSingleState,Ot=Tt.setState,Lt=Tt.setSingleState;function jt(t){return jt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},jt(t)}function kt(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:"default";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.elements=e,this.type=r,this.prepareElements()},e=[{key:"fadeIn",value:function(){var t=this;this.applyStyleToElements((function(e){e.classList.add("frm-fadein-up"),e.addEventListener("animationend",(function(){t.resetOpacity(),e.classList.remove("frm-fadein-up")}),{once:!0})}))}},{key:"cascadeFadeIn",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout((function(){t.applyStyleToElements((function(t,r){t.classList.remove("frm-animate"),t.style.transitionDelay=(r+1)*e+"s"}))}),200)}},{key:"prepareElements",value:function(){var t=this;this.applyStyleToElements((function(e){"default"===t.type&&(e.style.opacity="0.0"),"cascade"===t.type&&e.classList.add("frm-init-cascade-animation"),"cascade-3d"===t.type&&e.classList.add("frm-init-fadein-3d"),e.classList.add("frm-animate")}))}},{key:"resetOpacity",value:function(){this.applyStyleToElements((function(t){return t.style.opacity="1.0"}))}},{key:"applyStyleToElements",value:function(t){this.elements instanceof Element?t(this.elements,0):0=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var l=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(l&&u){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),k(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;k(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:C(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}function fe(t,e,r,n,o,a,i){try{var c=t[a](i),l=c.value}catch(t){return void r(t)}c.done?e(l):Promise.resolve(l).then(n,o)}var pe=null;function me(){var t;return t=se().mark((function t(){var e,r,n;return se().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=window.frmAdminBuild,r=e.initModal,n=e.offsetModalY,(pe=r("#frm-form-templates-modal",p))&&n(pe,"103px"),wp.hooks.addAction("frmAdmin.beforeOpenConfirmModal","frmFormTemplates",(function(t){var e=t.$info;e.dialog("option","width",m),n(e,"103px")}));case 4:case"end":return t.stop()}}),t)})),me=function(){var e=this,r=arguments;return new Promise((function(n,o){var a=t.apply(e,r);function i(t){fe(a,n,o,i,c,"next",t)}function c(t){fe(a,n,o,i,c,"throw",t)}i(void 0)}))},me.apply(this,arguments)}function de(){return pe}function he(t){var e=yt().pageTitleText,r=t||_t("selectedCategoryEl").querySelector(".".concat(d,"-cat-text")).textContent;e.textContent=r}var ye=function(t){return!!Nt(t)&&t.classList.contains("".concat(c,"-favorite-item"))},ve=function(t){return!!Nt(t)&&t.classList.contains("".concat(c,"-custom-item"))},ge={},be=function(){var t=yt(),e=t.createFormButton,r=t.newTemplateForm,n=t.newTemplateNameInput,o=t.newTemplateActionInput,a=window.frmAdminBuild.installNewForm;n.value="",o.value="frm_install_form",a(r,"frm_install_form",e)};var we=".".concat(c,"-item-favorite-button"),xe="".concat(we," use"),Se="#frm_heart_solid_icon",Te="#frm_heart_icon",Ee=function(t){var e,r=t.currentTarget,n=yt(),o=n.templatesList,i=n.featuredTemplatesList,l=n.favoritesCategoryCountEl,s=n.customTemplatesTitle,f=r.closest(".frm-card-item"),p=f.dataset.id,m=ye(f),d=ve(f),h=function(t){return!!Nt(t)&&a.includes(Number(t.dataset.id))}(f),y=null;if(f.classList.toggle("".concat(c,"-favorite-item"),!m),h){var v=f.closest("#".concat(c,"-list"))?i:o;v&&(y=v.querySelector('.frm-card-item[data-id="'.concat(p,'"]'))).classList.toggle("".concat(c,"-favorite-item"),!m)}var g,b=Et(),w=b.selectedCategory,x=b.favoritesCount,S=m?"remove":"add",T=f.querySelector(xe),E=null===(e=y)||void 0===e?void 0:e.querySelector(xe);"add"===S?(++x.total,d?++x.custom:++x.default,T.setAttribute("xlink:href",Se),null==E||E.setAttribute("xlink:href",Se)):(--x.total,d?--x.custom:--x.default,T.setAttribute("xlink:href",Te),null==E||E.setAttribute("xlink:href",Te)),l.textContent=x.total,Lt("favoritesCount",x),u===w&&(0===x.total&&qe(),Rt(f),0===x.default&&Rt(o),0!==x.custom&&0!==x.default||Rt(s)),g=function(){return t=p,e=S,r=d,n=new FormData,o=frmDom.ajax.doJsonPost,n.append("template_id",t),n.append("operation",e),n.append("is_custom_template",r),o("add_or_remove_favorite_template",n);var t,e,r,n,o},At=At.then(g).catch(g)};var _e=function(t){var e=t.currentTarget,r=e.closest(".frm-card-item"),n=function(t){return!!Nt(t)&&t.classList.contains("".concat(c,"-locked-item"))}(r),o=ve(r);if(n||!o)if(t.preventDefault(),Lt("selectedTemplate",r),n)!function(t){var e=t.dataset.requiredPlan;switch(e){case"basic":case"plus":case"business":case"elite":Ue(e,t);break;case"renew":He()}}(r);else{var a=yt(),i=a.newTemplateForm,l=a.newTemplateNameInput,u=a.newTemplateDescriptionInput,s=a.newTemplateLinkInput,f=a.newTemplateActionInput,p=window.frmAdminBuild.installNewForm,m=r.querySelector(".frm-form-template-name").textContent.trim(),d=r.querySelector(".frm-form-templates-item-description").textContent.trim(),h="frm_install_template";l.value=m,u.value=d,f.value=h,s.value=e.href,p(i,h,e)}};var Oe=window.frmDom.search.init;function Le(t,e){var r=t.foundSomething,n=t.notEmptySearchText;if(!e||"search"!==e.type||""!==e.target.value){var o=Et(),a=yt().allItemsCategory;Lt("notEmptySearchText",n),o.notEmptySearchText||o.selectedCategory?(o.selectedCategory&&(function(t){var e=yt(),r=e.bodyContent,n=e.bodyContentChildren,o=e.pageTitle,a=e.templatesList,i=e.applicationTemplates,c=new Ct(r);t&&_t("selectedCategoryEl").classList.remove(et),Mt(n),he(J("Search Result","formidable")),qt([o,a,i]),c.fadeIn()}(n),n&&Lt("selectedCategory","")),function(t){if(t){var e,r=yt().emptyState;if(e=r,"none"!==window.getComputedStyle(e).getPropertyValue("display")){var n=yt().pageTitle;Rt(r),Gt(n)}var o=yt(),a=o.templatesList,i=o.applicationTemplates,c=o.applicationTemplatesTitle,l=o.applicationTemplatesList;qt([a,i,c]),0===a.offsetHeight&&Mt([a,c]),0===(null==l?void 0:l.offsetHeight)&&Rt(i)}else!function(){var t,e=Et().notEmptySearchText,r=yt(),n=r.pageTitle,o=r.emptyState,a=r.emptyStateButton,i=r.applicationTemplates;if(f!==(null===(t=o.dataset)||void 0===t?void 0:t.view)){o.setAttribute("data-view",f);var c=yt(),l=c.emptyStateTitle,u=c.emptyStateText;l.textContent=J("No templates found","formidable"),u.textContent=J("Sorry, we didn't find any templates that match your criteria.","formidable"),a.textContent=J("Start from Scratch","formidable"),Mt([n,i]),qt([o,a])}else e?(Gt(o),Mt([n,i])):(Rt(o),o.removeAttribute("data-view"))}()}(r)):a.dispatchEvent(new Event("click",{bubbles:!0}))}}var je=function(){var t,e=yt().emptyState;f===(null===(t=e.dataset)||void 0===t?void 0:t.view)&&(Lt("selectedCategory",""),$t(),yt().searchInput.focus())};var ke=function(){var t=Et().selectedCategory;s===t&&Ke()},Ie=function(){var t=yt().createTemplateFormsDropdown,e=t.value;if(e&&"no-forms"!==e){Ce(!1);var r=t.options[t.selectedIndex],n=r.dataset.description.trim(),o=r.dataset.name.trim(),a=" ".concat(J("Template","formidable"));o.endsWith(a)||(o+=a);var i=yt(),c=i.createTemplateName,l=i.createTemplateDescription;c.value=o,l.value=n}else Ce(!0)},Ce=function(t){var e=yt(),r=e.createTemplateName,n=e.createTemplateDescription,o=e.createTemplateButton;[r,n].forEach((function(e){e.disabled=t,t&&(e.value="")})),o.classList.toggle("disabled",t)},Ae=function(){var t=window.frmAdminBuild.installNewForm,e="frm_create_template",r=yt(),n=r.newTemplateForm,o=r.newTemplateActionInput,a=r.newTemplateNameInput,i=r.newTemplateDescriptionInput,c=r.newTemplateLinkInput,l=r.createTemplateName,u=r.createTemplateDescription,s=r.createTemplateFormsDropdown,f=r.createTemplateButton;o.value=e,a.value=l.value.trim(),i.value=u.value.trim(),c.value=s.value,t(n,e,f)};var Pe=function(t){if(!t.target.closest("a")){var e=t.currentTarget;window.location.href=e.dataset.href}};function Fe(){var t,e,r,n;yt().categoryItems.forEach((function(t){Ft(t,zt),t.addEventListener("keydown",Yt)})),wp.hooks.addAction("frmPage.onCategoryClick","frmFormTemplates",(function(t){!function(t){var e=yt(),r=e.bodyContentChildren,n=e.pageTitle,o=e.showCreateTemplateModalButton,a=e.templatesList,i=e.templateItems;switch(h!==t&&Mt(r),he(),Rt(o),Gt(n),t){case h:!function(){var t=yt(),e=t.bodyContentChildren,r=t.pageTitleDivider,n=t.templateItems,o=t.twinFeaturedTemplateItems,a=t.customTemplatesSection,i=t.emptyState,c=t.applicationTemplates;qt([].concat(De(e),De(n))),Mt([r].concat(De(o),[a,i,c]))}();break;case l:!function(){if(0!==Et().availableTemplatesCount){var t=yt(),e=t.templatesList,r=t.templateItems,n=t.availableTemplateItems;Mt(r),qt([e].concat(De(n)))}else!function(){var t=yt(),e=t.pageTitle,r=t.emptyState,n=t.emptyStateButton;r.setAttribute("data-view",l);var o=yt(),a=o.emptyStateTitle,i=o.emptyStateText,c=Et().extraTemplatesCount;a.textContent=J("No Templates Available","formidable"),i.textContent=function(t){try{for(var e=arguments.length,r=new Array(e>1?e-1:0),n=1;n0&&s.push(n),t.custom>0){var p=Array.from(u).filter((function(t){return!ye(t)}));Mt(p),s.push(a),s.push(l),0===t.default?Rt(i):s.push(i)}qt(s)}else qe()}();break;case s:!function(){if(0!==Et().customCount){var t=yt(),e=t.showCreateTemplateModalButton,r=t.pageTitleDivider,n=t.customTemplatesSection,o=t.customTemplatesList,a=t.customTemplatesTitle,i=t.customTemplateItems;Rt(a),qt([e,r,n,o].concat(De(i)))}else!function(){var t=yt(),e=t.pageTitle,r=t.emptyState,n=t.emptyStateButton;r.setAttribute("data-view",s);var o=yt(),a=o.emptyStateTitle,i=o.emptyStateText;a.textContent=J("You currently have no templates.","formidable"),i.textContent=J("You haven't created any form templates. Begin now to simplify your workflow and save time.","formidable"),n.textContent=J("Create Template","formidable"),Rt(e),qt([r,n])}()}();break;default:Mt(i),qt([a].concat(De(ge[t])))}}(t)})),n=yt().createFormButton,Ft(n,be),document.querySelectorAll(we).forEach((function(t){return Ft(t,Ee)})),document.querySelectorAll(".".concat(c,"-use-template-button")).forEach((function(t){return t.addEventListener("click",_e)})),t=yt(),e=t.searchInput,r=t.emptyStateButton,Oe(e,"frm-card-item",{handleSearchResult:Le}),Ft(r,je),function(){var t=yt(),e=t.createTemplateFormsDropdown,r=t.createTemplateButton,n=t.showCreateTemplateModalButton,o=t.emptyStateButton;Ft(n,ke),Ft(o,ke),e.addEventListener("change",Ie),Ft(r,Ae)}()}function Be(t){var e,r;(function(t){if(t&&t.length){var e=t.map((function(t){return function(t){var e=t.name,r=t.key,o=t.hasLiteThumbnail,a=t.isWebp,i=o?a?"".concat(ne,"/").concat(r,".webp"):"".concat(ne,"/").concat(r,".png"):"".concat(ne,"/placeholder.svg");return Wt("li",{className:"frm-card-item",data:{href:"".concat(n,"&triggerViewApplicationModal=1&template=").concat(r),"frm-search-text":e.toLowerCase()},children:[Qt({className:"".concat(c,"-item-icon"),child:re({src:i})}),Qt({className:"".concat(c,"-item-body"),children:[te({text:J("Ready Made Solution","formidable"),className:"frm-meta-tag frm-orange-tag frm-text-xs"}),Wt("h3",{text:e,className:"frm-text-sm frm-font-medium frm-m-0"}),ee({text:J("See all applications","formidable"),className:"frm-text-xs frm-font-semibold",href:n})]})]})}(t)}));Jt=Qt({id:"".concat(c,"-applications"),className:Q,children:[Wt("h2",{text:J("Application Templates"),className:"frm-text-sm frm-mb-sm"}),Wt("ul",{className:"".concat(c,"-list frm-list-grid-layout"),children:e})]})}})(t.templates),(e=yt()).applicationTemplates||void 0===Jt||(e.bodyContent.appendChild(Jt),vt({applicationTemplates:Jt,applicationTemplatesTitle:Jt.querySelector("h2"),applicationTemplatesList:Jt.querySelector(".".concat(c,"-list")),applicationTemplateItems:Jt.querySelectorAll(".frm-card-item")})),void 0!==(r=yt().applicationTemplateItems)&&r.forEach((function(t){t.addEventListener("click",Pe)}))}function De(t){return function(t){if(Array.isArray(t))return Ne(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return Ne(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ne(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ne(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var l=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(l&&u){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),k(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;k(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:C(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}function Re(t,e,r,n,o,a,i){try{var c=t[a](i),l=c.value}catch(t){return void r(t)}c.done?e(l):Promise.resolve(l).then(n,o)}function ze(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var a=t.apply(e,r);function i(t){Re(a,n,o,i,c,"next",t)}function c(t){Re(a,n,o,i,c,"throw",t)}i(void 0)}))}}var Ye=function(t){return ze(Ge().mark((function e(){var r,n,o,a,i,c,l=arguments;return Ge().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=de()){e.next=3;break}return e.abrupt("return");case 3:for(n=yt(),o=n.modalItems,Mt(o),r.dialog("option","width",p),a=l.length,i=new Array(a),c=0;c use").setAttribute("xlink:href",n?"#frm_checkmark_icon":"#frm_close_icon")}));var u=e.dataset.slug?"-".concat(e.dataset.slug):"";l.href=i+u,Gt(o)})),He=Ye((function(){var t=yt().renewAccountModal;Gt(t)})),Ke=Ye((function(){de().dialog("option","width",m);var t=yt().createTemplateModal;Gt(t)}));const Ve=function(){e&&(0,frmDom.ajax.doJsonFetch)("get_applications_data&view=templates").then(Be),function(){me.apply(this,arguments)}(),yt().templateItems.forEach((function(t){t.getAttribute("data-categories").split(",").forEach((function(e){ge[e]||(ge[e]=[]),ge[e].push(t)}))})),function(){var t=yt(),e=t.sidebar,r=t.searchInput,n=t.bodyContent,o=t.twinFeaturedTemplateItems,a=t.availableTemplatesCategory,i=new Ct(n);if(r.value="",Mt(o),a){var c=Et().availableTemplatesCount;a.querySelector(".".concat(d,"-cat-count")).textContent=c}var l,u=yt().extraTemplateCountElements,s=Et().extraTemplatesCount;u.forEach((function(t){return t.textContent=s})),n.classList.remove(tt),e.classList.remove(tt),i.fadeIn(),Gt(e),Dt.has("return_page")&&(l=yt().headerCancelButton,new Ct(l).fadeIn())}(),Fe()};var Ze;Ze=function(){wp.hooks.doAction("frmFormTemplates.beforeInitialize",{getState:Et,setState:Ot}),Ve(),wp.hooks.doAction("frmFormTemplates.afterInitialize",{getState:Et,setState:Ot}),wp.hooks.doAction("frm_new_form_modal_form",jQuery("#frm-new-template"))},"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",Ze):Ze())})()})(); \ No newline at end of file +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@tannin/compile/index.js": +/*!***********************************************!*\ + !*** ./node_modules/@tannin/compile/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": () => (/* binding */ compile) +/* harmony export */ }); +/* harmony import */ var _tannin_postfix__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/postfix */ "./node_modules/@tannin/postfix/index.js"); +/* harmony import */ var _tannin_evaluate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tannin/evaluate */ "./node_modules/@tannin/evaluate/index.js"); + + + +/** + * Given a C expression, returns a function which can be called to evaluate its + * result. + * + * @example + * + * ```js + * import compile from '@tannin/compile'; + * + * const evaluate = compile( 'n > 1' ); + * + * evaluate( { n: 2 } ); + * // โ‡’ true + * ``` + * + * @param {string} expression C expression. + * + * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator. + */ +function compile( expression ) { + var terms = (0,_tannin_postfix__WEBPACK_IMPORTED_MODULE_0__["default"])( expression ); + + return function( variables ) { + return (0,_tannin_evaluate__WEBPACK_IMPORTED_MODULE_1__["default"])( terms, variables ); + }; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/evaluate/index.js": +/*!************************************************!*\ + !*** ./node_modules/@tannin/evaluate/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": () => (/* binding */ evaluate) +/* harmony export */ }); +/** + * Operator callback functions. + * + * @type {Object} + */ +var OPERATORS = { + '!': function( a ) { + return ! a; + }, + '*': function( a, b ) { + return a * b; + }, + '/': function( a, b ) { + return a / b; + }, + '%': function( a, b ) { + return a % b; + }, + '+': function( a, b ) { + return a + b; + }, + '-': function( a, b ) { + return a - b; + }, + '<': function( a, b ) { + return a < b; + }, + '<=': function( a, b ) { + return a <= b; + }, + '>': function( a, b ) { + return a > b; + }, + '>=': function( a, b ) { + return a >= b; + }, + '==': function( a, b ) { + return a === b; + }, + '!=': function( a, b ) { + return a !== b; + }, + '&&': function( a, b ) { + return a && b; + }, + '||': function( a, b ) { + return a || b; + }, + '?:': function( a, b, c ) { + if ( a ) { + throw b; + } + + return c; + }, +}; + +/** + * Given an array of postfix terms and operand variables, returns the result of + * the postfix evaluation. + * + * @example + * + * ```js + * import evaluate from '@tannin/evaluate'; + * + * // 3 + 4 * 5 / 6 โ‡’ '3 4 5 * 6 / +' + * const terms = [ '3', '4', '5', '*', '6', '/', '+' ]; + * + * evaluate( terms, {} ); + * // โ‡’ 6.333333333333334 + * ``` + * + * @param {string[]} postfix Postfix terms. + * @param {Object} variables Operand variables. + * + * @return {*} Result of evaluation. + */ +function evaluate( postfix, variables ) { + var stack = [], + i, j, args, getOperatorResult, term, value; + + for ( i = 0; i < postfix.length; i++ ) { + term = postfix[ i ]; + + getOperatorResult = OPERATORS[ term ]; + if ( getOperatorResult ) { + // Pop from stack by number of function arguments. + j = getOperatorResult.length; + args = Array( j ); + while ( j-- ) { + args[ j ] = stack.pop(); + } + + try { + value = getOperatorResult.apply( null, args ); + } catch ( earlyReturn ) { + return earlyReturn; + } + } else if ( variables.hasOwnProperty( term ) ) { + value = variables[ term ]; + } else { + value = +term; + } + + stack.push( value ); + } + + return stack[ 0 ]; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/plural-forms/index.js": +/*!****************************************************!*\ + !*** ./node_modules/@tannin/plural-forms/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": () => (/* binding */ pluralForms) +/* harmony export */ }); +/* harmony import */ var _tannin_compile__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/compile */ "./node_modules/@tannin/compile/index.js"); + + +/** + * Given a C expression, returns a function which, when called with a value, + * evaluates the result with the value assumed to be the "n" variable of the + * expression. The result will be coerced to its numeric equivalent. + * + * @param {string} expression C expression. + * + * @return {Function} Evaluator function. + */ +function pluralForms( expression ) { + var evaluate = (0,_tannin_compile__WEBPACK_IMPORTED_MODULE_0__["default"])( expression ); + + return function( n ) { + return +evaluate( { n: n } ); + }; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/postfix/index.js": +/*!***********************************************!*\ + !*** ./node_modules/@tannin/postfix/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": () => (/* binding */ postfix) +/* harmony export */ }); +var PRECEDENCE, OPENERS, TERMINATORS, PATTERN; + +/** + * Operator precedence mapping. + * + * @type {Object} + */ +PRECEDENCE = { + '(': 9, + '!': 8, + '*': 7, + '/': 7, + '%': 7, + '+': 6, + '-': 6, + '<': 5, + '<=': 5, + '>': 5, + '>=': 5, + '==': 4, + '!=': 4, + '&&': 3, + '||': 2, + '?': 1, + '?:': 1, +}; + +/** + * Characters which signal pair opening, to be terminated by terminators. + * + * @type {string[]} + */ +OPENERS = [ '(', '?' ]; + +/** + * Characters which signal pair termination, the value an array with the + * opener as its first member. The second member is an optional operator + * replacement to push to the stack. + * + * @type {string[]} + */ +TERMINATORS = { + ')': [ '(' ], + ':': [ '?', '?:' ], +}; + +/** + * Pattern matching operators and openers. + * + * @type {RegExp} + */ +PATTERN = /<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/; + +/** + * Given a C expression, returns the equivalent postfix (Reverse Polish) + * notation terms as an array. + * + * If a postfix string is desired, simply `.join( ' ' )` the result. + * + * @example + * + * ```js + * import postfix from '@tannin/postfix'; + * + * postfix( 'n > 1' ); + * // โ‡’ [ 'n', '1', '>' ] + * ``` + * + * @param {string} expression C expression. + * + * @return {string[]} Postfix terms. + */ +function postfix( expression ) { + var terms = [], + stack = [], + match, operator, term, element; + + while ( ( match = expression.match( PATTERN ) ) ) { + operator = match[ 0 ]; + + // Term is the string preceding the operator match. It may contain + // whitespace, and may be empty (if operator is at beginning). + term = expression.substr( 0, match.index ).trim(); + if ( term ) { + terms.push( term ); + } + + while ( ( element = stack.pop() ) ) { + if ( TERMINATORS[ operator ] ) { + if ( TERMINATORS[ operator ][ 0 ] === element ) { + // Substitution works here under assumption that because + // the assigned operator will no longer be a terminator, it + // will be pushed to the stack during the condition below. + operator = TERMINATORS[ operator ][ 1 ] || operator; + break; + } + } else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) { + // Push to stack if either an opener or when pop reveals an + // element of lower precedence. + stack.push( element ); + break; + } + + // For each popped from stack, push to terms. + terms.push( element ); + } + + if ( ! TERMINATORS[ operator ] ) { + stack.push( operator ); + } + + // Slice matched fragment from expression to continue match. + expression = expression.substr( match.index + operator.length ); + } + + // Push remainder of operand, if exists, to terms. + expression = expression.trim(); + if ( expression ) { + terms.push( expression ); + } + + // Pop remaining items from stack into terms. + return terms.concat( stack.reverse() ); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/dom-ready/build-module/index.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@wordpress/dom-ready/build-module/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": () => (/* binding */ domReady) +/* harmony export */ }); +/** + * @typedef {() => void} Callback + * + * TODO: Remove this typedef and inline `() => void` type. + * + * This typedef is used so that a descriptive type is provided in our + * automatically generated documentation. + * + * An in-line type `() => void` would be preferable, but the generated + * documentation is `null` in that case. + * + * @see https://github.com/WordPress/gutenberg/issues/18045 + */ + +/** + * Specify a function to execute when the DOM is fully loaded. + * + * @param {Callback} callback A function to execute after the DOM is ready. + * + * @example + * ```js + * import domReady from '@wordpress/dom-ready'; + * + * domReady( function() { + * //do something after DOM loads. + * } ); + * ``` + * + * @return {void} + */ +function domReady(callback) { + if (typeof document === 'undefined') { + return; + } + + if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly. + document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly. + ) { + return void callback(); + } // DOMContentLoaded has not fired yet, delay callback until then. + + + document.addEventListener('DOMContentLoaded', callback); +} +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createAddHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createAddHook.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 */ }); +/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js"); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + + +/** + * @callback AddHook + * + * Adds the hook to the appropriate hooks container. + * + * @param {string} hookName Name of hook to add + * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`. + * @param {import('.').Callback} callback Function to call when the hook is run + * @param {number} [priority=10] Priority of this hook + */ + +/** + * Returns a function which, when invoked, will add a hook. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {AddHook} Function that adds a new hook. + */ + +function createAddHook(hooks, storeKey) { + return function addHook(hookName, namespace, callback) { + var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10; + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(hookName)) { + return; + } + + if (!(0,_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__["default"])(namespace)) { + return; + } + + if ('function' !== typeof callback) { + // eslint-disable-next-line no-console + console.error('The hook callback must be a function.'); + return; + } // Validate numeric priority + + + if ('number' !== typeof priority) { + // eslint-disable-next-line no-console + console.error('If specified, the hook priority must be a number.'); + return; + } + + var handler = { + callback: callback, + priority: priority, + namespace: namespace + }; + + if (hooksStore[hookName]) { + // Find the correct insert index of the new hook. + var handlers = hooksStore[hookName].handlers; + /** @type {number} */ + + var i; + + for (i = handlers.length; i > 0; i--) { + if (priority >= handlers[i - 1].priority) { + break; + } + } + + if (i === handlers.length) { + // If append, operate via direct assignment. + handlers[i] = handler; + } else { + // Otherwise, insert before index via splice. + handlers.splice(i, 0, handler); + } // We may also be currently executing this hook. If the callback + // we're adding would come after the current callback, there's no + // problem; otherwise we need to increase the execution index of + // any other runs by 1 to account for the added element. + + + hooksStore.__current.forEach(function (hookInfo) { + if (hookInfo.name === hookName && hookInfo.currentIndex >= i) { + hookInfo.currentIndex++; + } + }); + } else { + // This is the first hook of its type. + hooksStore[hookName] = { + handlers: [handler], + runs: 0 + }; + } + + if (hookName !== 'hookAdded') { + hooks.doAction('hookAdded', hookName, namespace, callback, priority); + } + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createAddHook); +//# sourceMappingURL=createAddHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createCurrentHook.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createCurrentHook.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 */ }); +/** + * Returns a function which, when invoked, will return the name of the + * currently running hook, or `null` if no hook of the given type is currently + * running. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {() => string | null} Function that returns the current hook name or null. + */ +function createCurrentHook(hooks, storeKey) { + return function currentHook() { + var _hooksStore$__current, _hooksStore$__current2; + + var hooksStore = hooks[storeKey]; + return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createCurrentHook); +//# sourceMappingURL=createCurrentHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createDidHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createDidHook.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 */ }); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + +/** + * @callback DidHook + * + * Returns the number of times an action has been fired. + * + * @param {string} hookName The hook name to check. + * + * @return {number | undefined} The number of times the hook has run. + */ + +/** + * Returns a function which, when invoked, will return the number of times a + * hook has been called. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {DidHook} Function that returns a hook's call count. + */ + +function createDidHook(hooks, storeKey) { + return function didHook(hookName) { + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(hookName)) { + return; + } + + return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createDidHook); +//# sourceMappingURL=createDidHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createDoingHook.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createDoingHook.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 */ }); +/** + * @callback DoingHook + * Returns whether a hook is currently being executed. + * + * @param {string} [hookName] The name of the hook to check for. If + * omitted, will check for any hook being executed. + * + * @return {boolean} Whether the hook is being executed. + */ + +/** + * Returns a function which, when invoked, will return whether a hook is + * currently being executed. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {DoingHook} Function that returns whether a hook is currently + * being executed. + */ +function createDoingHook(hooks, storeKey) { + return function doingHook(hookName) { + var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook. + + if ('undefined' === typeof hookName) { + return 'undefined' !== typeof hooksStore.__current[0]; + } // Return the __current hook. + + + return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createDoingHook); +//# sourceMappingURL=createDoingHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createHasHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createHasHook.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 */ }); +/** + * @callback HasHook + * + * Returns whether any handlers are attached for the given hookName and optional namespace. + * + * @param {string} hookName The name of the hook to check for. + * @param {string} [namespace] Optional. The unique namespace identifying the callback + * in the form `vendor/plugin/function`. + * + * @return {boolean} Whether there are handlers that are attached to the given hook. + */ + +/** + * Returns a function which, when invoked, will return whether any handlers are + * attached to a particular hook. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {HasHook} Function that returns whether any handlers are + * attached to a particular hook and optional namespace. + */ +function createHasHook(hooks, storeKey) { + return function hasHook(hookName, namespace) { + var hooksStore = hooks[storeKey]; // Use the namespace if provided. + + if ('undefined' !== typeof namespace) { + return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) { + return hook.namespace === namespace; + }); + } + + return hookName in hooksStore; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createHasHook); +//# sourceMappingURL=createHasHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createHooks.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createHooks.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ _Hooks: () => (/* binding */ _Hooks), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _createAddHook__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createAddHook */ "./node_modules/@wordpress/hooks/build-module/createAddHook.js"); +/* harmony import */ var _createRemoveHook__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createRemoveHook */ "./node_modules/@wordpress/hooks/build-module/createRemoveHook.js"); +/* harmony import */ var _createHasHook__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createHasHook */ "./node_modules/@wordpress/hooks/build-module/createHasHook.js"); +/* harmony import */ var _createRunHook__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./createRunHook */ "./node_modules/@wordpress/hooks/build-module/createRunHook.js"); +/* harmony import */ var _createCurrentHook__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./createCurrentHook */ "./node_modules/@wordpress/hooks/build-module/createCurrentHook.js"); +/* harmony import */ var _createDoingHook__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./createDoingHook */ "./node_modules/@wordpress/hooks/build-module/createDoingHook.js"); +/* harmony import */ var _createDidHook__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./createDidHook */ "./node_modules/@wordpress/hooks/build-module/createDidHook.js"); + + +/** + * Internal dependencies + */ + + + + + + + +/** + * Internal class for constructing hooks. Use `createHooks()` function + * + * Note, it is necessary to expose this class to make its type public. + * + * @private + */ + +var _Hooks = function _Hooks() { + (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, _Hooks); + + /** @type {import('.').Store} actions */ + this.actions = Object.create(null); + this.actions.__current = []; + /** @type {import('.').Store} filters */ + + this.filters = Object.create(null); + this.filters.__current = []; + this.addAction = (0,_createAddHook__WEBPACK_IMPORTED_MODULE_1__["default"])(this, 'actions'); + this.addFilter = (0,_createAddHook__WEBPACK_IMPORTED_MODULE_1__["default"])(this, 'filters'); + this.removeAction = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'actions'); + this.removeFilter = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'filters'); + this.hasAction = (0,_createHasHook__WEBPACK_IMPORTED_MODULE_3__["default"])(this, 'actions'); + this.hasFilter = (0,_createHasHook__WEBPACK_IMPORTED_MODULE_3__["default"])(this, 'filters'); + this.removeAllActions = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'actions', true); + this.removeAllFilters = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'filters', true); + this.doAction = (0,_createRunHook__WEBPACK_IMPORTED_MODULE_4__["default"])(this, 'actions'); + this.applyFilters = (0,_createRunHook__WEBPACK_IMPORTED_MODULE_4__["default"])(this, 'filters', true); + this.currentAction = (0,_createCurrentHook__WEBPACK_IMPORTED_MODULE_5__["default"])(this, 'actions'); + this.currentFilter = (0,_createCurrentHook__WEBPACK_IMPORTED_MODULE_5__["default"])(this, 'filters'); + this.doingAction = (0,_createDoingHook__WEBPACK_IMPORTED_MODULE_6__["default"])(this, 'actions'); + this.doingFilter = (0,_createDoingHook__WEBPACK_IMPORTED_MODULE_6__["default"])(this, 'filters'); + this.didAction = (0,_createDidHook__WEBPACK_IMPORTED_MODULE_7__["default"])(this, 'actions'); + this.didFilter = (0,_createDidHook__WEBPACK_IMPORTED_MODULE_7__["default"])(this, 'filters'); +}; +/** @typedef {_Hooks} Hooks */ + +/** + * Returns an instance of the hooks object. + * + * @return {Hooks} A Hooks instance. + */ + +function createHooks() { + return new _Hooks(); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createHooks); +//# sourceMappingURL=createHooks.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createRemoveHook.js": +/*!************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createRemoveHook.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 */ }); +/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js"); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + + +/** + * @callback RemoveHook + * Removes the specified callback (or all callbacks) from the hook with a given hookName + * and namespace. + * + * @param {string} hookName The name of the hook to modify. + * @param {string} namespace The unique namespace identifying the callback in the + * form `vendor/plugin/function`. + * + * @return {number | undefined} The number of callbacks removed. + */ + +/** + * Returns a function which, when invoked, will remove a specified hook or all + * hooks by the given name. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName, + * without regard to namespace. Used to create + * `removeAll*` functions. + * + * @return {RemoveHook} Function that removes hooks. + */ + +function createRemoveHook(hooks, storeKey) { + var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + return function removeHook(hookName, namespace) { + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(hookName)) { + return; + } + + if (!removeAll && !(0,_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__["default"])(namespace)) { + return; + } // Bail if no hooks exist by this name + + + if (!hooksStore[hookName]) { + return 0; + } + + var handlersRemoved = 0; + + if (removeAll) { + handlersRemoved = hooksStore[hookName].handlers.length; + hooksStore[hookName] = { + runs: hooksStore[hookName].runs, + handlers: [] + }; + } else { + // Try to find the specified callback to remove. + var handlers = hooksStore[hookName].handlers; + + var _loop = function _loop(i) { + if (handlers[i].namespace === namespace) { + handlers.splice(i, 1); + handlersRemoved++; // This callback may also be part of a hook that is + // currently executing. If the callback we're removing + // comes after the current callback, there's no problem; + // otherwise we need to decrease the execution index of any + // other runs by 1 to account for the removed element. + + hooksStore.__current.forEach(function (hookInfo) { + if (hookInfo.name === hookName && hookInfo.currentIndex >= i) { + hookInfo.currentIndex--; + } + }); + } + }; + + for (var i = handlers.length - 1; i >= 0; i--) { + _loop(i); + } + } + + if (hookName !== 'hookRemoved') { + hooks.doAction('hookRemoved', hookName, namespace); + } + + return handlersRemoved; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createRemoveHook); +//# sourceMappingURL=createRemoveHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createRunHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createRunHook.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 */ }); +/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js"); + + +/** + * Returns a function which, when invoked, will execute all callbacks + * registered to a hook of the specified type, optionally returning the final + * value of the call chain. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to + * return its first argument. + * + * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks. + */ +function createRunHook(hooks, storeKey) { + var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + return function runHooks(hookName) { + var hooksStore = hooks[storeKey]; + + if (!hooksStore[hookName]) { + hooksStore[hookName] = { + handlers: [], + runs: 0 + }; + } + + hooksStore[hookName].runs++; + var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds. + + if (true) { + // Handle any 'all' hooks registered. + if ('hookAdded' !== hookName && hooksStore.all) { + handlers.push.apply(handlers, (0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__["default"])(hooksStore.all.handlers)); + } + } + + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + if (!handlers || !handlers.length) { + return returnFirstArg ? args[0] : undefined; + } + + var hookInfo = { + name: hookName, + currentIndex: 0 + }; + + hooksStore.__current.push(hookInfo); + + while (hookInfo.currentIndex < handlers.length) { + var handler = handlers[hookInfo.currentIndex]; + var result = handler.callback.apply(null, args); + + if (returnFirstArg) { + args[0] = result; + } + + hookInfo.currentIndex++; + } + + hooksStore.__current.pop(); + + if (returnFirstArg) { + return args[0]; + } + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createRunHook); +//# sourceMappingURL=createRunHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/index.js": +/*!*************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/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 */ actions: () => (/* binding */ actions), +/* harmony export */ addAction: () => (/* binding */ addAction), +/* harmony export */ addFilter: () => (/* binding */ addFilter), +/* harmony export */ applyFilters: () => (/* binding */ applyFilters), +/* harmony export */ createHooks: () => (/* reexport safe */ _createHooks__WEBPACK_IMPORTED_MODULE_0__["default"]), +/* harmony export */ currentAction: () => (/* binding */ currentAction), +/* harmony export */ currentFilter: () => (/* binding */ currentFilter), +/* harmony export */ defaultHooks: () => (/* binding */ defaultHooks), +/* harmony export */ didAction: () => (/* binding */ didAction), +/* harmony export */ didFilter: () => (/* binding */ didFilter), +/* harmony export */ doAction: () => (/* binding */ doAction), +/* harmony export */ doingAction: () => (/* binding */ doingAction), +/* harmony export */ doingFilter: () => (/* binding */ doingFilter), +/* harmony export */ filters: () => (/* binding */ filters), +/* harmony export */ hasAction: () => (/* binding */ hasAction), +/* harmony export */ hasFilter: () => (/* binding */ hasFilter), +/* harmony export */ removeAction: () => (/* binding */ removeAction), +/* harmony export */ removeAllActions: () => (/* binding */ removeAllActions), +/* harmony export */ removeAllFilters: () => (/* binding */ removeAllFilters), +/* harmony export */ removeFilter: () => (/* binding */ removeFilter) +/* harmony export */ }); +/* harmony import */ var _createHooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createHooks */ "./node_modules/@wordpress/hooks/build-module/createHooks.js"); +/** + * Internal dependencies + */ + +/** @typedef {(...args: any[])=>any} Callback */ + +/** + * @typedef Handler + * @property {Callback} callback The callback + * @property {string} namespace The namespace + * @property {number} priority The namespace + */ + +/** + * @typedef Hook + * @property {Handler[]} handlers Array of handlers + * @property {number} runs Run counter + */ + +/** + * @typedef Current + * @property {string} name Hook name + * @property {number} currentIndex The index + */ + +/** + * @typedef {Record & {__current: Current[]}} Store + */ + +/** + * @typedef {'actions' | 'filters'} StoreKey + */ + +/** + * @typedef {import('./createHooks').Hooks} Hooks + */ + +var defaultHooks = (0,_createHooks__WEBPACK_IMPORTED_MODULE_0__["default"])(); +var addAction = defaultHooks.addAction, + addFilter = defaultHooks.addFilter, + removeAction = defaultHooks.removeAction, + removeFilter = defaultHooks.removeFilter, + hasAction = defaultHooks.hasAction, + hasFilter = defaultHooks.hasFilter, + removeAllActions = defaultHooks.removeAllActions, + removeAllFilters = defaultHooks.removeAllFilters, + doAction = defaultHooks.doAction, + applyFilters = defaultHooks.applyFilters, + currentAction = defaultHooks.currentAction, + currentFilter = defaultHooks.currentFilter, + doingAction = defaultHooks.doingAction, + doingFilter = defaultHooks.doingFilter, + didAction = defaultHooks.didAction, + didFilter = defaultHooks.didFilter, + actions = defaultHooks.actions, + filters = defaultHooks.filters; + +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/validateHookName.js": +/*!************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/validateHookName.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 */ }); +/** + * Validate a hookName string. + * + * @param {string} hookName The hook name to validate. Should be a non empty string containing + * only numbers, letters, dashes, periods and underscores. Also, + * the hook name cannot begin with `__`. + * + * @return {boolean} Whether the hook name is valid. + */ +function validateHookName(hookName) { + if ('string' !== typeof hookName || '' === hookName) { + // eslint-disable-next-line no-console + console.error('The hook name must be a non-empty string.'); + return false; + } + + if (/^__/.test(hookName)) { + // eslint-disable-next-line no-console + console.error('The hook name cannot begin with `__`.'); + return false; + } + + if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) { + // eslint-disable-next-line no-console + console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.'); + return false; + } + + return true; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (validateHookName); +//# sourceMappingURL=validateHookName.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/validateNamespace.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 */ }); +/** + * Validate a namespace string. + * + * @param {string} namespace The namespace to validate - should take the form + * `vendor/plugin/function`. + * + * @return {boolean} Whether the namespace is valid. + */ +function validateNamespace(namespace) { + if ('string' !== typeof namespace || '' === namespace) { + // eslint-disable-next-line no-console + console.error('The namespace must be a non-empty string.'); + return false; + } + + if (!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(namespace)) { + // eslint-disable-next-line no-console + console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.'); + return false; + } + + return true; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (validateNamespace); +//# sourceMappingURL=validateNamespace.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/create-i18n.js": +/*!******************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/create-i18n.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createI18n: () => (/* binding */ createI18n) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js"); +/* harmony import */ var tannin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tannin */ "./node_modules/tannin/index.js"); + + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +/** + * External dependencies + */ + +/** + * @typedef {Record} LocaleData + */ + +/** + * Default locale data to use for Tannin domain when not otherwise provided. + * Assumes an English plural forms expression. + * + * @type {LocaleData} + */ + +var DEFAULT_LOCALE_DATA = { + '': { + /** @param {number} n */ + plural_forms: function plural_forms(n) { + return n === 1 ? 0 : 1; + } + } +}; +/* + * Regular expression that matches i18n hooks like `i18n.gettext`, `i18n.ngettext`, + * `i18n.gettext_domain` or `i18n.ngettext_with_context` or `i18n.has_translation`. + */ + +var I18N_HOOK_REGEXP = /^i18n\.(n?gettext|has_translation)(_|$)/; +/** + * @typedef {(domain?: string) => LocaleData} GetLocaleData + * + * Returns locale data by domain in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** + * @typedef {(data?: LocaleData, domain?: string) => void} SetLocaleData + * + * Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** + * @typedef {(data?: LocaleData, domain?: string) => void} ResetLocaleData + * + * Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** @typedef {() => void} SubscribeCallback */ + +/** @typedef {() => void} UnsubscribeCallback */ + +/** + * @typedef {(callback: SubscribeCallback) => UnsubscribeCallback} Subscribe + * + * Subscribes to changes of locale data + */ + +/** + * @typedef {(domain?: string) => string} GetFilterDomain + * Retrieve the domain to use when calling domain-specific filters. + */ + +/** + * @typedef {(text: string, domain?: string) => string} __ + * + * Retrieve the translation of text. + * + * @see https://developer.wordpress.org/reference/functions/__/ + */ + +/** + * @typedef {(text: string, context: string, domain?: string) => string} _x + * + * Retrieve translated string with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_x/ + */ + +/** + * @typedef {(single: string, plural: string, number: number, domain?: string) => string} _n + * + * Translates and retrieves the singular or plural form based on the supplied + * number. + * + * @see https://developer.wordpress.org/reference/functions/_n/ + */ + +/** + * @typedef {(single: string, plural: string, number: number, context: string, domain?: string) => string} _nx + * + * Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_nx/ + */ + +/** + * @typedef {() => boolean} IsRtl + * + * Check if current locale is RTL. + * + * **RTL (Right To Left)** is a locale property indicating that text is written from right to left. + * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common + * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages, + * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`). + */ + +/** + * @typedef {(single: string, context?: string, domain?: string) => boolean} HasTranslation + * + * Check if there is a translation for a given string in singular form. + */ + +/** @typedef {import('@wordpress/hooks').Hooks} Hooks */ + +/** + * An i18n instance + * + * @typedef I18n + * @property {GetLocaleData} getLocaleData Returns locale data by domain in a Jed-formatted JSON object shape. + * @property {SetLocaleData} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * @property {ResetLocaleData} resetLocaleData Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * @property {Subscribe} subscribe Subscribes to changes of Tannin locale data. + * @property {__} __ Retrieve the translation of text. + * @property {_x} _x Retrieve translated string with gettext context. + * @property {_n} _n Translates and retrieves the singular or plural form based on the supplied + * number. + * @property {_nx} _nx Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * @property {IsRtl} isRTL Check if current locale is RTL. + * @property {HasTranslation} hasTranslation Check if there is a translation for a given string. + */ + +/** + * Create an i18n instance + * + * @param {LocaleData} [initialData] Locale data configuration. + * @param {string} [initialDomain] Domain for which configuration applies. + * @param {Hooks} [hooks] Hooks implementation. + * @return {I18n} I18n instance + */ + +var createI18n = function createI18n(initialData, initialDomain, hooks) { + /** + * The underlying instance of Tannin to which exported functions interface. + * + * @type {Tannin} + */ + var tannin = new tannin__WEBPACK_IMPORTED_MODULE_1__["default"]({}); + var listeners = new Set(); + + var notifyListeners = function notifyListeners() { + listeners.forEach(function (listener) { + return listener(); + }); + }; + /** + * Subscribe to changes of locale data. + * + * @param {SubscribeCallback} callback Subscription callback. + * @return {UnsubscribeCallback} Unsubscribe callback. + */ + + + var subscribe = function subscribe(callback) { + listeners.add(callback); + return function () { + return listeners.delete(callback); + }; + }; + /** @type {GetLocaleData} */ + + + var getLocaleData = function getLocaleData() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + return tannin.data[domain]; + }; + /** + * @param {LocaleData} [data] + * @param {string} [domain] + */ + + + var doSetLocaleData = function doSetLocaleData(data) { + var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default'; + tannin.data[domain] = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA), tannin.data[domain]), data); // Populate default domain configuration (supported locale date which omits + // a plural forms expression). + + tannin.data[domain][''] = _objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA['']), tannin.data[domain]['']); + }; + /** @type {SetLocaleData} */ + + + var setLocaleData = function setLocaleData(data, domain) { + doSetLocaleData(data, domain); + notifyListeners(); + }; + /** @type {ResetLocaleData} */ + + + var resetLocaleData = function resetLocaleData(data, domain) { + // Reset all current Tannin locale data. + tannin.data = {}; // Reset cached plural forms functions cache. + + tannin.pluralForms = {}; + setLocaleData(data, domain); + }; + /** + * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not + * otherwise previously assigned. + * + * @param {string|undefined} domain Domain to retrieve the translated text. + * @param {string|undefined} context Context information for the translators. + * @param {string} single Text to translate if non-plural. Used as + * fallback return value on a caught error. + * @param {string} [plural] The text to be used if the number is + * plural. + * @param {number} [number] The number to compare against to use + * either the singular or plural form. + * + * @return {string} The translated string. + */ + + + var dcnpgettext = function dcnpgettext() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + var context = arguments.length > 1 ? arguments[1] : undefined; + var single = arguments.length > 2 ? arguments[2] : undefined; + var plural = arguments.length > 3 ? arguments[3] : undefined; + var number = arguments.length > 4 ? arguments[4] : undefined; + + if (!tannin.data[domain]) { + // use `doSetLocaleData` to set silently, without notifying listeners + doSetLocaleData(undefined, domain); + } + + return tannin.dcnpgettext(domain, context, single, plural, number); + }; + /** @type {GetFilterDomain} */ + + + var getFilterDomain = function getFilterDomain() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + return domain; + }; + /** @type {__} */ + + + var __ = function __(text, domain) { + var translation = dcnpgettext(domain, undefined, text); + + if (!hooks) { + return translation; + } + /** + * Filters text with its translation. + * + * @param {string} translation Translated text. + * @param {string} text Text to translate. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext', translation, text, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_' + getFilterDomain(domain), translation, text, domain) + ); + }; + /** @type {_x} */ + + + var _x = function _x(text, context, domain) { + var translation = dcnpgettext(domain, context, text); + + if (!hooks) { + return translation; + } + /** + * Filters text with its translation based on context information. + * + * @param {string} translation Translated text. + * @param {string} text Text to translate. + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_with_context', translation, text, context, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_with_context_' + getFilterDomain(domain), translation, text, context, domain) + ); + }; + /** @type {_n} */ + + + var _n = function _n(single, plural, number, domain) { + var translation = dcnpgettext(domain, undefined, single, plural, number); + + if (!hooks) { + return translation; + } + /** + * Filters the singular or plural form of a string. + * + * @param {string} translation Translated text. + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {string} number The number to compare against to use either the singular or plural form. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext', translation, single, plural, number, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_' + getFilterDomain(domain), translation, single, plural, number, domain) + ); + }; + /** @type {_nx} */ + + + var _nx = function _nx(single, plural, number, context, domain) { + var translation = dcnpgettext(domain, context, single, plural, number); + + if (!hooks) { + return translation; + } + /** + * Filters the singular or plural form of a string with gettext context. + * + * @param {string} translation Translated text. + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {string} number The number to compare against to use either the singular or plural form. + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_with_context', translation, single, plural, number, context, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_with_context_' + getFilterDomain(domain), translation, single, plural, number, context, domain) + ); + }; + /** @type {IsRtl} */ + + + var isRTL = function isRTL() { + return 'rtl' === _x('ltr', 'text direction'); + }; + /** @type {HasTranslation} */ + + + var hasTranslation = function hasTranslation(single, context, domain) { + var _tannin$data, _tannin$data2; + + var key = context ? context + "\x04" + single : single; + var result = !!((_tannin$data = tannin.data) !== null && _tannin$data !== void 0 && (_tannin$data2 = _tannin$data[domain !== null && domain !== void 0 ? domain : 'default']) !== null && _tannin$data2 !== void 0 && _tannin$data2[key]); + + if (hooks) { + /** + * Filters the presence of a translation in the locale data. + * + * @param {boolean} hasTranslation Whether the translation is present or not.. + * @param {string} single The singular form of the translated text (used as key in locale data) + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + result = + /** @type { boolean } */ + + /** @type {*} */ + hooks.applyFilters('i18n.has_translation', result, single, context, domain); + result = + /** @type { boolean } */ + + /** @type {*} */ + hooks.applyFilters('i18n.has_translation_' + getFilterDomain(domain), result, single, context, domain); + } + + return result; + }; + + if (initialData) { + setLocaleData(initialData, initialDomain); + } + + if (hooks) { + /** + * @param {string} hookName + */ + var onHookAddedOrRemoved = function onHookAddedOrRemoved(hookName) { + if (I18N_HOOK_REGEXP.test(hookName)) { + notifyListeners(); + } + }; + + hooks.addAction('hookAdded', 'core/i18n', onHookAddedOrRemoved); + hooks.addAction('hookRemoved', 'core/i18n', onHookAddedOrRemoved); + } + + return { + getLocaleData: getLocaleData, + setLocaleData: setLocaleData, + resetLocaleData: resetLocaleData, + subscribe: subscribe, + __: __, + _x: _x, + _n: _n, + _nx: _nx, + isRTL: isRTL, + hasTranslation: hasTranslation + }; +}; +//# sourceMappingURL=create-i18n.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/default-i18n.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/default-i18n.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ __: () => (/* binding */ __), +/* harmony export */ _n: () => (/* binding */ _n), +/* harmony export */ _nx: () => (/* binding */ _nx), +/* harmony export */ _x: () => (/* binding */ _x), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), +/* harmony export */ getLocaleData: () => (/* binding */ getLocaleData), +/* harmony export */ hasTranslation: () => (/* binding */ hasTranslation), +/* harmony export */ isRTL: () => (/* binding */ isRTL), +/* harmony export */ resetLocaleData: () => (/* binding */ resetLocaleData), +/* harmony export */ setLocaleData: () => (/* binding */ setLocaleData), +/* harmony export */ subscribe: () => (/* binding */ subscribe) +/* harmony export */ }); +/* harmony import */ var _create_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./create-i18n */ "./node_modules/@wordpress/i18n/build-module/create-i18n.js"); +/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/hooks */ "./node_modules/@wordpress/hooks/build-module/index.js"); +/** + * Internal dependencies + */ + +/** + * WordPress dependencies + */ + + +var i18n = (0,_create_i18n__WEBPACK_IMPORTED_MODULE_0__.createI18n)(undefined, undefined, _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__.defaultHooks); +/** + * Default, singleton instance of `I18n`. + */ + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (i18n); +/* + * Comments in this file are duplicated from ./i18n due to + * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722 + */ + +/** + * @typedef {import('./create-i18n').LocaleData} LocaleData + * @typedef {import('./create-i18n').SubscribeCallback} SubscribeCallback + * @typedef {import('./create-i18n').UnsubscribeCallback} UnsubscribeCallback + */ + +/** + * Returns locale data by domain in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {string} [domain] Domain for which to get the data. + * @return {LocaleData} Locale data. + */ + +var getLocaleData = i18n.getLocaleData.bind(i18n); +/** + * Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {LocaleData} [data] Locale data configuration. + * @param {string} [domain] Domain for which configuration applies. + */ + +var setLocaleData = i18n.setLocaleData.bind(i18n); +/** + * Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {LocaleData} [data] Locale data configuration. + * @param {string} [domain] Domain for which configuration applies. + */ + +var resetLocaleData = i18n.resetLocaleData.bind(i18n); +/** + * Subscribes to changes of locale data + * + * @param {SubscribeCallback} callback Subscription callback + * @return {UnsubscribeCallback} Unsubscribe callback + */ + +var subscribe = i18n.subscribe.bind(i18n); +/** + * Retrieve the translation of text. + * + * @see https://developer.wordpress.org/reference/functions/__/ + * + * @param {string} text Text to translate. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} Translated text. + */ + +var __ = i18n.__.bind(i18n); +/** + * Retrieve translated string with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_x/ + * + * @param {string} text Text to translate. + * @param {string} context Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} Translated context string without pipe. + */ + +var _x = i18n._x.bind(i18n); +/** + * Translates and retrieves the singular or plural form based on the supplied + * number. + * + * @see https://developer.wordpress.org/reference/functions/_n/ + * + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {number} number The number to compare against to use either the + * singular or plural form. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} The translated singular or plural form. + */ + +var _n = i18n._n.bind(i18n); +/** + * Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_nx/ + * + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {number} number The number to compare against to use either the + * singular or plural form. + * @param {string} context Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} The translated singular or plural form. + */ + +var _nx = i18n._nx.bind(i18n); +/** + * Check if current locale is RTL. + * + * **RTL (Right To Left)** is a locale property indicating that text is written from right to left. + * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common + * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages, + * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`). + * + * @return {boolean} Whether locale is RTL. + */ + +var isRTL = i18n.isRTL.bind(i18n); +/** + * Check if there is a translation for a given string (in singular form). + * + * @param {string} single Singular form of the string to look up. + * @param {string} [context] Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * @return {boolean} Whether the translation exists or not. + */ + +var hasTranslation = i18n.hasTranslation.bind(i18n); +//# sourceMappingURL=default-i18n.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/index.js": +/*!************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/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 */ __: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.__), +/* harmony export */ _n: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._n), +/* harmony export */ _nx: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._nx), +/* harmony export */ _x: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._x), +/* harmony export */ createI18n: () => (/* reexport safe */ _create_i18n__WEBPACK_IMPORTED_MODULE_1__.createI18n), +/* harmony export */ defaultI18n: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__["default"]), +/* harmony export */ getLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.getLocaleData), +/* harmony export */ hasTranslation: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.hasTranslation), +/* harmony export */ isRTL: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.isRTL), +/* harmony export */ resetLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.resetLocaleData), +/* harmony export */ setLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.setLocaleData), +/* harmony export */ sprintf: () => (/* reexport safe */ _sprintf__WEBPACK_IMPORTED_MODULE_0__.sprintf), +/* harmony export */ subscribe: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.subscribe) +/* harmony export */ }); +/* harmony import */ var _sprintf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sprintf */ "./node_modules/@wordpress/i18n/build-module/sprintf.js"); +/* harmony import */ var _create_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./create-i18n */ "./node_modules/@wordpress/i18n/build-module/create-i18n.js"); +/* harmony import */ var _default_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./default-i18n */ "./node_modules/@wordpress/i18n/build-module/default-i18n.js"); + + + +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/sprintf.js": +/*!**************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/sprintf.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ sprintf: () => (/* binding */ sprintf) +/* harmony export */ }); +/* harmony import */ var memize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! memize */ "./node_modules/memize/index.js"); +/* harmony import */ var memize__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(memize__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var sprintf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! sprintf-js */ "./node_modules/sprintf-js/src/sprintf.js"); +/* harmony import */ var sprintf_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(sprintf_js__WEBPACK_IMPORTED_MODULE_1__); +/** + * External dependencies + */ + + +/** + * Log to console, once per message; or more precisely, per referentially equal + * argument set. Because Jed throws errors, we log these to the console instead + * to avoid crashing the application. + * + * @param {...*} args Arguments to pass to `console.error` + */ + +var logErrorOnce = memize__WEBPACK_IMPORTED_MODULE_0___default()(console.error); // eslint-disable-line no-console + +/** + * Returns a formatted string. If an error occurs in applying the format, the + * original format string is returned. + * + * @param {string} format The format of the string to generate. + * @param {...*} args Arguments to apply to the format. + * + * @see https://www.npmjs.com/package/sprintf-js + * + * @return {string} The formatted string. + */ + +function sprintf(format) { + try { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + return sprintf_js__WEBPACK_IMPORTED_MODULE_1___default().sprintf.apply((sprintf_js__WEBPACK_IMPORTED_MODULE_1___default()), [format].concat(args)); + } catch (error) { + logErrorOnce('sprintf error: \n\n' + error.toString()); + return format; + } +} +//# sourceMappingURL=sprintf.js.map + +/***/ }), + +/***/ "./js/src/core/constants.js": +/*!**********************************!*\ + !*** ./js/src/core/constants.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ CHECKED_CLASS: () => (/* binding */ CHECKED_CLASS), +/* harmony export */ CURRENT_CLASS: () => (/* binding */ CURRENT_CLASS), +/* harmony export */ DISABLED_CLASS: () => (/* binding */ DISABLED_CLASS), +/* harmony export */ HIDDEN_CLASS: () => (/* binding */ HIDDEN_CLASS), +/* harmony export */ HIDE_JS_CLASS: () => (/* binding */ HIDE_JS_CLASS), +/* harmony export */ HOOKS: () => (/* binding */ HOOKS), +/* harmony export */ PLUGIN_URL: () => (/* binding */ PLUGIN_URL), +/* harmony export */ SINGLE_SETTINGS_CLASS: () => (/* binding */ SINGLE_SETTINGS_CLASS), +/* harmony export */ nonce: () => (/* binding */ nonce) +/* harmony export */ }); +var _window$frmGlobal = window.frmGlobal, + PLUGIN_URL = _window$frmGlobal.url, + nonce = _window$frmGlobal.nonce; + +var HIDDEN_CLASS = 'frm_hidden'; +var DISABLED_CLASS = 'frm_disabled'; +var HIDE_JS_CLASS = 'frm-hide-js'; +var CURRENT_CLASS = 'frm-current'; +var CHECKED_CLASS = 'frm-checked'; +var SINGLE_SETTINGS_CLASS = 'frm-single-settings'; +var HOOKS = { + SHOW_FIELD_SETTINGS: 'frmShowedFieldSettings' +}; + +/***/ }), + +/***/ "./js/src/core/factory/createPageElements.js": +/*!***************************************************!*\ + !*** ./js/src/core/factory/createPageElements.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createPageElements: () => (/* binding */ createPageElements) +/* harmony export */ }); +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 _objectSpread(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) { _defineProperty(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; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +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); } +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); } +/** + * Creates a page elements manager. + * + * @param {Object} [initialElements={}] An object containing initial DOM elements. + * @throws {Error} Throws an error if the `initialElements` is not an object. + * @return {Object} An object with methods to get and add elements. + */ +function createPageElements() { + var initialElements = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (_typeof(initialElements) !== 'object' || initialElements === null) { + throw new Error('createPageElements: initialElements must be a non-null object'); + } + var elements = initialElements; + + /** + * Retrieve the initialized essential DOM elements. + * + * @return {Object} The initialized elements object. + */ + function getElements() { + return elements; + } + + /** + * Add new elements to the elements object. + * + * @param {Object} newElements An object containing new elements to be added. + * @throws {Error} Throws an error if the `newElements` is not a non-null object. + * @return {void} Updates the elements object by merging the new elements into it. + */ + function addElements(newElements) { + if (_typeof(newElements) !== 'object' || newElements === null) { + throw new Error('addElements: newElements must be a non-null object'); + } + elements = _objectSpread(_objectSpread({}, elements), newElements); + } + return { + getElements: getElements, + addElements: addElements + }; +} + +/***/ }), + +/***/ "./js/src/core/factory/createPageState.js": +/*!************************************************!*\ + !*** ./js/src/core/factory/createPageState.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createPageState: () => (/* binding */ createPageState) +/* harmony export */ }); +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 _objectSpread(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) { _defineProperty(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; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +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); } +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); } +/** + * Creates a page state manager. + * + * @param {Object} [initialState={}] An object containing the initial state. + * @throws {Error} Throws an error if the `initialState` is not a plain object. + * @return {Object} An object with methods to initialize, get, and set the page state. + */ +function createPageState() { + var initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (_typeof(initialState) !== 'object' || initialState === null) { + throw new Error('createPageState: initialState must be a non-null object'); + } + var state = initialState; + + /** + * Returns the current page state. + * + * @return {Object|null} The current state of the page or null if not initialized. + */ + var getState = function getState() { + return state; + }; + + /** + * Returns a specific property from the current page state. + * + * @param {string} propertyName The name of the property to retrieve. + * @return {*} The value of the specified property, or null if it doesn't exist. + */ + var getSingleState = function getSingleState(propertyName) { + var value = Reflect.get(state, propertyName); + + // We convert `undefined` to `null` for a consistent API. + // This makes it easier for users to handle the results since all missing properties return `null`. + return value === undefined ? null : value; + }; + + /** + * Updates the page state with new values. + * + * @param {Object} newState The new values to update the state with. + * @throws {Error} Throws an error if `newState` is not a plain object. + * @return {void} + */ + var setState = function setState(newState) { + if (_typeof(newState) !== 'object' || newState === null) { + throw new Error('setState: newState must be a non-null object'); + } + state = _objectSpread(_objectSpread({}, state), newState); + }; + + /** + * Updates a specific property in the page state with a new value. + * + * @param {string} propertyName The name of the property to update. + * @param {*} value The new value to set for the property. + * @return {void} + */ + var setSingleState = function setSingleState(propertyName, value) { + if (Reflect.has(state, propertyName)) { + Reflect.set(state, propertyName, value); + } + }; + return { + getState: getState, + getSingleState: getSingleState, + setState: setState, + setSingleState: setSingleState + }; +} + +/***/ }), + +/***/ "./js/src/core/factory/index.js": +/*!**************************************!*\ + !*** ./js/src/core/factory/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 */ createPageElements: () => (/* reexport safe */ _createPageElements__WEBPACK_IMPORTED_MODULE_0__.createPageElements), +/* harmony export */ createPageState: () => (/* reexport safe */ _createPageState__WEBPACK_IMPORTED_MODULE_1__.createPageState) +/* harmony export */ }); +/* harmony import */ var _createPageElements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createPageElements */ "./js/src/core/factory/createPageElements.js"); +/* harmony import */ var _createPageState__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createPageState */ "./js/src/core/factory/createPageState.js"); + + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/constants.js": +/*!************************************************!*\ + !*** ./js/src/core/page-skeleton/constants.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ PREFIX: () => (/* binding */ PREFIX), +/* harmony export */ SEARCH_RESULT_ITEM: () => (/* binding */ SEARCH_RESULT_ITEM), +/* harmony export */ VIEWS: () => (/* binding */ VIEWS) +/* harmony export */ }); +var PREFIX = 'frm-page-skeleton'; +var SEARCH_RESULT_ITEM = 'frm-card-item'; +var VIEWS = { + ALL_ITEMS: 'all-items' +}; + +/***/ }), + +/***/ "./js/src/core/page-skeleton/elements/elements.js": +/*!********************************************************!*\ + !*** ./js/src/core/page-skeleton/elements/elements.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addElements: () => (/* binding */ addElements), +/* harmony export */ getElements: () => (/* binding */ getElements) +/* harmony export */ }); +/* harmony import */ var core_factory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/factory */ "./js/src/core/factory/index.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants */ "./js/src/core/page-skeleton/constants.js"); +/* harmony import */ var _emptyStateElement__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./emptyStateElement */ "./js/src/core/page-skeleton/elements/emptyStateElement.js"); +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); } +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 _objectSpread(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) { _defineProperty(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; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +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); } +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + +var bodyContent = document.getElementById('post-body-content'); +var sidebar = document.getElementById("".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-sidebar")); + +// Append empty state elements to body content +var emptyState = (0,_emptyStateElement__WEBPACK_IMPORTED_MODULE_2__.createEmptyStateElement)(); +bodyContent === null || bodyContent === void 0 || bodyContent.appendChild(emptyState); +var emptyStateElements = (0,_emptyStateElement__WEBPACK_IMPORTED_MODULE_2__.getEmptyStateElements)(); +var _createPageElements = (0,core_factory__WEBPACK_IMPORTED_MODULE_0__.createPageElements)(_objectSpread({ + bodyContent: bodyContent, + // Sidebar elements + sidebar: sidebar, + searchInput: sidebar.querySelector('.frm-search-input'), + categoryItems: sidebar.querySelectorAll(".".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-cat")), + allItemsCategory: sidebar.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-cat[data-category=\"").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.VIEWS.ALL_ITEMS, "\"]")) + }, emptyStateElements)), + getElements = _createPageElements.getElements, + addElements = _createPageElements.addElements; + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/elements/emptyStateElement.js": +/*!*****************************************************************!*\ + !*** ./js/src/core/page-skeleton/elements/emptyStateElement.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createEmptyStateElement: () => (/* binding */ createEmptyStateElement), +/* harmony export */ getEmptyStateElements: () => (/* binding */ getEmptyStateElements) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants */ "./js/src/core/page-skeleton/constants.js"); +/** + * WordPress dependencies + */ + + +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + +var _window$frmDom = window.frmDom, + tag = _window$frmDom.tag, + div = _window$frmDom.div, + a = _window$frmDom.a, + img = _window$frmDom.img; + +/** + * Create and return the Empty State HTML element. + * + * @return {HTMLElement} The Empty State element. + */ +function createEmptyStateElement() { + var button = a({ + className: 'button button-primary frm-button-primary' + }); + button.setAttribute('role', 'button'); + return div({ + id: "".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-empty-state"), + className: "frm-flex-col frm-flex-center frm-gap-md ".concat(core_constants__WEBPACK_IMPORTED_MODULE_1__.HIDDEN_CLASS), + children: [img({ + src: "".concat(core_constants__WEBPACK_IMPORTED_MODULE_1__.PLUGIN_URL, "/images/page-skeleton/empty-state.svg"), + alt: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Empty State', 'formidable') + }), div({ + className: 'frmcenter', + children: [tag('h2', { + className: "".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-title frm-mb-0") + }), tag('p', { + className: "".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-text frm-mb-0") + })] + }), button] + }); +} + +/** + * Return the elements related to the Empty State. + * + * @return {Object} Object containing Empty State related DOM elements. + */ +function getEmptyStateElements() { + var emptyState = document.querySelector("#".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-empty-state")); + return { + emptyState: emptyState, + emptyStateTitle: emptyState === null || emptyState === void 0 ? void 0 : emptyState.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-title")), + emptyStateText: emptyState === null || emptyState === void 0 ? void 0 : emptyState.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-text")), + emptyStateButton: emptyState === null || emptyState === void 0 ? void 0 : emptyState.querySelector('.button') + }; +} + +/***/ }), + +/***/ "./js/src/core/page-skeleton/elements/index.js": +/*!*****************************************************!*\ + !*** ./js/src/core/page-skeleton/elements/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 */ addElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_0__.addElements), +/* harmony export */ getElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_0__.getElements) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./elements */ "./js/src/core/page-skeleton/elements/elements.js"); + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/events/categoryListener.js": +/*!**************************************************************!*\ + !*** ./js/src/core/page-skeleton/events/categoryListener.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addCategoryEvents: () => (/* binding */ addCategoryEvents) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../elements */ "./js/src/core/page-skeleton/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared */ "./js/src/core/page-skeleton/shared/index.js"); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! . */ "./js/src/core/page-skeleton/events/index.js"); +/** + * External dependencies + */ + + + +/** + * Internal dependencies + */ + + + + +/** + * Manages event handling for sidebar category links. + * + * @return {void} + */ +function addCategoryEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + categoryItems = _getElements.categoryItems; + + // Attach click and keyboard event listeners to each sidebar category + categoryItems.forEach(function (category) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.onClickPreventDefault)(category, onCategoryClick); + category.addEventListener('keydown', onCategoryKeydown); + }); +} + +/** + * Handles the click event on a category item. + * + * @private + * @param {Event} event The click event object. + */ +var onCategoryClick = function onCategoryClick(event) { + var clickedCategory = event.currentTarget; + var newSelectedCategory = clickedCategory.getAttribute('data-category'); + var _getState = (0,_shared__WEBPACK_IMPORTED_MODULE_3__.getState)(), + selectedCategory = _getState.selectedCategory, + selectedCategoryEl = _getState.selectedCategoryEl, + notEmptySearchText = _getState.notEmptySearchText; + + // If the selected category hasn't changed, return early + if (selectedCategory === newSelectedCategory) { + return; + } + + /** + * Filter hook to modify the selected category. + * + * @param {string} selectedCategory The selected category + */ + selectedCategory = wp.hooks.applyFilters('frmPage.selectedCategory', newSelectedCategory); + + // Highlight the newly clicked category and update the application state + selectedCategoryEl.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.CURRENT_CLASS); + selectedCategoryEl = clickedCategory; + selectedCategoryEl.classList.add(core_constants__WEBPACK_IMPORTED_MODULE_0__.CURRENT_CLASS); + (0,_shared__WEBPACK_IMPORTED_MODULE_3__.setState)({ + selectedCategory: selectedCategory, + selectedCategoryEl: selectedCategoryEl + }); + + // Reset the search input if it contains text + if (notEmptySearchText) { + (0,___WEBPACK_IMPORTED_MODULE_4__.resetSearchInput)(); + } + + /** + * Trigger custom action to update category content. + * + * @param {string} selectedCategory The selected category. + */ + wp.hooks.doAction('frmPage.onCategoryClick', selectedCategory); + + // Smoothly display the updated UI elements + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + bodyContent = _getElements2.bodyContent; + new core_utils__WEBPACK_IMPORTED_MODULE_1__.frmAnimate(bodyContent).fadeIn(); +}; + +/** + * Handles the keyboard event on a category item. + * + * @param {KeyboardEvent} event The keyboard event object. + * @return {void} + */ +function onCategoryKeydown(event) { + // Only respond to 'Enter' or 'Space' key presses + if (event.key === 'Enter' || event.key === ' ') { + event.preventDefault(); + onCategoryClick(event); + } +} + +/***/ }), + +/***/ "./js/src/core/page-skeleton/events/index.js": +/*!***************************************************!*\ + !*** ./js/src/core/page-skeleton/events/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 */ addCategoryEvents: () => (/* reexport safe */ _categoryListener__WEBPACK_IMPORTED_MODULE_1__.addCategoryEvents), +/* harmony export */ resetSearchInput: () => (/* binding */ resetSearchInput) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../elements */ "./js/src/core/page-skeleton/elements/index.js"); +/* harmony import */ var _categoryListener__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./categoryListener */ "./js/src/core/page-skeleton/events/categoryListener.js"); +/** + * Internal dependencies + */ + + +/** + * Resets the value of the search input and triggers an input event. + * + * @return {void} + */ +function resetSearchInput() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + searchInput = _getElements.searchInput; + searchInput.value = ''; + searchInput.dispatchEvent(new Event('input', { + bubbles: true + })); +} + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/index.js": +/*!********************************************!*\ + !*** ./js/src/core/page-skeleton/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 */ PREFIX: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.PREFIX), +/* harmony export */ SEARCH_RESULT_ITEM: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.SEARCH_RESULT_ITEM), +/* harmony export */ VIEWS: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.VIEWS), +/* harmony export */ addCategoryEvents: () => (/* reexport safe */ _events__WEBPACK_IMPORTED_MODULE_3__.addCategoryEvents), +/* harmony export */ addElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_1__.addElements), +/* harmony export */ getElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_1__.getElements), +/* harmony export */ getSingleState: () => (/* reexport safe */ _shared__WEBPACK_IMPORTED_MODULE_2__.getSingleState), +/* harmony export */ getState: () => (/* reexport safe */ _shared__WEBPACK_IMPORTED_MODULE_2__.getState), +/* harmony export */ resetSearchInput: () => (/* reexport safe */ _events__WEBPACK_IMPORTED_MODULE_3__.resetSearchInput), +/* harmony export */ setSingleState: () => (/* reexport safe */ _shared__WEBPACK_IMPORTED_MODULE_2__.setSingleState), +/* harmony export */ setState: () => (/* reexport safe */ _shared__WEBPACK_IMPORTED_MODULE_2__.setState) +/* harmony export */ }); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./js/src/core/page-skeleton/constants.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./elements */ "./js/src/core/page-skeleton/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shared */ "./js/src/core/page-skeleton/shared/index.js"); +/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./events */ "./js/src/core/page-skeleton/events/index.js"); + + + + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/shared/index.js": +/*!***************************************************!*\ + !*** ./js/src/core/page-skeleton/shared/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 */ getSingleState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.getSingleState), +/* harmony export */ getState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.getState), +/* harmony export */ setSingleState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.setSingleState), +/* harmony export */ setState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.setState) +/* harmony export */ }); +/* harmony import */ var _pageState__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pageState */ "./js/src/core/page-skeleton/shared/pageState.js"); + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/shared/pageState.js": +/*!*******************************************************!*\ + !*** ./js/src/core/page-skeleton/shared/pageState.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getSingleState: () => (/* binding */ getSingleState), +/* harmony export */ getState: () => (/* binding */ getState), +/* harmony export */ setSingleState: () => (/* binding */ setSingleState), +/* harmony export */ setState: () => (/* binding */ setState) +/* harmony export */ }); +/* harmony import */ var core_factory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/factory */ "./js/src/core/factory/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../elements */ "./js/src/core/page-skeleton/elements/index.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants */ "./js/src/core/page-skeleton/constants.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + +var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_1__.getElements)(), + allItemsCategory = _getElements.allItemsCategory; +var _createPageState = (0,core_factory__WEBPACK_IMPORTED_MODULE_0__.createPageState)({ + notEmptySearchText: false, + selectedCategory: _constants__WEBPACK_IMPORTED_MODULE_2__.VIEWS.ALL_ITEMS, + selectedCategoryEl: allItemsCategory + }), + getState = _createPageState.getState, + getSingleState = _createPageState.getSingleState, + setState = _createPageState.setState, + setSingleState = _createPageState.setSingleState; + + +/***/ }), + +/***/ "./js/src/core/utils/animation.js": +/*!****************************************!*\ + !*** ./js/src/core/utils/animation.js ***! + \****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ frmAnimate: () => (/* binding */ frmAnimate) +/* 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); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +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); } +var frmAnimate = /*#__PURE__*/function () { + /** + * Construct frmAnimate + * + * @param {Element|Element[]} elements The elements to animate. + * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d + */ + function frmAnimate(elements) { + var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default'; + _classCallCheck(this, frmAnimate); + this.elements = elements; + this.type = type; + this.prepareElements(); + } + + /** + * Init animation - fadeIn. + * Requires this.type = 'default'; + * ex: new frmAnimate( elements ).fadeIn(); + */ + return _createClass(frmAnimate, [{ + key: "fadeIn", + value: function fadeIn() { + var _this = this; + this.applyStyleToElements(function (element) { + element.classList.add('frm-fadein-up'); + element.addEventListener('animationend', function () { + _this.resetOpacity(); + element.classList.remove('frm-fadein-up'); + }, { + once: true + }); + }); + } + + /** + * Init animation - cascadeFadeIn. + * Requires this.type = 'cascade'|'cascade-3d'; + * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn(); + * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn(); + * + * @param {number} delay The transition delay value. + */ + }, { + key: "cascadeFadeIn", + value: function cascadeFadeIn() { + var _this2 = this; + var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.03; + setTimeout(function () { + _this2.applyStyleToElements(function (element, index) { + element.classList.remove('frm-animate'); + element.style.transitionDelay = (index + 1) * delay + 's'; + }); + }, 200); + } + }, { + key: "prepareElements", + value: function prepareElements() { + var _this3 = this; + this.applyStyleToElements(function (element) { + if ('default' === _this3.type) { + element.style.opacity = '0.0'; + } + if ('cascade' === _this3.type) { + element.classList.add('frm-init-cascade-animation'); + } + if ('cascade-3d' === _this3.type) { + element.classList.add('frm-init-fadein-3d'); + } + element.classList.add('frm-animate'); + }); + } + }, { + key: "resetOpacity", + value: function resetOpacity() { + this.applyStyleToElements(function (element) { + return element.style.opacity = '1.0'; + }); + } + }, { + key: "applyStyleToElements", + value: function applyStyleToElements(callback) { + if (this.elements instanceof Element) { + callback(this.elements, 0); + return; + } + if (0 < this.elements.length) { + this.elements.forEach(function (element, index) { + return callback(element, index); + }); + } + } + }]); +}(); + +/***/ }), + +/***/ "./js/src/core/utils/async.js": +/*!************************************!*\ + !*** ./js/src/core/utils/async.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addToRequestQueue: () => (/* binding */ addToRequestQueue) +/* harmony export */ }); +// Initialize lastPromise with a resolved promise as the starting point for the queue +var lastPromise = Promise.resolve(); + +/** + * Adds a task to the request queue. + * + * @param {function(): Promise} task A function that returns a promise. + * @return {Promise} The new last promise in the queue. + */ +var addToRequestQueue = function addToRequestQueue(task) { + return lastPromise = lastPromise.then(task).catch(task); +}; + +/***/ }), + +/***/ "./js/src/core/utils/error.js": +/*!************************************!*\ + !*** ./js/src/core/utils/error.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ showFormError: () => (/* binding */ showFormError) +/* harmony export */ }); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! . */ "./js/src/core/utils/index.js"); +/** + * Internal dependencies + */ + + +/** + * Displays form validation error messages. + * + * @param {string} inputId The ID selector for the input field with the error. + * @param {string} errorId The ID selector for the error message display element. + * @param {string} type The categorization of the error (e.g., "invalid", "empty"). + * @param {string} [message] Optional. The specific error message to display. + * @return {void} + */ +var showFormError = function showFormError(inputId, errorId, type, message) { + var inputElement = document.querySelector(inputId); + var errorElement = document.querySelector(errorId); + if (!inputElement || !errorElement) { + console.warn('showFormError: Unable to find input or error element.'); + return; + } + + // If a message is provided, update the span element's text that matches the error type + if (message) { + var span = errorElement.querySelector("span[frm-error=\"".concat(type, "\"]")); + if (span) { + span.textContent = message; + } + } + + // Assign the error type and make the error message visible + errorElement.setAttribute('frm-error', type); + (0,___WEBPACK_IMPORTED_MODULE_0__.show)(errorElement); + + // Hide the error message when the user starts typing in the faulty input field + inputElement.addEventListener('keyup', function () { + (0,___WEBPACK_IMPORTED_MODULE_0__.hide)(errorElement); + }, { + once: true + }); +}; + +/***/ }), + +/***/ "./js/src/core/utils/event.js": +/*!************************************!*\ + !*** ./js/src/core/utils/event.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ documentOn: () => (/* binding */ documentOn), +/* harmony export */ onClickPreventDefault: () => (/* binding */ onClickPreventDefault) +/* harmony export */ }); +var _window$frmDom$util = window.frmDom.util, + onClickPreventDefault = _window$frmDom$util.onClickPreventDefault, + documentOn = _window$frmDom$util.documentOn; + + +/***/ }), + +/***/ "./js/src/core/utils/index.js": +/*!************************************!*\ + !*** ./js/src/core/utils/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 */ addToRequestQueue: () => (/* reexport safe */ _async__WEBPACK_IMPORTED_MODULE_1__.addToRequestQueue), +/* harmony export */ documentOn: () => (/* reexport safe */ _event__WEBPACK_IMPORTED_MODULE_3__.documentOn), +/* harmony export */ frmAnimate: () => (/* reexport safe */ _animation__WEBPACK_IMPORTED_MODULE_0__.frmAnimate), +/* harmony export */ getQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.getQueryParam), +/* harmony export */ hasQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.hasQueryParam), +/* harmony export */ hide: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.hide), +/* harmony export */ hideElements: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.hideElements), +/* harmony export */ isEmptyObject: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isEmptyObject), +/* harmony export */ isHTMLElement: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isHTMLElement), +/* harmony export */ isValidEmail: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isValidEmail), +/* harmony export */ isVisible: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.isVisible), +/* harmony export */ onClickPreventDefault: () => (/* reexport safe */ _event__WEBPACK_IMPORTED_MODULE_3__.onClickPreventDefault), +/* harmony export */ removeQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.removeQueryParam), +/* harmony export */ setQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.setQueryParam), +/* harmony export */ show: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.show), +/* harmony export */ showElements: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.showElements), +/* harmony export */ showFormError: () => (/* reexport safe */ _error__WEBPACK_IMPORTED_MODULE_2__.showFormError) +/* harmony export */ }); +/* harmony import */ var _animation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./animation */ "./js/src/core/utils/animation.js"); +/* harmony import */ var _async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./async */ "./js/src/core/utils/async.js"); +/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./error */ "./js/src/core/utils/error.js"); +/* harmony import */ var _event__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./event */ "./js/src/core/utils/event.js"); +/* harmony import */ var _url__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./url */ "./js/src/core/utils/url.js"); +/* harmony import */ var _validation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./validation */ "./js/src/core/utils/validation.js"); +/* harmony import */ var _visibility__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./visibility */ "./js/src/core/utils/visibility.js"); + + + + + + + + +/***/ }), + +/***/ "./js/src/core/utils/url.js": +/*!**********************************!*\ + !*** ./js/src/core/utils/url.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getQueryParam: () => (/* binding */ getQueryParam), +/* harmony export */ hasQueryParam: () => (/* binding */ hasQueryParam), +/* harmony export */ removeQueryParam: () => (/* binding */ removeQueryParam), +/* harmony export */ setQueryParam: () => (/* binding */ setQueryParam) +/* 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); } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +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); } +/** + * Initializes URL and URLSearchParams objects from the current window's location + */ +var url = new URL(window.location.href); +var urlParams = url.searchParams; + +/** + * Gets the value of a specified query parameter from the current URL. + * + * @param {string} paramName The name of the query parameter to retrieve. + * @return {string|null} The value associated with the specified query parameter name, or null if not found. + */ +var getQueryParam = function getQueryParam(paramName) { + return urlParams.get(paramName); +}; + +/** + * Removes a query parameter from the current URL and returns the updated URL string. + * + * @param {string} paramName The name of the query parameter to remove. + * @return {string} The updated URL string. + */ +var removeQueryParam = function removeQueryParam(paramName) { + urlParams.delete(paramName); + url.search = urlParams.toString(); + return url.toString(); +}; + +/** + * Sets the value of a query parameter in the current URL and optionally updates the browser's history state. + * + * @param {string} paramName The name of the query parameter to set. + * @param {string} paramValue The value to set for the query parameter. + * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'. + * @return {string} The updated URL string. + */ +var setQueryParam = function setQueryParam(paramName, paramValue) { + var updateMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'pushState'; + urlParams.set(paramName, paramValue); + url.search = urlParams.toString(); + if (['pushState', 'replaceState'].includes(updateMethod)) { + var state = _defineProperty({}, paramName, paramValue); + window.history[updateMethod](state, '', url); + } + return url.toString(); +}; + +/** + * Checks if a query parameter exists in the current URL. + * + * @param {string} paramName The name of the query parameter to check. + * @return {boolean} True if the query parameter exists, otherwise false. + */ +var hasQueryParam = function hasQueryParam(paramName) { + return urlParams.has(paramName); +}; + +/***/ }), + +/***/ "./js/src/core/utils/validation.js": +/*!*****************************************!*\ + !*** ./js/src/core/utils/validation.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ isEmptyObject: () => (/* binding */ isEmptyObject), +/* harmony export */ isHTMLElement: () => (/* binding */ isHTMLElement), +/* harmony export */ isValidEmail: () => (/* binding */ isValidEmail) +/* harmony export */ }); +/** + * Validates an email address using a regular expression. + * + * @param {string} email The email address to validate. + * @return {boolean} True if the email address is valid, otherwise false. + */ +var isValidEmail = function isValidEmail(email) { + return typeof email === 'string' ? /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(email) : false; +}; + +/** + * Validates if the given element is an instance of HTMLElement. + * + * @param {any} element Element to be checked. + * @return {boolean} True if it's an HTMLElement, otherwise false. + */ +var isHTMLElement = function isHTMLElement(element) { + return element instanceof HTMLElement || console.warn('Invalid argument: Element must be an instance of HTMLElement') || false; +}; + +/** + * Checks if the given object is empty. + * + * @param {Object} obj The object to check. + * @return {boolean} True if the object is empty, otherwise false. + */ +var isEmptyObject = function isEmptyObject(obj) { + return Object.keys(obj).length === 0 && obj.constructor === Object; +}; + +/***/ }), + +/***/ "./js/src/core/utils/visibility.js": +/*!*****************************************!*\ + !*** ./js/src/core/utils/visibility.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ hide: () => (/* binding */ hide), +/* harmony export */ hideElements: () => (/* binding */ hideElements), +/* harmony export */ isVisible: () => (/* binding */ isVisible), +/* harmony export */ show: () => (/* binding */ show), +/* harmony export */ showElements: () => (/* binding */ showElements) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/** + * Internal dependencies + */ + + +/** + * Shows specified elements by removing the hidden class. + * + * @param {Array} elements An array of elements to show. + * @return {void} + */ +var showElements = function showElements(elements) { + var _Array$from; + return (_Array$from = Array.from(elements)) === null || _Array$from === void 0 ? void 0 : _Array$from.forEach(function (element) { + return show(element); + }); +}; + +/** + * Hides specified elements by adding the hidden class. + * + * @param {Array} elements An array of elements to hide. + * @return {void} + */ +var hideElements = function hideElements(elements) { + var _Array$from2; + return (_Array$from2 = Array.from(elements)) === null || _Array$from2 === void 0 ? void 0 : _Array$from2.forEach(function (element) { + return hide(element); + }); +}; + +/** + * Removes the hidden class to show the element. + * + * @param {Element} element The element to show. + * @return {void} + */ +var show = function show(element) { + return element === null || element === void 0 ? void 0 : element.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); +}; + +/** + * Adds the hidden class to hide the element. + * + * @param {Element} element The element to hide. + * @return {void} + */ +var hide = function hide(element) { + return element === null || element === void 0 ? void 0 : element.classList.add(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); +}; + +/** + * Checks if an element is visible. + * + * @param {HTMLElement} element The HTML element to check for visibility. + * @return {boolean} Returns true if the element is visible, otherwise false. + */ +var isVisible = function isVisible(element) { + var styles = window.getComputedStyle(element); + return styles.getPropertyValue('display') !== 'none'; +}; + +/***/ }), + +/***/ "./js/src/form-templates/elements/applicationTemplatesElement.js": +/*!***********************************************************************!*\ + !*** ./js/src/form-templates/elements/applicationTemplatesElement.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addApplicationTemplatesElement: () => (/* binding */ addApplicationTemplatesElement), +/* harmony export */ createApplicationTemplates: () => (/* binding */ createApplicationTemplates) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./elements */ "./js/src/form-templates/elements/elements.js"); +/** + * WordPress dependencies + */ + + +/** + * External dependencies + */ + + + +/** + * Internal dependencies + */ + + +var _window$frmDom = window.frmDom, + tag = _window$frmDom.tag, + div = _window$frmDom.div, + span = _window$frmDom.span, + a = _window$frmDom.a, + img = _window$frmDom.img; + +// Application templates element +var applicationTemplates; + +// Base URL for the thumbnail images of applications +var thumbnailBaseURL = "".concat(core_constants__WEBPACK_IMPORTED_MODULE_1__.PLUGIN_URL, "/images/applications/thumbnails"); + +/** + * Create and return the application templates HTML element. + * + * @param {Object[]} applications Array of application objects. + * @return {void} + */ +function createApplicationTemplates(applications) { + if (!applications || !applications.length) { + return; + } + var templateItems = applications.map(function (template) { + return createTemplateItem(template); + }); + applicationTemplates = div({ + id: "".concat(_shared__WEBPACK_IMPORTED_MODULE_3__.PREFIX, "-applications"), + className: core_constants__WEBPACK_IMPORTED_MODULE_1__.HIDDEN_CLASS, + children: [tag('h2', { + text: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Application Templates'), + className: 'frm-text-sm frm-mb-sm' + }), tag('ul', { + className: "".concat(_shared__WEBPACK_IMPORTED_MODULE_3__.PREFIX, "-list frm-list-grid-layout"), + children: templateItems + })] + }); +} + +/** + * Create and return an individual item element for a application template. + * + * @private + * @param {Object} template The application object. + * @return {HTMLElement} Element representing a single application template. + */ +function createTemplateItem(template) { + var name = template.name, + key = template.key, + hasLiteThumbnail = template.hasLiteThumbnail, + isWebp = template.isWebp; + // eslint-disable-next-line no-nested-ternary + var thumbnailURL = hasLiteThumbnail ? isWebp ? "".concat(thumbnailBaseURL, "/").concat(key, ".webp") : "".concat(thumbnailBaseURL, "/").concat(key, ".png") : "".concat(thumbnailBaseURL, "/placeholder.svg"); + return tag('li', { + className: 'frm-card-item', + data: { + href: "".concat(_shared__WEBPACK_IMPORTED_MODULE_3__.applicationsUrl, "&triggerViewApplicationModal=1&template=").concat(key), + 'frm-search-text': name.toLowerCase() + }, + children: [div({ + className: "".concat(_shared__WEBPACK_IMPORTED_MODULE_3__.PREFIX, "-item-icon"), + child: img({ + src: thumbnailURL + }) + }), div({ + className: "".concat(_shared__WEBPACK_IMPORTED_MODULE_3__.PREFIX, "-item-body"), + children: [span({ + text: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Ready Made Solution', 'formidable'), + className: 'frm-meta-tag frm-orange-tag frm-text-xs' + }), tag('h3', { + text: name, + className: 'frm-text-sm frm-font-medium frm-m-0' + }), a({ + text: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('See all applications', 'formidable'), + className: 'frm-text-xs frm-font-semibold', + href: _shared__WEBPACK_IMPORTED_MODULE_3__.applicationsUrl + })] + })] + }); +} + +/** + * Inject application Templates elements into the DOM and the elements object. + * + * @return {void} + */ +function addApplicationTemplatesElement() { + var elements = (0,_elements__WEBPACK_IMPORTED_MODULE_4__.getElements)(); + if (elements.applicationTemplates || undefined === applicationTemplates) { + return; + } + elements.bodyContent.appendChild(applicationTemplates); + (0,_elements__WEBPACK_IMPORTED_MODULE_4__.addElements)({ + applicationTemplates: applicationTemplates, + applicationTemplatesTitle: applicationTemplates.querySelector('h2'), + applicationTemplatesList: applicationTemplates.querySelector(".".concat(_shared__WEBPACK_IMPORTED_MODULE_3__.PREFIX, "-list")), + applicationTemplateItems: applicationTemplates.querySelectorAll('.frm-card-item') + }); +} + +/***/ }), + +/***/ "./js/src/form-templates/elements/elements.js": +/*!****************************************************!*\ + !*** ./js/src/form-templates/elements/elements.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addElements: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.addElements), +/* harmony export */ getElements: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.getElements) +/* harmony export */ }); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +var _document$getElementB; +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + +var _getElements = (0,core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + bodyContent = _getElements.bodyContent; +var templatesList = document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-list")); +var customTemplatesSection = document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-custom-list-section")); +var favoritesCategory = document.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.PREFIX, "-cat[data-category=\"").concat(_shared__WEBPACK_IMPORTED_MODULE_1__.VIEW_SLUGS.FAVORITES, "\"]")); +var modal = document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-modal")); +(0,core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.addElements)({ + // Body elements + headerCancelButton: (_document$getElementB = document.getElementById('frm-publishing')) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.querySelector('a'), + createFormButton: document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-create-form")), + pageTitle: document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-page-title")), + pageTitleText: document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-page-title-text")), + pageTitleDivider: document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-page-title-divider")), + upsellBanner: document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-upsell-banner")), + extraTemplateCountElements: document.querySelectorAll(".".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-extra-templates-count")), + // Templates elements + templatesList: templatesList, + templateItems: templatesList.querySelectorAll('.frm-card-item'), + availableTemplateItems: templatesList.querySelectorAll(".frm-card-item:not(.".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-locked-item)")), + twinFeaturedTemplateItems: templatesList.querySelectorAll(".".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-featured-item")), + featuredTemplatesList: document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-featured-list")), + // Custom Templates Section elements + customTemplatesSection: customTemplatesSection, + customTemplateItems: customTemplatesSection.querySelectorAll('.frm-card-item'), + customTemplatesTitle: document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-custom-list-title")), + customTemplatesList: document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-custom-list")), + // Sidebar elements + favoritesCategory: favoritesCategory, + favoritesCategoryCountEl: favoritesCategory === null || favoritesCategory === void 0 ? void 0 : favoritesCategory.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.PREFIX, "-cat-count")), + availableTemplatesCategory: document.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.PREFIX, "-cat[data-category=\"").concat(_shared__WEBPACK_IMPORTED_MODULE_1__.VIEW_SLUGS.AVAILABLE_TEMPLATES, "\"]")), + // Modal elements + modal: modal, + modalItems: modal === null || modal === void 0 ? void 0 : modal.querySelectorAll(".".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-modal-item")), + // Create New Template Modal + showCreateTemplateModalButton: document.getElementById('frm-show-create-template-modal'), + createTemplateModal: document.getElementById('frm-create-template-modal'), + createTemplateFormsDropdown: document.getElementById('frm-create-template-modal-forms-select'), + createTemplateName: document.getElementById('frm_create_template_name'), + createTemplateDescription: document.getElementById('frm_create_template_description'), + createTemplateButton: document.getElementById('frm-create-template-button'), + // Renew Account Modal + renewAccountModal: document.getElementById('frm-renew-modal'), + // Upgrade Modal + upgradeModal: document.getElementById('frm-form-upgrade-modal'), + upgradeModalTemplateNames: modal === null || modal === void 0 ? void 0 : modal.querySelectorAll('.frm-upgrade-modal-template-name'), + upgradeModalPlansIcons: modal === null || modal === void 0 ? void 0 : modal.querySelectorAll('.frm-upgrade-modal-plan-icon'), + upgradeModalLink: document.getElementById('frm-upgrade-modal-link'), + // New Template Form elements + newTemplateForm: document.getElementById('frm-new-template'), + newTemplateNameInput: document.getElementById('frm_template_name'), + newTemplateDescriptionInput: document.getElementById('frm_template_desc'), + newTemplateLinkInput: document.getElementById('frm_link'), + newTemplateActionInput: document.getElementById('frm_action_type'), + // Add children of the bodyContent to the elements object. + bodyContentChildren: bodyContent === null || bodyContent === void 0 ? void 0 : bodyContent.children +}); + + +/***/ }), + +/***/ "./js/src/form-templates/elements/index.js": +/*!*************************************************!*\ + !*** ./js/src/form-templates/elements/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 */ addApplicationTemplatesElement: () => (/* reexport safe */ _applicationTemplatesElement__WEBPACK_IMPORTED_MODULE_1__.addApplicationTemplatesElement), +/* harmony export */ addElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_0__.addElements), +/* harmony export */ createApplicationTemplates: () => (/* reexport safe */ _applicationTemplatesElement__WEBPACK_IMPORTED_MODULE_1__.createApplicationTemplates), +/* harmony export */ getElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_0__.getElements) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./elements */ "./js/src/form-templates/elements/elements.js"); +/* harmony import */ var _applicationTemplatesElement__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./applicationTemplatesElement */ "./js/src/form-templates/elements/applicationTemplatesElement.js"); + + + +/***/ }), + +/***/ "./js/src/form-templates/events/applicationTemplateListener.js": +/*!*********************************************************************!*\ + !*** ./js/src/form-templates/events/applicationTemplateListener.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addApplicationTemplateEvents: () => (/* binding */ addApplicationTemplateEvents) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/** + * Internal dependencies + */ + + +/** + * Manages event handling for an application template. + * + * @return {void} + */ +function addApplicationTemplateEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + applicationTemplateItems = _getElements.applicationTemplateItems; + if (undefined === applicationTemplateItems) { + return; + } + + // Attach click event listener + applicationTemplateItems.forEach(function (template) { + template.addEventListener('click', onApplicationTemplateClick); + }); +} + +/** + * Handles the click event on an application template. + * + * @private + * @param {Event} event The click event object. + * @return {void} + */ +var onApplicationTemplateClick = function onApplicationTemplateClick(event) { + // Check if the clicked element is an anchor tag + if (event.target.closest('a')) { + return; + } + var applicationTemplate = event.currentTarget; + window.location.href = applicationTemplate.dataset.href; +}; + +/***/ }), + +/***/ "./js/src/form-templates/events/createFormButtonListener.js": +/*!******************************************************************!*\ + !*** ./js/src/form-templates/events/createFormButtonListener.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 */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/** + * WordPress dependencies + */ + + +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + +/** + * Manages event handling for the "Create a blank form" button. + * + * @return {void} + */ +function addCreateFormButtonEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + createFormButton = _getElements.createFormButton; + + // Attach click event listener + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.onClickPreventDefault)(createFormButton, onCreateFormButtonClick); +} + +/** + * Handles the click event on the "Create a blank form" button. + * + * @private + * @return {void} + */ +var onCreateFormButtonClick = function onCreateFormButtonClick() { + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + createFormButton = _getElements2.createFormButton, + newTemplateForm = _getElements2.newTemplateForm, + newTemplateNameInput = _getElements2.newTemplateNameInput, + newTemplateActionInput = _getElements2.newTemplateActionInput; + var installNewForm = window.frmAdminBuild.installNewForm; + newTemplateNameInput.value = ''; + newTemplateActionInput.value = 'frm_install_form'; + installNewForm(newTemplateForm, 'frm_install_form', createFormButton); +}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addCreateFormButtonEvents); + +/***/ }), + +/***/ "./js/src/form-templates/events/createTemplateListeners.js": +/*!*****************************************************************!*\ + !*** ./js/src/form-templates/events/createTemplateListeners.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 */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../ui */ "./js/src/form-templates/ui/index.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils */ "./js/src/form-templates/utils/index.js"); +/** + * WordPress dependencies + */ + + +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + + + +/** + * Manages event handling for the 'Create New Template' modal. + * + * @return {void} + */ +function addCreateTemplateEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + createTemplateFormsDropdown = _getElements.createTemplateFormsDropdown, + createTemplateButton = _getElements.createTemplateButton, + showCreateTemplateModalButton = _getElements.showCreateTemplateModalButton, + emptyStateButton = _getElements.emptyStateButton; + + // Show the 'Create New Template' modal when either empty state or show modal button is clicked + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.onClickPreventDefault)(showCreateTemplateModalButton, onShowCreateTemplateModalButtonClick); + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.onClickPreventDefault)(emptyStateButton, onShowCreateTemplateModalButtonClick); + + // Handle changes in the forms selection dropdown for creating a new template + createTemplateFormsDropdown.addEventListener('change', onFormsSelectChange); + + // Create a new template when the create button inside the modal is clicked + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.onClickPreventDefault)(createTemplateButton, onCreateTemplateButtonClick); +} + +/** + * Handles the click event on the 'Create Template' button, showing the 'Create New Template' modal. + * + * @private + * @return {void} + */ +var onShowCreateTemplateModalButtonClick = function onShowCreateTemplateModalButtonClick() { + var _getState = (0,_shared__WEBPACK_IMPORTED_MODULE_3__.getState)(), + selectedCategory = _getState.selectedCategory; + if (!(0,_utils__WEBPACK_IMPORTED_MODULE_5__.isCustomCategory)(selectedCategory)) { + return; + } + (0,_ui__WEBPACK_IMPORTED_MODULE_4__.showCreateTemplateModal)(); +}; + +/** + * Handles changes in the forms selection dropdown for creating a new template. + * + * @private + * @return {void} + */ +var onFormsSelectChange = function onFormsSelectChange() { + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + formsSelect = _getElements2.createTemplateFormsDropdown; + var formId = formsSelect.value; + if (!formId || formId === 'no-forms') { + toggleDisableModalElements(true); + return; + } + toggleDisableModalElements(false); + var selectedOption = formsSelect.options[formsSelect.selectedIndex]; + var formDescription = selectedOption.dataset.description.trim(); + var formName = selectedOption.dataset.name.trim(); + var templateString = " ".concat((0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Template', 'formidable')); + if (!formName.endsWith(templateString)) { + formName += templateString; + } + var _getElements3 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + createTemplateName = _getElements3.createTemplateName, + createTemplateDescription = _getElements3.createTemplateDescription; + createTemplateName.value = formName; + createTemplateDescription.value = formDescription; +}; + +/** + * Toggles the disabled state of elements in the 'Create Template' modal. + * + * @private + * @param {boolean} shouldDisable True to disable, false to enable. + * @return {void} + */ +var toggleDisableModalElements = function toggleDisableModalElements(shouldDisable) { + var _getElements4 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + createTemplateName = _getElements4.createTemplateName, + createTemplateDescription = _getElements4.createTemplateDescription, + createTemplateButton = _getElements4.createTemplateButton; + + // Toggle the disabled attribute for input and textarea + [createTemplateName, createTemplateDescription].forEach(function (element) { + element.disabled = shouldDisable; + if (shouldDisable) { + element.value = ''; // Clear the content for input and textarea + } + }); + + // Toggle the disabled class for the button + createTemplateButton.classList.toggle('disabled', shouldDisable); +}; + +/** + * Handles the click event on the 'Create Template' button to create a new template. + * + * @private + * @return {void} + */ +var onCreateTemplateButtonClick = function onCreateTemplateButtonClick() { + var installNewForm = window.frmAdminBuild.installNewForm; + var actionName = 'frm_create_template'; + var _getElements5 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + newTemplateForm = _getElements5.newTemplateForm, + newTemplateActionInput = _getElements5.newTemplateActionInput, + newTemplateNameInput = _getElements5.newTemplateNameInput, + newTemplateDescriptionInput = _getElements5.newTemplateDescriptionInput, + newTemplateLinkInput = _getElements5.newTemplateLinkInput, + createTemplateName = _getElements5.createTemplateName, + createTemplateDescription = _getElements5.createTemplateDescription, + createTemplateFormsDropdown = _getElements5.createTemplateFormsDropdown, + createTemplateButton = _getElements5.createTemplateButton; + newTemplateActionInput.value = actionName; + newTemplateNameInput.value = createTemplateName.value.trim(); + newTemplateDescriptionInput.value = createTemplateDescription.value.trim(); + newTemplateLinkInput.value = createTemplateFormsDropdown.value; + + // Install new form template + installNewForm(newTemplateForm, actionName, createTemplateButton); +}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addCreateTemplateEvents); + +/***/ }), + +/***/ "./js/src/form-templates/events/favoriteButtonListener.js": +/*!****************************************************************!*\ + !*** ./js/src/form-templates/events/favoriteButtonListener.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 */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../ui */ "./js/src/form-templates/ui/index.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ "./js/src/form-templates/utils/index.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + + +var FAVORITE_BUTTON_CLASS = ".".concat(_shared__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-item-favorite-button"); +var HEART_ICON_SELECTOR = "".concat(FAVORITE_BUTTON_CLASS, " use"); +var FILLED_HEART_ICON = '#frm_heart_solid_icon'; +var LINEAR_HEART_ICON = '#frm_heart_icon'; +var OPERATION = { + ADD: 'add', + REMOVE: 'remove' +}; + +/** + * Manages event handling for favorite buttons. + * + * @return {void} + */ +function addFavoriteButtonEvents() { + var favoriteButtons = document.querySelectorAll(FAVORITE_BUTTON_CLASS); + + // Attach click event listeners to each favorite button + favoriteButtons.forEach(function (favoriteButton) { + return (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.onClickPreventDefault)(favoriteButton, onFavoriteButtonClick); + }); +} + +/** + * Handles the click event on the add to favorite button. + * + * @private + * @param {Event} event The click event object. + * @return {void} + */ +var onFavoriteButtonClick = function onFavoriteButtonClick(event) { + var _twinFeaturedTemplate; + var favoriteButton = event.currentTarget; + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_1__.getElements)(), + templatesList = _getElements.templatesList, + featuredTemplatesList = _getElements.featuredTemplatesList, + favoritesCategoryCountEl = _getElements.favoritesCategoryCountEl, + customTemplatesTitle = _getElements.customTemplatesTitle; + + /** + * Get necessary template information + */ + var template = favoriteButton.closest('.frm-card-item'); + var templateId = template.dataset.id; + var isFavorited = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.isFavoriteTemplate)(template); + var isTemplateCustom = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.isCustomTemplate)(template); + var isTemplateFeatured = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.isFeaturedTemplate)(template); + + /** + * Toggle the favorite status in the UI. + * If template is featured, toggle its twin version in the respective list. + */ + var twinFeaturedTemplate = null; + template.classList.toggle("".concat(_shared__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-favorite-item"), !isFavorited); + if (isTemplateFeatured) { + var templateList = template.closest("#".concat(_shared__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-list")) ? featuredTemplatesList : templatesList; + if (templateList) { + twinFeaturedTemplate = templateList.querySelector(".frm-card-item[data-id=\"".concat(templateId, "\"]")); + // Toggle twin template's favorite status + twinFeaturedTemplate.classList.toggle("".concat(_shared__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-favorite-item"), !isFavorited); + } + } + + /** + * Update favorite counts and icons based on the new state + */ + var _getState = (0,_shared__WEBPACK_IMPORTED_MODULE_2__.getState)(), + selectedCategory = _getState.selectedCategory, + favoritesCount = _getState.favoritesCount; + var currentOperation = isFavorited ? OPERATION.REMOVE : OPERATION.ADD; + var heartIcon = template.querySelector(HEART_ICON_SELECTOR); + var twinTemplateHeartIcon = (_twinFeaturedTemplate = twinFeaturedTemplate) === null || _twinFeaturedTemplate === void 0 ? void 0 : _twinFeaturedTemplate.querySelector(HEART_ICON_SELECTOR); + if (OPERATION.ADD === currentOperation) { + // Increment favorite counts + ++favoritesCount.total; + isTemplateCustom ? ++favoritesCount.custom : ++favoritesCount.default; // eslint-disable-line no-unused-expressions + // Set heart icon to filled + heartIcon.setAttribute('xlink:href', FILLED_HEART_ICON); + twinTemplateHeartIcon === null || twinTemplateHeartIcon === void 0 || twinTemplateHeartIcon.setAttribute('xlink:href', FILLED_HEART_ICON); + } else { + // Decrement favorite counts + --favoritesCount.total; + isTemplateCustom ? --favoritesCount.custom : --favoritesCount.default; // eslint-disable-line no-unused-expressions + // Set heart icon to outline + heartIcon.setAttribute('xlink:href', LINEAR_HEART_ICON); + twinTemplateHeartIcon === null || twinTemplateHeartIcon === void 0 || twinTemplateHeartIcon.setAttribute('xlink:href', LINEAR_HEART_ICON); + } + + // Update UI and state to reflect new favorite counts + favoritesCategoryCountEl.textContent = favoritesCount.total; + (0,_shared__WEBPACK_IMPORTED_MODULE_2__.setSingleState)('favoritesCount', favoritesCount); + + /** + * Hide UI elements if 'Favorites' is active and counts are zero. + */ + if ((0,_utils__WEBPACK_IMPORTED_MODULE_4__.isFavoritesCategory)(selectedCategory)) { + if (0 === favoritesCount.total) { + (0,_ui__WEBPACK_IMPORTED_MODULE_3__.showFavoritesEmptyState)(); + } + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hide)(template); + if (0 === favoritesCount.default) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hide)(templatesList); + } + if (0 === favoritesCount.custom || 0 === favoritesCount.default) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hide)(customTemplatesTitle); + } + } + + // Update server-side data for favorite templates + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.addToRequestQueue)(function () { + return updateFavoriteTemplate(templateId, currentOperation, isTemplateCustom); + }); +}; + +/** + * Update server-side data for favorite templates. + * + * @param {string} id The template ID. + * @param {string} operation The operation to perform ('add' or 'remove'). + * @param {boolean} isCustom Flag indicating whether the template is custom. + * @return {Promise} The result of the server-side update. + */ +function updateFavoriteTemplate(id, operation, isCustom) { + var formData = new FormData(); + var doJsonPost = frmDom.ajax.doJsonPost; + formData.append('template_id', id); + formData.append('operation', operation); + formData.append('is_custom_template', isCustom); + return doJsonPost('add_or_remove_favorite_template', formData); +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addFavoriteButtonEvents); + +/***/ }), + +/***/ "./js/src/form-templates/events/index.js": +/*!***********************************************!*\ + !*** ./js/src/form-templates/events/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 */ addApplicationTemplateEvents: () => (/* reexport safe */ _applicationTemplateListener__WEBPACK_IMPORTED_MODULE_7__.addApplicationTemplateEvents), +/* harmony export */ addEventListeners: () => (/* binding */ addEventListeners) +/* harmony export */ }); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _createFormButtonListener__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createFormButtonListener */ "./js/src/form-templates/events/createFormButtonListener.js"); +/* harmony import */ var _favoriteButtonListener__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./favoriteButtonListener */ "./js/src/form-templates/events/favoriteButtonListener.js"); +/* harmony import */ var _useTemplateButtonListener__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useTemplateButtonListener */ "./js/src/form-templates/events/useTemplateButtonListener.js"); +/* harmony import */ var _searchListener__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./searchListener */ "./js/src/form-templates/events/searchListener.js"); +/* harmony import */ var _createTemplateListeners__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./createTemplateListeners */ "./js/src/form-templates/events/createTemplateListeners.js"); +/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../ui */ "./js/src/form-templates/ui/index.js"); +/* harmony import */ var _applicationTemplateListener__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./applicationTemplateListener */ "./js/src/form-templates/events/applicationTemplateListener.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + + + + + +/** + * Attaches event listeners for handling user interactions. + * + * @return {void} + */ +function addEventListeners() { + (0,core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.addCategoryEvents)(); + wp.hooks.addAction('frmPage.onCategoryClick', 'frmFormTemplates', function (selectedCategory) { + // Display templates of the selected category + (0,_ui__WEBPACK_IMPORTED_MODULE_6__.showSelectedCategory)(selectedCategory); + }); + (0,_createFormButtonListener__WEBPACK_IMPORTED_MODULE_1__["default"])(); + (0,_favoriteButtonListener__WEBPACK_IMPORTED_MODULE_2__["default"])(); + (0,_useTemplateButtonListener__WEBPACK_IMPORTED_MODULE_3__["default"])(); + (0,_searchListener__WEBPACK_IMPORTED_MODULE_4__["default"])(); + (0,_createTemplateListeners__WEBPACK_IMPORTED_MODULE_5__["default"])(); +} + + +/***/ }), + +/***/ "./js/src/form-templates/events/searchListener.js": +/*!********************************************************!*\ + !*** ./js/src/form-templates/events/searchListener.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 */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../ui */ "./js/src/form-templates/ui/index.js"); +/** + * External dependencies + */ + + + +/** + * Internal dependencies + */ + + + +var initSearch = window.frmDom.search.init; + +/** + * Adds search-related event listeners by calling the 'initSearch' function. + * + * @see frmDom.search method + * @return {void} + */ +function addSearchEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + searchInput = _getElements.searchInput, + emptyStateButton = _getElements.emptyStateButton; + initSearch(searchInput, 'frm-card-item', { + handleSearchResult: handleSearchResult + }); + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.onClickPreventDefault)(emptyStateButton, onEmptyStateButtonClick); +} + +/** + * Manages UI state based on search results and input value. + * + * @private + * @param {Object} args Contains flags for search status. + * @param {boolean} args.foundSomething True if search yielded results. + * @param {boolean} args.notEmptySearchText True if search input is not empty. + * @param {Event} event The event object (input, search, or change event). + * @return {void} + */ +function handleSearchResult(_ref, event) { + var foundSomething = _ref.foundSomething, + notEmptySearchText = _ref.notEmptySearchText; + // Prevent double calls as window.frmDom.search.init attaches both 'input' and 'search' events, + // triggering this method twice on 'x' button click. + if (event && event.type === 'search' && event.target.value === '') { + return; + } + var state = (0,_shared__WEBPACK_IMPORTED_MODULE_3__.getState)(); + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + allItemsCategory = _getElements2.allItemsCategory; + (0,_shared__WEBPACK_IMPORTED_MODULE_3__.setSingleState)('notEmptySearchText', notEmptySearchText); + + // Revert to 'All Templates' if search and selected category are both empty + if (!state.notEmptySearchText && !state.selectedCategory) { + allItemsCategory.dispatchEvent(new Event('click', { + bubbles: true + })); + return; + } + + // Display search state if a category is selected + if (state.selectedCategory) { + (0,_ui__WEBPACK_IMPORTED_MODULE_4__.showSearchState)(notEmptySearchText); + + // Setting "selectedCategory" to an empty string as a flag for search state + if (notEmptySearchText) { + (0,_shared__WEBPACK_IMPORTED_MODULE_3__.setSingleState)('selectedCategory', ''); + } + } + (0,_ui__WEBPACK_IMPORTED_MODULE_4__.displaySearchElements)(foundSomething, notEmptySearchText); +} + +/** + * Handles the click event on the empty state button. + * + * @private + * @return {void} + */ +var onEmptyStateButtonClick = function onEmptyStateButtonClick() { + var _emptyState$dataset; + var _getElements3 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + emptyState = _getElements3.emptyState; + if (_shared__WEBPACK_IMPORTED_MODULE_3__.VIEW_SLUGS.SEARCH !== ((_emptyState$dataset = emptyState.dataset) === null || _emptyState$dataset === void 0 ? void 0 : _emptyState$dataset.view)) { + return; + } + + // Set selectedCategory to '' as search state flag that triggers ALL_ITEMS category if search input is empty + // @see handleSearchResult() + (0,_shared__WEBPACK_IMPORTED_MODULE_3__.setSingleState)('selectedCategory', ''); + (0,core_page_skeleton__WEBPACK_IMPORTED_MODULE_1__.resetSearchInput)(); + var _getElements4 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + searchInput = _getElements4.searchInput; + searchInput.focus(); +}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addSearchEvents); + +/***/ }), + +/***/ "./js/src/form-templates/events/useTemplateButtonListener.js": +/*!*******************************************************************!*\ + !*** ./js/src/form-templates/events/useTemplateButtonListener.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 */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/* harmony import */ var _ui___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ui/ */ "./js/src/form-templates/ui/index.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ "./js/src/form-templates/utils/index.js"); +/** + * Internal dependencies + */ + + + + + +/** + * Manages event handling for use template buttons. + * + * @return {void} + */ +function addUseTemplateButtonEvents() { + var useTemplateButtons = document.querySelectorAll(".".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-use-template-button")); + + // Attach click event listeners to each use template button + useTemplateButtons.forEach(function (useTemplateButton) { + return useTemplateButton.addEventListener('click', onUseTemplateButtonClick); + }); +} + +/** + * Handles the click event on the use template button. + * + * @private + * @param {Event} event The click event object. + * @return {void} + */ +var onUseTemplateButtonClick = function onUseTemplateButtonClick(event) { + var useTemplateButton = event.currentTarget; + var template = useTemplateButton.closest('.frm-card-item'); + var isLocked = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.isLockedTemplate)(template); + var isTemplateCustom = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.isCustomTemplate)(template); + + // Allow the default link behavior, if the template is custom and not locked + if (!isLocked && isTemplateCustom) { + return; + } + + // Prevent the default link behavior for non-custom or locked templates + event.preventDefault(); + + // Update app state with selected template + (0,_shared__WEBPACK_IMPORTED_MODULE_1__.setSingleState)('selectedTemplate', template); + + // Handle locked templates + if (isLocked) { + (0,_ui___WEBPACK_IMPORTED_MODULE_2__.showLockedTemplateModal)(template); + return; + } + + // Prepare for new template installation + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + newTemplateForm = _getElements.newTemplateForm, + newTemplateNameInput = _getElements.newTemplateNameInput, + newTemplateDescriptionInput = _getElements.newTemplateDescriptionInput, + newTemplateLinkInput = _getElements.newTemplateLinkInput, + newTemplateActionInput = _getElements.newTemplateActionInput; + var installNewForm = window.frmAdminBuild.installNewForm; + var templateName = template.querySelector('.frm-form-template-name').textContent.trim(); + var templateDescription = template.querySelector('.frm-form-templates-item-description').textContent.trim(); + var actionName = 'frm_install_template'; + newTemplateNameInput.value = templateName; + newTemplateDescriptionInput.value = templateDescription; + newTemplateActionInput.value = actionName; + newTemplateLinkInput.value = useTemplateButton.href; + + // Install new form template + installNewForm(newTemplateForm, actionName, useTemplateButton); +}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addUseTemplateButtonEvents); + +/***/ }), + +/***/ "./js/src/form-templates/initializeFormTemplates.js": +/*!**********************************************************!*\ + !*** ./js/src/form-templates/initializeFormTemplates.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 */ }); +/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ui */ "./js/src/form-templates/ui/index.js"); +/* harmony import */ var _templates__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./templates */ "./js/src/form-templates/templates/index.js"); +/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./events */ "./js/src/form-templates/events/index.js"); +/** + * Internal dependencies + */ + + + + +/** + * Initializes form templates. + * + * @return {void} + */ +function initializeFormTemplates() { + (0,_templates__WEBPACK_IMPORTED_MODULE_1__.maybeAddApplicationTemplates)(); + (0,_ui__WEBPACK_IMPORTED_MODULE_0__.initializeModal)(); + (0,_templates__WEBPACK_IMPORTED_MODULE_1__.buildCategorizedTemplates)(); + (0,_ui__WEBPACK_IMPORTED_MODULE_0__.setupInitialView)(); + (0,_events__WEBPACK_IMPORTED_MODULE_2__.addEventListeners)(); +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (initializeFormTemplates); + +/***/ }), + +/***/ "./js/src/form-templates/shared/constants.js": +/*!***************************************************!*\ + !*** ./js/src/form-templates/shared/constants.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ FEATURED_TEMPLATES_KEYS: () => (/* binding */ FEATURED_TEMPLATES_KEYS), +/* harmony export */ MODAL_SIZES: () => (/* binding */ MODAL_SIZES), +/* harmony export */ PLANS: () => (/* binding */ PLANS), +/* harmony export */ PREFIX: () => (/* binding */ PREFIX), +/* harmony export */ VIEW_SLUGS: () => (/* binding */ VIEW_SLUGS), +/* harmony export */ applicationsUrl: () => (/* binding */ applicationsUrl), +/* harmony export */ canAccessApplicationDashboard: () => (/* binding */ canAccessApplicationDashboard), +/* harmony export */ upgradeLink: () => (/* binding */ upgradeLink) +/* harmony export */ }); +var _window$frmGlobal = window.frmGlobal, + canAccessApplicationDashboard = _window$frmGlobal.canAccessApplicationDashboard, + applicationsUrl = _window$frmGlobal.applicationsUrl; + +var _window$frmFormTempla = window.frmFormTemplatesVars, + FEATURED_TEMPLATES_KEYS = _window$frmFormTempla.FEATURED_TEMPLATES_KEYS, + upgradeLink = _window$frmFormTempla.upgradeLink; + +var PREFIX = 'frm-form-templates'; +var VIEW_SLUGS = { + AVAILABLE_TEMPLATES: 'available-templates', + FAVORITES: 'favorites', + CUSTOM: 'custom', + SEARCH: 'search' +}; +var PLANS = { + BASIC: 'basic', + PLUS: 'plus', + BUSINESS: 'business', + ELITE: 'elite', + RENEW: 'renew', + FREE: 'free' +}; +var MODAL_SIZES = { + GENERAL: '440px', + CREATE_TEMPLATE: '550px' +}; + +/***/ }), + +/***/ "./js/src/form-templates/shared/index.js": +/*!***********************************************!*\ + !*** ./js/src/form-templates/shared/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 */ FEATURED_TEMPLATES_KEYS: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.FEATURED_TEMPLATES_KEYS), +/* harmony export */ MODAL_SIZES: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.MODAL_SIZES), +/* harmony export */ PLANS: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.PLANS), +/* harmony export */ PREFIX: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.PREFIX), +/* harmony export */ VIEW_SLUGS: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.VIEW_SLUGS), +/* harmony export */ applicationsUrl: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.applicationsUrl), +/* harmony export */ canAccessApplicationDashboard: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.canAccessApplicationDashboard), +/* harmony export */ getSingleState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_1__.getSingleState), +/* harmony export */ getState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_1__.getState), +/* harmony export */ setSingleState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_1__.setSingleState), +/* harmony export */ setState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_1__.setState), +/* harmony export */ upgradeLink: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.upgradeLink) +/* harmony export */ }); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./js/src/form-templates/shared/constants.js"); +/* harmony import */ var _pageState__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pageState */ "./js/src/form-templates/shared/pageState.js"); + + + +/***/ }), + +/***/ "./js/src/form-templates/shared/pageState.js": +/*!***************************************************!*\ + !*** ./js/src/form-templates/shared/pageState.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getSingleState: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.getSingleState), +/* harmony export */ getState: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.getState), +/* harmony export */ setSingleState: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.setSingleState), +/* harmony export */ setState: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.setState) +/* harmony export */ }); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + +var _window$frmFormTempla = window.frmFormTemplatesVars, + templatesCount = _window$frmFormTempla.templatesCount, + favoritesCount = _window$frmFormTempla.favoritesCount, + customCount = _window$frmFormTempla.customCount; +var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_1__.getElements)(), + availableTemplateItems = _getElements.availableTemplateItems; +var availableTemplatesCount = availableTemplateItems.length; +(0,core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.setState)({ + availableTemplatesCount: availableTemplatesCount, + customCount: Number(customCount), + extraTemplatesCount: templatesCount - availableTemplatesCount, + favoritesCount: favoritesCount, + selectedTemplate: false +}); + + +/***/ }), + +/***/ "./js/src/form-templates/templates/applicationTemplates.js": +/*!*****************************************************************!*\ + !*** ./js/src/form-templates/templates/applicationTemplates.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ maybeAddApplicationTemplates: () => (/* binding */ maybeAddApplicationTemplates) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../events */ "./js/src/form-templates/events/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/** + * Internal dependencies + */ + + + + +/** + * Adds application templates if the user has dashboard access. + * + * @return {void} + */ +function maybeAddApplicationTemplates() { + // Exit if the user doesn't have permission to see application dashboard + if (!_shared__WEBPACK_IMPORTED_MODULE_2__.canAccessApplicationDashboard) { + return; + } + var doJsonFetch = frmDom.ajax.doJsonFetch; + doJsonFetch('get_applications_data&view=templates').then(setupApplicationTemplates); +} + +/** + * Sets up application templates by creating HTML elements, injecting them into the DOM, + * and adding event handlers. + * + * @private + * @param {Object} data The data object containing information for application templates. + * @return {void} + */ +function setupApplicationTemplates(data) { + // Create application templates + (0,_elements__WEBPACK_IMPORTED_MODULE_0__.createApplicationTemplates)(data.templates); + + // Inject templates into the DOM + (0,_elements__WEBPACK_IMPORTED_MODULE_0__.addApplicationTemplatesElement)(); + + // Set up event handling + (0,_events__WEBPACK_IMPORTED_MODULE_1__.addApplicationTemplateEvents)(); +} + +/***/ }), + +/***/ "./js/src/form-templates/templates/categorizeTemplates.js": +/*!****************************************************************!*\ + !*** ./js/src/form-templates/templates/categorizeTemplates.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ buildCategorizedTemplates: () => (/* binding */ buildCategorizedTemplates), +/* harmony export */ categorizedTemplates: () => (/* binding */ categorizedTemplates) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/** + * Internal dependencies + */ + +var categorizedTemplates = {}; + +/** + * Builds a categorized list of templates. + * + * @return {void} + */ +function buildCategorizedTemplates() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + templateItems = _getElements.templateItems; + templateItems.forEach(function (template) { + // Extract and split the categories from data attribute + var categories = template.getAttribute('data-categories').split(','); + categories.forEach(function (category) { + // Initialize the category array if not already done + if (!categorizedTemplates[category]) { + categorizedTemplates[category] = []; + } + + // Add the template to the appropriate category + categorizedTemplates[category].push(template); + }); + }); +} + +/***/ }), + +/***/ "./js/src/form-templates/templates/index.js": +/*!**************************************************!*\ + !*** ./js/src/form-templates/templates/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 */ buildCategorizedTemplates: () => (/* reexport safe */ _categorizeTemplates__WEBPACK_IMPORTED_MODULE_0__.buildCategorizedTemplates), +/* harmony export */ categorizedTemplates: () => (/* reexport safe */ _categorizeTemplates__WEBPACK_IMPORTED_MODULE_0__.categorizedTemplates), +/* harmony export */ maybeAddApplicationTemplates: () => (/* reexport safe */ _applicationTemplates__WEBPACK_IMPORTED_MODULE_1__.maybeAddApplicationTemplates) +/* harmony export */ }); +/* harmony import */ var _categorizeTemplates__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./categorizeTemplates */ "./js/src/form-templates/templates/categorizeTemplates.js"); +/* harmony import */ var _applicationTemplates__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./applicationTemplates */ "./js/src/form-templates/templates/applicationTemplates.js"); + + + +/***/ }), + +/***/ "./js/src/form-templates/ui/index.js": +/*!*******************************************!*\ + !*** ./js/src/form-templates/ui/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 */ displaySearchElements: () => (/* reexport safe */ _searchState__WEBPACK_IMPORTED_MODULE_5__.displaySearchElements), +/* harmony export */ getModalWidget: () => (/* reexport safe */ _initializeModal__WEBPACK_IMPORTED_MODULE_1__.getModalWidget), +/* harmony export */ initializeModal: () => (/* reexport safe */ _initializeModal__WEBPACK_IMPORTED_MODULE_1__.initializeModal), +/* harmony export */ setupInitialView: () => (/* reexport safe */ _setupInitialView__WEBPACK_IMPORTED_MODULE_0__["default"]), +/* harmony export */ showAllTemplates: () => (/* reexport safe */ _showSelectedCategory__WEBPACK_IMPORTED_MODULE_4__.showAllTemplates), +/* harmony export */ showAvailableTemplates: () => (/* reexport safe */ _showSelectedCategory__WEBPACK_IMPORTED_MODULE_4__.showAvailableTemplates), +/* harmony export */ showAvailableTemplatesEmptyState: () => (/* reexport safe */ _showEmptyState__WEBPACK_IMPORTED_MODULE_6__.showAvailableTemplatesEmptyState), +/* harmony export */ showCreateTemplateModal: () => (/* reexport safe */ _showModal__WEBPACK_IMPORTED_MODULE_7__.showCreateTemplateModal), +/* harmony export */ showCustomTemplates: () => (/* reexport safe */ _showSelectedCategory__WEBPACK_IMPORTED_MODULE_4__.showCustomTemplates), +/* harmony export */ showCustomTemplatesEmptyState: () => (/* reexport safe */ _showEmptyState__WEBPACK_IMPORTED_MODULE_6__.showCustomTemplatesEmptyState), +/* harmony export */ showFavoriteTemplates: () => (/* reexport safe */ _showSelectedCategory__WEBPACK_IMPORTED_MODULE_4__.showFavoriteTemplates), +/* harmony export */ showFavoritesEmptyState: () => (/* reexport safe */ _showEmptyState__WEBPACK_IMPORTED_MODULE_6__.showFavoritesEmptyState), +/* harmony export */ showHeaderCancelButton: () => (/* reexport safe */ _showHeaderCancelButton__WEBPACK_IMPORTED_MODULE_3__.showHeaderCancelButton), +/* harmony export */ showLockedTemplateModal: () => (/* reexport safe */ _showModal__WEBPACK_IMPORTED_MODULE_7__.showLockedTemplateModal), +/* harmony export */ showRenewAccountModal: () => (/* reexport safe */ _showModal__WEBPACK_IMPORTED_MODULE_7__.showRenewAccountModal), +/* harmony export */ showSearchEmptyState: () => (/* reexport safe */ _showEmptyState__WEBPACK_IMPORTED_MODULE_6__.showSearchEmptyState), +/* harmony export */ showSearchState: () => (/* reexport safe */ _searchState__WEBPACK_IMPORTED_MODULE_5__.showSearchState), +/* harmony export */ showSelectedCategory: () => (/* reexport safe */ _showSelectedCategory__WEBPACK_IMPORTED_MODULE_4__.showSelectedCategory), +/* harmony export */ showUpgradeModal: () => (/* reexport safe */ _showModal__WEBPACK_IMPORTED_MODULE_7__.showUpgradeModal), +/* harmony export */ updatePageTitle: () => (/* reexport safe */ _pageTitle__WEBPACK_IMPORTED_MODULE_2__.updatePageTitle) +/* harmony export */ }); +/* harmony import */ var _setupInitialView__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setupInitialView */ "./js/src/form-templates/ui/setupInitialView.js"); +/* harmony import */ var _initializeModal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./initializeModal */ "./js/src/form-templates/ui/initializeModal.js"); +/* harmony import */ var _pageTitle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pageTitle */ "./js/src/form-templates/ui/pageTitle.js"); +/* harmony import */ var _showHeaderCancelButton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./showHeaderCancelButton */ "./js/src/form-templates/ui/showHeaderCancelButton.js"); +/* harmony import */ var _showSelectedCategory__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./showSelectedCategory */ "./js/src/form-templates/ui/showSelectedCategory.js"); +/* harmony import */ var _searchState__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./searchState */ "./js/src/form-templates/ui/searchState.js"); +/* harmony import */ var _showEmptyState__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./showEmptyState */ "./js/src/form-templates/ui/showEmptyState.js"); +/* harmony import */ var _showModal__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./showModal */ "./js/src/form-templates/ui/showModal.js"); + + + + + + + + + +/***/ }), + +/***/ "./js/src/form-templates/ui/initializeModal.js": +/*!*****************************************************!*\ + !*** ./js/src/form-templates/ui/initializeModal.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getModalWidget: () => (/* binding */ getModalWidget), +/* harmony export */ initializeModal: () => (/* binding */ initializeModal) +/* harmony export */ }); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +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); } +function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } +function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } +function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } + +var modalWidget = null; + +/** + * Initialize the modal widget. + * + * @return {void} + */ +function initializeModal() { + return _initializeModal.apply(this, arguments); +} + +/** + * Retrieve the modal widget. + * + * @return {Object|false} The modal widget or false. + */ +function _initializeModal() { + _initializeModal = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() { + var _window$frmAdminBuild, initModal, offsetModalY; + return _regeneratorRuntime().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + _window$frmAdminBuild = window.frmAdminBuild, initModal = _window$frmAdminBuild.initModal, offsetModalY = _window$frmAdminBuild.offsetModalY; + modalWidget = initModal('#frm-form-templates-modal', _shared__WEBPACK_IMPORTED_MODULE_0__.MODAL_SIZES.GENERAL); + + // Set the vertical offset for the modal + if (modalWidget) { + offsetModalY(modalWidget, '103px'); + } + + // Customize the confirm modal appearance: adjusting its width and vertical position + wp.hooks.addAction('frmAdmin.beforeOpenConfirmModal', 'frmFormTemplates', function (options) { + var confirmModal = options.$info; + confirmModal.dialog('option', 'width', _shared__WEBPACK_IMPORTED_MODULE_0__.MODAL_SIZES.CREATE_TEMPLATE); + offsetModalY(confirmModal, '103px'); + }); + case 4: + case "end": + return _context.stop(); + } + }, _callee); + })); + return _initializeModal.apply(this, arguments); +} +function getModalWidget() { + return modalWidget; +} + +/***/ }), + +/***/ "./js/src/form-templates/ui/pageTitle.js": +/*!***********************************************!*\ + !*** ./js/src/form-templates/ui/pageTitle.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ updatePageTitle: () => (/* binding */ updatePageTitle) +/* harmony export */ }); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + +/** + * Sets the page title based on a given string or the currently selected category. + * + * @param {string} [title] Optional title to display. + * @return {void} + */ +function updatePageTitle(title) { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_1__.getElements)(), + pageTitleText = _getElements.pageTitleText; + var newTitle = title || (0,_shared__WEBPACK_IMPORTED_MODULE_2__.getSingleState)('selectedCategoryEl').querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.PREFIX, "-cat-text")).textContent; + pageTitleText.textContent = newTitle; +} + +/***/ }), + +/***/ "./js/src/form-templates/ui/searchState.js": +/*!*************************************************!*\ + !*** ./js/src/form-templates/ui/searchState.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ displaySearchElements: () => (/* binding */ displaySearchElements), +/* harmony export */ showSearchState: () => (/* binding */ showSearchState) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! . */ "./js/src/form-templates/ui/index.js"); +/** + * WordPress dependencies + */ + + +/** + * External dependencies + */ + + + +/** + * Internal dependencies + */ + + + + +/** + * Updates the UI to display the search state. + * + * @param {boolean} notEmptySearchText True if search input is not empty. + * @return {void} + */ +function showSearchState(notEmptySearchText) { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + bodyContent = _getElements.bodyContent, + bodyContentChildren = _getElements.bodyContentChildren, + pageTitle = _getElements.pageTitle, + templatesList = _getElements.templatesList, + applicationTemplates = _getElements.applicationTemplates; + var bodyContentAnimate = new core_utils__WEBPACK_IMPORTED_MODULE_2__.frmAnimate(bodyContent); + + // Remove highlighting from the currently selected category if the search text is not empty + if (notEmptySearchText) { + (0,_shared__WEBPACK_IMPORTED_MODULE_4__.getSingleState)('selectedCategoryEl').classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_1__.CURRENT_CLASS); + } + + // Hide non-relevant elements in the body content + (0,core_utils__WEBPACK_IMPORTED_MODULE_2__.hideElements)(bodyContentChildren); + + // Update the page title and display relevant elements + (0,___WEBPACK_IMPORTED_MODULE_5__.updatePageTitle)((0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Search Result', 'formidable')); + (0,core_utils__WEBPACK_IMPORTED_MODULE_2__.showElements)([pageTitle, templatesList, applicationTemplates]); + + // Smoothly display the updated UI elements + bodyContentAnimate.fadeIn(); +} + +/** + * Displays search results based on search outcome. + * + * @param {boolean} foundSomething True if search yielded results. + * @return {void} + */ +function displaySearchElements(foundSomething) { + // Show empty state if no templates found + if (!foundSomething) { + (0,___WEBPACK_IMPORTED_MODULE_5__.showSearchEmptyState)(); + return; + } + + // Hide empty state if currently displayed + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + emptyState = _getElements2.emptyState; + if ((0,core_utils__WEBPACK_IMPORTED_MODULE_2__.isVisible)(emptyState)) { + var _getElements3 = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + pageTitle = _getElements3.pageTitle; + (0,core_utils__WEBPACK_IMPORTED_MODULE_2__.hide)(emptyState); + (0,core_utils__WEBPACK_IMPORTED_MODULE_2__.show)(pageTitle); + } + var _getElements4 = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + templatesList = _getElements4.templatesList, + applicationTemplates = _getElements4.applicationTemplates, + applicationTemplatesTitle = _getElements4.applicationTemplatesTitle, + applicationTemplatesList = _getElements4.applicationTemplatesList; + (0,core_utils__WEBPACK_IMPORTED_MODULE_2__.showElements)([templatesList, applicationTemplates, applicationTemplatesTitle]); + if (templatesList.offsetHeight === 0) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_2__.hideElements)([templatesList, applicationTemplatesTitle]); + } + if ((applicationTemplatesList === null || applicationTemplatesList === void 0 ? void 0 : applicationTemplatesList.offsetHeight) === 0) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_2__.hide)(applicationTemplates); + } +} + +/***/ }), + +/***/ "./js/src/form-templates/ui/setupInitialView.js": +/*!******************************************************!*\ + !*** ./js/src/form-templates/ui/setupInitialView.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 */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ */ "./js/src/form-templates/ui/index.js"); +/** + * External dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + +/** + * Sets up the initial view, performing any required + * DOM manipulations for proper element presentation. + * + * @return {void} + */ +function setupInitialView() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + sidebar = _getElements.sidebar, + searchInput = _getElements.searchInput, + bodyContent = _getElements.bodyContent, + twinFeaturedTemplateItems = _getElements.twinFeaturedTemplateItems, + availableTemplatesCategory = _getElements.availableTemplatesCategory; + var bodyContentAnimate = new core_utils__WEBPACK_IMPORTED_MODULE_1__.frmAnimate(bodyContent); + searchInput.value = ''; + + // Hide the twin featured template items + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hideElements)(twinFeaturedTemplateItems); + + // Set the 'Available Templates' count if it is present + if (availableTemplatesCategory) { + var _getState = (0,_shared__WEBPACK_IMPORTED_MODULE_4__.getState)(), + availableTemplatesCount = _getState.availableTemplatesCount; + availableTemplatesCategory.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-cat-count")).textContent = availableTemplatesCount; + } + + // Update extra templates count + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + extraTemplateCountElements = _getElements2.extraTemplateCountElements; + var _getState2 = (0,_shared__WEBPACK_IMPORTED_MODULE_4__.getState)(), + extraTemplatesCount = _getState2.extraTemplatesCount; + extraTemplateCountElements.forEach(function (element) { + return element.textContent = extraTemplatesCount; + }); + + // Smoothly display the updated UI elements + bodyContent.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDE_JS_CLASS); + sidebar.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDE_JS_CLASS); + bodyContentAnimate.fadeIn(); + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.show)(sidebar); + + // Show the "Cancel" button in the header if the 'return_page' query param is present + if ((0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hasQueryParam)('return_page')) { + (0,___WEBPACK_IMPORTED_MODULE_5__.showHeaderCancelButton)(); + } +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (setupInitialView); + +/***/ }), + +/***/ "./js/src/form-templates/ui/showEmptyState.js": +/*!****************************************************!*\ + !*** ./js/src/form-templates/ui/showEmptyState.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ showAvailableTemplatesEmptyState: () => (/* binding */ showAvailableTemplatesEmptyState), +/* harmony export */ showCustomTemplatesEmptyState: () => (/* binding */ showCustomTemplatesEmptyState), +/* harmony export */ showFavoritesEmptyState: () => (/* binding */ showFavoritesEmptyState), +/* harmony export */ showSearchEmptyState: () => (/* binding */ showSearchEmptyState) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/** + * WordPress dependencies + */ + + +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + +/** + * Display the search-empty state. + * + * @return {void} + */ +function showSearchEmptyState() { + var _emptyState$dataset; + var _getState = (0,_shared__WEBPACK_IMPORTED_MODULE_3__.getState)(), + notEmptySearchText = _getState.notEmptySearchText; + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + pageTitle = _getElements.pageTitle, + emptyState = _getElements.emptyState, + emptyStateButton = _getElements.emptyStateButton, + applicationTemplates = _getElements.applicationTemplates; + + // Toggle visibility and remove attributes based on search status + if (_shared__WEBPACK_IMPORTED_MODULE_3__.VIEW_SLUGS.SEARCH === ((_emptyState$dataset = emptyState.dataset) === null || _emptyState$dataset === void 0 ? void 0 : _emptyState$dataset.view)) { + if (notEmptySearchText) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.show)(emptyState); + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hideElements)([pageTitle, applicationTemplates]); + } else { + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hide)(emptyState); + emptyState.removeAttribute('data-view'); + } + return; + } + + // Assign state attributes + emptyState.setAttribute('data-view', _shared__WEBPACK_IMPORTED_MODULE_3__.VIEW_SLUGS.SEARCH); + + // Update text content + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + emptyStateTitle = _getElements2.emptyStateTitle, + emptyStateText = _getElements2.emptyStateText; + emptyStateTitle.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('No templates found', 'formidable'); + emptyStateText.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Sorry, we didn\'t find any templates that match your criteria.', 'formidable'); + emptyStateButton.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Start from Scratch', 'formidable'); + + // Display the empty state + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hideElements)([pageTitle, applicationTemplates]); + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.showElements)([emptyState, emptyStateButton]); +} + +/** + * Display the favorites-empty state. + * + * @return {void} + */ +function showFavoritesEmptyState() { + var _getElements3 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + pageTitle = _getElements3.pageTitle, + emptyState = _getElements3.emptyState, + emptyStateButton = _getElements3.emptyStateButton; + + // Assign state attributes + emptyState.setAttribute('data-view', _shared__WEBPACK_IMPORTED_MODULE_3__.VIEW_SLUGS.FAVORITES); + + // Update text content + var _getElements4 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + emptyStateTitle = _getElements4.emptyStateTitle, + emptyStateText = _getElements4.emptyStateText; + emptyStateTitle.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('No favorites', 'formidable'); + emptyStateText.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('You haven\'t added any templates to your favorites yet.', 'formidable'); + + // Display the empty state + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hideElements)([pageTitle, emptyStateButton]); + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.show)(emptyState); +} + +/** + * Display the custom-empty state. + * + * @return {void} + */ +function showCustomTemplatesEmptyState() { + var _getElements5 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + pageTitle = _getElements5.pageTitle, + emptyState = _getElements5.emptyState, + emptyStateButton = _getElements5.emptyStateButton; + + // Assign state attributes + emptyState.setAttribute('data-view', _shared__WEBPACK_IMPORTED_MODULE_3__.VIEW_SLUGS.CUSTOM); + + // Update text content + var _getElements6 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + emptyStateTitle = _getElements6.emptyStateTitle, + emptyStateText = _getElements6.emptyStateText; + emptyStateTitle.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('You currently have no templates.', 'formidable'); + emptyStateText.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('You haven\'t created any form templates. Begin now to simplify your workflow and save time.', 'formidable'); + emptyStateButton.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Create Template', 'formidable'); + + // Display the empty state + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hide)(pageTitle); + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.showElements)([emptyState, emptyStateButton]); +} + +/** + * Display the available-templates-empty state. + * + * @return {void} + */ +function showAvailableTemplatesEmptyState() { + var _getElements7 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + pageTitle = _getElements7.pageTitle, + emptyState = _getElements7.emptyState, + emptyStateButton = _getElements7.emptyStateButton; + + // Assign state attributes + emptyState.setAttribute('data-view', _shared__WEBPACK_IMPORTED_MODULE_3__.VIEW_SLUGS.AVAILABLE_TEMPLATES); + + // Update text content + var _getElements8 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + emptyStateTitle = _getElements8.emptyStateTitle, + emptyStateText = _getElements8.emptyStateText; + var _getState2 = (0,_shared__WEBPACK_IMPORTED_MODULE_3__.getState)(), + extraTemplatesCount = _getState2.extraTemplatesCount; + emptyStateTitle.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('No Templates Available', 'formidable'); + emptyStateText.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.sprintf)( + // translators: %s is the number of extra templates available + (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Upgrade to PRO for %s+ options or explore Free Templates.', 'formidable'), extraTemplatesCount); + + // Display the empty state + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hideElements)([pageTitle, emptyStateButton]); + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.show)(emptyState); +} + +/***/ }), + +/***/ "./js/src/form-templates/ui/showHeaderCancelButton.js": +/*!************************************************************!*\ + !*** ./js/src/form-templates/ui/showHeaderCancelButton.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ showHeaderCancelButton: () => (/* binding */ showHeaderCancelButton) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + +/** + * Display the "Cancel" button in the header. + * + * @return {void} + */ +function showHeaderCancelButton() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_1__.getElements)(), + headerCancelButton = _getElements.headerCancelButton; + new core_utils__WEBPACK_IMPORTED_MODULE_0__.frmAnimate(headerCancelButton).fadeIn(); +} + +/***/ }), + +/***/ "./js/src/form-templates/ui/showModal.js": +/*!***********************************************!*\ + !*** ./js/src/form-templates/ui/showModal.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ showCreateTemplateModal: () => (/* binding */ showCreateTemplateModal), +/* harmony export */ showLockedTemplateModal: () => (/* binding */ showLockedTemplateModal), +/* harmony export */ showRenewAccountModal: () => (/* binding */ showRenewAccountModal), +/* harmony export */ showUpgradeModal: () => (/* binding */ showUpgradeModal) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ */ "./js/src/form-templates/ui/index.js"); +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); } +function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } +function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } +function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } +/** + * WordPress dependencies + */ + + +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + + +/** + * Display the locked template modal. + * + * @param {HTMLElement} template The template element. + * @return {void} + */ +function showLockedTemplateModal(template) { + var plan = template.dataset.requiredPlan; + switch (plan) { + case _shared__WEBPACK_IMPORTED_MODULE_3__.PLANS.BASIC: + case _shared__WEBPACK_IMPORTED_MODULE_3__.PLANS.PLUS: + case _shared__WEBPACK_IMPORTED_MODULE_3__.PLANS.BUSINESS: + case _shared__WEBPACK_IMPORTED_MODULE_3__.PLANS.ELITE: + showUpgradeModal(plan, template); + break; + case _shared__WEBPACK_IMPORTED_MODULE_3__.PLANS.RENEW: + showRenewAccountModal(); + break; + } +} + +/** + * Base function to show a modal dialog with a customizable pre-open execution step. + * + * @param {Function} executePreOpen The function to be executed before opening the modal dialog. + * @return {Function} A higher-order function that can be invoked to display the modal dialog. + */ +var showModal = function showModal(executePreOpen) { + return /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() { + var dialogWidget, + _getElements, + modalItems, + _len, + params, + _key, + _args = arguments; + return _regeneratorRuntime().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + dialogWidget = (0,___WEBPACK_IMPORTED_MODULE_4__.getModalWidget)(); + if (dialogWidget) { + _context.next = 3; + break; + } + return _context.abrupt("return"); + case 3: + _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), modalItems = _getElements.modalItems; + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hideElements)(modalItems); + dialogWidget.dialog('option', 'width', _shared__WEBPACK_IMPORTED_MODULE_3__.MODAL_SIZES.GENERAL); + for (_len = _args.length, params = new Array(_len), _key = 0; _key < _len; _key++) { + params[_key] = _args[_key]; + } + _context.next = 9; + return executePreOpen === null || executePreOpen === void 0 ? void 0 : executePreOpen.apply(void 0, params); + case 9: + dialogWidget.dialog('open'); + case 10: + case "end": + return _context.stop(); + } + }, _callee); + })); +}; + +// Mapping each plan to the subsequent plans it can upgrade to +var upgradablePlans = { + basic: ['basic', 'plus', 'business', 'elite'], + plus: ['plus', 'business', 'elite'], + business: ['business', 'elite'], + elite: ['elite'] +}; + +/** + * Display the modal dialog to prompt the user to upgrade their account. + * + * @param {string} plan Current plan name + * @param {HTMLElement} template The template element + * @return {void} + */ +var showUpgradeModal = showModal(function (plan, template) { + var templateName = template.querySelector('.frm-form-template-name').textContent.trim(); + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + upgradeModal = _getElements2.upgradeModal, + upgradeModalTemplateNames = _getElements2.upgradeModalTemplateNames, + upgradeModalPlansIcons = _getElements2.upgradeModalPlansIcons, + upgradeModalLink = _getElements2.upgradeModalLink; + + // Update template names + upgradeModalTemplateNames.forEach(function (element) { + return element.textContent = templateName; + }); + + // Update plan icons and their availability + upgradeModalPlansIcons.forEach(function (icon) { + var planType = icon.dataset.plan; + var shouldDisplayCheck = upgradablePlans[plan].includes(planType); + + // Toggle icon class based on plan availability + icon.classList.toggle('frm_green', shouldDisplayCheck); + + // Update SVG icon + var svg = icon.querySelector('svg > use'); + svg.setAttribute('xlink:href', shouldDisplayCheck ? '#frm_checkmark_icon' : '#frm_close_icon'); + }); + + // Append template slug to the upgrade modal link URL + var templateSlug = template.dataset.slug ? "-".concat(template.dataset.slug) : ''; + upgradeModalLink.href = _shared__WEBPACK_IMPORTED_MODULE_3__.upgradeLink + templateSlug; + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.show)(upgradeModal); +}); + +/** + * Display the modal dialog to prompt the user to renew their account. + * + * @return {void} + */ +var showRenewAccountModal = showModal(function () { + var _getElements3 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + renewAccountModal = _getElements3.renewAccountModal; + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.show)(renewAccountModal); +}); + +/** + * Displays a modal dialog prompting the user to create a new template. + * + * @return {void} + */ +var showCreateTemplateModal = showModal(function () { + var dialogWidget = (0,___WEBPACK_IMPORTED_MODULE_4__.getModalWidget)(); + dialogWidget.dialog('option', 'width', _shared__WEBPACK_IMPORTED_MODULE_3__.MODAL_SIZES.CREATE_TEMPLATE); + var _getElements4 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + createTemplateModal = _getElements4.createTemplateModal; + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.show)(createTemplateModal); +}); + +/***/ }), + +/***/ "./js/src/form-templates/ui/showSelectedCategory.js": +/*!**********************************************************!*\ + !*** ./js/src/form-templates/ui/showSelectedCategory.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 */ showAllTemplates: () => (/* binding */ showAllTemplates), +/* harmony export */ showAvailableTemplates: () => (/* binding */ showAvailableTemplates), +/* harmony export */ showCustomTemplates: () => (/* binding */ showCustomTemplates), +/* harmony export */ showFavoriteTemplates: () => (/* binding */ showFavoriteTemplates), +/* harmony export */ showSelectedCategory: () => (/* binding */ showSelectedCategory) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ "./js/src/form-templates/utils/index.js"); +/* harmony import */ var _templates__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../templates */ "./js/src/form-templates/templates/index.js"); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ */ "./js/src/form-templates/ui/index.js"); +function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); } +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."); } +function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } +function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } +function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); } +function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } +/** + * External dependencies + */ + + + +/** + * Internal dependencies + */ + + + + + + +/** + * Show templates based on selected category. + * + * @param {string} selectedCategory The selected category to display templates for. + * @return {void} + */ +function showSelectedCategory(selectedCategory) { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + bodyContentChildren = _getElements.bodyContentChildren, + pageTitle = _getElements.pageTitle, + showCreateTemplateModalButton = _getElements.showCreateTemplateModalButton, + templatesList = _getElements.templatesList, + templateItems = _getElements.templateItems; + if (core_page_skeleton__WEBPACK_IMPORTED_MODULE_1__.VIEWS.ALL_ITEMS !== selectedCategory) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hideElements)(bodyContentChildren); + } + (0,___WEBPACK_IMPORTED_MODULE_6__.updatePageTitle)(); + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hide)(showCreateTemplateModalButton); + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.show)(pageTitle); + switch (selectedCategory) { + case core_page_skeleton__WEBPACK_IMPORTED_MODULE_1__.VIEWS.ALL_ITEMS: + showAllTemplates(); + break; + case _shared__WEBPACK_IMPORTED_MODULE_3__.VIEW_SLUGS.AVAILABLE_TEMPLATES: + showAvailableTemplates(); + break; + case _shared__WEBPACK_IMPORTED_MODULE_3__.VIEW_SLUGS.FAVORITES: + showFavoriteTemplates(); + break; + case _shared__WEBPACK_IMPORTED_MODULE_3__.VIEW_SLUGS.CUSTOM: + showCustomTemplates(); + break; + default: + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hideElements)(templateItems); // Clear the view for new content + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.showElements)([templatesList].concat(_toConsumableArray(_templates__WEBPACK_IMPORTED_MODULE_5__.categorizedTemplates[selectedCategory]))); + break; + } +} + +/** + * Shows all templates when 'All Templates' is the selected category. + * + * @return {void} + */ +function showAllTemplates() { + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + bodyContentChildren = _getElements2.bodyContentChildren, + pageTitleDivider = _getElements2.pageTitleDivider, + templateItems = _getElements2.templateItems, + twinFeaturedTemplateItems = _getElements2.twinFeaturedTemplateItems, + customTemplatesSection = _getElements2.customTemplatesSection, + emptyState = _getElements2.emptyState, + applicationTemplates = _getElements2.applicationTemplates; + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.showElements)([].concat(_toConsumableArray(bodyContentChildren), _toConsumableArray(templateItems))); + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hideElements)([pageTitleDivider].concat(_toConsumableArray(twinFeaturedTemplateItems), [customTemplatesSection, emptyState, applicationTemplates])); +} + +/** + * Shows favorite templates. + * + * @return {void} + */ +function showFavoriteTemplates() { + var _getState = (0,_shared__WEBPACK_IMPORTED_MODULE_3__.getState)(), + favoritesCount = _getState.favoritesCount; + if (0 === favoritesCount.total) { + (0,___WEBPACK_IMPORTED_MODULE_6__.showFavoritesEmptyState)(); + return; + } + var _getElements3 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + bodyContent = _getElements3.bodyContent, + templatesList = _getElements3.templatesList, + templateItems = _getElements3.templateItems, + customTemplatesSection = _getElements3.customTemplatesSection, + customTemplatesTitle = _getElements3.customTemplatesTitle, + customTemplatesList = _getElements3.customTemplatesList, + customTemplateItems = _getElements3.customTemplateItems; + + // Clear the view for new content + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hideElements)(templateItems); + var elementsToShow = []; + + // Get all favorite items from the DOM and add the elements to show + var favoriteItems = bodyContent.querySelectorAll(".".concat(_shared__WEBPACK_IMPORTED_MODULE_3__.PREFIX, "-favorite-item")); + elementsToShow.push.apply(elementsToShow, _toConsumableArray(favoriteItems)); + + // Add default favorites if available + if (favoritesCount.default > 0) { + elementsToShow.push(templatesList); + } + + // Add custom favorites if available + if (favoritesCount.custom > 0) { + var nonFavCustomTemplates = Array.from(customTemplateItems).filter(function (template) { + return !(0,_utils__WEBPACK_IMPORTED_MODULE_4__.isFavoriteTemplate)(template); + }); + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hideElements)(nonFavCustomTemplates); + elementsToShow.push(customTemplatesSection); + elementsToShow.push(customTemplatesList); + if (0 === favoritesCount.default) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hide)(customTemplatesTitle); + } else { + elementsToShow.push(customTemplatesTitle); + } + } + + // Show elements that were selected to be shown + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.showElements)(elementsToShow); +} + +/** + * Shows custom templates. + * + * @return {void} + */ +function showCustomTemplates() { + var _getState2 = (0,_shared__WEBPACK_IMPORTED_MODULE_3__.getState)(), + customCount = _getState2.customCount; + if (0 === customCount) { + (0,___WEBPACK_IMPORTED_MODULE_6__.showCustomTemplatesEmptyState)(); + return; + } + var _getElements4 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + showCreateTemplateModalButton = _getElements4.showCreateTemplateModalButton, + pageTitleDivider = _getElements4.pageTitleDivider, + customTemplatesSection = _getElements4.customTemplatesSection, + customTemplatesList = _getElements4.customTemplatesList, + customTemplatesTitle = _getElements4.customTemplatesTitle, + customTemplateItems = _getElements4.customTemplateItems; + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hide)(customTemplatesTitle); + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.showElements)([showCreateTemplateModalButton, pageTitleDivider, customTemplatesSection, customTemplatesList].concat(_toConsumableArray(customTemplateItems))); +} + +/** + * Shows available templates. + * + * @return {void} + */ +function showAvailableTemplates() { + var _getState3 = (0,_shared__WEBPACK_IMPORTED_MODULE_3__.getState)(), + availableTemplatesCount = _getState3.availableTemplatesCount; + if (0 === availableTemplatesCount) { + (0,___WEBPACK_IMPORTED_MODULE_6__.showAvailableTemplatesEmptyState)(); + return; + } + var _getElements5 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + templatesList = _getElements5.templatesList, + templateItems = _getElements5.templateItems, + availableTemplateItems = _getElements5.availableTemplateItems; + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hideElements)(templateItems); // Clear the view for new content + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.showElements)([templatesList].concat(_toConsumableArray(availableTemplateItems))); +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (showSelectedCategory); + +/***/ }), + +/***/ "./js/src/form-templates/utils/index.js": +/*!**********************************************!*\ + !*** ./js/src/form-templates/utils/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 */ isAllTemplatesCategory: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_0__.isAllTemplatesCategory), +/* harmony export */ isCustomCategory: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_0__.isCustomCategory), +/* harmony export */ isCustomTemplate: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_0__.isCustomTemplate), +/* harmony export */ isFavoriteTemplate: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_0__.isFavoriteTemplate), +/* harmony export */ isFavoritesCategory: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_0__.isFavoritesCategory), +/* harmony export */ isFeaturedTemplate: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_0__.isFeaturedTemplate), +/* harmony export */ isLockedTemplate: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_0__.isLockedTemplate) +/* harmony export */ }); +/* harmony import */ var _validation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validation */ "./js/src/form-templates/utils/validation.js"); + + +/***/ }), + +/***/ "./js/src/form-templates/utils/validation.js": +/*!***************************************************!*\ + !*** ./js/src/form-templates/utils/validation.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ isAllTemplatesCategory: () => (/* binding */ isAllTemplatesCategory), +/* harmony export */ isCustomCategory: () => (/* binding */ isCustomCategory), +/* harmony export */ isCustomTemplate: () => (/* binding */ isCustomTemplate), +/* harmony export */ isFavoriteTemplate: () => (/* binding */ isFavoriteTemplate), +/* harmony export */ isFavoritesCategory: () => (/* binding */ isFavoritesCategory), +/* harmony export */ isFeaturedTemplate: () => (/* binding */ isFeaturedTemplate), +/* harmony export */ isLockedTemplate: () => (/* binding */ isLockedTemplate) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/** + * External dependencies + */ + + + +/** + * Internal dependencies + */ + + +/** + * Checks if the category is "All Templates". + * + * @param {string} category The category slug. + * @return {boolean} True if the category is "All Templates", otherwise false. + */ +var isAllTemplatesCategory = function isAllTemplatesCategory(category) { + return core_page_skeleton__WEBPACK_IMPORTED_MODULE_1__.VIEWS.ALL_ITEMS === category; +}; + +/** + * Checks if the category is "Favorites". + * + * @param {string} category The category slug. + * @return {boolean} True if the category is "Favorites", otherwise false. + */ +var isFavoritesCategory = function isFavoritesCategory(category) { + return _shared__WEBPACK_IMPORTED_MODULE_2__.VIEW_SLUGS.FAVORITES === category; +}; + +/** + * Checks if the category is "Custom". + * + * @param {string} category The category slug. + * @return {boolean} True if the category is "Custom", otherwise false. + */ +var isCustomCategory = function isCustomCategory(category) { + return _shared__WEBPACK_IMPORTED_MODULE_2__.VIEW_SLUGS.CUSTOM === category; +}; + +/** + * Checks if a template is a favorite. + * + * @param {HTMLElement} template The template element. + * @return {boolean} True if the template is a favorite, otherwise false. + */ +var isFavoriteTemplate = function isFavoriteTemplate(template) { + return (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(template) ? template.classList.contains("".concat(_shared__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-favorite-item")) : false; +}; + +/** + * Checks if a template is custom. + * + * @param {HTMLElement} template The template element. + * @return {boolean} True if the template is custom, otherwise false. + */ +var isCustomTemplate = function isCustomTemplate(template) { + return (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(template) ? template.classList.contains("".concat(_shared__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-custom-item")) : false; +}; + +/** + * Checks if a template is featured. + * + * @param {HTMLElement} template The template element. + * @return {boolean} True if the template is featured, otherwise false. + */ +var isFeaturedTemplate = function isFeaturedTemplate(template) { + return (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(template) ? _shared__WEBPACK_IMPORTED_MODULE_2__.FEATURED_TEMPLATES_KEYS.includes(Number(template.dataset.id)) : false; +}; + +/** + * Checks if a template is locked. + * + * @param {HTMLElement} template The template element. + * @return {boolean} True if the template is locked, otherwise false. + */ +var isLockedTemplate = function isLockedTemplate(template) { + return (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(template) ? template.classList.contains("".concat(_shared__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-locked-item")) : false; +}; + +/***/ }), + +/***/ "./node_modules/memize/index.js": +/*!**************************************!*\ + !*** ./node_modules/memize/index.js ***! + \**************************************/ +/***/ ((module) => { + +/** + * Memize options object. + * + * @typedef MemizeOptions + * + * @property {number} [maxSize] Maximum size of the cache. + */ + +/** + * Internal cache entry. + * + * @typedef MemizeCacheNode + * + * @property {?MemizeCacheNode|undefined} [prev] Previous node. + * @property {?MemizeCacheNode|undefined} [next] Next node. + * @property {Array<*>} args Function arguments for cache + * entry. + * @property {*} val Function result. + */ + +/** + * Properties of the enhanced function for controlling cache. + * + * @typedef MemizeMemoizedFunction + * + * @property {()=>void} clear Clear the cache. + */ + +/** + * Accepts a function to be memoized, and returns a new memoized function, with + * optional options. + * + * @template {Function} F + * + * @param {F} fn Function to memoize. + * @param {MemizeOptions} [options] Options object. + * + * @return {F & MemizeMemoizedFunction} Memoized function. + */ +function memize( fn, options ) { + var size = 0; + + /** @type {?MemizeCacheNode|undefined} */ + var head; + + /** @type {?MemizeCacheNode|undefined} */ + var tail; + + options = options || {}; + + function memoized( /* ...args */ ) { + var node = head, + len = arguments.length, + args, i; + + searchCache: while ( node ) { + // Perform a shallow equality test to confirm that whether the node + // under test is a candidate for the arguments passed. Two arrays + // are shallowly equal if their length matches and each entry is + // strictly equal between the two sets. Avoid abstracting to a + // function which could incur an arguments leaking deoptimization. + + // Check whether node arguments match arguments length + if ( node.args.length !== arguments.length ) { + node = node.next; + continue; + } + + // Check whether node arguments match arguments values + for ( i = 0; i < len; i++ ) { + if ( node.args[ i ] !== arguments[ i ] ) { + node = node.next; + continue searchCache; + } + } + + // At this point we can assume we've found a match + + // Surface matched node to head if not already + if ( node !== head ) { + // As tail, shift to previous. Must only shift if not also + // head, since if both head and tail, there is no previous. + if ( node === tail ) { + tail = node.prev; + } + + // Adjust siblings to point to each other. If node was tail, + // this also handles new tail's empty `next` assignment. + /** @type {MemizeCacheNode} */ ( node.prev ).next = node.next; + if ( node.next ) { + node.next.prev = node.prev; + } + + node.next = head; + node.prev = null; + /** @type {MemizeCacheNode} */ ( head ).prev = node; + head = node; + } + + // Return immediately + return node.val; + } + + // No cached value found. Continue to insertion phase: + + // Create a copy of arguments (avoid leaking deoptimization) + args = new Array( len ); + for ( i = 0; i < len; i++ ) { + args[ i ] = arguments[ i ]; + } + + node = { + args: args, + + // Generate the result from original function + val: fn.apply( null, args ), + }; + + // Don't need to check whether node is already head, since it would + // have been returned above already if it was + + // Shift existing head down list + if ( head ) { + head.prev = node; + node.next = head; + } else { + // If no head, follows that there's no tail (at initial or reset) + tail = node; + } + + // Trim tail if we're reached max size and are pending cache insertion + if ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) { + tail = /** @type {MemizeCacheNode} */ ( tail ).prev; + /** @type {MemizeCacheNode} */ ( tail ).next = null; + } else { + size++; + } + + head = node; + + return node.val; + } + + memoized.clear = function() { + head = null; + tail = null; + size = 0; + }; + + if ( false ) {} + + // Ignore reason: There's not a clear solution to create an intersection of + // the function with additional properties, where the goal is to retain the + // function signature of the incoming argument and add control properties + // on the return value. + + // @ts-ignore + return memoized; +} + +module.exports = memize; + + +/***/ }), + +/***/ "./node_modules/sprintf-js/src/sprintf.js": +/*!************************************************!*\ + !*** ./node_modules/sprintf-js/src/sprintf.js ***! + \************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +var __WEBPACK_AMD_DEFINE_RESULT__;/* global window, exports, define */ + +!function() { + 'use strict' + + var re = { + not_string: /[^s]/, + not_bool: /[^t]/, + not_type: /[^T]/, + not_primitive: /[^v]/, + number: /[diefg]/, + numeric_arg: /[bcdiefguxX]/, + json: /[j]/, + not_json: /[^j]/, + text: /^[^\x25]+/, + modulo: /^\x25{2}/, + placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/, + key: /^([a-z_][a-z_\d]*)/i, + key_access: /^\.([a-z_][a-z_\d]*)/i, + index_access: /^\[(\d+)\]/, + sign: /^[+-]/ + } + + function sprintf(key) { + // `arguments` is not an array, but should be fine for this call + return sprintf_format(sprintf_parse(key), arguments) + } + + function vsprintf(fmt, argv) { + return sprintf.apply(null, [fmt].concat(argv || [])) + } + + function sprintf_format(parse_tree, argv) { + var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign + for (i = 0; i < tree_length; i++) { + if (typeof parse_tree[i] === 'string') { + output += parse_tree[i] + } + else if (typeof parse_tree[i] === 'object') { + ph = parse_tree[i] // convenience purposes only + if (ph.keys) { // keyword argument + arg = argv[cursor] + for (k = 0; k < ph.keys.length; k++) { + if (arg == undefined) { + throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1])) + } + arg = arg[ph.keys[k]] + } + } + else if (ph.param_no) { // positional argument (explicit) + arg = argv[ph.param_no] + } + else { // positional argument (implicit) + arg = argv[cursor++] + } + + if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) { + arg = arg() + } + + if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) { + throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg)) + } + + if (re.number.test(ph.type)) { + is_positive = arg >= 0 + } + + switch (ph.type) { + case 'b': + arg = parseInt(arg, 10).toString(2) + break + case 'c': + arg = String.fromCharCode(parseInt(arg, 10)) + break + case 'd': + case 'i': + arg = parseInt(arg, 10) + break + case 'j': + arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0) + break + case 'e': + arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential() + break + case 'f': + arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg) + break + case 'g': + arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg) + break + case 'o': + arg = (parseInt(arg, 10) >>> 0).toString(8) + break + case 's': + arg = String(arg) + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 't': + arg = String(!!arg) + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'T': + arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase() + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'u': + arg = parseInt(arg, 10) >>> 0 + break + case 'v': + arg = arg.valueOf() + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'x': + arg = (parseInt(arg, 10) >>> 0).toString(16) + break + case 'X': + arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase() + break + } + if (re.json.test(ph.type)) { + output += arg + } + else { + if (re.number.test(ph.type) && (!is_positive || ph.sign)) { + sign = is_positive ? '+' : '-' + arg = arg.toString().replace(re.sign, '') + } + else { + sign = '' + } + pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' ' + pad_length = ph.width - (sign + arg).length + pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : '' + output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg) + } + } + } + return output + } + + var sprintf_cache = Object.create(null) + + function sprintf_parse(fmt) { + if (sprintf_cache[fmt]) { + return sprintf_cache[fmt] + } + + var _fmt = fmt, match, parse_tree = [], arg_names = 0 + while (_fmt) { + if ((match = re.text.exec(_fmt)) !== null) { + parse_tree.push(match[0]) + } + else if ((match = re.modulo.exec(_fmt)) !== null) { + parse_tree.push('%') + } + else if ((match = re.placeholder.exec(_fmt)) !== null) { + if (match[2]) { + arg_names |= 1 + var field_list = [], replacement_field = match[2], field_match = [] + if ((field_match = re.key.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') { + if ((field_match = re.key_access.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + } + else if ((field_match = re.index_access.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + } + else { + throw new SyntaxError('[sprintf] failed to parse named argument key') + } + } + } + else { + throw new SyntaxError('[sprintf] failed to parse named argument key') + } + match[2] = field_list + } + else { + arg_names |= 2 + } + if (arg_names === 3) { + throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported') + } + + parse_tree.push( + { + placeholder: match[0], + param_no: match[1], + keys: match[2], + sign: match[3], + pad_char: match[4], + align: match[5], + width: match[6], + precision: match[7], + type: match[8] + } + ) + } + else { + throw new SyntaxError('[sprintf] unexpected placeholder') + } + _fmt = _fmt.substring(match[0].length) + } + return sprintf_cache[fmt] = parse_tree + } + + /** + * export to either browser or node.js + */ + /* eslint-disable quote-props */ + if (true) { + exports.sprintf = sprintf + exports.vsprintf = vsprintf + } + if (typeof window !== 'undefined') { + window['sprintf'] = sprintf + window['vsprintf'] = vsprintf + + if (true) { + !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() { + return { + 'sprintf': sprintf, + 'vsprintf': vsprintf + } + }).call(exports, __webpack_require__, exports, module), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) + } + } + /* eslint-enable quote-props */ +}(); // eslint-disable-line + + +/***/ }), + +/***/ "./node_modules/tannin/index.js": +/*!**************************************!*\ + !*** ./node_modules/tannin/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": () => (/* binding */ Tannin) +/* harmony export */ }); +/* harmony import */ var _tannin_plural_forms__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/plural-forms */ "./node_modules/@tannin/plural-forms/index.js"); + + +/** + * Tannin constructor options. + * + * @typedef {Object} TanninOptions + * + * @property {string} [contextDelimiter] Joiner in string lookup with context. + * @property {Function} [onMissingKey] Callback to invoke when key missing. + */ + +/** + * Domain metadata. + * + * @typedef {Object} TanninDomainMetadata + * + * @property {string} [domain] Domain name. + * @property {string} [lang] Language code. + * @property {(string|Function)} [plural_forms] Plural forms expression or + * function evaluator. + */ + +/** + * Domain translation pair respectively representing the singular and plural + * translation. + * + * @typedef {[string,string]} TanninTranslation + */ + +/** + * Locale data domain. The key is used as reference for lookup, the value an + * array of two string entries respectively representing the singular and plural + * translation. + * + * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain + */ + +/** + * Jed-formatted locale data. + * + * @see http://messageformat.github.io/Jed/ + * + * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData + */ + +/** + * Default Tannin constructor options. + * + * @type {TanninOptions} + */ +var DEFAULT_OPTIONS = { + contextDelimiter: '\u0004', + onMissingKey: null, +}; + +/** + * Given a specific locale data's config `plural_forms` value, returns the + * expression. + * + * @example + * + * ``` + * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)' + * ``` + * + * @param {string} pf Locale data plural forms. + * + * @return {string} Plural forms expression. + */ +function getPluralExpression( pf ) { + var parts, i, part; + + parts = pf.split( ';' ); + + for ( i = 0; i < parts.length; i++ ) { + part = parts[ i ].trim(); + if ( part.indexOf( 'plural=' ) === 0 ) { + return part.substr( 7 ); + } + } +} + +/** + * Tannin constructor. + * + * @class + * + * @param {TanninLocaleData} data Jed-formatted locale data. + * @param {TanninOptions} [options] Tannin options. + */ +function Tannin( data, options ) { + var key; + + /** + * Jed-formatted locale data. + * + * @name Tannin#data + * @type {TanninLocaleData} + */ + this.data = data; + + /** + * Plural forms function cache, keyed by plural forms string. + * + * @name Tannin#pluralForms + * @type {Object} + */ + this.pluralForms = {}; + + /** + * Effective options for instance, including defaults. + * + * @name Tannin#options + * @type {TanninOptions} + */ + this.options = {}; + + for ( key in DEFAULT_OPTIONS ) { + this.options[ key ] = options !== undefined && key in options + ? options[ key ] + : DEFAULT_OPTIONS[ key ]; + } +} + +/** + * Returns the plural form index for the given domain and value. + * + * @param {string} domain Domain on which to calculate plural form. + * @param {number} n Value for which plural form is to be calculated. + * + * @return {number} Plural form index. + */ +Tannin.prototype.getPluralForm = function( domain, n ) { + var getPluralForm = this.pluralForms[ domain ], + config, plural, pf; + + if ( ! getPluralForm ) { + config = this.data[ domain ][ '' ]; + + pf = ( + config[ 'Plural-Forms' ] || + config[ 'plural-forms' ] || + // Ignore reason: As known, there's no way to document the empty + // string property on a key to guarantee this as metadata. + // @ts-ignore + config.plural_forms + ); + + if ( typeof pf !== 'function' ) { + plural = getPluralExpression( + config[ 'Plural-Forms' ] || + config[ 'plural-forms' ] || + // Ignore reason: As known, there's no way to document the empty + // string property on a key to guarantee this as metadata. + // @ts-ignore + config.plural_forms + ); + + pf = (0,_tannin_plural_forms__WEBPACK_IMPORTED_MODULE_0__["default"])( plural ); + } + + getPluralForm = this.pluralForms[ domain ] = pf; + } + + return getPluralForm( n ); +}; + +/** + * Translate a string. + * + * @param {string} domain Translation domain. + * @param {string|void} context Context distinguishing terms of the same name. + * @param {string} singular Primary key for translation lookup. + * @param {string=} plural Fallback value used for non-zero plural + * form index. + * @param {number=} n Value to use in calculating plural form. + * + * @return {string} Translated string. + */ +Tannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) { + var index, key, entry; + + if ( n === undefined ) { + // Default to singular. + index = 0; + } else { + // Find index by evaluating plural form for value. + index = this.getPluralForm( domain, n ); + } + + key = singular; + + // If provided, context is prepended to key with delimiter. + if ( context ) { + key = context + this.options.contextDelimiter + singular; + } + + entry = this.data[ domain ][ key ]; + + // Verify not only that entry exists, but that the intended index is within + // range and non-empty. + if ( entry && entry[ index ] ) { + return entry[ index ]; + } + + if ( this.options.onMissingKey ) { + this.options.onMissingKey( singular, domain ); + } + + // If entry not found, fall back to singular vs. plural with zero index + // representing the singular value. + return index === 0 ? singular : plural; +}; + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.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 */ _arrayLikeToArray) +/* harmony export */ }); +function _arrayLikeToArray(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.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 */ _arrayWithoutHoles) +/* harmony export */ }); +/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); + +function _arrayWithoutHoles(r) { + if (Array.isArray(r)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.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 */ _classCallCheck) +/* harmony export */ }); +function _classCallCheck(a, n) { + if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.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 */ _iterableToArray) +/* harmony export */ }); +function _iterableToArray(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.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 */ _nonIterableSpread) +/* harmony export */ }); +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."); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.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 */ _toConsumableArray) +/* harmony export */ }); +/* harmony import */ var _arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithoutHoles.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js"); +/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js"); +/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"); +/* harmony import */ var _nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableSpread.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js"); + + + + +function _toConsumableArray(r) { + return (0,_arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r) || (0,_iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(r) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(r) || (0,_nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__["default"])(); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js": +/*!*************************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.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 */ _unsupportedIterableToArray) +/* harmony export */ }); +/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); + +function _unsupportedIterableToArray(r, a) { + if (r) { + if ("string" == typeof r) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r, a) : void 0; + } +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/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/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); + +function _defineProperty(e, r, t) { + return (r = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r)) in e ? Object.defineProperty(e, r, { + value: t, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[r] = t, e; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/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/@wordpress/i18n/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/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/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/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js"); +/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "./node_modules/@wordpress/i18n/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 : i + ""; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/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); +} + + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // 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/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* 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/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"; +/*!****************************************!*\ + !*** ./js/src/form-templates/index.js ***! + \****************************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/dom-ready */ "./node_modules/@wordpress/dom-ready/build-module/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./shared */ "./js/src/form-templates/shared/index.js"); +/* harmony import */ var _initializeFormTemplates__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./initializeFormTemplates */ "./js/src/form-templates/initializeFormTemplates.js"); +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +(0,_wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_2__["default"])(function () { + /** + * Entry point for pre-initialization adjustments to the page state. + * + * @param {Object} state Current state of the page. + */ + wp.hooks.doAction('frmFormTemplates.beforeInitialize', { + getState: _shared__WEBPACK_IMPORTED_MODULE_0__.getState, + setState: _shared__WEBPACK_IMPORTED_MODULE_0__.setState + }); + + // Initialize the form templates + (0,_initializeFormTemplates__WEBPACK_IMPORTED_MODULE_1__["default"])(); + + /** + * Entry point for post-initialization custom logic or adjustments to the page state. + * + * @param {Object} state Current state of the page. + */ + wp.hooks.doAction('frmFormTemplates.afterInitialize', { + getState: _shared__WEBPACK_IMPORTED_MODULE_0__.getState, + setState: _shared__WEBPACK_IMPORTED_MODULE_0__.setState + }); + + /** + * Trigger a specific action to interact with the hidden form '#frm-new-template', + * which is used for creating or using a form template. + * + * @param {HTMLElement} $form The jQuery object containing the hidden form element. + */ + wp.hooks.doAction('frm_new_form_modal_form', jQuery('#frm-new-template')); +}); +})(); + +/******/ })() +; +//# sourceMappingURL=form-templates.js.map \ No newline at end of file diff --git a/js/formidable-settings-components.js b/js/formidable-settings-components.js index 0c136a267d..adedff605f 100644 --- a/js/formidable-settings-components.js +++ b/js/formidable-settings-components.js @@ -1 +1,2636 @@ -(()=>{"use strict";var e=window.frmGlobal,t=(e.url,e.nonce,"frm_hidden"),n="frm_disabled",i=(Promise.resolve(),window.frmDom.util),r=(i.onClickPreventDefault,i.documentOn),a=(new URL(window.location.href).searchParams,function(e){return null==e?void 0:e.classList.remove(t)});function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function l(e,t){for(var n=0;n=r)){var a=i.querySelector("select").value,o=this.calculateValue(r,n,this.getMaxValue(a,t));i.querySelector('.frm-slider-value input[type="text"]').value=o,i.querySelector(".frm-slider-bullet .frm-slider-value-label").innerText=o,i.querySelector(".frm-slider-active-track").style.width="".concat(n,"px"),this.initChildSlidersWidth(i,n,t,o+a),this.options[t].translateX=n,this.options[t].value=o+a,this.options[t].fullValue=this.updateValue(i,this.options[t].value),this.valueChangeDebouncer(t)}}}},{key:"getMaxValue",value:function(e,t){return"%"===e?100:this.options[t].maxValue}},{key:"enableDragging",value:function(e,t){e.target.classList.add("frm-dragging"),this.options[t].dragging=!0,this.options[t].startX=e.clientX-this.options[t].translateX}},{key:"disableDragging",value:function(e,t){!1!==this.options[e].dragging&&(t.target.classList.remove("frm-dragging"),this.options[e].dragging=!1,this.triggerValueChange(e))}},{key:"triggerValueChange",value:function(e){var t=this;if(null===this.options[e].dependentUpdater){var n=this.sliderElements[e].classList.contains("frm-has-multiple-values")?this.sliderElements[e].closest(".frm-style-component").querySelector('input[type="hidden"]'):this.sliderElements[e].querySelectorAll('.frm-slider-value input[type="hidden"]');n instanceof NodeList?n.forEach((function(n){n.dispatchEvent(t.eventsChange[e])})):n.dispatchEvent(this.eventsChange[e])}else this.options[e].dependentUpdater.updateAllDependentElements(this.options[e].fullValue)}},{key:"calculateValue",value:function(e,t,n){var i=Math.ceil(this.sliderBulletWidth*(t/e)),r=Math.ceil((t+i)/e*n);return Math.min(r,n)}},{key:"updateValue",value:function(e,t){var n=this;if(e.classList.contains("frm-base-font-size")){var i=document.querySelector('input[name="frm_style_setting[post_content][use_base_font_size]"]');null!==i&&(i.value="true")}if(e.classList.contains("frm-has-multiple-values")){var r=e.closest(".frm-style-component").querySelector('input[type="hidden"]'),a=r.value.split(" "),o=e.dataset.type;switch(a[2]||(a[2]="0px"),a[3]||(a[3]="0px"),o){case"vertical":a[0]=t,a[2]=t;break;case"horizontal":a[1]=t,a[3]=t;break;case"top":a[0]=t;break;case"bottom":a[2]=t;break;case"left":a[3]=t;break;case"right":a[1]=t}var l=a.join(" ");return r.value=l,this.getSliderGroupItems(e).forEach((function(e){var i=n.getUnitMeasureFromValue(t);e.querySelector('.frm-slider-value input[type="text"]').value=parseInt(t,10),e.querySelector("select").value=i})),l}if(e.classList.contains("frm-has-independent-fields")){var s=e.querySelectorAll('.frm-slider-value input[type="hidden"]'),c=e.querySelectorAll('.frm-slider-value input[type="text"]');return s.forEach((function(e,n){e.value=t,c[n+1].value=parseInt(t,10)})),t}return e.querySelector('.frm-slider-value input[type="hidden"]').value=t,t}},{key:"getUnitMeasureFromValue",value:function(e){return["%","px","em"].find((function(t){return e.includes(t)}))||""}}])&&h(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n}();function g(e){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},g(e)}function b(e,t){for(var n=0;n li"),this.slideTrackLine=this.wrapper.querySelector(".frm-tabs-active-underline"),this.slideTrack=this.wrapper.querySelector(".frm-tabs-slide-track"),this.slides=this.wrapper.querySelectorAll(".frm-tabs-slide-track > div"),this.isRTL="rtl"===document.documentElement.dir||"rtl"===document.body.dir,this.init()))},(t=[{key:"init",value:function(){var e=this;null!==this.wrapper&&this.navs.length&&null!==this.slideTrackLine&&null!==this.slideTrack&&this.slides.length&&(this.initDefaultSlideTrackerWidth(),this.navs.forEach((function(t,n){t.addEventListener("click",(function(t){return e.onNavClick(t,n)}))})))}},{key:"onNavClick",value:function(e,t){var n=e.currentTarget;e.preventDefault(),this.removeActiveClassnameFromNavs(),n.classList.add("frm-active"),this.initSlideTrackUnderline(n,t),this.changeSlide(t);var i,r,a=n.querySelector("a");a&&"frm_insert_fields_tab"===a.id&&!a.closest("#frm_adv_info")&&(null===(i=window.frmAdminBuild)||void 0===i||null===(r=i.clearSettingsBox)||void 0===r||r.call(i))}},{key:"initDefaultSlideTrackerWidth",value:function(){this.slideTrackLine.dataset.initialWidth&&(this.slideTrackLine.style.width="".concat(this.slideTrackLine.dataset.initialWidth,"px"))}},{key:"initSlideTrackUnderline",value:function(e,t){this.slideTrackLine.classList.remove("frm-first","frm-last");var n=void 0!==e?e:this.navs.filter((function(e){return e.classList.contains("frm-active")})),i=this.isRTL?-(n.parentElement.offsetWidth-n.offsetLeft-n.offsetWidth):n.offsetLeft;this.slideTrackLine.style.transform="translateX(".concat(i,"px)"),this.slideTrackLine.style.width=n.clientWidth+"px"}},{key:"changeSlide",value:function(e){this.removeActiveClassnameFromSlides();var t=0==e?"0px":"calc( ( ".concat(100*e,"% + ").concat(parseInt(this.flexboxSlidesGap,10)*e,"px ) * ").concat(this.isRTL?1:-1," )");"0px"!==t?this.slideTrack.style.transform="translateX(".concat(t,")"):this.slideTrack.style.removeProperty("transform"),e in this.slides&&this.slides[e].classList.add("frm-active")}},{key:"removeActiveClassnameFromSlides",value:function(){this.slides.forEach((function(e){return e.classList.remove("frm-active")}))}},{key:"removeActiveClassnameFromNavs",value:function(){this.navs.forEach((function(e){return e.classList.remove("frm-active")}))}}])&&b(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();function E(e){return E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},E(e)}function w(e,t){for(var n=0;n0))return e.style.paddingLeft="",e.style.paddingTop="",void(e.style.height="");var i=t.offsetHeight;if(Math.max(1,Math.ceil(i/36))>1){var r=function(e){if(!e.length)return 0;var t=0;return e.forEach((function(e){t+=e.offsetWidth})),(t+=4*(e.length-1))+4}(function(e){if(!e.length)return[];var t=Array.from(e),n=-1;t.forEach((function(e){var t=e.getBoundingClientRect().bottom;t>n&&(n=t)}));return t.filter((function(e){var t=e.getBoundingClientRect();return Math.abs(t.bottom-n)<=2}))}(n));e.style.height="".concat(i,"px"),e.style.paddingTop="".concat(i-36+4,"px"),e.style.paddingLeft=r?"".concat(r+8,"px"):""}else e.style.height="",e.style.paddingTop="",e.style.paddingLeft="".concat(t.offsetWidth-4,"px")}}function R(e,t,n){e&&n&&t&&(n.innerHTML="",X(e).forEach((function(e){return function(e,t){var n=W({className:A,children:[W({text:e,className:T}),W({className:P,child:_({href:"#frm_close_icon"})})]});t.appendChild(n)}(e,n)})),M(t,n),t.focus())}function B(e,t,n){if(!e||!t||!n)return!1;var i=X(t.value);return i.includes(e)?(F(n),!1):(i.push(e),N(t,i),F(n),!0)}function I(e,t,n){if(e&&t&&n){var i=e.querySelector(".".concat(T)).textContent;N(t,X(t.value).filter((function(e){return e!==i}))),e.remove(),n.focus()}}function X(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return(e=e.trim())?e.split(/\s+/).filter(Boolean):[]}function N(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];e&&(e.value=t.join(" "),jQuery(e).trigger("change"))}function F(e){e&&(e.value="",e.focus())}function U(){var e=document.querySelectorAll(".".concat("frm-token-input-field"));if(e.length){var n=new Set;e.forEach((function(e){n.has(e.id)||(function(e){var n=function(e){var n=e.closest(".".concat("frm-with-right-icon"));if(n.querySelector(".".concat(C)))return null;n.classList.add(x);var i=W({className:C});n.insertBefore(i,n.firstChild);var r=j("input",{className:V,id:"".concat(e.id,"-proxy-input")});return r.type="text",e.parentNode.insertBefore(r,e.nextSibling),e.classList.add(t),n}(e);if(n){var i=n.querySelector(".".concat(V)),r=n.querySelector(".".concat(C));R(e.value,i,r),function(e,t,n){jQuery(e).on("change",(function(){return R(e.value,t,n)})),t.addEventListener("keydown",(function(i){return function(e,t,n,i){var r=e.key,a=n.value.trim();switch(r){case"Backspace":a||(e.preventDefault(),I(i.querySelector(".".concat(A,":last-child")),t,n));break;case" ":case",":case"Enter":e.preventDefault(),B(a,t,n)}M(n,i)}(i,e,t,n)})),t.addEventListener("blur",(function(){return B(t.value.trim(),e,t)})),n.addEventListener("click",(function(n){return function(e,t,n){var i=e.target.closest(".".concat(P));if(i){var r=i.closest(".".concat(A));if(r){var a=r.parentElement;I(r,t,n),M(n,a)}}}(n,e,t)}))}(e,i,r)}}(e),n.add(e.id))}))}}var G,z="frm-toggle-group",H="frm_toggle_block",J="data-group-name";function Q(e){var t=e.target,n=t.closest(".".concat(z));n&&K(t,n)}function K(e,i){var r,a=(null===(r=i.closest(".".concat("frm-single-settings")))||void 0===r?void 0:r.dataset.fid)||i.dataset.fid,o=e.checked,l=e.getAttribute("data-show");l&&document.querySelectorAll(Y(l,a)).forEach((function(e){return e.classList.toggle(t,!o)}));var s=e.getAttribute("data-disable");s&&document.querySelectorAll(Y(s,a)).forEach((function(e){e.classList.toggle(n,o),e.querySelectorAll("input, select, textarea").forEach((function(e){return e.disabled=o}))}));var c=e.getAttribute("data-enable");c&&document.querySelectorAll(Y(c,a)).forEach((function(e){return e.classList.toggle(n,!o)}));var u=e.closest(".".concat(H));Array.from(i.querySelectorAll(".".concat(H))).filter((function(e){return e!==u})).forEach((function(e){e.classList.toggle(n,o);var t=e.querySelector(".frm_toggle");t.tabIndex=o?-1:0,t.setAttribute("aria-disabled",o)}))}function Y(e,t){return e.replace(/{id}/g,t)}function Z(e){var t=e.target.closest(".frm-unit-input"),n=t.querySelector(".frm-unit-input-control"),i=t.querySelector("select").value;e.target.matches("select")&&(n.type=""===i?"text":"number");var r=n.value.trim();t.querySelector('input[type="hidden"]').value=""!==r?r+i:""}G=function(){var e,t;new c,new y,new q,null===(t=document.getElementById("frm-form-add-field"))||void 0===t||t.addEventListener("click",(function(e){var t;e.preventDefault(),null===(t=document.querySelector(".frm-settings-panel .frm-tabs-navs ul > li:first-child"))||void 0===t||t.click()})),U(),document.addEventListener("frm_added_field",U),wp.hooks.addAction("frmShowedFieldSettings","formidable-token-input",D),(e=document.querySelectorAll(".".concat(z))).length&&e.forEach((function(e){var t=e.querySelector("[".concat(J,"]:checked"));t&&K(t,e)})),r("change",".".concat(z," [").concat(J,"]"),Q),r("change",".frm-unit-input .frm-unit-input-control",Z),r("change",".frm-unit-input select",Z)},"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",G):G())})(); \ No newline at end of file +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@wordpress/dom-ready/build-module/index.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@wordpress/dom-ready/build-module/index.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ domReady) +/* harmony export */ }); +/** + * @typedef {() => void} Callback + * + * TODO: Remove this typedef and inline `() => void` type. + * + * This typedef is used so that a descriptive type is provided in our + * automatically generated documentation. + * + * An in-line type `() => void` would be preferable, but the generated + * documentation is `null` in that case. + * + * @see https://github.com/WordPress/gutenberg/issues/18045 + */ + +/** + * Specify a function to execute when the DOM is fully loaded. + * + * @param {Callback} callback A function to execute after the DOM is ready. + * + * @example + * ```js + * import domReady from '@wordpress/dom-ready'; + * + * domReady( function() { + * //do something after DOM loads. + * } ); + * ``` + * + * @return {void} + */ +function domReady(callback) { + if (typeof document === 'undefined') { + return; + } + + if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly. + document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly. + ) { + return void callback(); + } // DOMContentLoaded has not fired yet, delay callback until then. + + + document.addEventListener('DOMContentLoaded', callback); +} +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./js/src/admin/components/dependent-updater-component.js": +/*!****************************************************************!*\ + !*** ./js/src/admin/components/dependent-updater-component.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ frmStyleDependentUpdaterComponent) +/* 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); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +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); } +/** + * This component updates the dependent style element's values and triggers a custom change event for each style element, initiating the style preview. + * The names of the elements that will be updated are specified using the "will-change" attribute. + * It is primarily used in components from Style/Quick Settings. + * For instance, when the "FrmPrimaryColorStyleComponent" is changed, it simultaneously updates various style elements like border color, text color, and button backgrounds. + */ +var frmStyleDependentUpdaterComponent = /*#__PURE__*/function () { + /** + * Creates an instance of frmStyleDependentUpdaterComponent. + * @param {HTMLElement} component - The component element. + */ + function frmStyleDependentUpdaterComponent(component) { + _classCallCheck(this, frmStyleDependentUpdaterComponent); + this.component = component; + try { + var willChangeData = JSON.parse(this.component.dataset.willChange); + this.data = { + propagateInputs: this.initPropagationList(willChangeData), + changeEvent: new Event('change', { + bubbles: true + }) + }; + } catch (error) { + console.error('Error parsing JSON data from "will-change" attribute.', error); + } + } + + /** + * Initializes the list of inputs to propagate changes to. + * The selection is made by provided input's names list in "will-change" attribute. + * @param {string[]} inputNames - The names of the inputs to propagate changes to. + * @return {HTMLElement[]} - The list of inputs to propagate changes to. + */ + return _createClass(frmStyleDependentUpdaterComponent, [{ + key: "initPropagationList", + value: function initPropagationList(inputNames) { + var list = []; + inputNames.forEach(function (name) { + var input = document.querySelector("input[name=\"".concat(name, "\"]")); + if (null !== input) { + list.push(input); + } + }); + return list; + } + + /** + * Updates all dependent elements with the given value. + * @param {string} value - The value to update the dependent elements with. + */ + }, { + key: "updateAllDependentElements", + value: function updateAllDependentElements(value) { + this.data.propagateInputs.forEach(function (input) { + input.value = value; + }); + this.data.propagateInputs[0].dispatchEvent(this.data.changeEvent); + } + }]); +}(); + + +/***/ }), + +/***/ "./js/src/components/class-tabs-navigator.js": +/*!***************************************************!*\ + !*** ./js/src/components/class-tabs-navigator.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ frmTabsNavigator: () => (/* binding */ frmTabsNavigator) +/* 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); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +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); } +var frmTabsNavigator = /*#__PURE__*/function () { + function frmTabsNavigator(wrapper) { + _classCallCheck(this, frmTabsNavigator); + if ('undefined' === typeof wrapper) { + return; + } + this.wrapper = wrapper instanceof Element ? wrapper : document.querySelector(wrapper); + if (null === this.wrapper) { + return; + } + this.flexboxSlidesGap = '16px'; + this.navs = this.wrapper.querySelectorAll('.frm-tabs-navs ul > li'); + this.slideTrackLine = this.wrapper.querySelector('.frm-tabs-active-underline'); + this.slideTrack = this.wrapper.querySelector('.frm-tabs-slide-track'); + this.slides = this.wrapper.querySelectorAll('.frm-tabs-slide-track > div'); + this.isRTL = document.documentElement.dir === 'rtl' || document.body.dir === 'rtl'; + this.init(); + } + return _createClass(frmTabsNavigator, [{ + key: "init", + value: function init() { + var _this = this; + if (null === this.wrapper || !this.navs.length || null === this.slideTrackLine || null === this.slideTrack || !this.slides.length) { + return; + } + this.initDefaultSlideTrackerWidth(); + this.navs.forEach(function (nav, index) { + nav.addEventListener('click', function (event) { + return _this.onNavClick(event, index); + }); + }); + } + }, { + key: "onNavClick", + value: function onNavClick(event, index) { + var navItem = event.currentTarget; + event.preventDefault(); + this.removeActiveClassnameFromNavs(); + navItem.classList.add('frm-active'); + this.initSlideTrackUnderline(navItem, index); + this.changeSlide(index); + + // Handle special case for frm_insert_fields_tab + var navLink = navItem.querySelector('a'); + if (navLink && navLink.id === 'frm_insert_fields_tab' && !navLink.closest('#frm_adv_info')) { + var _window$frmAdminBuild, _window$frmAdminBuild2; + (_window$frmAdminBuild = window.frmAdminBuild) === null || _window$frmAdminBuild === void 0 || (_window$frmAdminBuild2 = _window$frmAdminBuild.clearSettingsBox) === null || _window$frmAdminBuild2 === void 0 || _window$frmAdminBuild2.call(_window$frmAdminBuild); + } + } + }, { + key: "initDefaultSlideTrackerWidth", + value: function initDefaultSlideTrackerWidth() { + if (!this.slideTrackLine.dataset.initialWidth) { + return; + } + this.slideTrackLine.style.width = "".concat(this.slideTrackLine.dataset.initialWidth, "px"); + } + }, { + key: "initSlideTrackUnderline", + value: function initSlideTrackUnderline(nav, index) { + this.slideTrackLine.classList.remove('frm-first', 'frm-last'); + var activeNav = 'undefined' !== typeof nav ? nav : this.navs.filter(function (nav) { + return nav.classList.contains('frm-active'); + }); + var position = this.isRTL ? -(activeNav.parentElement.offsetWidth - activeNav.offsetLeft - activeNav.offsetWidth) : activeNav.offsetLeft; + this.slideTrackLine.style.transform = "translateX(".concat(position, "px)"); + this.slideTrackLine.style.width = activeNav.clientWidth + 'px'; + } + }, { + key: "changeSlide", + value: function changeSlide(index) { + this.removeActiveClassnameFromSlides(); + var translate = index == 0 ? '0px' : "calc( ( ".concat(index * 100, "% + ").concat(parseInt(this.flexboxSlidesGap, 10) * index, "px ) * ").concat(this.isRTL ? 1 : -1, " )"); + if ('0px' !== translate) { + this.slideTrack.style.transform = "translateX(".concat(translate, ")"); + } else { + this.slideTrack.style.removeProperty('transform'); + } + if (index in this.slides) { + this.slides[index].classList.add('frm-active'); + } + } + }, { + key: "removeActiveClassnameFromSlides", + value: function removeActiveClassnameFromSlides() { + this.slides.forEach(function (slide) { + return slide.classList.remove('frm-active'); + }); + } + }, { + key: "removeActiveClassnameFromNavs", + value: function removeActiveClassnameFromNavs() { + this.navs.forEach(function (nav) { + return nav.classList.remove('frm-active'); + }); + } + }]); +}(); + +/***/ }), + +/***/ "./js/src/core/constants.js": +/*!**********************************!*\ + !*** ./js/src/core/constants.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ CHECKED_CLASS: () => (/* binding */ CHECKED_CLASS), +/* harmony export */ CURRENT_CLASS: () => (/* binding */ CURRENT_CLASS), +/* harmony export */ DISABLED_CLASS: () => (/* binding */ DISABLED_CLASS), +/* harmony export */ HIDDEN_CLASS: () => (/* binding */ HIDDEN_CLASS), +/* harmony export */ HIDE_JS_CLASS: () => (/* binding */ HIDE_JS_CLASS), +/* harmony export */ HOOKS: () => (/* binding */ HOOKS), +/* harmony export */ PLUGIN_URL: () => (/* binding */ PLUGIN_URL), +/* harmony export */ SINGLE_SETTINGS_CLASS: () => (/* binding */ SINGLE_SETTINGS_CLASS), +/* harmony export */ nonce: () => (/* binding */ nonce) +/* harmony export */ }); +var _window$frmGlobal = window.frmGlobal, + PLUGIN_URL = _window$frmGlobal.url, + nonce = _window$frmGlobal.nonce; + +var HIDDEN_CLASS = 'frm_hidden'; +var DISABLED_CLASS = 'frm_disabled'; +var HIDE_JS_CLASS = 'frm-hide-js'; +var CURRENT_CLASS = 'frm-current'; +var CHECKED_CLASS = 'frm-checked'; +var SINGLE_SETTINGS_CLASS = 'frm-single-settings'; +var HOOKS = { + SHOW_FIELD_SETTINGS: 'frmShowedFieldSettings' +}; + +/***/ }), + +/***/ "./js/src/core/utils/animation.js": +/*!****************************************!*\ + !*** ./js/src/core/utils/animation.js ***! + \****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ frmAnimate: () => (/* binding */ frmAnimate) +/* 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); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +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); } +var frmAnimate = /*#__PURE__*/function () { + /** + * Construct frmAnimate + * + * @param {Element|Element[]} elements The elements to animate. + * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d + */ + function frmAnimate(elements) { + var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default'; + _classCallCheck(this, frmAnimate); + this.elements = elements; + this.type = type; + this.prepareElements(); + } + + /** + * Init animation - fadeIn. + * Requires this.type = 'default'; + * ex: new frmAnimate( elements ).fadeIn(); + */ + return _createClass(frmAnimate, [{ + key: "fadeIn", + value: function fadeIn() { + var _this = this; + this.applyStyleToElements(function (element) { + element.classList.add('frm-fadein-up'); + element.addEventListener('animationend', function () { + _this.resetOpacity(); + element.classList.remove('frm-fadein-up'); + }, { + once: true + }); + }); + } + + /** + * Init animation - cascadeFadeIn. + * Requires this.type = 'cascade'|'cascade-3d'; + * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn(); + * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn(); + * + * @param {number} delay The transition delay value. + */ + }, { + key: "cascadeFadeIn", + value: function cascadeFadeIn() { + var _this2 = this; + var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.03; + setTimeout(function () { + _this2.applyStyleToElements(function (element, index) { + element.classList.remove('frm-animate'); + element.style.transitionDelay = (index + 1) * delay + 's'; + }); + }, 200); + } + }, { + key: "prepareElements", + value: function prepareElements() { + var _this3 = this; + this.applyStyleToElements(function (element) { + if ('default' === _this3.type) { + element.style.opacity = '0.0'; + } + if ('cascade' === _this3.type) { + element.classList.add('frm-init-cascade-animation'); + } + if ('cascade-3d' === _this3.type) { + element.classList.add('frm-init-fadein-3d'); + } + element.classList.add('frm-animate'); + }); + } + }, { + key: "resetOpacity", + value: function resetOpacity() { + this.applyStyleToElements(function (element) { + return element.style.opacity = '1.0'; + }); + } + }, { + key: "applyStyleToElements", + value: function applyStyleToElements(callback) { + if (this.elements instanceof Element) { + callback(this.elements, 0); + return; + } + if (0 < this.elements.length) { + this.elements.forEach(function (element, index) { + return callback(element, index); + }); + } + } + }]); +}(); + +/***/ }), + +/***/ "./js/src/core/utils/async.js": +/*!************************************!*\ + !*** ./js/src/core/utils/async.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addToRequestQueue: () => (/* binding */ addToRequestQueue) +/* harmony export */ }); +// Initialize lastPromise with a resolved promise as the starting point for the queue +var lastPromise = Promise.resolve(); + +/** + * Adds a task to the request queue. + * + * @param {function(): Promise} task A function that returns a promise. + * @return {Promise} The new last promise in the queue. + */ +var addToRequestQueue = function addToRequestQueue(task) { + return lastPromise = lastPromise.then(task).catch(task); +}; + +/***/ }), + +/***/ "./js/src/core/utils/error.js": +/*!************************************!*\ + !*** ./js/src/core/utils/error.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ showFormError: () => (/* binding */ showFormError) +/* harmony export */ }); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! . */ "./js/src/core/utils/index.js"); +/** + * Internal dependencies + */ + + +/** + * Displays form validation error messages. + * + * @param {string} inputId The ID selector for the input field with the error. + * @param {string} errorId The ID selector for the error message display element. + * @param {string} type The categorization of the error (e.g., "invalid", "empty"). + * @param {string} [message] Optional. The specific error message to display. + * @return {void} + */ +var showFormError = function showFormError(inputId, errorId, type, message) { + var inputElement = document.querySelector(inputId); + var errorElement = document.querySelector(errorId); + if (!inputElement || !errorElement) { + console.warn('showFormError: Unable to find input or error element.'); + return; + } + + // If a message is provided, update the span element's text that matches the error type + if (message) { + var span = errorElement.querySelector("span[frm-error=\"".concat(type, "\"]")); + if (span) { + span.textContent = message; + } + } + + // Assign the error type and make the error message visible + errorElement.setAttribute('frm-error', type); + (0,___WEBPACK_IMPORTED_MODULE_0__.show)(errorElement); + + // Hide the error message when the user starts typing in the faulty input field + inputElement.addEventListener('keyup', function () { + (0,___WEBPACK_IMPORTED_MODULE_0__.hide)(errorElement); + }, { + once: true + }); +}; + +/***/ }), + +/***/ "./js/src/core/utils/event.js": +/*!************************************!*\ + !*** ./js/src/core/utils/event.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ documentOn: () => (/* binding */ documentOn), +/* harmony export */ onClickPreventDefault: () => (/* binding */ onClickPreventDefault) +/* harmony export */ }); +var _window$frmDom$util = window.frmDom.util, + onClickPreventDefault = _window$frmDom$util.onClickPreventDefault, + documentOn = _window$frmDom$util.documentOn; + + +/***/ }), + +/***/ "./js/src/core/utils/index.js": +/*!************************************!*\ + !*** ./js/src/core/utils/index.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addToRequestQueue: () => (/* reexport safe */ _async__WEBPACK_IMPORTED_MODULE_1__.addToRequestQueue), +/* harmony export */ documentOn: () => (/* reexport safe */ _event__WEBPACK_IMPORTED_MODULE_3__.documentOn), +/* harmony export */ frmAnimate: () => (/* reexport safe */ _animation__WEBPACK_IMPORTED_MODULE_0__.frmAnimate), +/* harmony export */ getQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.getQueryParam), +/* harmony export */ hasQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.hasQueryParam), +/* harmony export */ hide: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.hide), +/* harmony export */ hideElements: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.hideElements), +/* harmony export */ isEmptyObject: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isEmptyObject), +/* harmony export */ isHTMLElement: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isHTMLElement), +/* harmony export */ isValidEmail: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isValidEmail), +/* harmony export */ isVisible: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.isVisible), +/* harmony export */ onClickPreventDefault: () => (/* reexport safe */ _event__WEBPACK_IMPORTED_MODULE_3__.onClickPreventDefault), +/* harmony export */ removeQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.removeQueryParam), +/* harmony export */ setQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.setQueryParam), +/* harmony export */ show: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.show), +/* harmony export */ showElements: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.showElements), +/* harmony export */ showFormError: () => (/* reexport safe */ _error__WEBPACK_IMPORTED_MODULE_2__.showFormError) +/* harmony export */ }); +/* harmony import */ var _animation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./animation */ "./js/src/core/utils/animation.js"); +/* harmony import */ var _async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./async */ "./js/src/core/utils/async.js"); +/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./error */ "./js/src/core/utils/error.js"); +/* harmony import */ var _event__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./event */ "./js/src/core/utils/event.js"); +/* harmony import */ var _url__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./url */ "./js/src/core/utils/url.js"); +/* harmony import */ var _validation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./validation */ "./js/src/core/utils/validation.js"); +/* harmony import */ var _visibility__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./visibility */ "./js/src/core/utils/visibility.js"); + + + + + + + + +/***/ }), + +/***/ "./js/src/core/utils/url.js": +/*!**********************************!*\ + !*** ./js/src/core/utils/url.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getQueryParam: () => (/* binding */ getQueryParam), +/* harmony export */ hasQueryParam: () => (/* binding */ hasQueryParam), +/* harmony export */ removeQueryParam: () => (/* binding */ removeQueryParam), +/* harmony export */ setQueryParam: () => (/* binding */ setQueryParam) +/* 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); } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +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); } +/** + * Initializes URL and URLSearchParams objects from the current window's location + */ +var url = new URL(window.location.href); +var urlParams = url.searchParams; + +/** + * Gets the value of a specified query parameter from the current URL. + * + * @param {string} paramName The name of the query parameter to retrieve. + * @return {string|null} The value associated with the specified query parameter name, or null if not found. + */ +var getQueryParam = function getQueryParam(paramName) { + return urlParams.get(paramName); +}; + +/** + * Removes a query parameter from the current URL and returns the updated URL string. + * + * @param {string} paramName The name of the query parameter to remove. + * @return {string} The updated URL string. + */ +var removeQueryParam = function removeQueryParam(paramName) { + urlParams.delete(paramName); + url.search = urlParams.toString(); + return url.toString(); +}; + +/** + * Sets the value of a query parameter in the current URL and optionally updates the browser's history state. + * + * @param {string} paramName The name of the query parameter to set. + * @param {string} paramValue The value to set for the query parameter. + * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'. + * @return {string} The updated URL string. + */ +var setQueryParam = function setQueryParam(paramName, paramValue) { + var updateMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'pushState'; + urlParams.set(paramName, paramValue); + url.search = urlParams.toString(); + if (['pushState', 'replaceState'].includes(updateMethod)) { + var state = _defineProperty({}, paramName, paramValue); + window.history[updateMethod](state, '', url); + } + return url.toString(); +}; + +/** + * Checks if a query parameter exists in the current URL. + * + * @param {string} paramName The name of the query parameter to check. + * @return {boolean} True if the query parameter exists, otherwise false. + */ +var hasQueryParam = function hasQueryParam(paramName) { + return urlParams.has(paramName); +}; + +/***/ }), + +/***/ "./js/src/core/utils/validation.js": +/*!*****************************************!*\ + !*** ./js/src/core/utils/validation.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ isEmptyObject: () => (/* binding */ isEmptyObject), +/* harmony export */ isHTMLElement: () => (/* binding */ isHTMLElement), +/* harmony export */ isValidEmail: () => (/* binding */ isValidEmail) +/* harmony export */ }); +/** + * Validates an email address using a regular expression. + * + * @param {string} email The email address to validate. + * @return {boolean} True if the email address is valid, otherwise false. + */ +var isValidEmail = function isValidEmail(email) { + return typeof email === 'string' ? /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(email) : false; +}; + +/** + * Validates if the given element is an instance of HTMLElement. + * + * @param {any} element Element to be checked. + * @return {boolean} True if it's an HTMLElement, otherwise false. + */ +var isHTMLElement = function isHTMLElement(element) { + return element instanceof HTMLElement || console.warn('Invalid argument: Element must be an instance of HTMLElement') || false; +}; + +/** + * Checks if the given object is empty. + * + * @param {Object} obj The object to check. + * @return {boolean} True if the object is empty, otherwise false. + */ +var isEmptyObject = function isEmptyObject(obj) { + return Object.keys(obj).length === 0 && obj.constructor === Object; +}; + +/***/ }), + +/***/ "./js/src/core/utils/visibility.js": +/*!*****************************************!*\ + !*** ./js/src/core/utils/visibility.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ hide: () => (/* binding */ hide), +/* harmony export */ hideElements: () => (/* binding */ hideElements), +/* harmony export */ isVisible: () => (/* binding */ isVisible), +/* harmony export */ show: () => (/* binding */ show), +/* harmony export */ showElements: () => (/* binding */ showElements) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/** + * Internal dependencies + */ + + +/** + * Shows specified elements by removing the hidden class. + * + * @param {Array} elements An array of elements to show. + * @return {void} + */ +var showElements = function showElements(elements) { + var _Array$from; + return (_Array$from = Array.from(elements)) === null || _Array$from === void 0 ? void 0 : _Array$from.forEach(function (element) { + return show(element); + }); +}; + +/** + * Hides specified elements by adding the hidden class. + * + * @param {Array} elements An array of elements to hide. + * @return {void} + */ +var hideElements = function hideElements(elements) { + var _Array$from2; + return (_Array$from2 = Array.from(elements)) === null || _Array$from2 === void 0 ? void 0 : _Array$from2.forEach(function (element) { + return hide(element); + }); +}; + +/** + * Removes the hidden class to show the element. + * + * @param {Element} element The element to show. + * @return {void} + */ +var show = function show(element) { + return element === null || element === void 0 ? void 0 : element.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); +}; + +/** + * Adds the hidden class to hide the element. + * + * @param {Element} element The element to hide. + * @return {void} + */ +var hide = function hide(element) { + return element === null || element === void 0 ? void 0 : element.classList.add(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); +}; + +/** + * Checks if an element is visible. + * + * @param {HTMLElement} element The HTML element to check for visibility. + * @return {boolean} Returns true if the element is visible, otherwise false. + */ +var isVisible = function isVisible(element) { + var styles = window.getComputedStyle(element); + return styles.getPropertyValue('display') !== 'none'; +}; + +/***/ }), + +/***/ "./js/src/settings-components/components/index.js": +/*!********************************************************!*\ + !*** ./js/src/settings-components/components/index.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ frmRadioComponent: () => (/* reexport safe */ _radio_component__WEBPACK_IMPORTED_MODULE_0__["default"]), +/* harmony export */ frmSliderComponent: () => (/* reexport safe */ _slider_component__WEBPACK_IMPORTED_MODULE_1__["default"]), +/* harmony export */ frmTabsComponent: () => (/* reexport safe */ _tabs_component__WEBPACK_IMPORTED_MODULE_2__["default"]), +/* harmony export */ initToggleGroupComponents: () => (/* reexport safe */ _toggle_group__WEBPACK_IMPORTED_MODULE_4__.initToggleGroupComponents), +/* harmony export */ initTokenInputFields: () => (/* reexport safe */ _token_input__WEBPACK_IMPORTED_MODULE_3__.initTokenInputFields), +/* harmony export */ setupUnitInputHandlers: () => (/* reexport safe */ _unit_input__WEBPACK_IMPORTED_MODULE_5__.setupUnitInputHandlers) +/* harmony export */ }); +/* harmony import */ var _radio_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./radio-component */ "./js/src/settings-components/components/radio-component.js"); +/* harmony import */ var _slider_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slider-component */ "./js/src/settings-components/components/slider-component.js"); +/* harmony import */ var _tabs_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tabs-component */ "./js/src/settings-components/components/tabs-component.js"); +/* harmony import */ var _token_input__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./token-input */ "./js/src/settings-components/components/token-input/index.js"); +/* harmony import */ var _toggle_group__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./toggle-group */ "./js/src/settings-components/components/toggle-group/index.js"); +/* harmony import */ var _unit_input__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./unit-input */ "./js/src/settings-components/components/unit-input.js"); + + + + + + + +/***/ }), + +/***/ "./js/src/settings-components/components/radio-component.js": +/*!******************************************************************!*\ + !*** ./js/src/settings-components/components/radio-component.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ frmRadioComponent) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +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); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +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); } +/** + * Internal dependencies + */ + + + +/** + * Represents a radio component. + * @class + */ +var frmRadioComponent = /*#__PURE__*/function () { + function frmRadioComponent() { + var _this = this; + _classCallCheck(this, frmRadioComponent); + this.radioElements = document.querySelectorAll('.frm-style-component.frm-radio-component'); + this.observers = new Map(); + if (0 < this.radioElements.length) { + this.init(); + } + + /** + * Handles the addition of new fields. + * + * @param {Event} event The frm_added_field event. + * @param {HTMLElement} event.frmField The added field object being destructured from the event. + */ + document.addEventListener('frm_added_field', function (_ref) { + var frmField = _ref.frmField; + _this.radioElements = document.getElementById("frm-single-settings-".concat(frmField.dataset.fid)).querySelectorAll('.frm-style-component.frm-radio-component'); + _this.initRadio(); + }); + + // Cleanup observers when page unloads to prevent memory leaks + window.addEventListener('beforeunload', function () { + return _this.cleanupObservers(); + }); + } + + /** + * Initializes the radio component. + */ + return _createClass(frmRadioComponent, [{ + key: "init", + value: function init() { + this.initRadio(); + this.initTrackerOnAccordionClick(); + } + + /** + * Initializes the radio component. + */ + }, { + key: "initRadio", + value: function initRadio() { + var _this2 = this; + this.radioElements.forEach(function (element) { + _this2.initOnRadioChange(element); + _this2.initVisibilityObserver(element); + }); + } + }, { + key: "initTrackerOnAccordionClick", + value: function initTrackerOnAccordionClick() { + var _this3 = this; + var accordionitems = document.querySelectorAll('#frm_style_sidebar .accordion-section h3'); + accordionitems.forEach(function (accordionitem) { + accordionitem.addEventListener('click', function (event) { + var wrapper = event.target.closest('.accordion-section'); + var radioButtons = wrapper.querySelectorAll('.frm-style-component.frm-radio-component input[type="radio"]:checked'); + radioButtons.forEach(function (radio) { + setTimeout(function () { + return _this3.onRadioChange(radio); + }, 200); + }); + }); + }); + } + + /** + * Initializes the onRadioChange event for the given wrapper. + * @param {HTMLElement} radioElement - The radio element. + */ + }, { + key: "initOnRadioChange", + value: function initOnRadioChange(radioElement) { + var _this4 = this; + radioElement.querySelectorAll('input[type="radio"]').forEach(function (radio) { + if (radio.checked) { + _this4.onRadioChange(radio); + } + radio.addEventListener('change', function (event) { + _this4.onRadioChange(event.target); + }); + }); + } + + /** + * Handles the onRadioChange event for the given wrapper. + * @param {HTMLElement} target - The active radio button. + */ + }, { + key: "onRadioChange", + value: function onRadioChange(target) { + var wrapper = target.closest('.frm-style-component.frm-radio-component'); + var activeItem = wrapper.querySelector('input[type="radio"]:checked + label'); + if (null === activeItem) { + return; + } + this.moveTracker(activeItem, wrapper); + this.hideExtraElements(target); + this.maybeShowExtraElements(target); + } + + /** + * Display additional elements related to the selected radio option. + * @param {HTMLElement} radio - The radio button element. + */ + }, { + key: "maybeShowExtraElements", + value: function maybeShowExtraElements(radio) { + var elementAttr = radio.getAttribute('data-frm-show-element'); + if (null === elementAttr) { + return; + } + var elements = document.querySelectorAll("div[data-frm-element=\"".concat(elementAttr, "\"]")); + if (0 === elements.length) { + return; + } + elements.forEach(function (element) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.show)(element); + element.classList.add('frm-element-is-visible'); + }); + } + + /** + * Initializes visibility observer for the radio component. This handles cases when components are conditionally shown. + * + * @param {HTMLElement} element The radio component element + * @return {void} + */ + }, { + key: "initVisibilityObserver", + value: function initVisibilityObserver(element) { + var _this5 = this; + if (this.observers.has(element)) { + this.observers.get(element).disconnect(); + } + var observer = new MutationObserver(function () { + // Check if element is now visible + if ((0,core_utils__WEBPACK_IMPORTED_MODULE_1__.isVisible)(element)) { + var radio = element.querySelector('input[type="radio"]:checked'); + if (radio) { + _this5.onRadioChange(radio); + } + } + }); + this.observers.set(element, observer); + + // Observe for attribute changes on the component and its ancestors + observer.observe(element, { + attributes: true, + attributeFilter: ['class', 'style'] + }); + + // Also observe parent elements up to a reasonable depth + var parent = element.parentElement; + for (var i = 0; i < 7 && parent; i++) { + observer.observe(parent, { + attributes: true, + attributeFilter: ['class', 'style'] + }); + parent = parent.parentElement; + } + } + + /** + * Cleanup all observers to prevent memory leaks. + */ + }, { + key: "cleanupObservers", + value: function cleanupObservers() { + this.observers.forEach(function (observer) { + observer.disconnect(); + }); + this.observers.clear(); + } + + /** + * Hide the possible opepend extra elements. + */ + }, { + key: "hideExtraElements", + value: function hideExtraElements() { + var elements = document.querySelectorAll('.frm-element-is-visible'); + if (0 === elements.length) { + return; + } + elements.forEach(function (element) { + element.classList.remove('frm-element-is-visible'); + element.classList.add(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hide)(element); + }); + } + + /** + * Moves the tracker to the active item. + * @param {HTMLElement} activeItem - The active item element. + * @param {HTMLElement} wrapper - The wrapper element. + */ + }, { + key: "moveTracker", + value: function moveTracker(activeItem, wrapper) { + var offset = activeItem.offsetLeft; + var width = activeItem.offsetWidth; + var tracker = wrapper.querySelector('.frm-radio-active-tracker'); + tracker.style.left = 0; + tracker.style.width = "".concat(width, "px"); + tracker.style.transform = "translateX(".concat(offset, "px)"); + } + }]); +}(); + + +/***/ }), + +/***/ "./js/src/settings-components/components/slider-component.js": +/*!*******************************************************************!*\ + !*** ./js/src/settings-components/components/slider-component.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ frmSliderComponent) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var _admin_components_dependent_updater_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../admin/components/dependent-updater-component */ "./js/src/admin/components/dependent-updater-component.js"); +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); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +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); } +/** + * Internal dependencies + */ + + + +/** + * Represents a slider component. + * @class frmSliderComponent + */ +var frmSliderComponent = /*#__PURE__*/function () { + function frmSliderComponent() { + var _this = this; + _classCallCheck(this, frmSliderComponent); + this.sliderElements = document.querySelectorAll('.frm-slider-component'); + if (0 === this.sliderElements.length) { + return; + } + + // The slider bullet point width in pixels. Used in value calculation on drag event. + this.sliderBulletWidth = 16; + this.sliderMarginRight = 5; + this.eventsChange = []; + var debounce = frmDom.util.debounce; + this.valueChangeDebouncer = debounce(function (index) { + return _this.triggerValueChange(index); + }, 25); + this.initOptions(); + this.init(); + } + + /** + * Initializes the options for the slider component. + */ + return _createClass(frmSliderComponent, [{ + key: "initOptions", + value: function initOptions() { + var _this2 = this; + this.options = []; + this.sliderElements.forEach(function (element, index) { + var parentWrapper = element.classList.contains('frm-has-multiple-values') ? element.closest('.frm-style-component') : element; + _this2.options.push({ + dragging: false, + startX: 0, + translateX: 0, + maxValue: parseInt(element.dataset.maxValue, 10), + element: element, + index: index, + value: 0, + dependentUpdater: parentWrapper.classList.contains('frm-style-dependent-updater-component') ? new _admin_components_dependent_updater_component__WEBPACK_IMPORTED_MODULE_1__["default"](parentWrapper) : null + }); + }); + } + + /** + * Initializes the slider component. + */ + }, { + key: "init", + value: function init() { + this.initSlidersPosition(); + this.initDraggable(); + } + + /** + * Initializes the draggable functionality for the slider component. + */ + }, { + key: "initDraggable", + value: function initDraggable() { + var _this3 = this; + this.sliderElements.forEach(function (element, index) { + _this3.eventsChange[index] = new Event('change', { + bubbles: true, + cancelable: true + }); + var draggableBullet = element.querySelector('.frm-slider-bullet'); + var valueInput = element.querySelector('.frm-slider-value input[type="text"]'); + valueInput.addEventListener('change', function (event) { + var unit = element.querySelector('select').value; + if (_this3.getMaxValue(unit, index) < parseInt(event.target.value, 10)) { + return; + } + _this3.initSliderWidth(element); + _this3.options[index].fullValue = _this3.updateValue(element, valueInput.value + unit); + _this3.triggerValueChange(index); + }); + _this3.expandSliderGroup(element); + _this3.updateOnUnitChange(element, valueInput, index); + _this3.changeSliderPositionOnClick(element, valueInput, index); + draggableBullet.addEventListener('mousedown', function (event) { + event.preventDefault(); + event.stopPropagation(); + if (element.classList.contains('frm-disabled')) { + return; + } + _this3.enableDragging(event, index); + }); + draggableBullet.addEventListener('mousemove', function (event) { + if (element.classList.contains('frm-disabled')) { + return; + } + _this3.moveTracker(event, index); + }); + draggableBullet.addEventListener('mouseup', function (event) { + if (element.classList.contains('frm-disabled')) { + return; + } + _this3.disableDragging(index, event); + }); + draggableBullet.addEventListener('mouseleave', function (event) { + if (element.classList.contains('frm-disabled')) { + return; + } + _this3.disableDragging(index, event); + }); + }); + } + }, { + key: "expandSliderGroup", + value: function expandSliderGroup(element) { + var svgIcon = element.querySelector('.frmsvg'); + if ('undefined' === typeof element.dataset.displaySliders || null === svgIcon) { + return; + } + var sliderGroupItems = this.getSliderGroupItems(element); + svgIcon.addEventListener('click', function () { + sliderGroupItems.forEach(function (item) { + item.classList.toggle(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); + }); + }); + } + }, { + key: "updateOnUnitChange", + value: function updateOnUnitChange(element, valueInput, index) { + var _this4 = this; + element.querySelector('select').addEventListener('change', function (event) { + var unit = event.target.value.toLowerCase(); + if ('' === unit) { + element.classList.add('frm-disabled', 'frm-empty'); + return; + } + if ('auto' === unit) { + element.classList.add('frm-disabled'); + _this4.updateValue(element, 'auto'); + _this4.triggerValueChange(index); + return; + } + element.classList.remove('frm-disabled', 'frm-empty'); + _this4.options[index].fullValue = valueInput.value + unit; + _this4.updateValue(element, _this4.options[index].fullValue); + _this4.triggerValueChange(index); + }); + } + }, { + key: "changeSliderPositionOnClick", + value: function changeSliderPositionOnClick(element, valueInput, index) { + var _this5 = this; + var frmSlider = element.querySelector('.frm-slider'); + var customEvent = new Event('change', { + bubbles: true, + cancelable: true + }); + frmSlider.addEventListener('click', function (event) { + if (element.classList.contains('frm-disabled')) { + return; + } + event.preventDefault(); + event.stopPropagation(); + if (!event.target.classList.contains('frm-slider') && !event.target.classList.contains('frm-slider-active-track')) { + return; + } + var sliderWidth = frmSlider.offsetWidth - _this5.sliderBulletWidth; + var sliderRect = frmSlider.getBoundingClientRect(); + var deltaX = event.clientX - sliderRect.left - _this5.sliderBulletWidth; + var unit = element.querySelector('select').value; + var value = _this5.calculateValue(sliderWidth, deltaX, _this5.getMaxValue(unit, index)); + if (value < 0) { + return; + } + _this5.options[index].fullValue = _this5.updateValue(element, value + unit); + _this5.initChildSlidersWidth(element, deltaX, index, value + unit); + valueInput.value = value; + valueInput.dispatchEvent(customEvent); + }); + } + + /** + * Retrieves an array of slider group items based on the provided element. + * + * @param {HTMLElement} element - The element to retrieve slider group items from. + * @return {NodeList} - An array-like object containing the slider group items. + */ + }, { + key: "getSliderGroupItems", + value: function getSliderGroupItems(element) { + if ('undefined' === typeof element.dataset.displaySliders) { + return []; + } + var slidersGroup = element.dataset.displaySliders.split(','); + var query = slidersGroup.map(function (item) { + return ".frm-slider-component[data-type=\"".concat(item, "\"]"); + }).join(', '); + return element.closest('.frm-style-component').querySelectorAll(query); + } + + /** + * Initializes the position of sliders when a accordion section is opened. + */ + }, { + key: "initSlidersPosition", + value: function initSlidersPosition() { + var _this6 = this; + var accordionitems = document.querySelectorAll('#frm_style_sidebar .accordion-section h3'); + var quickSettings = document.querySelector('.frm-quick-settings'); + var openedAccordion = document.querySelector('.accordion-section.open'); + + // Detect if upload background image upload has triggered and initialize the "Image Opacity" slider width. + wp.hooks.addAction('frm_pro_on_bg_image_upload', 'formidable', function (event) { + var imageBackgroundOpacitySlider = event.closest('.accordion-section-content').querySelector('#frm-bg-image-opacity-slider'); + _this6.initSlidersWidth(imageBackgroundOpacitySlider); + }); + + // init the sliders width from "Quick Settings" page. + if (null !== quickSettings) { + this.initSlidersWidth(quickSettings); + } + + // Init the sliders width in opened accordion section from "Advanced Settings" page. + if (null !== openedAccordion) { + this.initSlidersWidth(openedAccordion); + } + + // init the sliders width everytime when an accordion section is opened from "Advanced Settings" page. + accordionitems.forEach(function (item) { + item.addEventListener('click', function (event) { + _this6.initSlidersWidth(event.target.closest('.accordion-section')); + }); + }); + this.initSliderPositionOnFieldShapeChange(); + } + + /** + * Initializes the width of "Corner Radius" slider that is dynamically is displayed on "Field Shape" option change from "Quick Settings". + * + * @return {void} + */ + }, { + key: "initSliderPositionOnFieldShapeChange", + value: function initSliderPositionOnFieldShapeChange() { + var _this7 = this; + var fieldShapeType = document.querySelector('.frm-style-component.frm-field-shape'); + if (null === fieldShapeType) { + return; + } + var radioButtons = fieldShapeType.querySelectorAll('input[type="radio"]'); + radioButtons.forEach(function (radio) { + radio.addEventListener('change', function (event) { + if (event.target.checked && 'rounded-corner' === event.target.value) { + var slider = document.querySelector('div[data-frm-element="field-shape-corner-radius"] .frm-slider-component'); + _this7.initSliderWidth(slider); + } + }); + }); + } + + /** + * Initializes the width of sliders within a given section. + * + * @param {HTMLElement} section - The section containing the sliders. + * @return {void} + */ + }, { + key: "initSlidersWidth", + value: function initSlidersWidth(section) { + var _this8 = this; + var sliders = section.querySelectorAll('.frm-slider-component'); + sliders.forEach(function (slider) { + setTimeout(function () { + _this8.initSliderWidth(slider); + }, 100); + }); + } + + /** + * Initializes the width of a slider. + * + * @param {HTMLElement} slider - The slider element. + * @return {void} + */ + }, { + key: "initSliderWidth", + value: function initSliderWidth(slider) { + if (slider.classList.contains('frm-disabled')) { + return; + } + var index = this.getSliderIndex(slider); + var sliderWidth = slider.querySelector('.frm-slider').offsetWidth - this.sliderBulletWidth; + var value = parseInt(slider.querySelector('.frm-slider-value input[type="text"]').value, 10); + var unit = slider.querySelector('select').value; + var deltaX = '%' === unit ? Math.round(sliderWidth * value / 100) : Math.ceil(value / this.options[index].maxValue * sliderWidth); + slider.querySelector('.frm-slider-active-track').style.width = "".concat(deltaX, "px"); + this.options[index].translateX = deltaX; + this.options[index].value = value + unit; + } + + /** + * Initializes the width of child sliders. + * + * @param {HTMLElement} slider - The parent slider element. + * @param {number} width - The width to set for the child sliders. + * @param {number} index - The starting index for the child sliders. + * @param {number} value - The value to set for the child sliders. + */ + }, { + key: "initChildSlidersWidth", + value: function initChildSlidersWidth(slider, width, index, value) { + var _this9 = this; + if (!slider.classList.contains('frm-has-independent-fields') && !slider.classList.contains('frm-has-multiple-values')) { + return; + } + var childSliders = slider.classList.contains('frm-has-independent-fields') ? slider.querySelectorAll('.frm-independent-slider-field') : this.getSliderGroupItems(slider); + childSliders.forEach(function (item, childIndex) { + item.querySelector('.frm-slider-active-track').style.width = "".concat(width, "px"); + _this9.options[index + childIndex + 1].translateX = width; + _this9.options[index + childIndex + 1].value = value; + }); + } + + /** + * Returns the index of the specified slider element. + * + * @param {HTMLElement} slider - The slider element. + * @return {number} The index of the slider element. + */ + }, { + key: "getSliderIndex", + value: function getSliderIndex(slider) { + return this.options.filter(function (option) { + return option.element === slider; + })[0].index; + } + + /** + * Handles the movement of the slider tracker. + * + * @param {Event} event - The event object representing the mouse movement. + * @param {number} index - The index of the slider element. + * @return {void} + */ + }, { + key: "moveTracker", + value: function moveTracker(event, index) { + if (!this.options[index].dragging) { + return; + } + var deltaX = event.clientX - this.options[index].startX; + var element = this.sliderElements[index]; + var sliderWidth = element.querySelector('.frm-slider').offsetWidth; + + // Ensure deltaX does not go below 0 + deltaX = Math.max(deltaX, 0); + if (deltaX + this.sliderBulletWidth / 2 + this.sliderMarginRight >= sliderWidth) { + return; + } + var unit = element.querySelector('select').value; + var value = this.calculateValue(sliderWidth, deltaX, this.getMaxValue(unit, index)); + element.querySelector('.frm-slider-value input[type="text"]').value = value; + element.querySelector('.frm-slider-bullet .frm-slider-value-label').innerText = value; + element.querySelector('.frm-slider-active-track').style.width = "".concat(deltaX, "px"); + this.initChildSlidersWidth(element, deltaX, index, value + unit); + this.options[index].translateX = deltaX; + this.options[index].value = value + unit; + this.options[index].fullValue = this.updateValue(element, this.options[index].value); + this.valueChangeDebouncer(index); + } + + /** + * Get the maximum value based on the unit and index. + * + * @param {string} unit - The unit of measurement. + * @param {number} index - The index of the option. + * @return {number} The maximum value. + */ + }, { + key: "getMaxValue", + value: function getMaxValue(unit, index) { + return '%' === unit ? 100 : this.options[index].maxValue; + } + + /** + * Enables dragging for the slider component. + * + * @param {Event} event - The event object. + * @param {number} index - The index of the option being dragged. + */ + }, { + key: "enableDragging", + value: function enableDragging(event, index) { + event.target.classList.add('frm-dragging'); + this.options[index].dragging = true; + this.options[index].startX = event.clientX - this.options[index].translateX; + } + + /** + * Disables dragging for a specific index. + * + * @param {number} index - The index of the option to disable dragging for. + * @param {Event} event - The event object triggered by the dragging action. + */ + }, { + key: "disableDragging", + value: function disableDragging(index, event) { + if (false === this.options[index].dragging) { + return; + } + event.target.classList.remove('frm-dragging'); + this.options[index].dragging = false; + this.triggerValueChange(index); + } + + /** + * Triggers a value change for the specified index. + * + * @param {number} index - The index of the value to be changed. + */ + }, { + key: "triggerValueChange", + value: function triggerValueChange(index) { + var _this10 = this; + if (null !== this.options[index].dependentUpdater) { + this.options[index].dependentUpdater.updateAllDependentElements(this.options[index].fullValue); + return; + } + var input = this.sliderElements[index].classList.contains('frm-has-multiple-values') ? this.sliderElements[index].closest('.frm-style-component').querySelector('input[type="hidden"]') : this.sliderElements[index].querySelectorAll('.frm-slider-value input[type="hidden"]'); + if (input instanceof NodeList) { + input.forEach(function (item) { + item.dispatchEvent(_this10.eventsChange[index]); + }); + return; + } + input.dispatchEvent(this.eventsChange[index]); + } + + /** + * Calculates the value based on the width, deltaX, and maxValue. + * + * @param {number} width - The width of the slider. + * @param {number} deltaX - The change in x-coordinate. + * @param {number} maxValue - The maximum value. + * @return {number} - The calculated value. + */ + }, { + key: "calculateValue", + value: function calculateValue(width, deltaX, maxValue) { + // Indicates the additional value generated by the slider's drag progress (up to 100%) and the width of the slider bullet. + // Generates a more accurate value for the slider's start (0) and end (maximum value) positions, taking into account the slider's position and bullet width. + var delta = Math.ceil(this.sliderBulletWidth * (deltaX / width)); + var value = Math.ceil((deltaX + delta) / width * maxValue); + return Math.min(value, maxValue); + } + + /** + * Updates the value of a slider component. + * + * @param {HTMLElement} element - The slider component element. + * @param {string} value - The new value to be set. + * @return {string} - The updated value. + */ + }, { + key: "updateValue", + value: function updateValue(element, value) { + var _this11 = this; + // When the slider component is used for "Base Font Size", we need to update a hidden input field when change happens to indicate that the "Base Font Size" has been adjusted. + // Used to avoid conflicts with other possible font sizes adjustemnts in "Advanced Settings" when moving from "Quick Settings" when "Base Font Size" is not changed. + if (element.classList.contains('frm-base-font-size')) { + var userBaseFontSizeInput = document.querySelector('input[name="frm_style_setting[post_content][use_base_font_size]"]'); + if (null !== userBaseFontSizeInput) { + userBaseFontSizeInput.value = 'true'; + } + } + if (element.classList.contains('frm-has-multiple-values')) { + var input = element.closest('.frm-style-component').querySelector('input[type="hidden"]'); + var inputValue = input.value.split(' '); + var type = element.dataset.type; + if (!inputValue[2]) { + inputValue[2] = '0px'; + } + if (!inputValue[3]) { + inputValue[3] = '0px'; + } + switch (type) { + case 'vertical': + inputValue[0] = value; + inputValue[2] = value; + break; + case 'horizontal': + inputValue[1] = value; + inputValue[3] = value; + break; + case 'top': + inputValue[0] = value; + break; + case 'bottom': + inputValue[2] = value; + break; + case 'left': + inputValue[3] = value; + break; + case 'right': + inputValue[1] = value; + break; + } + var newValue = inputValue.join(' '); + input.value = newValue; + var childSlidersGroup = this.getSliderGroupItems(element); + childSlidersGroup.forEach(function (slider) { + var unitMeasure = _this11.getUnitMeasureFromValue(value); + slider.querySelector('.frm-slider-value input[type="text"]').value = parseInt(value, 10); + slider.querySelector('select').value = unitMeasure; + }); + return newValue; + } + if (element.classList.contains('frm-has-independent-fields')) { + var inputValues = element.querySelectorAll('.frm-slider-value input[type="hidden"]'); + var visibleValues = element.querySelectorAll('.frm-slider-value input[type="text"]'); + inputValues.forEach(function (input, index) { + input.value = value; + visibleValues[index + 1].value = parseInt(value, 10); + }); + return value; + } + element.querySelector('.frm-slider-value input[type="hidden"]').value = value; + return value; + } + + /** + * Returns the unit of measurement used in the given value. + * + * @param {string} value - The value to check for the unit of measurement. + * @return {string} The unit of measurement ('%', 'px', 'em') found in the value, or an empty string if none is found. + */ + }, { + key: "getUnitMeasureFromValue", + value: function getUnitMeasureFromValue(value) { + return ['%', 'px', 'em'].find(function (unit) { + return value.includes(unit); + }) || ''; + } + }]); +}(); + + +/***/ }), + +/***/ "./js/src/settings-components/components/tabs-component.js": +/*!*****************************************************************!*\ + !*** ./js/src/settings-components/components/tabs-component.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ frmTabsComponent) +/* harmony export */ }); +/* harmony import */ var _components_class_tabs_navigator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../components/class-tabs-navigator */ "./js/src/components/class-tabs-navigator.js"); +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); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +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); } + +/** + * Represents a Tabs Component. + * @class + */ +var frmTabsComponent = /*#__PURE__*/function () { + function frmTabsComponent() { + _classCallCheck(this, frmTabsComponent); + this.elements = document.querySelectorAll('.frm-style-tabs-wrapper'); + if (0 < this.elements.length) { + this.init(); + } + } + + /** + * Initializes the Tabs Component. + */ + return _createClass(frmTabsComponent, [{ + key: "init", + value: function init() { + this.elements.forEach(function (element) { + new _components_class_tabs_navigator__WEBPACK_IMPORTED_MODULE_0__.frmTabsNavigator(element); + }); + } + + /** + * Initializes the component on tab click. + * @param {Element} wrapper - The wrapper element. + */ + }, { + key: "initOnTabClick", + value: function initOnTabClick(wrapper) { + var _this = this; + this.initActiveBackgroundWidth(wrapper); + wrapper.querySelectorAll('.frm-tab-item').forEach(function (tab) { + tab.addEventListener('click', function (event) { + _this.onTabClick(event.target.closest('.frm-tabs-wrapper')); + }); + }); + } + }]); +}(); + + +/***/ }), + +/***/ "./js/src/settings-components/components/toggle-group/index.js": +/*!*********************************************************************!*\ + !*** ./js/src/settings-components/components/toggle-group/index.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ initToggleGroupComponents: () => (/* reexport safe */ _toggle_group_js__WEBPACK_IMPORTED_MODULE_0__.initToggleGroupComponents) +/* harmony export */ }); +/* harmony import */ var _toggle_group_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toggle-group.js */ "./js/src/settings-components/components/toggle-group/toggle-group.js"); + + +/***/ }), + +/***/ "./js/src/settings-components/components/toggle-group/toggle-group.js": +/*!****************************************************************************!*\ + !*** ./js/src/settings-components/components/toggle-group/toggle-group.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ initToggleGroupComponents: () => (/* binding */ initToggleGroupComponents) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/** + * Group Toggle Component + * + * Handles toggling visibility and enabled state of related form elements + */ + +/** + * Internal dependencies + */ + + + +/** + * Class names for group toggle component + * + * @private + */ +var CLASS_NAMES = { + GROUP_TOGGLE: 'frm-toggle-group', + TOGGLE_BLOCK: 'frm_toggle_block' +}; + +/** + * Data attributes for group toggle component + * + * @private + */ +var DATA_ATTRIBUTES = { + GROUP_NAME: 'data-group-name', + SHOW: 'data-show', + DISABLE: 'data-disable', + ENABLE: 'data-enable' +}; + +/** + * Initialize all group toggle components on the page + * + * @return {void} + */ +function initToggleGroupComponents() { + applyInitialState(); + addEventListeners(); +} + +/** + * Apply the initial state for all toggle buttons on the page + * + * @private + * @return {void} + */ +function applyInitialState() { + var toggleGroups = document.querySelectorAll(".".concat(CLASS_NAMES.GROUP_TOGGLE)); + if (!toggleGroups.length) { + return; + } + toggleGroups.forEach(function (toggleGroup) { + var toggleButton = toggleGroup.querySelector("[".concat(DATA_ATTRIBUTES.GROUP_NAME, "]:checked")); + if (!toggleButton) { + return; + } + applyToggleState(toggleButton, toggleGroup); + }); +} + +/** + * Add event listeners to toggle buttons in a group toggle component + * + * @private + * @return {void} + */ +function addEventListeners() { + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.documentOn)('change', ".".concat(CLASS_NAMES.GROUP_TOGGLE, " [").concat(DATA_ATTRIBUTES.GROUP_NAME, "]"), handleToggleClick); +} + +/** + * Handle click events on toggle buttons + * + * @private + * @param {Event} event The click event + * @return {void} + */ +function handleToggleClick(event) { + var toggleButton = event.target; + var toggleGroup = toggleButton.closest(".".concat(CLASS_NAMES.GROUP_TOGGLE)); + if (!toggleGroup) { + return; + } + applyToggleState(toggleButton, toggleGroup); +} + +/** + * Apply toggle state based on toggle button settings + * Shared functionality used by both click handler and initial state + * + * @private + * @param {HTMLElement} toggleButton The toggle button element + * @param {HTMLElement} toggleGroup The toggle group container element + * @return {void} + */ +function applyToggleState(toggleButton, toggleGroup) { + var _toggleGroup$closest; + var fieldId = ((_toggleGroup$closest = toggleGroup.closest(".".concat(core_constants__WEBPACK_IMPORTED_MODULE_1__.SINGLE_SETTINGS_CLASS))) === null || _toggleGroup$closest === void 0 ? void 0 : _toggleGroup$closest.dataset.fid) || toggleGroup.dataset.fid; + var isChecked = toggleButton.checked; + + // Handle show/hide elements + var showSelectors = toggleButton.getAttribute(DATA_ATTRIBUTES.SHOW); + if (showSelectors) { + document.querySelectorAll(normalizeSelector(showSelectors, fieldId)).forEach(function (element) { + return element.classList.toggle(core_constants__WEBPACK_IMPORTED_MODULE_1__.HIDDEN_CLASS, !isChecked); + }); + } + + // Handle disable elements + var disableSelectors = toggleButton.getAttribute(DATA_ATTRIBUTES.DISABLE); + if (disableSelectors) { + document.querySelectorAll(normalizeSelector(disableSelectors, fieldId)).forEach(function (element) { + element.classList.toggle(core_constants__WEBPACK_IMPORTED_MODULE_1__.DISABLED_CLASS, isChecked); + element.querySelectorAll('input, select, textarea').forEach(function (formElement) { + return formElement.disabled = isChecked; + }); + }); + } + + // Handle enable elements + var enableSelectors = toggleButton.getAttribute(DATA_ATTRIBUTES.ENABLE); + if (enableSelectors) { + document.querySelectorAll(normalizeSelector(enableSelectors, fieldId)).forEach(function (element) { + return element.classList.toggle(core_constants__WEBPACK_IMPORTED_MODULE_1__.DISABLED_CLASS, !isChecked); + }); + } + + // Toggle disabled state for all other toggle blocks within the group + var currentToggleBlock = toggleButton.closest(".".concat(CLASS_NAMES.TOGGLE_BLOCK)); + Array.from(toggleGroup.querySelectorAll(".".concat(CLASS_NAMES.TOGGLE_BLOCK))).filter(function (toggleBlock) { + return toggleBlock !== currentToggleBlock; + }).forEach(function (toggleBlock) { + toggleBlock.classList.toggle(core_constants__WEBPACK_IMPORTED_MODULE_1__.DISABLED_CLASS, isChecked); + + // Disable toggle switch + var toggle = toggleBlock.querySelector('.frm_toggle'); + toggle.tabIndex = isChecked ? -1 : 0; + toggle.setAttribute('aria-disabled', isChecked); + }); +} + +/** + * Normalize a selector by replacing {id} placeholders with the actual field ID + * + * @private + * @param {string} selector The selector string with potential {id} placeholders + * @param {string} fieldId The field ID to replace placeholders with + * @return {string} The normalized selector + */ +function normalizeSelector(selector, fieldId) { + return selector.replace(/{id}/g, fieldId); +} + + +/***/ }), + +/***/ "./js/src/settings-components/components/token-input/constants.js": +/*!************************************************************************!*\ + !*** ./js/src/settings-components/components/token-input/constants.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ CLASS_NAMES: () => (/* binding */ CLASS_NAMES), +/* harmony export */ KEYS: () => (/* binding */ KEYS), +/* harmony export */ PROXY_INPUT_HEIGHT: () => (/* binding */ PROXY_INPUT_HEIGHT), +/* harmony export */ TOKEN_GAP: () => (/* binding */ TOKEN_GAP) +/* harmony export */ }); +/** + * Constants for token input component + * + * Reusable constants for class names and other static values + */ + +var CLASS_NAMES = { + CONTAINER: 'frm-token-container', + TOKENS_WRAPPER: 'frm-tokens', + TOKEN: 'frm-token', + TOKEN_VALUE: 'frm-token-value', + TOKEN_REMOVE: 'frm-token-remove', + TOKEN_INPUT_FIELD: 'frm-token-input-field', + TOKEN_PROXY_INPUT: 'frm-token-proxy-input', + WITH_RIGHT_ICON: 'frm-with-right-icon' +}; +var KEYS = { + SPACE: ' ', + ENTER: 'Enter', + COMMA: ',', + TAB: 'Tab', + BACKSPACE: 'Backspace' +}; +var PROXY_INPUT_HEIGHT = 36; +var TOKEN_GAP = 4; + +/***/ }), + +/***/ "./js/src/settings-components/components/token-input/event-handlers.js": +/*!*****************************************************************************!*\ + !*** ./js/src/settings-components/components/token-input/event-handlers.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addEventListeners: () => (/* binding */ addEventListeners) +/* harmony export */ }); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./js/src/settings-components/components/token-input/constants.js"); +/* harmony import */ var _token_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./token-actions */ "./js/src/settings-components/components/token-input/token-actions.js"); +/* harmony import */ var _proxy_input_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./proxy-input-style */ "./js/src/settings-components/components/token-input/proxy-input-style.js"); +/** + * Event handlers + * + * Functions for handling token input events + */ + +/** + * Internal dependencies + */ + + + + +/** + * Add event listeners to token input components + * + * @param {HTMLElement} field The original hidden input field + * @param {HTMLElement} proxyInput The proxy input field for interaction + * @param {HTMLElement} tokensWrapper The wrapper for token display + * @return {void} + */ +function addEventListeners(field, proxyInput, tokensWrapper) { + // The jQuery change event is required to catch programmatic updates, as "Add Layout Classes" modifies the field value via jQuery + jQuery(field).on('change', function () { + return (0,_token_actions__WEBPACK_IMPORTED_MODULE_1__.synchronizeTokensDisplay)(field.value, proxyInput, tokensWrapper); + }); + proxyInput.addEventListener('keydown', function (event) { + return onProxyInputKeydown(event, field, proxyInput, tokensWrapper); + }); + proxyInput.addEventListener('blur', function () { + return (0,_token_actions__WEBPACK_IMPORTED_MODULE_1__.addToken)(proxyInput.value.trim(), field, proxyInput); + }); + tokensWrapper.addEventListener('click', function (event) { + return handleTokenRemoval(event, field, proxyInput); + }); +} + +/** + * Handle keydown events on the proxy input field + * + * @private + * + * @param {Event} event Keydown event + * @param {HTMLElement} field The original hidden input field + * @param {HTMLElement} proxyInput The proxy input field for interaction + * @param {HTMLElement} tokensWrapper The wrapper for token display + * @return {void} + */ +function onProxyInputKeydown(event, field, proxyInput, tokensWrapper) { + var key = event.key; + var value = proxyInput.value.trim(); + switch (key) { + // Remove the last token when backspace is pressed and input field is empty (no text being typed) + case _constants__WEBPACK_IMPORTED_MODULE_0__.KEYS.BACKSPACE: + if (!value) { + event.preventDefault(); + var lastToken = tokensWrapper.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.CLASS_NAMES.TOKEN, ":last-child")); + (0,_token_actions__WEBPACK_IMPORTED_MODULE_1__.removeToken)(lastToken, field, proxyInput); + } + break; + + // Create a token from current input when delimiter keys are pressed + case _constants__WEBPACK_IMPORTED_MODULE_0__.KEYS.SPACE: + case _constants__WEBPACK_IMPORTED_MODULE_0__.KEYS.COMMA: + case _constants__WEBPACK_IMPORTED_MODULE_0__.KEYS.ENTER: + event.preventDefault(); + (0,_token_actions__WEBPACK_IMPORTED_MODULE_1__.addToken)(value, field, proxyInput); + break; + } + (0,_proxy_input_style__WEBPACK_IMPORTED_MODULE_2__.adjustProxyInputStyle)(proxyInput, tokensWrapper); +} + +/** + * Handle token removal when clicking the remove button + * + * @private + * + * @param {Event} event Click event + * @param {HTMLElement} field The original hidden input field + * @param {HTMLElement} proxyInput The proxy input field for interaction + * @return {void} + */ +function handleTokenRemoval(event, field, proxyInput) { + var removeButton = event.target.closest(".".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.CLASS_NAMES.TOKEN_REMOVE)); + if (!removeButton) { + return; + } + var token = removeButton.closest(".".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.CLASS_NAMES.TOKEN)); + if (!token) { + return; + } + var tokensWrapper = token.parentElement; + (0,_token_actions__WEBPACK_IMPORTED_MODULE_1__.removeToken)(token, field, proxyInput); + (0,_proxy_input_style__WEBPACK_IMPORTED_MODULE_2__.adjustProxyInputStyle)(proxyInput, tokensWrapper); +} + +/***/ }), + +/***/ "./js/src/settings-components/components/token-input/index.js": +/*!********************************************************************!*\ + !*** ./js/src/settings-components/components/token-input/index.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ initTokenInputFields: () => (/* reexport safe */ _token_input__WEBPACK_IMPORTED_MODULE_0__.initTokenInputFields) +/* harmony export */ }); +/* harmony import */ var _token_input__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./token-input */ "./js/src/settings-components/components/token-input/token-input.js"); + + +/***/ }), + +/***/ "./js/src/settings-components/components/token-input/proxy-input-style.js": +/*!********************************************************************************!*\ + !*** ./js/src/settings-components/components/token-input/proxy-input-style.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ adjustAllProxyInputStyles: () => (/* binding */ adjustAllProxyInputStyles), +/* harmony export */ adjustProxyInputStyle: () => (/* binding */ adjustProxyInputStyle) +/* harmony export */ }); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./js/src/settings-components/components/token-input/constants.js"); +/** + * Proxy input style + * + * Functions for adjusting proxy input styling + */ + + + +/** + * Adjust styling for all proxy inputs on the current settings + * + * @return {void} + */ +function adjustAllProxyInputStyles() { + document.querySelectorAll(".".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.CLASS_NAMES.CONTAINER)).forEach(function (container) { + return adjustProxyInputStyle(container.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.CLASS_NAMES.TOKEN_PROXY_INPUT)), container.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.CLASS_NAMES.TOKENS_WRAPPER))); + }); +} + +/** + * Adjust the styling of the proxy input based on tokens wrapper dimensions + * + * @param {HTMLElement} proxyInput The proxy input field + * @param {HTMLElement} tokensWrapper The wrapper for token display + * @return {void} + */ +function adjustProxyInputStyle(proxyInput, tokensWrapper) { + if (!proxyInput || !tokensWrapper) { + return; + } + var tokens = tokensWrapper.querySelectorAll(".".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.CLASS_NAMES.TOKEN)); + var hasTokens = tokens.length > 0; + + // Reset all styles if no tokens + if (!hasTokens) { + proxyInput.style.paddingLeft = ''; + proxyInput.style.paddingTop = ''; + proxyInput.style.height = ''; + return; + } + var tokensWrapperHeight = tokensWrapper.offsetHeight; + + // Calculate number of rows based on wrapper height + var numRows = Math.max(1, Math.ceil(tokensWrapperHeight / _constants__WEBPACK_IMPORTED_MODULE_0__.PROXY_INPUT_HEIGHT)); + if (numRows > 1) { + // For multiple rows, calculate the width of tokens in the last row + var lastRowWidth = calculateLastRowWidth(getLastRowTokens(tokens)); + proxyInput.style.height = "".concat(tokensWrapperHeight, "px"); + proxyInput.style.paddingTop = "".concat(tokensWrapperHeight - _constants__WEBPACK_IMPORTED_MODULE_0__.PROXY_INPUT_HEIGHT + _constants__WEBPACK_IMPORTED_MODULE_0__.TOKEN_GAP, "px"); + proxyInput.style.paddingLeft = lastRowWidth ? "".concat(lastRowWidth + _constants__WEBPACK_IMPORTED_MODULE_0__.TOKEN_GAP * 2, "px") : ''; + } else { + // For single row, use the full width of tokens + proxyInput.style.height = ''; + proxyInput.style.paddingTop = ''; + proxyInput.style.paddingLeft = "".concat(tokensWrapper.offsetWidth - _constants__WEBPACK_IMPORTED_MODULE_0__.TOKEN_GAP, "px"); + } +} + +/** + * Identify tokens in the last row of a multi-row token layout + * + * @param {NodeList} tokens All token elements + * @return {Array} Array of tokens in the last row + */ +function getLastRowTokens(tokens) { + if (!tokens.length) { + return []; + } + var tokensArray = Array.from(tokens); + var lastRowY = -1; + tokensArray.forEach(function (token) { + var tokenRect = token.getBoundingClientRect(); + var tokenBottom = tokenRect.bottom; + if (tokenBottom > lastRowY) { + lastRowY = tokenBottom; + } + }); + var threshold = _constants__WEBPACK_IMPORTED_MODULE_0__.TOKEN_GAP / 2; + return tokensArray.filter(function (token) { + var tokenRect = token.getBoundingClientRect(); + return Math.abs(tokenRect.bottom - lastRowY) <= threshold; + }); +} + +/** + * Calculate the total width of tokens in the last row + * + * @param {Array} lastRowTokens Array of token elements in the last row + * @return {number} Total width of tokens in the last row + */ +function calculateLastRowWidth(lastRowTokens) { + if (!lastRowTokens.length) { + return 0; + } + var totalWidth = 0; + lastRowTokens.forEach(function (token) { + totalWidth += token.offsetWidth; + }); + totalWidth += (lastRowTokens.length - 1) * _constants__WEBPACK_IMPORTED_MODULE_0__.TOKEN_GAP; + return totalWidth + _constants__WEBPACK_IMPORTED_MODULE_0__.TOKEN_GAP; +} + +/***/ }), + +/***/ "./js/src/settings-components/components/token-input/token-actions.js": +/*!****************************************************************************!*\ + !*** ./js/src/settings-components/components/token-input/token-actions.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addToken: () => (/* binding */ addToken), +/* harmony export */ clearProxyInput: () => (/* binding */ clearProxyInput), +/* harmony export */ parseTokens: () => (/* binding */ parseTokens), +/* harmony export */ removeToken: () => (/* binding */ removeToken), +/* harmony export */ synchronizeTokensDisplay: () => (/* binding */ synchronizeTokensDisplay), +/* harmony export */ updateFieldValue: () => (/* binding */ updateFieldValue) +/* harmony export */ }); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./js/src/settings-components/components/token-input/constants.js"); +/* harmony import */ var _proxy_input_style__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./proxy-input-style */ "./js/src/settings-components/components/token-input/proxy-input-style.js"); +/* harmony import */ var _token_elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./token-elements */ "./js/src/settings-components/components/token-input/token-elements.js"); +/** + * Token actions + * + * Core functions for token operations and management + */ + +/** + * Internal dependencies + */ + + + + +/** + * Synchronize token display with the field value + * + * @param {string} value The field value + * @param {HTMLElement} proxyInput The proxy input field + * @param {HTMLElement} tokensWrapper Wrapper element for tokens + * @return {void} + */ +function synchronizeTokensDisplay(value, proxyInput, tokensWrapper) { + if (!value || !tokensWrapper || !proxyInput) { + return; + } + + // Clear existing tokens display and render new tokens + tokensWrapper.innerHTML = ''; + parseTokens(value).forEach(function (token) { + return (0,_token_elements__WEBPACK_IMPORTED_MODULE_2__.createTokenElement)(token, tokensWrapper); + }); + (0,_proxy_input_style__WEBPACK_IMPORTED_MODULE_1__.adjustProxyInputStyle)(proxyInput, tokensWrapper); + proxyInput.focus(); +} + +/** + * Add a new token to the field + * + * @param {string} tokenValue The token value to add + * @param {HTMLElement} field The original field + * @param {HTMLElement} proxyInput The proxy input + * @return {boolean} Whether a token was added + */ +function addToken(tokenValue, field, proxyInput) { + if (!tokenValue || !field || !proxyInput) { + return false; + } + + // Get current tokens from field value + var tokens = parseTokens(field.value); + + // Skip duplicate tokens + if (tokens.includes(tokenValue)) { + clearProxyInput(proxyInput); + return false; + } + + // Add new token + tokens.push(tokenValue); + updateFieldValue(field, tokens); + clearProxyInput(proxyInput); + return true; +} + +/** + * Remove a specific token from the field + * + * @param {HTMLElement} token The token element to remove + * @param {HTMLElement} field The original field + * @param {HTMLElement} proxyInput The proxy input + * @return {void} + */ +function removeToken(token, field, proxyInput) { + if (!token || !field || !proxyInput) { + return; + } + var value = token.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.CLASS_NAMES.TOKEN_VALUE)).textContent; + + // Filter out the token to remove + var tokens = parseTokens(field.value).filter(function (tokenValue) { + return tokenValue !== value; + }); + updateFieldValue(field, tokens); + + // Remove the token element from DOM + token.remove(); + proxyInput.focus(); +} + +/** + * Parse string input into an array of tokens + * + * @param {string} value Space-separated string + * @return {string[]} Array of tokens + */ +function parseTokens() { + var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; + value = value.trim(); + if (!value) { + return []; + } + return value.split(/\s+/).filter(Boolean); +} + +/** + * Update field value with tokens and trigger change event + * + * @param {HTMLElement} field The field to update + * @param {string[]} tokens Array of token values + * @return {void} + */ +function updateFieldValue(field) { + var tokens = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; + if (!field) { + return; + } + field.value = tokens.join(' '); + jQuery(field).trigger('change'); +} + +/** + * Clear proxy input and maintain focus + * + * @param {HTMLElement} proxyInput The proxy input field + * @return {void} + */ +function clearProxyInput(proxyInput) { + if (!proxyInput) { + return; + } + proxyInput.value = ''; + proxyInput.focus(); +} + +/***/ }), + +/***/ "./js/src/settings-components/components/token-input/token-elements.js": +/*!*****************************************************************************!*\ + !*** ./js/src/settings-components/components/token-input/token-elements.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createTokenContainerElement: () => (/* binding */ createTokenContainerElement), +/* harmony export */ createTokenElement: () => (/* binding */ createTokenElement) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./js/src/settings-components/components/token-input/constants.js"); +/** + * Token elements + * + * Functions for creating token DOM elements + */ + +/** + * Internal dependencies + */ + + +var _window$frmDom = window.frmDom, + span = _window$frmDom.span, + svg = _window$frmDom.svg, + tag = _window$frmDom.tag; + +/** + * Create token container and input elements + * + * @param {HTMLElement} field Input field for tokenization + * @return {HTMLElement|null} The container element or null if already initialized + */ +function createTokenContainerElement(field) { + // Get the main container (.frm-with-right-icon) to work with Formidable's modal system + var container = field.closest(".".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_NAMES.WITH_RIGHT_ICON)); + if (container.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_NAMES.TOKENS_WRAPPER))) { + return null; + } + container.classList.add(_constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_NAMES.CONTAINER); + var tokensWrapper = span({ + className: _constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_NAMES.TOKENS_WRAPPER + }); + container.insertBefore(tokensWrapper, container.firstChild); + var proxyInput = tag('input', { + className: _constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_NAMES.TOKEN_PROXY_INPUT, + id: "".concat(field.id, "-proxy-input") + }); + proxyInput.type = 'text'; + + // Inserting proxyInput after the field is important to maintain compatibility with Formidable's modal system + field.parentNode.insertBefore(proxyInput, field.nextSibling); + field.classList.add(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); + return container; +} + +/** + * Create a single token element + * + * @param {string} value Token value + * @param {HTMLElement} tokensWrapper Wrapper element for tokens + * @return {void} + */ +function createTokenElement(value, tokensWrapper) { + var tokenElement = span({ + className: _constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_NAMES.TOKEN, + children: [span({ + text: value, + className: _constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_NAMES.TOKEN_VALUE + }), span({ + className: _constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_NAMES.TOKEN_REMOVE, + child: svg({ + href: '#frm_close_icon' + }) + })] + }); + tokensWrapper.appendChild(tokenElement); +} + +/***/ }), + +/***/ "./js/src/settings-components/components/token-input/token-input.js": +/*!**************************************************************************!*\ + !*** ./js/src/settings-components/components/token-input/token-input.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ initTokenInputFields: () => (/* binding */ initTokenInputFields) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./js/src/settings-components/components/token-input/constants.js"); +/* harmony import */ var _token_elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./token-elements */ "./js/src/settings-components/components/token-input/token-elements.js"); +/* harmony import */ var _token_actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./token-actions */ "./js/src/settings-components/components/token-input/token-actions.js"); +/* harmony import */ var _proxy_input_style__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./proxy-input-style */ "./js/src/settings-components/components/token-input/proxy-input-style.js"); +/* harmony import */ var _event_handlers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./event-handlers */ "./js/src/settings-components/components/token-input/event-handlers.js"); +/** + * Token Input Component + * + * Transforms space-separated values in a text input into selectable tokens + */ + +/** + * Internal dependencies + */ + + + + + + + +/** + * Initialize all token input fields on the page + * + * @return {void} + */ +function initTokenInputFields() { + // Initialize for existing fields + findAndInitializeTokenFields(); + // Initialize for newly added fields + document.addEventListener('frm_added_field', findAndInitializeTokenFields); + + // Adjust styling for all token inputs when field settings are shown + wp.hooks.addAction(core_constants__WEBPACK_IMPORTED_MODULE_0__.HOOKS.SHOW_FIELD_SETTINGS, 'formidable-token-input', _proxy_input_style__WEBPACK_IMPORTED_MODULE_4__.adjustAllProxyInputStyles); +} + +/** + * Find all token input fields and initialize them + * + * @private + * + * @return {void} + */ +function findAndInitializeTokenFields() { + var tokenInputFields = document.querySelectorAll(".".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_NAMES.TOKEN_INPUT_FIELD)); + if (!tokenInputFields.length) { + return; + } + + // Track processed fields to prevent duplicate initialization + var processedFields = new Set(); + tokenInputFields.forEach(function (field) { + if (!processedFields.has(field.id)) { + setupTokenInput(field); + processedFields.add(field.id); + } + }); +} + +/** + * Set up a token input field with token container + * + * @private + * + * @param {HTMLElement} field Input field for tokenization + */ +function setupTokenInput(field) { + var container = (0,_token_elements__WEBPACK_IMPORTED_MODULE_2__.createTokenContainerElement)(field); + if (!container) { + return; + } + var proxyInput = container.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_NAMES.TOKEN_PROXY_INPUT)); + var tokensWrapper = container.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_NAMES.TOKENS_WRAPPER)); + (0,_token_actions__WEBPACK_IMPORTED_MODULE_3__.synchronizeTokensDisplay)(field.value, proxyInput, tokensWrapper); + (0,_event_handlers__WEBPACK_IMPORTED_MODULE_5__.addEventListeners)(field, proxyInput, tokensWrapper); +} + + +/***/ }), + +/***/ "./js/src/settings-components/components/unit-input.js": +/*!*************************************************************!*\ + !*** ./js/src/settings-components/components/unit-input.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ setupUnitInputHandlers: () => (/* binding */ setupUnitInputHandlers) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/** + * Internal dependencies + */ + + +/** + * Setup unit input handlers + * + * @return {void} + */ +function setupUnitInputHandlers() { + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.documentOn)('change', '.frm-unit-input .frm-unit-input-control', onUnitInputChange); + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.documentOn)('change', '.frm-unit-input select', onUnitInputChange); +} + +/** + * Handle the change event for the unit input + * + * @private + * @param {Event} event The event object. + * @return {void} + */ +function onUnitInputChange(event) { + var unitInput = event.target.closest('.frm-unit-input'); + var control = unitInput.querySelector('.frm-unit-input-control'); + var unit = unitInput.querySelector('select').value; + + // Update input type when unit changes + if (event.target.matches('select')) { + control.type = '' === unit ? 'text' : 'number'; + } + + // Update the actual field value + var inputValue = control.value.trim(); + unitInput.querySelector('input[type="hidden"]').value = '' !== inputValue ? inputValue + unit : ''; +} + +/***/ }), + +/***/ "./js/src/settings-components/events/add-fields-button-handler.js": +/*!************************************************************************!*\ + !*** ./js/src/settings-components/events/add-fields-button-handler.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Redirects to "Add Fields" tab when the "Add Fields" button is clicked. + * + * When users view the Field Options tab with no fields, they see an "Add Fields" button. + * Clicking this button should take them to the "Add Fields" tab for field selection. + */ + +/** + * Initializes the Add Fields button click handler. + */ +var initAddFieldsButtonHandler = function initAddFieldsButtonHandler() { + var _document$getElementB; + (_document$getElementB = document.getElementById('frm-form-add-field')) === null || _document$getElementB === void 0 || _document$getElementB.addEventListener('click', function (event) { + var _document$querySelect; + event.preventDefault(); + (_document$querySelect = document.querySelector('.frm-settings-panel .frm-tabs-navs ul > li:first-child')) === null || _document$querySelect === void 0 || _document$querySelect.click(); + }); +}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (initAddFieldsButtonHandler); + +/***/ }), + +/***/ "./js/src/settings-components/events/index.js": +/*!****************************************************!*\ + !*** ./js/src/settings-components/events/index.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ initAddFieldsButtonHandler: () => (/* reexport safe */ _add_fields_button_handler__WEBPACK_IMPORTED_MODULE_0__["default"]) +/* harmony export */ }); +/* harmony import */ var _add_fields_button_handler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add-fields-button-handler */ "./js/src/settings-components/events/add-fields-button-handler.js"); + + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // 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/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__ = {}; +/*!*********************************************!*\ + !*** ./js/src/settings-components/index.js ***! + \*********************************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/dom-ready */ "./node_modules/@wordpress/dom-ready/build-module/index.js"); +/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./events */ "./js/src/settings-components/events/index.js"); +/* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components */ "./js/src/settings-components/components/index.js"); +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +(0,_wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_2__["default"])(function () { + new _components__WEBPACK_IMPORTED_MODULE_1__.frmRadioComponent(); + new _components__WEBPACK_IMPORTED_MODULE_1__.frmSliderComponent(); + new _components__WEBPACK_IMPORTED_MODULE_1__.frmTabsComponent(); + (0,_events__WEBPACK_IMPORTED_MODULE_0__.initAddFieldsButtonHandler)(); + (0,_components__WEBPACK_IMPORTED_MODULE_1__.initTokenInputFields)(); + (0,_components__WEBPACK_IMPORTED_MODULE_1__.initToggleGroupComponents)(); + (0,_components__WEBPACK_IMPORTED_MODULE_1__.setupUnitInputHandlers)(); +}); +/******/ })() +; +//# sourceMappingURL=formidable-settings-components.js.map \ No newline at end of file diff --git a/js/formidable_admin.js b/js/formidable_admin.js index 64cd5226da..974e47050f 100644 --- a/js/formidable_admin.js +++ b/js/formidable_admin.js @@ -1 +1,10131 @@ -(()=>{function e(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||t(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function t(e,t){if(e){if("string"==typeof e)return r(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r1&&(e="",t=""):0===i.indexOf("frm_postmeta_")&&(jQuery("#frm_postmeta_rows .frm_postmeta_row").length<2&&(e=".frm_add_postmeta_row.button"),jQuery(".frm_toggle_cf_opts").length&&jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().length&&(""!==e&&(e+=","),e+="#"+jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().attr("id")+" .frm_toggle_cf_opts"));var o=document.getElementById(i),a=jQuery(o);return a.fadeOut(300,(function(){var r;a.remove(),Mi(),""!==t&&jQuery(t).hide(),""!==e&&jQuery(e+" a,"+e).removeClass("frm_hidden").fadeIn("slow"),this.closest(".frm_form_action_settings")&&function(e){si(e);var t={type:e};wp.hooks.doAction("frm_after_action_removed",t)}(this.closest(".frm_form_action_settings").querySelector(".frm_action_name").value),null===(r=document.querySelector(".tooltip"))||void 0===r||r.remove()})),void 0!==r&&(r=jQuery(r)).fadeOut(400,(function(){r.remove()})),""!==e&&jQuery(this).closest(".frm_logic_rows").fadeOut("slow"),wp.hooks.doAction("frm_admin_tag_removed",i,o),!1}}function $(e,t){void 0===t&&(t=this),Ze(t,!1);var r=jQuery(t).closest(".frm_form_action_settings"),n=e.target;if(r.length&&void 0!==n){var i=n.parentElement.className;if("string"==typeof i&&(i.indexOf("frm_email_icons")>-1||i.indexOf("frm_toggle")>-1))return void e.stopPropagation()}var o=r.children(".widget-inside");if(r.length&&o.find("p, div, table").length<1){var a=r.find('input[name$="[ID]"]').val(),l=r.find('input[name$="[post_excerpt]"]').val();l&&(o.html(''),r.find(".spinner").fadeIn("slow"),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_form_action_fill",action_id:a,action_type:l,nonce:frmGlobal.nonce},success:function(e){o.html(e),lo(),Yn("#"+r.attr("id")),jo(o),jQuery(t).trigger("frm-action-loaded"),wp.hooks.doAction("frm_filled_form_action",o)}}))}jQuery(t).closest(".frm_field_box").siblings().find(".widget-inside").slideUp("fast"),void 0!==t.className&&-1!==t.className.indexOf("widget-action")||jQuery(t).closest(".start_divider").length<1||((o=jQuery(t).closest("div.widget").children(".widget-inside")).is(":hidden")?o.slideDown("fast"):o.slideUp("fast"))}function W(){var e=this.getAttribute("href");if(void 0===e)return!1;var t=e.replace("#","."),r=jQuery(this);r.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),r.closest("div").children(".tabs-panel").not(e).not(t).hide();var n=document.getElementById(e.replace("#",""));return n&&(n.style.display="block"),"frm_insert_fields_tab"!==this.id||this.closest("#frm_adv_info")||Je(),!1}function V(e,t){var r=(e=jQuery(e)).attr("href");if(void 0!==r){var n,i,o=r.replace("#",".");if(e.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),e.closest("div").find(".tabs-panel").length)e.closest("div").children(".tabs-panel").not(r).not(o).hide();else if(null!==document.getElementById("form_global_settings")){var a=e.data("frmajax");e.closest(".frm_wrap").find(".tabs-panel, .hide_with_tabs").hide(),void 0!==a&&"1"==a&&(n=r.replace("#",""),(i=jQuery(".frm_"+n+"_ajax")).length&&jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_settings_tab",tab:n.replace("_settings",""),nonce:frmGlobal.nonce},success:function(e){i.replaceWith(e)}}))}else jQuery("#frm-categorydiv .tabs-panel, .hide_with_tabs").hide();jQuery(r).show(),jQuery(o).show(),Wi(),"auto"!==t&&(jQuery(".frm_updated_message").hide(),jQuery(".frm_warning_style").hide()),jQuery(e).closest("#frm_adv_info").length||(jQuery(".frm_form_settings").length?jQuery(".frm_form_settings").attr("action","?page=formidable&frm_action=settings&id="+jQuery('.frm_form_settings input[name="id"]').val()+"&t="+r.replace("#","")):jQuery(".frm_settings_form").attr("action","?page=formidable-settings&t="+r.replace("#","")))}}function U(e){var t,r;document.querySelectorAll(e).forEach((function(e){J(e),Array.from(e.children).forEach((function(e){return X(e,".frm-move")}));var t=jQuery(e).children('[data-type="divider"]').children(".divider_section_only");t.length&&J(t)})),t=jQuery("#frm_builder_page"),r={items:".frm_sortable_field_opts li",axis:"y",opacity:.65,forcePlaceholderSize:!1,handle:".frm-drag",helper:function(e,t){return x=t.clone().insertAfter(t),t.clone()},stop:function(e,t){x&&x.remove(),rn(t.item.attr("id").replace("frm_delete_field_","").replace("-"+t.item.data("optkey")+"_container","")),Mi()}},jQuery(t).sortable(r)}function J(e){jQuery(e).droppable({accept:".frmbutton, li.frm_field_box",deactivate:ne,over:K,out:Y,tolerance:"pointer"})}function K(e,t){var r=function(e){return e.classList.contains("divider_section_only")&&(e=jQuery(e).nextAll(".start_divider.frm_sorting").get(0)),e}(e.target);if(!Qe(t.draggable[0],r,e))return r.classList.remove("frm-over-droppable"),void jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable");document.querySelectorAll(".frm-over-droppable").forEach((function(e){return e.classList.remove("frm-over-droppable")})),r.classList.add("frm-over-droppable"),jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable")}function Y(e){e.target.classList.remove("frm-over-droppable")}function X(e,t){var r={helper:Z,revert:"invalid",delay:10,start:ee,stop:te,drag:re,cursor:"grabbing",refreshPositions:!0,cursorAt:{top:0,left:90}};"string"==typeof t&&(r.handle=t),jQuery(e).draggable(r)}function Z(e){var t,r=e.delegateTarget;if(Ee(r)){var n=document.getElementById("frm-insert-fields").querySelector(".frm_ttext").cloneNode(!0);return n.querySelector("use").setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_field_group_layout_icon"),n.querySelector("span").textContent=B("Field Group","formidable"),n.classList.add("frm_field_box"),n.classList.add("ui-sortable-helper"),n}if(r.classList.contains("frmbutton"))return(t=r.cloneNode(!0)).classList.add("ui-sortable-helper"),r.classList.add("frm-new-field"),t;if(r.hasAttribute("data-ftype")){var i=r.getAttribute("data-ftype");if((t=(t=document.getElementById("frm-insert-fields").querySelector(".frm_t"+i)).cloneNode(!0)).classList.add("form-field"),t.classList.add("ui-sortable-helper"),t)return t.cloneNode(!0)}return d({className:"frmbutton"})}function ee(e,t){q.dragging=!0;var r,n=h;n.classList.add("frm-dragging-field"),document.body.classList.add("frm-dragging"),t.helper.addClass("frm-sortable-helper"),t.helper.initialOffset=n.scrollTop,e.target.classList.add("frm-drag-fade"),gr(),(r=document.querySelectorAll("ul.start_divider")).length&&r.forEach((function(e){[].slice.call(e.children).forEach((function(e){(0===e.children.length||1===e.children.length&&"ul"===e.firstElementChild.nodeName.toLowerCase()&&0===e.firstElementChild.children.length)&&e.remove()}))})),Me(),Te(),R()}function te(){h.classList.remove("frm-dragging-field"),document.body.classList.remove("frm-dragging");var e=document.querySelector(".frm-drag-fade");e&&e.classList.remove("frm-drag-fade")}function re(e,t){!function(e){v.scrollTop((function(t,r){var n=e.clientY,i=h.offsetHeight,o=e.clientY-h.offsetTop,a=o-i/2;return o>i-50&&n>5?r+.1*a:o<70&&n<130?r-Math.abs(.1*a):r}))}(e);var r=e.target,n=function(){for(var e=document.getElementById("frm-show-fields");e.querySelector(".frm-over-droppable");)e=e.querySelector(".frm-over-droppable");return"frm-show-fields"!==e.id||e.classList.contains("frm-over-droppable")||(e=!1),e}(),i=document.getElementById("frm_drag_placeholder");if(Qe(r,n,e)){i||(i=s("li",{id:"frm_drag_placeholder",className:"sortable-placeholder"}));var o,a=t.helper.get(0);if((a.classList.contains("form-field")||a.classList.contains("frm_field_box"))&&(a.style.transform="translateY("+(o=t.helper,h.scrollTop-o.initialOffset+"px)")),"frm-show-fields"===n.id||n.classList.contains("start_divider"))return i.style.left=0,void function(e){var t,r=e.y,n=e.placeholder,i=jQuery(e.droppable);if($children=i.children().not(".edit_field_type_end_divider"),0===$children.length)i.prepend(n),t=0;else{var o=ie(i,r);if(o===$children.length){var a=jQuery($children.get(o-1));t=a.offset().top+a.outerHeight(),i.append(n);var l=i.children(".edit_field_type_end_divider");l.length&&i.append(l)}else t=jQuery($children.get(o)).offset().top,jQuery($children.get(o)).before(n)}t-=i.offset().top,n.style.top=t+"px"}({droppable:n,y:e.clientY,placeholder:i});i.style.top="",function(e){var t,r=e.x,n=e.placeholder,i=jQuery(e.droppable),o=ae(i);if(o.length){var a=function(e,t){var r,n,i,o,a=ae(e);for(o=0,r=a.length-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().left)){o=r,t>i+jQuery(n).outerWidth()/2&&(o=r+1);break}return o}(i,r);if(a===o.length){var l=jQuery(o.get(a-1));t=l.offset().left+l.outerWidth(),i.append(n)}else t=jQuery(o.get(a)).offset().left,jQuery(o.get(a)).before(n),t-=0===a?4:8;t-=i.offset().left,n.style.left=t+"px"}}({droppable:n,x:e.clientX,placeholder:i})}else i&&i.remove()}function ne(e,t){if(q.dragging){q.dragging=!1;var r=t.draggable[0],n=document.getElementById("frm_drag_placeholder");if(!n)return t.helper.remove(),void y();!function(e){if(e.previousElementSibling&&e.previousElementSibling.classList.contains("frm-is-collapsed")){var t=jQuery(e).prevUntil('[data-type="break"]');if(t.length){var r=t.find(".frm-collapse-page").get(0);r&&r.click()}}}(n);var i=t.helper.parent(),o=t.helper.get(0).closest("ul.start_divider"),a=n.closest("ul.start_divider");r.classList.contains("frm-new-field")?function(e){if(ge(e))wp.hooks.doAction("frm_stopped_inserting_by_dragging",e);else{var t=document.getElementById("frm_drag_placeholder"),r=e.replace("|","-")+"_"+we(),n=s("li",{id:r,className:"frm-wait frmbutton_loadingnow"}),i=jQuery(n),o=fe(jQuery(t)),a=ue(o),l=me(o);t.parentNode.insertBefore(n,t),t.remove(),le(i);var d=0;"summary"===e&&(d=jQuery(".frmbutton_loadingnow#"+r).prevAll('li[data-type="break"]').length?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:pe(e,l,a,d),success:function(t){ye(t,i);var r=he(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:a})},error:je})}}(r.id):(function(e,t){t.parentNode.insertBefore(e,t)}(r,n),function(e){if("UL"===e.nodeName&&!e.classList.contains("start_divider")&&"frm-show-fields"!==e.id){var t=e.closest("li");t&&!t.classList.contains("ui-draggable")&&X(t,".frm-move")}}(n.parentElement));var l=o?parseInt(o.closest(".edit_field_type_divider").getAttribute("data-fid")):0,d=a?parseInt(a.closest(".edit_field_type_divider").getAttribute("data-fid")):0;n.remove(),t.helper.remove();var c=i.length?ae(i):[];!function(e,t){var r;e.length&&(t.length?le(t.first()):(r=e.get(0).closest("li.frm_field_box"))&&!r.classList.contains("edit_field_type_divider")&&r.remove())}(i,c),function(e,t){0===t.length&&1===ae(jQuery(e.parentNode)).length||le(jQuery(e))}(r,c),l!==d&&_e(jQuery(r),o),y()}}function ie(e,t){var r,n,i,o,a=e.children().not(".edit_field_type_end_divider"),l=a.length;if(!document.querySelector(".frm-has-fields .frm_no_fields"))return 0;for(o=0,r=l-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().top)){o=r,t>i+jQuery(n).outerHeight()/2&&(o=r+1);break}return o}function oe(){document.querySelectorAll("ul#frm-show-fields, ul.start_divider").forEach((function(e){e.childNodes.forEach((function(e){void 0!==e.classList&&(e.classList.contains("edit_field_type_end_divider")||void 0!==e.classList&&e.classList.contains("form-field")&&We(e))}))})),xn(),document.querySelectorAll(".edit_field_type_end_divider").forEach((function(e){return e.parentNode.appendChild(e)})),document.querySelectorAll("li.form_field_box:not(.form-field)").forEach((function(e){return!e.children.length&&e.remove()})),Qn();var e=new Event("frm_sync_after_drag_and_drop",{bubbles:!1});document.dispatchEvent(e)}function ae(e){var t=jQuery(),r=e.get(0);return r.children?(Array.from(r.children).forEach((function(e){if("none"!==e.style.display){var r=e.classList;!r.contains("form-field")||r.contains("edit_field_type_end_divider")||r.contains("frm-sortable-helper")||(t=t.add(e))}})),t):t}function le(e,t){var r,n,i,o;void 0===t&&(t="even"),r=e.parent().children("li.form-field, li.frmbutton_loadingnow").not(".edit_field_type_end_divider"),n=r.length,i=["frm_full","frm_half","frm_third","frm_fourth","frm_sixth","frm_two_thirds","frm_three_fourths","frm1","frm2","frm3","frm4","frm5","frm6","frm7","frm8","frm9","frm10","frm11","frm12"],"even"===t&&5!==n?r.each(ce(i,Vt(n))):"clear"===t?r.each(ce(i,"")):(o=-1!==["left","right","middle","even"].indexOf(t)?function(e){return Wt(n,t,e)}:function(e){return ar(t[e])},r.each(ce(i,o))),se(e.parent(),r.length)}function se(e,t){var r,n;if(void 0!==e.offset()){if(r=t>=2,null===(n=document.getElementById("frm_field_group_controls"))){if(!r)return;(n=d()).id="frm_field_group_controls",n.setAttribute("role","group"),n.setAttribute("tabindex",0),function(e){var t,r;(t=document.createElement("span")).innerHTML='';var n=B("Set Row Layout","formidable");de(t,n),zt(t,n),(r=document.createElement("span")).innerHTML='',r.classList.add("frm-move");var i=B("Move Field Group","formidable");de(r,i),zt(r,i),e.innerHTML="",e.appendChild(t),e.appendChild(r),e.appendChild(function(){var e=c({className:"dropdown"}),t=f({className:"frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle",children:[c({child:u({href:"#frm_thick_more_vert_icon"})}),c({className:"screen-reader-text",text:B("Toggle More Options Dropdown","formidable")})]});frmDom.setAttributes(t,{title:B("More Options","formidable"),"data-toggle":"dropdown","data-container":"body"}),zt(t,B("More Options","formidable")),e.appendChild(t);var r=d({className:"frm-dropdown-menu dropdown-menu dropdown-menu-right"});return r.setAttribute("role","menu"),e.appendChild(r),e}())}(n),D.appendChild(n)}e.append(n),n.style.display=r?"block":"none"}}function de(e,t){e.setAttribute("data-toggle","tooltip"),e.setAttribute("data-container","body"),e.setAttribute("title",t),e.addEventListener("mouseover",(function(){null===e.getAttribute("data-original-title")&&jQuery(e).tooltip()}))}function ce(e,t){return function(r){var n,i,o,a,l,s,d;for(n="function"==typeof t?t(r):t,i=e.length,l=!1,o=0;ot.childElementCount-1:s<=jQuery(t.querySelector(".edit_field_type_submit").closest("#frm-show-fields > li")).index()}if(a)return!(t.classList.contains("start_divider")||!xe(t.parentElement)&&(!xe(t.parentElement.nextElementSibling)||e.parentElement.querySelector("li.frm_field_box:not(.edit_field_type_submit)")));if(t.classList.contains("start_divider")&&(e.classList.contains("edit_field_type_gdpr")||"gdpr"===e.id)&&t.closest(".repeat_section"))return!1;if(!t.classList.contains("start_divider")){if(n=ae(jQuery(t)),i=jQuery(e),!(n.length<6)&&(n.length>6||(o=i.attr("data-fid"),1!==jQuery(n).filter('[data-fid="'+o+'"]').length)))return!1;if("divider"===e.id&&t.closest(".start_divider"))return!1}return e.classList.contains("frm-new-field")?function(e,t){var r=e.classList,n=r.contains("frm_tbreak"),i=r.contains("frm_thidden"),o=r.contains("frm_tdivider"),a=r.contains("frm_tform"),l=r.contains("frm_tuser_id");return"frm-show-fields"===t.id||t.classList.contains("start_divider")?!(n||i||o||a)||(!(t.classList.contains("start_divider")||null!==t.closest(".start_divider"))||!a&&!o):!(ke(t)||i||n||l)}(e,t):function(e,t){if(Ee(e))return function(e,t){return!(!t.classList.contains("start_divider")||null!==e.querySelector(".start_divider"))}(e,t);if(e.classList.contains("edit_field_type_break"))return!1;if(t.classList.contains("start_divider"))return function(e){return!e.classList.contains("edit_field_type_form")&&!e.querySelector(".edit_field_type_form")&&!(e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"))}(e);var r=e.classList.contains("edit_field_type_hidden"),n=e.classList.contains("edit_field_type_user_id");return!r&&!n&&function(e,t){if(ke(t))return!1;if(jQuery(e).children("ul.frm_sorting").not(".start_divider").length>0)return!1;var r=e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"),n=e.classList.contains("edit_field_type_form");return null===t.closest(".start_divider")||!r&&!n}(e,t)}(e,t)}function xe(e){return e&&e.matches("#frm-show-fields > li:last-child")}function Ee(e){return e.classList.contains("frm_field_box")&&!e.classList.contains("form-field")}function ke(e){return null!==e.querySelector(".edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id")}function Le(e){var t=document.getElementById(e),r=jQuery(t),n=[],i=function(e){var t=e.querySelector(".frm_hidden_fdata");e.classList.add("frm_load_now"),null!==t&&n.push(t.innerHTML)},o=t;i(o);for(var a=Se(o);a&&n.length<15;)i(a),o=a,a=Se(a);jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_load_field",field:n,form_id:k,nonce:frmGlobal.nonce},success:function(e){return function(e,t,r){var n,i;if(0===(e=e.replace(/^\s+|\s+$/g,"")).indexOf("{")){for(n in e=JSON.parse(e))jQuery("#frm_field_id_"+n).replaceWith(e[n]),U("#frm_field_id_"+n+".edit_field_type_divider ul.frm_sorting"),X(document.getElementById("frm_field_id_"+n));((i=t.nextAll(".frm_field_loading:not(.frm_load_now)")).length||(i=jQuery(document.getElementById("frm-show-fields")).find(".frm_field_loading:not(.frm_load_now)")).length)&&Le(i.attr("id")),lo(),Tr(),Be();var o=new Event("frm_ajax_loaded_field",{bubbles:!1});o.frmFields=r.map((function(e){return JSON.parse(e)})),document.dispatchEvent(o)}else jQuery(".frm_load_now").removeClass(".frm_load_now").html("Error")}(e,r,n)}})}function Se(e){var t;return e.nextElementSibling?e.nextElementSibling:null===(t=e.parentNode)||void 0===t||null===(t=t.closest(".frm_field_box"))||void 0===t||null===(t=t.nextElementSibling)||void 0===t?void 0:t.querySelector(".form-field")}function Ae(){var e=jQuery(this);if(e.hasClass("disabled"))return!1;var t=e.closest(".frmbutton").attr("id");if(!ge(t)){var r=0;"summary"===t&&(r=j.children('li[data-type="break"]').length>0?1:0);var n=k;return jQuery.ajax({type:"POST",url:ajaxurl,data:pe(t,0,n,r),success:function(e){Ie(e);var r=he(e);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:e,fieldId:r,fieldType:t,form_id:n})},error:je}),!1}}function Ie(e){document.getElementById("frm_form_editor_container").classList.add("frm-has-fields");var t=$e(e),r=j[0].querySelector(".edit_field_type_submit");r?jQuery(r.closest(".frm_field_box:not(.form-field)")).before(t):j.append(t),Ve(e,!0),t.each((function(){J(this.querySelector("ul.frm_sorting")),X(this.querySelector(".form-field"),".frm-move")}))}function Be(){var e=!0,t=document.querySelectorAll(".frmjs_prod_field_opt_cont");j.find("li.edit_field_type_product").length>1&&(e=!1);for(var r=0;r',i.appendChild(document.createTextNode(" ")),i.appendChild(o),n.appendChild(i),e.appendChild(n)}))}(t,!0===e),(r=jQuery(t)).offset().left>jQuery(window).width()-r.outerWidth()&&(t.style.left=-r.outerWidth()+"px");var n=t.firstElementChild.querySelector("a");n&&n.focus()}}),0)}function Pe(){He(!0)}function ze(e){var t=e.target.closest(".frm-section-collapsed");t&&("show"===e.type?t.style.zIndex=3:t.style.zIndex=1)}function Re(e){var t={class:"frm_delete",icon:"frm_delete_icon"};return t.label=B(e?"Delete Group":"Delete","formidable"),t}function Ge(e){var t={class:"frm_clone",icon:"frm_clone_icon"};return t.label=B(e?"Duplicate Group":"Duplicate","formidable"),t}function $e(e){var t=d();"string"==typeof e?t.innerHTML=e:t.appendChild(e);var r=jQuery();return Array.from(t.children).forEach((function(e){r=r.add(jQuery("
  • ").addClass("frm_field_box").html(jQuery("