{
  "mixins": ["utils/private.dialog/create-dialog"],

  "meta": {
    "docsUrl": "https://v2.quasar.dev/quasar-plugins/bottom-sheet"
  },

  "injection": "$q.bottomSheet",

  "methods": {
    "create": {
      "tsInjectionPoint": true,
      "desc": "Creates an ad-hoc Bottom Sheet; Same as calling $q.bottomSheet(...)",
      "params": {
        "opts": {
          "desc": "Bottom Sheet options",
          "definition": {
            "title": {
              "type": "String",
              "desc": "Title",
              "examples": ["'Share'"]
            },

            "message": {
              "type": "String",
              "desc": "Message",
              "examples": ["'Please select how to share'"]
            },

            "actions": {
              "type": "Array",
              "desc": "Array of Objects, each Object defining an action",
              "definition": {
                "classes": {
                  "type": ["String", "Array", "Object"],
                  "tsType": "VueClassProp",
                  "desc": "CSS classes for this action",
                  "examples": ["'my-class'"]
                },

                "style": {
                  "type": ["String", "Array", "Object"],
                  "tsType": "VueStyleProp",
                  "desc": "Style definitions to be attributed to this action element",
                  "examples": ["{ padding: '2px' }"],
                  "addedIn": "v2.11.7"
                },

                "icon": {
                  "extends": "icon"
                },

                "img": {
                  "type": "String",
                  "desc": "Path to an image for this action",
                  "examples": [
                    "# (public folder) 'img/something.png'",
                    "# (relative path format) :src=\"require('./my_img.jpg')\"",
                    "# (URL) https://some-site.net/some-img.gif"
                  ]
                },

                "avatar": {
                  "type": "String",
                  "desc": "Path to an avatar image for this action",
                  "examples": [
                    "# (public folder) 'img/avatar.png'",
                    "# (relative path format) :src=\"require('./my_img.jpg')\"",
                    "# (URL) https://some-site.net/some-img.gif"
                  ]
                },

                "label": {
                  "type": ["String", "Number"],
                  "desc": "Action label",
                  "examples": ["'Facebook'"]
                },

                "...": {
                  "type": "Any",
                  "desc": "Any other custom props"
                }
              }
            },

            "grid": {
              "type": "Boolean",
              "desc": "Display actions as a grid instead of as a list"
            },

            "dark": {
              "extends": "dark",
              "desc": "Apply dark mode"
            },

            "seamless": {
              "type": "Boolean",
              "desc": "Put Bottom Sheet into seamless mode; Does not use a backdrop so user is able to interact with the rest of the page too"
            },

            "persistent": {
              "type": "Boolean",
              "desc": "User cannot dismiss Bottom Sheet if clicking outside of it or hitting ESC key; Also, an app route change won't dismiss it"
            }
          }
        }
      }
    }
  }
}
