{
  "type": "component",
  "behavior": {
    "$listeners": {
      "desc": "All native events are being propagated (you don't need the '.native' modifier)"
    }
  },
  "props": {
    "value": {
      "desc": "Time of the component; Either use this property (along with a listener for 'input' event) OR use v-model directive",
      "category": "model",
      "type": "String",
      "required": true,
      "examples": [
        "v-model=\"currentTime\""
      ]
    },
    "landscape": {
      "type": "Boolean",
      "desc": "Display the component in landscape mode",
      "category": "behavior"
    },
    "mask": {
      "type": "String",
      "desc": "Mask (formatting string) used for parsing and formatting value",
      "category": "model",
      "default": "HH:mm",
      "examples": [
        "HH:mm:ss",
        "YYYY-MM-DD HH:mm:ss",
        "HH:mm MMMM Do, YYYY"
      ]
    },
    "locale": {
      "type": "Object",
      "desc": "Locale formatting options",
      "examples": [
        ":locale=\"{ monthsShort: ['Ian', 'Feb', 'Mar', '...'] }\""
      ],
      "definition": {
        "days": {
          "type": "Array",
          "desc": "List of full day names (DDDD), starting with Sunday",
          "examples": [
            "['Duminica', 'Luni', 'Marti', '...']"
          ]
        },
        "daysShort": {
          "type": "Array",
          "desc": "List of short day names (DDD), starting with Sunday",
          "examples": [
            "['Dum', 'Lun', 'Mar', '...']"
          ]
        },
        "months": {
          "type": "Array",
          "desc": "List of full month names (MMMM), starting with January",
          "examples": [
            "['Ianuarie', 'Februarie', 'Martie', '...']"
          ]
        },
        "monthsShort": {
          "type": "Array",
          "desc": "List of short month names (MMM), starting with January",
          "examples": [
            "['Ian', 'Feb', 'Mar', '...']"
          ]
        }
      },
      "category": "model"
    },
    "calendar": {
      "type": "String",
      "desc": "Specify calendar type",
      "default": "gregorian",
      "values": [
        "gregorian",
        "persian"
      ],
      "category": "model"
    },
    "color": {
      "type": "String",
      "desc": "Color name for component from the Quasar Color Palette",
      "examples": [
        "primary",
        "teal-10"
      ],
      "category": "style"
    },
    "text-color": {
      "type": "String",
      "desc": "Overrides text color (if needed); color name from the Quasar Color Palette",
      "examples": [
        "primary",
        "teal-10"
      ],
      "category": "style"
    },
    "dark": {
      "type": "Boolean",
      "desc": "Notify the component that the background is a dark color",
      "category": "style"
    },
    "square": {
      "type": "Boolean",
      "desc": "Removes border-radius so borders are squared",
      "category": "style",
      "addedIn": "v1.1.5"
    },
    "flat": {
      "type": "Boolean",
      "desc": "Applies a 'flat' design (no default shadow)",
      "category": "style",
      "addedIn": "v1.1.5"
    },
    "bordered": {
      "type": "Boolean",
      "desc": "Applies a default border to the component",
      "category": "style",
      "addedIn": "v1.1.5"
    },
    "readonly": {
      "type": "Boolean",
      "desc": "Put component in readonly mode",
      "category": "state"
    },
    "disable": {
      "type": "Boolean",
      "desc": "Put component in disabled mode",
      "category": "state"
    },
    "format24h": {
      "type": "Boolean",
      "desc": "Forces 24 hour time display instead of AM/PM system",
      "default": "(based on Quasar lang language being used)",
      "category": "behavior"
    },
    "options": {
      "type": "Function",
      "desc": "Optionally configure what time is the user allowed to set; Overriden by 'hour-options', 'minute-options' and 'second-options' if those are set",
      "params": {
        "hr": {
          "type": "Number",
          "desc": "Hour",
          "examples": [
            15
          ]
        },
        "min": {
          "type": "Number",
          "desc": "Minutes",
          "examples": [
            38
          ]
        },
        "sec": {
          "type": "Number",
          "desc": "Seconds",
          "examples": [
            12
          ]
        }
      },
      "returns": null,
      "examples": [
        ":options=\"(hr, min, sec) => hr <= 6\""
      ],
      "category": "behavior"
    },
    "hour-options": {
      "type": "Array",
      "desc": "Optionally configure what hours is the user allowed to set; Overrides 'options' prop if that is also set",
      "examples": [
        ":hour-options=\"[3, 6, 9]\""
      ],
      "category": "behavior"
    },
    "minute-options": {
      "type": "Array",
      "desc": "Optionally configure what minutes is the user allowed to set; Overrides 'options' prop if that is also set",
      "examples": [
        ":minute-options=\"[0, 15, 30, 45]\""
      ],
      "category": "behavior"
    },
    "second-options": {
      "type": "Array",
      "desc": "Optionally configure what seconds is the user allowed to set; Overrides 'options' prop if that is also set",
      "examples": [
        ":second-options=\"[0, 7, 10, 23]\""
      ],
      "category": "behavior"
    },
    "with-seconds": {
      "type": "Boolean",
      "desc": "Allow the time to be set with seconds",
      "category": "model|behavior"
    },
    "now-btn": {
      "type": "Boolean",
      "desc": "Display a button that selects the current time",
      "category": "content"
    }
  },
  "events": {
    "input": {
      "desc": "Emitted when the component needs to change the model; Is also used by v-model",
      "params": {
        "value": {
          "type": "String",
          "desc": "New model value",
          "required": true
        },
        "details": {
          "type": "Object",
          "desc": "Object of properties on the new model",
          "definition": {
            "year": {
              "type": "Number",
              "desc": "The year"
            },
            "month": {
              "type": "Number",
              "desc": "The month"
            },
            "day": {
              "type": "Number",
              "desc": "The day of the month"
            },
            "hour": {
              "type": "Number",
              "desc": "The hour"
            },
            "minute": {
              "type": "Number",
              "desc": "The minute"
            },
            "second": {
              "type": "Number",
              "desc": "The second"
            },
            "millisecond": {
              "type": "Number",
              "desc": "The millisecond"
            },
            "changed": {
              "type": "Boolean",
              "desc": "Did the model change?",
              "addedIn": "v1.1.1"
            }
          }
        }
      }
    }
  },
  "methods": {
    "setNow": {
      "desc": "Change model to current moment",
      "addedIn": "v1.1.7"
    }
  }
}