@spectrum-web-components/tags
Version:
Web component implementation of a Spectrum design Tags
276 lines (275 loc) • 7.07 kB
JSON
{
"schemaVersion": "1.0.0",
"readme": "",
"modules": [
{
"kind": "javascript-module",
"path": "sp-tag.js",
"declarations": [],
"exports": [
{
"kind": "custom-element-definition",
"name": "sp-tag",
"declaration": {
"name": "Tag",
"module": "/src/Tag.js"
}
}
]
},
{
"kind": "javascript-module",
"path": "sp-tags.js",
"declarations": [],
"exports": [
{
"kind": "custom-element-definition",
"name": "sp-tags",
"declaration": {
"name": "Tags",
"module": "/src/Tags.js"
}
}
]
},
{
"kind": "javascript-module",
"path": "src/Tag.js",
"declarations": [
{
"kind": "class",
"description": "",
"name": "Tag",
"slots": [
{
"description": "text content for labeling the tag",
"name": ""
},
{
"description": "an avatar element to display within the Tag",
"name": "avatar"
},
{
"description": "an icon element to display within the Tag",
"name": "icon"
}
],
"members": [
{
"kind": "field",
"name": "deletable",
"type": {
"text": "boolean"
},
"privacy": "public",
"default": "false",
"attribute": "deletable",
"reflects": true
},
{
"kind": "field",
"name": "disabled",
"type": {
"text": "boolean"
},
"privacy": "public",
"default": "false",
"attribute": "disabled",
"reflects": true
},
{
"kind": "field",
"name": "readonly",
"type": {
"text": "boolean"
},
"privacy": "public",
"default": "false",
"attribute": "readonly",
"reflects": true
},
{
"kind": "field",
"name": "handleFocusin",
"privacy": "private"
},
{
"kind": "field",
"name": "handleFocusout",
"privacy": "private"
},
{
"kind": "field",
"name": "handleKeydown",
"privacy": "private"
},
{
"kind": "method",
"name": "delete",
"privacy": "private",
"return": {
"type": {
"text": "void"
}
}
}
],
"events": [
{
"name": "delete",
"type": {
"text": "Event"
}
}
],
"attributes": [
{
"name": "deletable",
"type": {
"text": "boolean"
},
"default": "false",
"fieldName": "deletable"
},
{
"name": "disabled",
"type": {
"text": "boolean"
},
"default": "false",
"fieldName": "disabled"
},
{
"name": "readonly",
"type": {
"text": "boolean"
},
"default": "false",
"fieldName": "readonly"
}
],
"mixins": [
{
"name": "SizedMixin",
"package": "@spectrum-web-components/base"
}
],
"superclass": {
"name": "SpectrumElement",
"package": "@spectrum-web-components/base"
},
"tagName": "sp-tag",
"customElement": true
}
],
"exports": [
{
"kind": "js",
"name": "Tag",
"declaration": {
"name": "Tag",
"module": "src/Tag.js"
}
}
]
},
{
"kind": "javascript-module",
"path": "src/Tags.js",
"declarations": [
{
"kind": "class",
"description": "",
"name": "Tags",
"slots": [
{
"description": "Tag elements to manage as a group",
"name": ""
}
],
"members": [
{
"kind": "field",
"name": "defaultNodes",
"type": {
"text": "Node[]"
},
"privacy": "public"
},
{
"kind": "field",
"name": "tags",
"type": {
"text": "Tag[]"
},
"privacy": "public",
"readonly": true
},
{
"kind": "field",
"name": "rovingTabindexController",
"default": "new RovingTabindexController<Tag>(this, { focusInIndex: (elements: Tag[]) => { return elements.findIndex((el) => { return !el.disabled && el.deletable; }); }, elements: () => this.tags, isFocusableElement: (el: Tag) => !el.disabled && el.deletable, })"
},
{
"kind": "method",
"name": "focus",
"privacy": "public",
"return": {
"type": {
"text": "void"
}
}
},
{
"kind": "field",
"name": "handleFocusin",
"privacy": "private"
},
{
"kind": "field",
"name": "handleKeydown",
"privacy": "private"
},
{
"kind": "field",
"name": "handleFocusout",
"privacy": "private"
},
{
"kind": "method",
"name": "handleSlotchange",
"privacy": "private",
"return": {
"type": {
"text": "void"
}
}
}
],
"mixins": [
{
"name": "FocusVisiblePolyfillMixin",
"package": "@spectrum-web-components/shared/src/focus-visible.js"
}
],
"superclass": {
"name": "SpectrumElement",
"package": "@spectrum-web-components/base"
},
"tagName": "sp-tags",
"customElement": true
}
],
"exports": [
{
"kind": "js",
"name": "Tags",
"declaration": {
"name": "Tags",
"module": "src/Tags.js"
}
}
]
}
]
}