{
  "Button": {
    "status": "ok",
    "filePath": "/Users/nancy/Documents/AICoding/VS_Code/tvu-design-system/src/components/Button/Button.vue",
    "props": [
      {
        "name": "variant",
        "type": "| 'fill-green'\n  | 'fill-gray'\n  | 'ghost-green'\n  | 'ghost-gray'\n  | 'ghost-red'\n  | 'text-green'\n  | 'text-gray'\n  | 'text-red'\n  | 'text-orange'",
        "default": "fill-green",
        "required": false
      },
      {
        "name": "size",
        "type": "'xs' | 's' | 'm' | 'l'",
        "default": "m",
        "required": false
      },
      {
        "name": "disabled",
        "type": "boolean",
        "default": false,
        "required": false
      },
      {
        "name": "loading",
        "type": "boolean",
        "default": false,
        "required": false
      },
      {
        "name": "canonicalColor",
        "type": "'gray 1' | 'green' | 'orange' | 'red'",
        "default": null,
        "required": false
      },
      {
        "name": "canonicalStyle",
        "type": "'filling' | 'ghost' | 'rimless'",
        "default": null,
        "required": false
      },
      {
        "name": "canonicalRadius",
        "type": "'round' | 'square'",
        "default": null,
        "required": false
      },
      {
        "name": "canonicalFixedWidth",
        "type": "'no' | 'yes'",
        "default": null,
        "required": false
      },
      {
        "name": "canonicalStatus",
        "type": "'default' | 'disable' | 'hover' | 'loading'",
        "default": null,
        "required": false
      },
      {
        "name": "canonicalIcon",
        "type": "'left' | 'light' | 'loading' | 'loading button' | 'no' | 'right'",
        "default": null,
        "required": false
      },
      {
        "name": "canonicalSize",
        "type": "'XS' | 'S' | 'M' | 'L'",
        "default": null,
        "required": false
      }
    ],
    "emits": [
      {
        "name": "click",
        "payloadType": "[event: MouseEvent]"
      }
    ],
    "slots": [
      {
        "name": "prefix",
        "scopedParams": []
      },
      {
        "name": "default",
        "scopedParams": []
      },
      {
        "name": "suffix",
        "scopedParams": []
      }
    ],
    "expose": []
  },
  "Badge": {
    "status": "ok",
    "filePath": "/Users/nancy/Documents/AICoding/VS_Code/tvu-design-system/src/components/Badge/Badge.vue",
    "props": [
      {
        "name": "count",
        "type": "number",
        "default": null,
        "required": false
      },
      {
        "name": "type",
        "type": "'brand' | 'red' | 'orange' | 'blue'",
        "default": "red",
        "required": false
      },
      {
        "name": "size",
        "type": "'m' | 's'",
        "default": "m",
        "required": false
      },
      {
        "name": "dot",
        "type": "boolean",
        "default": null,
        "required": false
      },
      {
        "name": "max",
        "type": "number",
        "default": 99,
        "required": false
      }
    ],
    "emits": [],
    "slots": [],
    "expose": []
  },
  "Input": {
    "status": "ok",
    "filePath": "/Users/nancy/Documents/AICoding/VS_Code/tvu-design-system/src/components/Input/Input.vue",
    "props": [
      {
        "name": "modelValue",
        "type": "string",
        "default": "",
        "required": false
      },
      {
        "name": "placeholder",
        "type": "string",
        "default": "",
        "required": false
      },
      {
        "name": "size",
        "type": "'s' | 'm' | 'l'",
        "default": "m",
        "required": false
      },
      {
        "name": "variant",
        "type": "'line' | 'filled'",
        "default": "line",
        "required": false
      },
      {
        "name": "disabled",
        "type": "boolean",
        "default": false,
        "required": false
      },
      {
        "name": "readonly",
        "type": "boolean",
        "default": false,
        "required": false
      },
      {
        "name": "error",
        "type": "boolean",
        "default": false,
        "required": false
      }
    ],
    "emits": [
      {
        "name": "update:modelValue",
        "payloadType": "[value: string]"
      }
    ],
    "slots": [],
    "expose": []
  },
  "InputNumber": {
    "status": "ok",
    "filePath": "/Users/nancy/Documents/AICoding/VS_Code/tvu-design-system/src/components/InputNumber/InputNumber.vue",
    "props": [
      {
        "name": "property1",
        "type": "'Default' | 'Only Add' | 'Only Reduce' | 'Readonly'",
        "default": "Default",
        "required": false
      },
      {
        "name": "modelValue",
        "type": "number",
        "default": null,
        "required": false
      },
      {
        "name": "min",
        "type": "number",
        "default": "-Infinity",
        "required": false
      },
      {
        "name": "max",
        "type": "number",
        "default": "Infinity",
        "required": false
      },
      {
        "name": "step",
        "type": "number",
        "default": 1,
        "required": false
      },
      {
        "name": "disabled",
        "type": "boolean",
        "default": false,
        "required": false
      },
      {
        "name": "readonly",
        "type": "boolean",
        "default": false,
        "required": false
      }
    ],
    "emits": [
      {
        "name": "update:modelValue",
        "payloadType": "[value: number]"
      }
    ],
    "slots": [],
    "expose": []
  },
  "FormItem": {
    "status": "ok",
    "filePath": "/Users/nancy/Documents/AICoding/VS_Code/tvu-design-system/src/components/FormItem/FormItem.vue",
    "props": [
      {
        "name": "label",
        "type": "string",
        "default": "Form Label",
        "required": false
      },
      {
        "name": "required",
        "type": "boolean",
        "default": false,
        "required": false
      },
      {
        "name": "error",
        "type": "string",
        "default": null,
        "required": false
      },
      {
        "name": "hint",
        "type": "string",
        "default": "",
        "required": false
      },
      {
        "name": "labelWidth",
        "type": "'120 px' | '200 px' | 'Dynamic'",
        "default": "120 px",
        "required": false
      },
      {
        "name": "layout",
        "type": "'1 line' | '1 line & Right' | '2 lines'",
        "default": "1 line",
        "required": false
      },
      {
        "name": "status",
        "type": "'Error' | 'Normal'",
        "default": "Normal",
        "required": false
      },
      {
        "name": "theme",
        "type": "'Dark' | 'Light'",
        "default": "Dark",
        "required": false
      },
      {
        "name": "type",
        "type": "'Label & checkbox' | 'Label & Input' | 'Label & Radio' | 'Label & Selector' | 'Label & Switch' | 'Label & Textarea'",
        "default": "Label & Input",
        "required": false
      }
    ],
    "emits": [],
    "slots": [
      {
        "name": "default",
        "scopedParams": []
      }
    ],
    "expose": []
  },
  "CheckBox": {
    "status": "ok",
    "filePath": "/Users/nancy/Documents/AICoding/VS_Code/tvu-design-system/src/components/Checkbox/Checkbox.vue",
    "props": [
      {
        "name": "modelValue",
        "type": "boolean",
        "default": false,
        "required": false
      },
      {
        "name": "indeterminate",
        "type": "boolean",
        "default": false,
        "required": false
      },
      {
        "name": "disabled",
        "type": "boolean",
        "default": false,
        "required": false
      }
    ],
    "emits": [
      {
        "name": "update:modelValue",
        "payloadType": "[value: boolean]"
      }
    ],
    "slots": [
      {
        "name": "default",
        "scopedParams": []
      }
    ],
    "expose": []
  },
  "Radio": {
    "status": "ok",
    "filePath": "/Users/nancy/Documents/AICoding/VS_Code/tvu-design-system/src/components/Radio/Radio.vue",
    "props": [
      {
        "name": "modelValue",
        "type": "boolean",
        "default": false,
        "required": false
      },
      {
        "name": "disabled",
        "type": "boolean",
        "default": false,
        "required": false
      }
    ],
    "emits": [
      {
        "name": "update:modelValue",
        "payloadType": "[value: boolean]"
      }
    ],
    "slots": [
      {
        "name": "default",
        "scopedParams": []
      }
    ],
    "expose": []
  },
  "Switch": {
    "status": "ok",
    "filePath": "/Users/nancy/Documents/AICoding/VS_Code/tvu-design-system/src/components/Switch/Switch.vue",
    "props": [
      {
        "name": "modelValue",
        "type": "boolean",
        "default": false,
        "required": false
      },
      {
        "name": "disabled",
        "type": "boolean",
        "default": false,
        "required": false
      },
      {
        "name": "loading",
        "type": "boolean",
        "default": false,
        "required": false
      },
      {
        "name": "live",
        "type": "boolean",
        "default": false,
        "required": false
      }
    ],
    "emits": [
      {
        "name": "update:modelValue",
        "payloadType": "[value: boolean]"
      }
    ],
    "slots": [],
    "expose": []
  },
  "Select": {
    "status": "ok",
    "filePath": "/Users/nancy/Documents/AICoding/VS_Code/tvu-design-system/src/components/Select/Select.vue",
    "props": [
      {
        "name": "modelValue",
        "type": "string | number",
        "default": "",
        "required": false
      },
      {
        "name": "placeholder",
        "type": "string",
        "default": "Select...",
        "required": false
      },
      {
        "name": "size",
        "type": "'m' | 'l'",
        "default": "m",
        "required": false
      },
      {
        "name": "variant",
        "type": "'line' | 'filled'",
        "default": "line",
        "required": false
      },
      {
        "name": "disabled",
        "type": "boolean",
        "default": false,
        "required": false
      },
      {
        "name": "error",
        "type": "boolean",
        "default": false,
        "required": false
      },
      {
        "name": "options",
        "type": "{ label: string; value: string | number }[]",
        "default": "() => []",
        "required": false
      }
    ],
    "emits": [
      {
        "name": "update:modelValue",
        "payloadType": "[value: string | number]"
      }
    ],
    "slots": [],
    "expose": []
  },
  "DateTime": {
    "status": "Code missing",
    "filePath": "/Users/nancy/Documents/AICoding/VS_Code/tvu-design-system/src/components/DateTime/DateTime.vue",
    "props": [],
    "emits": [],
    "slots": [],
    "expose": []
  },
  "Notification": {
    "status": "ok",
    "filePath": "/Users/nancy/Documents/AICoding/VS_Code/tvu-design-system/src/components/Notification/Notification.vue",
    "props": [
      {
        "name": "status",
        "type": "| 'warning'\n  | 'error'\n  | 'info'\n  | 'secondary warning'\n  | 'pop confirm'\n  | 'quick confirm'\n  | 'side pop'",
        "default": null,
        "required": false
      },
      {
        "name": "theme",
        "type": "'dark' | 'light'",
        "default": "dark",
        "required": false
      },
      {
        "name": "title",
        "type": "string",
        "default": null,
        "required": false
      },
      {
        "name": "description",
        "type": "string",
        "default": null,
        "required": false
      },
      {
        "name": "closable",
        "type": "boolean",
        "default": true,
        "required": false
      },
      {
        "name": "cancelText",
        "type": "string",
        "default": null,
        "required": false
      },
      {
        "name": "confirmText",
        "type": "string",
        "default": null,
        "required": false
      }
    ],
    "emits": [
      {
        "name": "close",
        "payloadType": "[]"
      },
      {
        "name": "cancel",
        "payloadType": "[]"
      },
      {
        "name": "confirm",
        "payloadType": "[]"
      }
    ],
    "slots": [],
    "expose": []
  },
  "PromptMessage": {
    "status": "ok",
    "filePath": "/Users/nancy/Documents/AICoding/VS_Code/tvu-design-system/src/components/PromptMessage/PromptMessage.vue",
    "props": [
      {
        "name": "status",
        "type": "'success' | 'info' | 'error' | 'warning'",
        "default": "info",
        "required": false
      },
      {
        "name": "size",
        "type": "'M' | 'L'",
        "default": "L",
        "required": false
      },
      {
        "name": "closable",
        "type": "boolean",
        "default": true,
        "required": false
      }
    ],
    "emits": [
      {
        "name": "close",
        "payloadType": "[]"
      }
    ],
    "slots": [],
    "expose": []
  },
  "Tooltip": {
    "status": "ok",
    "filePath": "/Users/nancy/Documents/AICoding/VS_Code/tvu-design-system/src/components/Tooltip/Tooltip.vue",
    "props": [
      {
        "name": "content",
        "type": "string",
        "default": null,
        "required": true
      },
      {
        "name": "placement",
        "type": "| 'top' | 'top-start' | 'top-end'\n  | 'bottom' | 'bottom-start' | 'bottom-end'\n  | 'left' | 'left-start' | 'left-end'\n  | 'right' | 'right-start' | 'right-end'",
        "default": "bottom",
        "required": false
      },
      {
        "name": "theme",
        "type": "'dark' | 'light'",
        "default": "light",
        "required": false
      },
      {
        "name": "disabled",
        "type": "boolean",
        "default": false,
        "required": false
      },
      {
        "name": "open",
        "type": "boolean",
        "default": false,
        "required": false
      }
    ],
    "emits": [],
    "slots": [
      {
        "name": "default",
        "scopedParams": []
      }
    ],
    "expose": []
  }
}
