@spectrum-web-components/breadcrumbs
Version:
Web component implementation of a Spectrum design Breadcrumbs
481 lines (480 loc) • 13.6 kB
JSON
{
"schemaVersion": "1.0.0",
"readme": "",
"modules": [
{
"kind": "javascript-module",
"path": "sp-breadcrumb-item.js",
"declarations": [],
"exports": [
{
"kind": "custom-element-definition",
"name": "sp-breadcrumb-item",
"declaration": {
"name": "BreadcrumbItem",
"module": "/src/BreadcrumbItem.js"
}
}
]
},
{
"kind": "javascript-module",
"path": "sp-breadcrumbs.js",
"declarations": [],
"exports": [
{
"kind": "custom-element-definition",
"name": "sp-breadcrumbs",
"declaration": {
"name": "Breadcrumbs",
"module": "/src/Breadcrumbs.js"
}
}
]
},
{
"kind": "javascript-module",
"path": "src/BreadcrumbItem.js",
"declarations": [
{
"kind": "class",
"description": "",
"name": "BreadcrumbItem",
"members": [
{
"kind": "field",
"name": "value",
"type": {
"text": "string | undefined"
},
"privacy": "public",
"default": "undefined",
"attribute": "value"
},
{
"kind": "field",
"name": "isLastOfType",
"type": {
"text": "boolean"
},
"privacy": "private",
"default": "false",
"attribute": "isLastOfType"
},
{
"kind": "field",
"name": "focusElement",
"type": {
"text": "HTMLElement"
},
"privacy": "public",
"readonly": true
},
{
"kind": "method",
"name": "announceSelected",
"privacy": "private",
"return": {
"type": {
"text": "void"
}
},
"parameters": [
{
"name": "value",
"type": {
"text": "string"
}
}
]
},
{
"kind": "method",
"name": "handleClick",
"privacy": "protected",
"return": {
"type": {
"text": "void"
}
},
"parameters": [
{
"name": "event",
"optional": true,
"type": {
"text": "Event"
}
}
]
},
{
"kind": "method",
"name": "renderLink",
"privacy": "protected",
"return": {
"type": {
"text": "TemplateResult"
}
}
},
{
"kind": "method",
"name": "renderSeparator",
"privacy": "private",
"return": {
"type": {
"text": "TemplateResult"
}
}
}
],
"attributes": [
{
"name": "value",
"type": {
"text": "string | undefined"
},
"default": "undefined",
"fieldName": "value"
},
{
"name": "isLastOfType",
"type": {
"text": "boolean"
},
"default": "false",
"fieldName": "isLastOfType"
}
],
"mixins": [
{
"name": "LikeAnchor",
"package": "@spectrum-web-components/shared/src/like-anchor.js"
}
],
"superclass": {
"name": "Focusable",
"package": "@spectrum-web-components/shared/src/focusable.js"
},
"tagName": "sp-breadcrumb-item",
"customElement": true
}
],
"exports": [
{
"kind": "js",
"name": "BreadcrumbItem",
"declaration": {
"name": "BreadcrumbItem",
"module": "src/BreadcrumbItem.js"
}
}
]
},
{
"kind": "javascript-module",
"path": "src/Breadcrumbs.js",
"declarations": [
{
"kind": "class",
"description": "",
"name": "Breadcrumbs",
"slots": [
{
"description": "change the default icon of the action menu",
"name": "icon"
},
{
"description": "Breadcrumb item to always display",
"name": "root"
},
{
"description": "Breadcrumb items",
"name": ""
}
],
"members": [
{
"kind": "field",
"name": "maxVisibleItems",
"type": {
"text": "number"
},
"privacy": "public",
"default": "4",
"description": "Override the maximum number of visible items",
"attribute": "max-visible-items"
},
{
"kind": "field",
"name": "label",
"type": {
"text": "string"
},
"privacy": "public",
"default": "''",
"description": "Accessible name for the Breadcrumbs component",
"attribute": "label"
},
{
"kind": "field",
"name": "menuLabel",
"type": {
"text": "string"
},
"privacy": "public",
"default": "'More items'",
"description": "Change the default label of the action menu",
"attribute": "menu-label"
},
{
"kind": "field",
"name": "compact",
"type": {
"text": "boolean"
},
"privacy": "public",
"default": "false",
"description": "compact option is useful for reducing the height of the breadcrumbs",
"attribute": "compact"
},
{
"kind": "field",
"name": "breadcrumbsElements",
"type": {
"text": "BreadcrumbElement[]"
},
"privacy": "private"
},
{
"kind": "field",
"name": "rootElement",
"type": {
"text": "BreadcrumbElement[]"
},
"privacy": "private"
},
{
"kind": "field",
"name": "list",
"type": {
"text": "HTMLUListElement"
},
"privacy": "private"
},
{
"kind": "field",
"name": "items",
"type": {
"text": "BreadcrumbItem[]"
},
"privacy": "private",
"default": "[]"
},
{
"kind": "field",
"name": "visibleItems",
"type": {
"text": "number"
},
"privacy": "private",
"default": "0"
},
{
"kind": "field",
"name": "resizeObserver",
"type": {
"text": "ResizeObserver | undefined"
},
"privacy": "private"
},
{
"kind": "field",
"name": "firstRender",
"type": {
"text": "boolean"
},
"privacy": "private",
"default": "true"
},
{
"kind": "field",
"name": "menuRef",
"type": {
"text": "Ref<ActionMenu>"
},
"privacy": "private"
},
{
"kind": "field",
"name": "hasMenu",
"type": {
"text": "boolean"
},
"privacy": "private",
"readonly": true
},
{
"kind": "method",
"name": "calculateBreadcrumbItemsWidth",
"privacy": "private",
"return": {
"type": {
"text": "void"
}
},
"description": "We need to understand how much space (px) each breadcrumb item occupies,\nin order to know if it fits the available horizontal space."
},
{
"kind": "method",
"name": "adjustOverflow",
"privacy": "private",
"return": {
"type": {
"text": "void"
}
},
"description": "Calculate which breadcrumbs fit in the viewport, and which should be hidden."
},
{
"kind": "method",
"name": "announceChange",
"privacy": "private",
"return": {
"type": {
"text": "void"
}
},
"parameters": [
{
"name": "value",
"type": {
"text": "string"
}
}
]
},
{
"kind": "method",
"name": "handleSelect",
"privacy": "private",
"return": {
"type": {
"text": "void"
}
},
"parameters": [
{
"name": "event",
"type": {
"text": "CustomEvent<BreadcrumbSelectDetail> & { target: BreadcrumbItem }"
}
}
]
},
{
"kind": "method",
"name": "handleMenuChange",
"privacy": "private",
"return": {
"type": {
"text": "void"
}
},
"parameters": [
{
"name": "event",
"type": {
"text": "Event & { target: ActionMenu }"
}
}
]
},
{
"kind": "method",
"name": "renderMenu",
"privacy": "protected",
"return": {
"type": {
"text": "TemplateResult"
}
},
"description": "The truncation menu when there is not enough space to display all the breadcrumbs.\nIt displays all options within a breadcrumb.\nItems are listed with the hierarchy ordered from top (root) to bottom\nand include the currently selected item."
},
{
"kind": "method",
"name": "slotChangeHandler",
"privacy": "private",
"return": {
"type": {
"text": "Promise<void>"
}
},
"description": "Breadcrumbs were added / removed, we need to recalculate the width of each item\nand adjust the overflow accordingly."
}
],
"events": [
{
"description": "Announces the selected breadcrumb item",
"name": "change"
}
],
"attributes": [
{
"name": "max-visible-items",
"type": {
"text": "number"
},
"default": "4",
"description": "Override the maximum number of visible items",
"fieldName": "maxVisibleItems"
},
{
"name": "label",
"type": {
"text": "string"
},
"default": "''",
"description": "Accessible name for the Breadcrumbs component",
"fieldName": "label"
},
{
"name": "menu-label",
"type": {
"text": "string"
},
"default": "'More items'",
"description": "Change the default label of the action menu",
"fieldName": "menuLabel"
},
{
"name": "compact",
"type": {
"text": "boolean"
},
"default": "false",
"description": "compact option is useful for reducing the height of the breadcrumbs",
"fieldName": "compact"
}
],
"superclass": {
"name": "SpectrumElement",
"package": "@spectrum-web-components/base"
},
"tagName": "sp-breadcrumbs",
"customElement": true
}
],
"exports": [
{
"kind": "js",
"name": "Breadcrumbs",
"declaration": {
"name": "Breadcrumbs",
"module": "src/Breadcrumbs.js"
}
}
]
}
]
}