{
  "name": "dnxte/advance-counter",
  "d4Shortcode": "",
  "title": "Advance Counter",
  "titles": "Advance Counters",
  "moduleIcon": "dnxte/advance-counter",
  "moduleClassName": "advance_counter",
  "moduleOrderClassName": "advance_counter",
  "category": "module",
  "folder": "divi-essential",
  "attributes": {
    "module": {
      "type": "object",
      "selector": "{{selector}}",
      "default": {
        "advanced": {
          "text": {
            "text": {
              "desktop": {
                "value": {
                  "orientation": "center"
                }
              }
            }
          }
        }
      },
      "styleProps": {
        "border": { "important": true },
        "spacing": { "important": true }
      },
      "settings": {
        "meta": { "adminLabel": {} },
        "advanced": {
          "link": {},
          "text": { "priority": 50 },
          "htmlAttributes": {}
        },
        "decoration": {
          "attributes": {},
          "background": {},
          "sizing": {},
          "spacing": {},
          "border": {},
          "boxShadow": {},
          "filters": {},
          "transform": {},
          "animation": {},
          "overflow": {},
          "disabledOn": {},
          "transition": {},
          "position": {},
          "zIndex": {},
          "scroll": {},
          "sticky": {}
        }
      }
    },
    "title": {
      "type": "object",
      "selector": "{{selector}} .advance_counter__title",
      "default": {
        "decoration": {
          "font": {
            "font": {
              "desktop": {
                "value": {
                  "headingLevel": "h2",
                  "color": "#000000",
                  "weight": "700"
                }
              }
            }
          }
        }
      },
      "defaultPrintedStyle": {
        "decoration": {
          "font": {
            "font": {
              "desktop": {
                "value": {
                  "size": "22px",
                  "lineHeight": "1.2em",
                  "weight": "600"
                }
              }
            }
          }
        }
      },
      "styleProps": {
        "font": {
          "important": {
            "font": {
              "desktop": {
                "value": {
                  "color": true
                }
              }
            }
          }
        }
      },
      "settings": {
        "innerContent": {
          "groupType": "group-item",
          "item": {
            "groupName": "mainContent",
            "priority": 10,
            "render": true,
            "attrName": "title.innerContent",
            "label": "Title",
            "description": "Enter the counter title.",
            "features": {
              "sticky": false,
              "dynamicContent": false
            },
            "component": {
              "name": "divi/text",
              "type": "field"
            }
          }
        },
        "decoration": {
          "font": {
            "priority": 10,
            "component": {
              "props": {
                "groupLabel": "Title Text",
                "fieldLabel": "Title",
                "fields": {
                  "headingLevel": {
                    "render": false
                  }
                }
              }
            }
          }
        }
      },
      "tagName": "h2",
      "attributes": {
        "class": "advance_counter__title"
      },
      "inlineEditor": "plainText",
      "elementType": "heading",
      "childrenSanitizer": "et_core_esc_previously"
    },
    "counterNumber": {
      "type": "object",
      "selector": "{{selector}} .advance_counter__number",
      "tagName": "div",
      "attributes": {
        "class": "advance_counter__number"
      },
      "inlineEditor": "plainText",
      "childrenSanitizer": "et_core_esc_previously",
      "default": {
        "innerContent": {
          "desktop": {
            "value": "100+"
          }
        },
        "decoration": {
          "font": {
            "font": {
              "desktop": {
                "value": {
                  "size": "48px",
                  "weight": "700",
                  "lineHeight": "1em",
                  "color": "#2563eb"
                }
              }
            }
          }
        }
      },
      "settings": {
        "innerContent": {
          "groupType": "group-item",
          "item": {
            "groupName": "mainContent",
            "priority": 20,
            "render": true,
            "attrName": "counterNumber.innerContent",
            "label": "Counter Number",
            "description": "Enter the target number to count up to.",
            "features": {
              "sticky": false,
              "dynamicContent": false,
              "responsive": false
            },
            "component": {
              "name": "divi/text",
              "type": "field"
            }
          }
        },
        "decoration": {
          "font": {
            "priority": 10,
            "component": {
              "props": {
                "groupLabel": "Counter Number Text",
                "fieldLabel": "Counter Number",
                "fields": {
                  "headingLevel": {
                    "render": false
                  }
                }
              }
            }
          }
        }
      }
    },
    "description": {
      "type": "object",
      "selector": "{{selector}} .advance_counter__description",
      "tagName": "div",
      "attributes": {
        "class": "advance_counter__description"
      },
      "inlineEditor": "richText",
      "childrenSanitizer": "et_core_esc_previously",
      "default": {
        "decoration": {
          "bodyFont": {
            "body": {
              "desktop": {
                "value": {
                  "color": "#000000"
                }
              }
            }
          }
        }
      },
      "settings": {
        "innerContent": {
          "groupType": "group-item",
          "item": {
            "groupName": "mainContent",
            "priority": 30,
            "render": true,
            "attrName": "description.innerContent",
            "label": "Description",
            "description": "Enter a description for the counter.",
            "features": {
              "sticky": false,
              "dynamicContent": false
            },
            "component": {
              "name": "divi/richtext",
              "type": "field"
            }
          }
        },
        "decoration": {
          "bodyFont": {
            "attrName": "description.decoration.bodyFont"
          }
        }
      },
      "styleProps": {
        "bodyFont": {
          "important": true
        }
      }
    },
    "layout": {
      "type": "object",
      "default": {
        "innerContent": {
          "desktop": {
            "value": "layout1"
          }
        }
      },
      "settings": {
        "innerContent": {
          "groupType": "group-item",
          "item": {
            "groupName": "displaySettings",
            "priority": 10,
            "render": true,
            "attrName": "layout.innerContent",
            "label": "Layout",
            "description": "Choose a layout style for the counter.",
            "features": {
              "sticky": false,
              "dynamicContent": false,
              "responsive": false
            },
            "component": {
              "name": "divi/select",
              "type": "field",
              "props": {
                "options": {
                  "layout1": { "label": "Layout 1" },
                  "layout2": { "label": "Layout 2" }
                }
              }
            }
          }
        }
      }
    },
    "useIcon": {
      "type": "object",
      "default": {
        "innerContent": {
          "desktop": {
            "value": "off"
          }
        }
      },
      "settings": {
        "innerContent": {
          "groupType": "group-item",
          "item": {
            "groupName": "displaySettings",
            "priority": 20,
            "render": true,
            "attrName": "useIcon.innerContent",
            "label": "Use Icon",
            "description": "Enable to show an icon with the counter.",
            "features": {
              "sticky": false,
              "dynamicContent": false,
              "responsive": false
            },
            "component": {
              "name": "divi/toggle",
              "type": "field"
            }
          }
        }
      }
    },
    "icon": {
      "type": "object",
      "selector": "{{selector}} .advance_counter__icon",
      "default": {
        "innerContent": {
          "desktop": {
            "value": {
              "unicode": "&#x39;",
              "type": "divi",
              "weight": "400"
            }
          }
        },
        "advanced": {
          "color": {
            "desktop": {
              "value": "#7a5af8"
            }
          },
          "size": {
            "desktop": {
              "value": "40px"
            }
          }
        }
      },
      "settings": {
        "innerContent": {
          "groupType": "group-item",
          "item": {
            "groupName": "displaySettings",
            "attrName": "icon.innerContent",
            "label": "Icon",
            "description": "Pick an icon for the counter.",
            "render": true,
            "priority": 25,
            "features": {
              "sticky": false
            },
            "component": {
              "type": "field",
              "name": "divi/icon-picker"
            }
          }
        },
        "advanced": {
          "color": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designIcon",
              "label": "Icon Color",
              "description": "Choose a color for the icon.",
              "render": true,
              "priority": 10,
              "features": {
                "sticky": false
              },
              "component": {
                "type": "field",
                "name": "divi/color-picker"
              }
            }
          },
          "size": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designIcon",
              "label": "Icon Size",
              "description": "Choose the icon size.",
              "render": true,
              "priority": 20,
              "features": {
                "sticky": false
              },
              "component": {
                "type": "field",
                "name": "divi/range",
                "props": {
                  "min": 1,
                  "max": 120,
                  "allowedUnits": ["%", "em", "rem", "px", "cm", "mm", "in", "pt", "pc", "ex", "vh", "vw"]
                }
              }
            }
          }
        }
      }
    },
    "counterAnimation": {
      "type": "object",
      "default": {
        "innerContent": {
          "desktop": {
            "value": {
              "enabled": "on",
              "duration": "2000",
              "delay": "0",
              "easing": "easeOut",
              "trigger": "viewport",
              "repeat": "on"
            }
          }
        }
      },
      "settings": {
        "innerContent": {
          "groupType": "group-items",
          "items": {
            "enabled": {
              "groupName": "animationSettings",
              "priority": 10,
              "render": true,
              "attrName": "counterAnimation.innerContent",
              "subName": "enabled",
              "label": "Enable Animation",
              "description": "Enable or disable the counter number animation.",
              "features": {
                "sticky": false,
                "dynamicContent": false,
                "responsive": false
              },
              "component": {
                "name": "divi/toggle",
                "type": "field"
              }
            },
            "duration": {
              "groupName": "animationSettings",
              "priority": 20,
              "render": true,
              "attrName": "counterAnimation.innerContent",
              "subName": "duration",
              "label": "Duration (ms)",
              "description": "Set the counter animation duration in milliseconds.",
              "features": {
                "sticky": false,
                "dynamicContent": false,
                "responsive": false
              },
              "component": {
                "name": "divi/range",
                "type": "field",
                "props": {
                  "min": 100,
                  "max": 10000,
                  "step": 100
                }
              }
            },
            "delay": {
              "groupName": "animationSettings",
              "priority": 30,
              "render": true,
              "attrName": "counterAnimation.innerContent",
              "subName": "delay",
              "label": "Delay (ms)",
              "description": "Set the delay before the animation starts in milliseconds.",
              "features": {
                "sticky": false,
                "dynamicContent": false,
                "responsive": false
              },
              "component": {
                "name": "divi/range",
                "type": "field",
                "props": {
                  "min": 0,
                  "max": 5000,
                  "step": 100
                }
              }
            },
            "easing": {
              "groupName": "animationSettings",
              "priority": 40,
              "render": true,
              "attrName": "counterAnimation.innerContent",
              "subName": "easing",
              "label": "Easing",
              "description": "Choose the easing function for the animation.",
              "features": {
                "sticky": false,
                "dynamicContent": false,
                "responsive": false
              },
              "component": {
                "name": "divi/select",
                "type": "field",
                "props": {
                  "options": {
                    "linear": { "label": "Linear" },
                    "easeIn": { "label": "Ease In" },
                    "easeOut": { "label": "Ease Out" },
                    "easeInOut": { "label": "Ease In Out" }
                  }
                }
              }
            },
            "trigger": {
              "groupName": "animationSettings",
              "priority": 50,
              "render": true,
              "attrName": "counterAnimation.innerContent",
              "subName": "trigger",
              "label": "Trigger",
              "description": "Choose when the counter animation should start.",
              "features": {
                "sticky": false,
                "dynamicContent": false,
                "responsive": false
              },
              "component": {
                "name": "divi/select",
                "type": "field",
                "props": {
                  "options": {
                    "viewport": { "label": "On Viewport" },
                    "pageLoad": { "label": "On Page Load" }
                  }
                }
              }
            },
            "repeat": {
              "groupName": "animationSettings",
              "priority": 60,
              "render": true,
              "attrName": "counterAnimation.innerContent",
              "subName": "repeat",
              "label": "Repeat Animation",
              "description": "Replay the animation each time the element enters the viewport.",
              "features": {
                "sticky": false,
                "dynamicContent": false,
                "responsive": false
              },
              "component": {
                "name": "divi/toggle",
                "type": "field"
              }
            }
          }
        }
      }
    }
  },
  "customCssFields": {
    "title": {
      "subName": "title",
      "selectorSuffix": " .advance_counter__title",
      "label": "Title"
    },
    "counterNumber": {
      "subName": "counterNumber",
      "selectorSuffix": " .advance_counter__number",
      "label": "Counter Number"
    },
    "description": {
      "subName": "description",
      "selectorSuffix": " .advance_counter__description",
      "label": "Description"
    },
    "icon": {
      "subName": "icon",
      "selectorSuffix": " .advance_counter__icon",
      "label": "Icon"
    }
  },
  "settings": {
    "design": "auto",
    "advanced": "auto",
    "groups": {
      "mainContent": {
        "panel": "content",
        "priority": 10,
        "groupName": "mainContent",
        "component": {
          "name": "divi/composite",
          "props": { "groupLabel": "Content" }
        }
      },
      "displaySettings": {
        "panel": "content",
        "priority": 20,
        "groupName": "displaySettings",
        "component": {
          "name": "divi/composite",
          "props": { "groupLabel": "Display Settings" }
        }
      },
      "animationSettings": {
        "panel": "content",
        "priority": 30,
        "groupName": "animationSettings",
        "component": {
          "name": "divi/composite",
          "props": { "groupLabel": "Animation" }
        }
      },
      "designIcon": {
        "panel": "design",
        "priority": 10,
        "groupName": "designIcon",
        "multiElements": true,
        "component": {
          "name": "divi/composite",
          "props": { "groupLabel": "Icon Style" }
        }
      }
    }
  }
}
