{
  "name": "DatePicker",
  "component": "gui",
  "header": "nativeui/date_picker.h",
  "type": "refcounted",
  "namespace": "nu",
  "inherit": {
    "name": "View",
    "id": "view"
  },
  "description": "A view displays date and time with editing ability.",
  "constructors": [
    {
      "signature": {
        "name": "DatePicker",
        "parameters": [
          {
            "type": {
              "name": "const DatePicker::Options&",
              "id": "datepicker_options"
            },
            "name": "options"
          }
        ],
        "shortStr": "DatePicker(options)",
        "str": "DatePicker(const DatePicker::Options& options)"
      },
      "description": "Create a new `DatePicker` with `options`.",
      "id": "datepicker-options"
    }
  ],
  "class_properties": [
    {
      "description": "The class name of this view.",
      "id": "kclassname",
      "type": {
        "name": "const char*"
      },
      "name": "kClassName"
    }
  ],
  "methods": [
    {
      "signature": {
        "name": "SetDate",
        "parameters": [
          {
            "type": {
              "name": "const base::Time&"
            },
            "name": "time"
          }
        ],
        "shortStr": "SetDate(time)",
        "str": "void SetDate(const base::Time& time)"
      },
      "description": "Set the selected date to `time`.",
      "id": "setdate-time"
    },
    {
      "signature": {
        "returnType": {
          "name": "base::Time"
        },
        "name": "GetDate",
        "parameters": [],
        "shortStr": "GetDate()",
        "str": "base::Time GetDate() const"
      },
      "description": "Get the selected date.",
      "id": "getdate"
    },
    {
      "signature": {
        "name": "SetRange",
        "parameters": [
          {
            "type": {
              "name": "const absl::optional<base::Time>&",
              "nullable": true
            },
            "name": "minimum"
          },
          {
            "type": {
              "name": "const absl::optional<base::Time>&",
              "nullable": true
            },
            "name": "maximum"
          }
        ],
        "shortStr": "SetRange(minimum, maximum)",
        "str": "void SetRange(const absl::optional<base::Time>& minimum, const absl::optional<base::Time>& maximum)"
      },
      "description": "Set the `minimum` and `maximum` date values.",
      "id": "setrange-minimum-maximum"
    },
    {
      "signature": {
        "returnType": {
          "name": "std::tuple<absl::optional<base::Time>, absl::optional<base::Time>>",
          "args": [
            {
              "name": "absl::optional<base::Time>",
              "nullable": true
            },
            {
              "name": "absl::optional<base::Time>",
              "nullable": true
            }
          ]
        },
        "name": "GetRange",
        "parameters": [],
        "shortStr": "GetRange()",
        "str": "std::tuple<absl::optional<base::Time>, absl::optional<base::Time>> GetRange() const"
      },
      "description": "Return  the `minimum` and `maximum` date values.",
      "id": "getrange"
    },
    {
      "signature": {
        "returnType": {
          "name": "bool"
        },
        "name": "HasStepper",
        "parameters": [],
        "shortStr": "HasStepper()",
        "str": "bool HasStepper() const"
      },
      "description": "Return whether there is a stepper attached to the text field.",
      "id": "hasstepper"
    }
  ],
  "events": [
    {
      "signature": {
        "name": "on_date_change",
        "parameters": [
          {
            "type": {
              "name": "DatePicker*",
              "id": "datepicker"
            },
            "name": "self"
          }
        ],
        "shortStr": "on_date_change(self)",
        "str": "void on_date_change(DatePicker* self)"
      },
      "description": "Emitted when the selected date has been changed.",
      "id": "ondatechange-self"
    }
  ],
  "id": "datepicker"
}