quasar
Version:
Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time
123 lines (103 loc) • 3.28 kB
JSON
{
"meta": {
"docsUrl": "https://v1.quasar.dev/vue-components/chat"
},
"behavior": {
"$listeners": true
},
"props": {
"sent": {
"type": "Boolean",
"desc": "Render as a sent message (so from current user)",
"category": "content"
},
"label": {
"type": "String",
"desc": "Renders a label header/section only",
"examples": [ "Friday, 18th" ],
"category": "content"
},
"bg-color": {
"extends": "color",
"desc": "Color name (from the Quasar Color Palette) for chat bubble background",
"category": "style"
},
"text-color": {
"extends": "text-color",
"desc": "Color name (from the Quasar Color Palette) for chat bubble text",
"category": "style"
},
"name": {
"type": "String",
"desc": "Author's name",
"examples": [ "John Doe" ],
"category": "content"
},
"avatar": {
"type": "String",
"desc": "URL to the avatar image of the author",
"transformAssetUrls": true,
"examples": [
"(statics folder) src=\"statics/boy-avatar.png\"",
"(assets folder) src=\"~assets/boy-avatar.png\"",
"(relative path format) :src=\"require('./my_img.jpg')\"",
"(URL) src=\"https://placeimg.com/500/300/nature\""
],
"category": "content"
},
"text": {
"type": "Array",
"desc": "Array of strings that are the message body. Strings are not sanitized (see details in docs)",
"examples": [ ":text=\"['How are you?']\"", ":text=\"['I\\'m good, thank you!', 'And you?']\"" ],
"category": "content"
},
"stamp": {
"type": "String",
"desc": "Creation timestamp",
"examples": [ "13:55", "Yesterday at 13:51" ],
"category": "content"
},
"size": {
"type": "String",
"desc": "1-12 out of 12 (same as col-*)",
"examples": [ "4", "6", "12" ],
"category": "style"
},
"label-sanitize": {
"extends": "sanitize",
"desc": "Force use of textContent instead of innerHTML to render label; Use it when the label might be unsafe (from user input)"
},
"name-sanitize": {
"extends": "sanitize",
"desc": "Force use of textContent instead of innerHTML to render name; Use it when the name might be unsafe (from user input)"
},
"text-sanitize": {
"extends": "sanitize",
"desc": "Force use of textContent instead of innerHTML to render text; Use it when the text might be unsafe (from user input)"
},
"stamp-sanitize": {
"extends": "sanitize",
"desc": "Force use of textContent instead of innerHTML to render stamp; Use it when the stamp might be unsafe (from user input)"
}
},
"slots": {
"default": {
"desc": "You can use this slot to define a custom message (overrides props)"
},
"avatar": {
"desc": "Slot for avatar; Suggestion: QAvatar, img"
},
"name": {
"desc": "Slot for name; Overrides the 'name' prop",
"addedIn": "v1.15.14"
},
"stamp": {
"desc": "Slot for stamp; Overrides the 'stamp' prop",
"addedIn": "v1.15.14"
},
"label": {
"desc": "Slot for label; Overrides the 'label' prop",
"addedIn": "v1.15.15"
}
}
}