{
  "name": "divitorque/sticky-video",
  "title": "Sticky Video",
  "titles": "Sticky Videos",
  "moduleIcon": "divitorque/sticky-video",
  "moduleClassName": "dtq_sticky_video",
  "moduleOrderClassName": "dtq_sticky_video",
  "category": "module",
  "attributes": {
    "module": {
      "type": "object",
      "selector": "{{selector}}",
      "default": {
        "advanced": {
          "source": {
            "desktop": {
              "value": "youtube"
            }
          },
          "aspectRatio": {
            "desktop": {
              "value": "16:9"
            }
          },
          "noCookie": {
            "desktop": {
              "value": "on"
            }
          },
          "autoplay": {
            "desktop": {
              "value": "off"
            }
          },
          "muted": {
            "desktop": {
              "value": "on"
            }
          },
          "loop": {
            "desktop": {
              "value": "off"
            }
          },
          "controls": {
            "desktop": {
              "value": "on"
            }
          },
          "stickOn": {
            "desktop": {
              "value": "played"
            }
          },
          "stickPosition": {
            "desktop": {
              "value": "bottom-right"
            }
          },
          "stickAnimation": {
            "desktop": {
              "value": "slide"
            }
          },
          "disableOn": {
            "desktop": {
              "value": "phone"
            }
          },
          "showClose": {
            "desktop": {
              "value": "on"
            }
          },
          "closeAction": {
            "desktop": {
              "value": "unstick"
            }
          },
          "stickWidth": {
            "desktop": {
              "value": "360px"
            }
          },
          "stickOffsetX": {
            "desktop": {
              "value": "24px"
            }
          },
          "stickOffsetY": {
            "desktop": {
              "value": "24px"
            }
          },
          "stickRadius": {
            "desktop": {
              "value": "8px"
            }
          },
          "stickZIndex": {
            "desktop": {
              "value": "9999"
            }
          },
          "videoTitle": {
            "desktop": {
              "value": "Embedded video"
            }
          }
        }
      },
      "settings": {
        "meta": {
          "adminLabel": {}
        },
        "advanced": {
          "htmlAttributes": {},
          "source": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "contentVideo",
              "attrName": "module.advanced.source",
              "label": "Video Source",
              "description": "Chosen rather than detected from the URL: sniffing gets shortened and proxied links wrong, and being wrong means a blank player with nothing to explain it.",
              "priority": 10,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": false,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/select",
                "props": {
                  "options": {
                    "youtube": {
                      "label": "YouTube"
                    },
                    "vimeo": {
                      "label": "Vimeo"
                    },
                    "self": {
                      "label": "Self-hosted file"
                    }
                  }
                }
              }
            }
          },
          "videoUrl": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "contentVideo",
              "attrName": "module.advanced.videoUrl",
              "label": "Video URL",
              "description": "Any normal YouTube or Vimeo link — watch, youtu.be, embed or shorts.",
              "priority": 20,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": false,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/text"
              }
            }
          },
          "videoFile": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "contentVideo",
              "attrName": "module.advanced.videoFile",
              "label": "Video File",
              "priority": 30,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": false,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/upload"
              }
            }
          },
          "poster": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "contentVideo",
              "attrName": "module.advanced.poster",
              "label": "Poster Image",
              "description": "Shown until the visitor presses play. Nothing is requested from the video host before that.",
              "priority": 40,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": false,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/upload"
              }
            }
          },
          "videoTitle": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "contentVideo",
              "attrName": "module.advanced.videoTitle",
              "label": "Video Title",
              "description": "Names the player for screen readers. Required on an embedded frame.",
              "priority": 50,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": false,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/text"
              }
            }
          },
          "noCookie": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "contentVideo",
              "attrName": "module.advanced.noCookie",
              "label": "Privacy-Enhanced Mode",
              "description": "Loads YouTube from youtube-nocookie.com.",
              "priority": 60,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": false,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/toggle"
              }
            }
          },
          "autoplay": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "contentPlayback",
              "attrName": "module.advanced.autoplay",
              "label": "Autoplay",
              "description": "Browsers only allow autoplay when the video is muted.",
              "priority": 10,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": false,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/toggle"
              }
            }
          },
          "muted": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "contentPlayback",
              "attrName": "module.advanced.muted",
              "label": "Muted",
              "priority": 20,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": false,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/toggle"
              }
            }
          },
          "loop": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "contentPlayback",
              "attrName": "module.advanced.loop",
              "label": "Loop",
              "priority": 30,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": false,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/toggle"
              }
            }
          },
          "controls": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "contentPlayback",
              "attrName": "module.advanced.controls",
              "label": "Show Controls",
              "priority": 40,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": false,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/toggle"
              }
            }
          },
          "stickOn": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "contentSticky",
              "attrName": "module.advanced.stickOn",
              "label": "Dock When",
              "description": "Docking a video the visitor never started is the behaviour people find intrusive.",
              "priority": 10,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": false,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/select",
                "props": {
                  "options": {
                    "played": {
                      "label": "Only after it has been played"
                    },
                    "always": {
                      "label": "Whenever it scrolls out of view"
                    }
                  }
                }
              }
            }
          },
          "stickPosition": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "contentSticky",
              "attrName": "module.advanced.stickPosition",
              "label": "Docked Position",
              "priority": 20,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": false,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/select",
                "props": {
                  "options": {
                    "bottom-right": {
                      "label": "Bottom right"
                    },
                    "bottom-left": {
                      "label": "Bottom left"
                    },
                    "top-right": {
                      "label": "Top right"
                    },
                    "top-left": {
                      "label": "Top left"
                    }
                  }
                }
              }
            }
          },
          "stickAnimation": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "contentSticky",
              "attrName": "module.advanced.stickAnimation",
              "label": "Dock Animation",
              "priority": 30,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": false,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/select",
                "props": {
                  "options": {
                    "slide": {
                      "label": "Slide"
                    },
                    "fade": {
                      "label": "Fade"
                    },
                    "none": {
                      "label": "None"
                    }
                  }
                }
              }
            }
          },
          "disableOn": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "contentSticky",
              "attrName": "module.advanced.disableOn",
              "label": "Never Dock On",
              "description": "A docked player takes a large share of a small screen.",
              "priority": 40,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": false,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/select",
                "props": {
                  "options": {
                    "none": {
                      "label": "Always dock"
                    },
                    "phone": {
                      "label": "Phones"
                    },
                    "tablet-phone": {
                      "label": "Tablets and phones"
                    }
                  }
                }
              }
            }
          },
          "showClose": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "contentSticky",
              "attrName": "module.advanced.showClose",
              "label": "Close Button",
              "priority": 50,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": false,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/toggle"
              }
            }
          },
          "closeAction": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "contentSticky",
              "attrName": "module.advanced.closeAction",
              "label": "Close Does",
              "priority": 60,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": false,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/select",
                "props": {
                  "options": {
                    "unstick": {
                      "label": "Return it to the page"
                    },
                    "stop": {
                      "label": "Stop the video"
                    }
                  }
                }
              }
            }
          },
          "aspectRatio": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designPlayer",
              "attrName": "module.advanced.aspectRatio",
              "label": "Aspect Ratio",
              "priority": 10,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": false,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/select",
                "props": {
                  "options": {
                    "16:9": {
                      "label": "16:9"
                    },
                    "4:3": {
                      "label": "4:3"
                    },
                    "1:1": {
                      "label": "1:1"
                    },
                    "21:9": {
                      "label": "21:9"
                    }
                  }
                }
              }
            }
          },
          "stickWidth": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designSticky",
              "attrName": "module.advanced.stickWidth",
              "label": "Docked Width",
              "priority": 10,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": true,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/range",
                "props": {
                  "min": 180,
                  "max": 640,
                  "step": 10,
                  "defaultUnit": "px"
                }
              }
            }
          },
          "stickOffsetX": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designSticky",
              "attrName": "module.advanced.stickOffsetX",
              "label": "Horizontal Offset",
              "priority": 20,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": false,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/range",
                "props": {
                  "min": 0,
                  "max": 200,
                  "step": 1,
                  "defaultUnit": "px"
                }
              }
            }
          },
          "stickOffsetY": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designSticky",
              "attrName": "module.advanced.stickOffsetY",
              "label": "Vertical Offset",
              "priority": 30,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": false,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/range",
                "props": {
                  "min": 0,
                  "max": 200,
                  "step": 1,
                  "defaultUnit": "px"
                }
              }
            }
          },
          "stickRadius": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designSticky",
              "attrName": "module.advanced.stickRadius",
              "label": "Docked Corner Radius",
              "priority": 40,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": false,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/range",
                "props": {
                  "min": 0,
                  "max": 40,
                  "step": 1,
                  "defaultUnit": "px"
                }
              }
            }
          },
          "stickShadowColor": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designSticky",
              "attrName": "module.advanced.stickShadowColor",
              "label": "Docked Shadow",
              "priority": 50,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": false,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/color-picker",
                "props": {
                  "isAlpha": true
                }
              }
            }
          },
          "stickZIndex": {
            "groupType": "group-item",
            "item": {
              "groupSlug": "designSticky",
              "attrName": "module.advanced.stickZIndex",
              "label": "Stack Order",
              "description": "Raise this if the docked player ends up behind a sticky header.",
              "priority": 60,
              "render": true,
              "features": {
                "sticky": false,
                "responsive": false,
                "hover": false
              },
              "component": {
                "type": "field",
                "name": "divi/range",
                "props": {
                  "min": 1,
                  "max": 99999,
                  "step": 1,
                  "defaultUnit": ""
                }
              }
            }
          },
          "text": {}
        },
        "decoration": {
          "animation": {},
          "background": {},
          "border": {},
          "boxShadow": {},
          "disabledOn": {},
          "filters": {},
          "overflow": {},
          "position": {},
          "scroll": {},
          "sizing": {},
          "spacing": {},
          "sticky": {},
          "transform": {},
          "transition": {},
          "zIndex": {}
        }
      }
    }
  },
  "customCssFields": {
    "slot": {
      "subName": "slot",
      "selectorSuffix": " .dtq-sticky-video__slot"
    },
    "player": {
      "subName": "player",
      "selectorSuffix": " .dtq-sticky-video__player"
    },
    "close": {
      "subName": "close",
      "selectorSuffix": " .dtq-sticky-video__close"
    }
  },
  "settings": {
    "content": "auto",
    "design": "auto",
    "advanced": "auto",
    "groups": {
      "contentVideo": {
        "panel": "content",
        "priority": 10,
        "groupName": "contentVideo",
        "component": {
          "name": "divi/composite",
          "props": {
            "groupLabel": "Video"
          }
        }
      },
      "contentPlayback": {
        "panel": "content",
        "priority": 20,
        "groupName": "contentPlayback",
        "component": {
          "name": "divi/composite",
          "props": {
            "groupLabel": "Playback"
          }
        }
      },
      "contentSticky": {
        "panel": "content",
        "priority": 30,
        "groupName": "contentSticky",
        "component": {
          "name": "divi/composite",
          "props": {
            "groupLabel": "Docking"
          }
        }
      },
      "designPlayer": {
        "panel": "design",
        "priority": 10,
        "groupName": "designPlayer",
        "component": {
          "name": "divi/composite",
          "props": {
            "groupLabel": "Player"
          }
        }
      },
      "designSticky": {
        "panel": "design",
        "priority": 20,
        "groupName": "designSticky",
        "component": {
          "name": "divi/composite",
          "props": {
            "groupLabel": "Docked Player"
          }
        }
      }
    }
  }
}
