{
  "name": "divitorque/number-counter",
  "d4Shortcode": "ba_number",
  "moduleClassName": "dtq_number_counter",
  "moduleOrderClassName": "dtq_number_counter",
  "title": "Number Counter",
  "titles": "Number Counters",
  "moduleIcon": "divitorque/number-counter",
  "category": "module",
  "attributes": {
    "module": {
      "type": "object",
      "selector": "{{selector}}",
      "default": {
        "advanced": {
          "useCounter": { "desktop": { "value": "off" } },
          "numberPlacement": { "desktop": { "value": "_default" } },
          "numberAlignment": { "desktop": { "value": "left" } },
          "useBox": { "desktop": { "value": "on" } },
          "numberHeight": { "desktop": { "value": "100px" } },
          "numberWidth": { "desktop": { "value": "100px" } },
          "numberRotate": { "desktop": { "value": "0deg" } },
          "titleSpacing": { "desktop": { "value": "10px" } },
          "numberPosition": { "desktop": { "value": "left_top" } },
          "numberIsCenterX": { "desktop": { "value": "off" } },
          "numberOffsetX": { "desktop": { "value": "50px" } },
          "numberIsCenterY": { "desktop": { "value": "off" } },
          "numberOffsetY": { "desktop": { "value": "50px" } }
        }
      },
      "settings": {
        "meta": {
          "adminLabel": {}
        },
        "advanced": {
          "htmlAttributes": {},
          "useCounter": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "contentMain",
              "attrName": "module.advanced.useCounter",
              "label": "Use Counter",
              "description": "Here you can choose whether the number should count up when it enters the screen.",
              "priority": 20,
              "render": true,
              "features": { "sticky": false, "responsive": false, "hover": false },
              "component": { "type": "field", "name": "divi/toggle" }
            }
          },
          "numberPlacement": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "contentMain",
              "attrName": "module.advanced.numberPlacement",
              "label": "Number Position",
              "description": "Here you can define the number position.",
              "priority": 40,
              "render": true,
              "features": { "sticky": false, "responsive": false, "hover": false },
              "component": {
                "type": "field",
                "name": "divi/select",
                "props": {
                  "options": {
                    "_default": { "label": "Default" },
                    "absolute": { "label": "Absolute" }
                  }
                }
              }
            }
          },
          "numberAlignment": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designNumber",
              "attrName": "module.advanced.numberAlignment",
              "label": "Alignment",
              "description": "Align number to the left, right or center.",
              "priority": 10,
              "render": true,
              "features": { "sticky": false, "responsive": false, "hover": false },
              "component": {
                "type": "field",
                "name": "divi/select",
                "props": {
                  "options": {
                    "left": { "label": "Left" },
                    "center": { "label": "Center" },
                    "right": { "label": "Right" }
                  }
                }
              }
            }
          },
          "useBox": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designNumber",
              "attrName": "module.advanced.useBox",
              "label": "Use Number Box",
              "description": "Here you can choose whether the number box should be used.",
              "priority": 20,
              "render": true,
              "features": { "sticky": false, "responsive": false, "hover": false },
              "component": { "type": "field", "name": "divi/toggle" }
            }
          },
          "numberHeight": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designNumber",
              "attrName": "module.advanced.numberHeight",
              "label": "Height",
              "description": "Here you can define a custom height for number text. Only applies when the number box is used.",
              "priority": 30,
              "render": true,
              "features": { "sticky": false, "responsive": true, "hover": false },
              "component": {
                "type": "field",
                "name": "divi/range",
                "props": { "min": 1, "max": 1000, "step": 1, "defaultUnit": "px" }
              }
            }
          },
          "numberWidth": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designNumber",
              "attrName": "module.advanced.numberWidth",
              "label": "Width",
              "description": "Here you can define a custom width for number text. Only applies when the number box is used.",
              "priority": 40,
              "render": true,
              "features": { "sticky": false, "responsive": true, "hover": false },
              "component": {
                "type": "field",
                "name": "divi/range",
                "props": { "min": 1, "max": 1000, "step": 1, "defaultUnit": "px" }
              }
            }
          },
          "numberRotate": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designNumber",
              "attrName": "module.advanced.numberRotate",
              "label": "Rotate",
              "description": "Rotate number box, number text will be in same position. Only container box will be rotated.",
              "priority": 50,
              "render": true,
              "features": { "sticky": false, "responsive": false, "hover": false },
              "component": {
                "type": "field",
                "name": "divi/range",
                "props": { "min": -360, "max": 360, "step": 1, "defaultUnit": "deg" }
              }
            }
          },
          "numberPosition": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designNumber",
              "attrName": "module.advanced.numberPosition",
              "label": "Number Position",
              "description": "Select number placement. Only applies when the number position is absolute.",
              "priority": 60,
              "render": true,
              "features": { "sticky": false, "responsive": false, "hover": false },
              "component": {
                "type": "field",
                "name": "divi/select",
                "props": {
                  "options": {
                    "left_top": { "label": "Left Top" },
                    "left_bottom": { "label": "Left Bottom" },
                    "right_top": { "label": "Right Top" },
                    "right_bottom": { "label": "Right Bottom" }
                  }
                }
              }
            }
          },
          "numberIsCenterX": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designNumber",
              "attrName": "module.advanced.numberIsCenterX",
              "label": "Use Horizontal Position Center",
              "description": "If enabled the number will be in horizontally center position.",
              "priority": 70,
              "render": true,
              "features": { "sticky": false, "responsive": false, "hover": false },
              "component": { "type": "field", "name": "divi/toggle" }
            }
          },
          "numberOffsetX": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designNumber",
              "attrName": "module.advanced.numberOffsetX",
              "label": "Horizontal Offset",
              "description": "Number horizontal offset value.",
              "priority": 80,
              "render": true,
              "features": { "sticky": false, "responsive": true, "hover": false },
              "component": {
                "type": "field",
                "name": "divi/range",
                "props": { "min": -600, "max": 600, "step": 1, "defaultUnit": "px" }
              }
            }
          },
          "numberIsCenterY": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designNumber",
              "attrName": "module.advanced.numberIsCenterY",
              "label": "Use Vertical Position Center",
              "description": "If enabled the number will be in vertically center position.",
              "priority": 90,
              "render": true,
              "features": { "sticky": false, "responsive": false, "hover": false },
              "component": { "type": "field", "name": "divi/toggle" }
            }
          },
          "numberOffsetY": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designNumber",
              "attrName": "module.advanced.numberOffsetY",
              "label": "Vertical Offset",
              "description": "Number vertical offset value.",
              "priority": 100,
              "render": true,
              "features": { "sticky": false, "responsive": true, "hover": false },
              "component": {
                "type": "field",
                "name": "divi/range",
                "props": { "min": -600, "max": 600, "step": 1, "defaultUnit": "px" }
              }
            }
          },
          "titleSpacing": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designTitle",
              "attrName": "module.advanced.titleSpacing",
              "label": "Title Spacing Top",
              "description": "Here you can define a custom spacing for the title. Only applies when the number position is default.",
              "priority": 20,
              "render": true,
              "features": { "sticky": false, "responsive": true, "hover": false },
              "component": {
                "type": "field",
                "name": "divi/range",
                "props": { "min": 1, "max": 1000, "step": 1, "defaultUnit": "px" }
              }
            }
          }
        },
        "decoration": {
          "animation": {},
          "layout": {},
          "background": {},
          "border": {},
          "boxShadow": {},
          "filters": {},
          "overflow": {},
          "position": {},
          "scroll": {},
          "spacing": {},
          "sizing": {},
          "sticky": {},
          "transform": {},
          "transition": {},
          "zIndex": {},
          "disabledOn": {}
        }
      }
    },
    "number": {
      "type": "object",
      "selector": "{{selector}} .dtq-number-text",
      "elementType": "richText",
      "tagName": "div",
      "inlineEditor": "plainText",
      "attributes": {
        "class": "dtq-number-text"
      },
      "childrenSanitizer": "et_core_esc_previously",
      "default": {
        "decoration": {
          "font": {
            "font": {
              "desktop": {
                "value": {
                  "size": "26px",
                  "lineHeight": "1em"
                }
              }
            }
          }
        }
      },
      "settings": {
        "innerContent": {
          "groupType": "group-item",
          "item": {
            "groupSlug": "contentMain",
            "attrName": "number.innerContent",
            "label": "Number",
            "description": "Define the number.",
            "priority": 10,
            "render": true,
            "features": { "sticky": false, "responsive": false, "hover": false, "dynamicContent": true },
            "component": { "type": "field", "name": "divi/text" }
          }
        },
        "decoration": {
          "font": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designText",
              "priority": 10,
              "render": true,
              "component": {
                "name": "divi/font",
                "type": "group",
                "props": {
                  "grouped": false,
                  "fieldLabel": "Number",
                  "hideTextAlign": true
                }
              }
            }
          }
        }
      }
    },
    "title": {
      "type": "object",
      "selector": "{{selector}} .dtq-number-title h3",
      "elementType": "heading",
      "tagName": "h3",
      "inlineEditor": "plainText",
      "attributes": {
        "class": "dtq-number-title-text"
      },
      "childrenSanitizer": "et_core_esc_previously",
      "default": {
        "decoration": {
          "font": {
            "font": {
              "desktop": {
                "value": {
                  "size": "22px",
                  "lineHeight": "1.3em"
                }
              }
            }
          }
        }
      },
      "settings": {
        "innerContent": {
          "groupType": "group-item",
          "item": {
            "groupSlug": "contentMain",
            "attrName": "title.innerContent",
            "label": "Title",
            "description": "Define the title.",
            "priority": 30,
            "render": true,
            "features": { "sticky": false, "responsive": false, "hover": false, "dynamicContent": true },
            "component": { "type": "field", "name": "divi/text" }
          }
        },
        "decoration": {
          "font": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designTitle",
              "priority": 10,
              "render": true,
              "component": {
                "name": "divi/font",
                "type": "group",
                "props": {
                  "grouped": false,
                  "fieldLabel": "Title",
                  "hideTextAlign": true
                }
              }
            }
          }
        }
      }
    },
    "numberBox": {
      "type": "object",
      "selector": "{{selector}} .dtq-number-wrap",
      "default": {
        "decoration": {
          "background": {
            "desktop": {
              "value": {
                "color": "#efefef"
              }
            }
          },
          "border": {
            "desktop": {
              "value": {
                "radius": {
                  "topLeft": "0px",
                  "topRight": "0px",
                  "bottomLeft": "0px",
                  "bottomRight": "0px"
                },
                "styles": {
                  "all": {
                    "width": "0px",
                    "color": "#333",
                    "style": "solid"
                  }
                }
              }
            }
          }
        }
      },
      "settings": {
        "decoration": {
          "background": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designNumber",
              "priority": 110,
              "render": true,
              "attrName": "numberBox.decoration.background",
              "component": {
                "name": "divi/background",
                "type": "group",
                "props": {
                  "grouped": false,
                  "fieldLabel": "Number"
                }
              }
            }
          },
          "border": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designNumber",
              "priority": 120,
              "render": true,
              "component": {
                "name": "divi/border",
                "type": "group",
                "props": {
                  "grouped": false,
                  "fieldLabel": "Number"
                }
              }
            }
          },
          "boxShadow": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designNumber",
              "priority": 130,
              "render": true,
              "component": {
                "name": "divi/box-shadow",
                "type": "group",
                "props": {
                  "grouped": false,
                  "fieldLabel": "Number"
                }
              }
            }
          }
        }
      }
    }
  },
  "customCssFields": {
    "wrapper": {
      "subName": "wrapper",
      "selectorSuffix": " .dtq-number-wrap"
    },
    "text": {
      "subName": "text",
      "selectorSuffix": " .dtq-number-text"
    }
  },
  "settings": {
    "content": "auto",
    "design": "auto",
    "advanced": "auto",
    "groups": {
      "contentMain": {
        "panel": "content",
        "priority": 10,
        "groupName": "mainContent",
        "component": {
          "name": "divi/composite",
          "props": {
            "groupLabel": "Content"
          }
        }
      },
      "designNumber": {
        "panel": "design",
        "priority": 10,
        "groupName": "number",
        "component": {
          "name": "divi/composite",
          "props": {
            "groupLabel": "Number"
          }
        }
      },
      "designText": {
        "panel": "design",
        "priority": 20,
        "groupName": "text",
        "multiElements": true,
        "component": {
          "name": "divi/composite",
          "props": {
            "groupLabel": "Number Text",
            "clipboardCategory": "style",
            "presetGroup": "divi/font"
          }
        }
      },
      "designTitle": {
        "panel": "design",
        "priority": 30,
        "groupName": "title",
        "multiElements": true,
        "component": {
          "name": "divi/composite",
          "props": {
            "groupLabel": "Title Text",
            "clipboardCategory": "style",
            "presetGroup": "divi/font"
          }
        }
      }
    }
  }
}
