@vscode-elements/elements 2.3.1 → 2.3.2-pre.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/custom-elements.json +1087 -665
- package/dist/bundled.js +255 -73
- package/dist/includes/VscElement.js +1 -1
- package/dist/includes/VscElement.js.map +1 -1
- package/dist/includes/vscode-select/OptionListController.d.ts +1 -1
- package/dist/includes/vscode-select/OptionListController.d.ts.map +1 -1
- package/dist/includes/vscode-select/OptionListController.js +1 -1
- package/dist/includes/vscode-select/OptionListController.js.map +1 -1
- package/dist/includes/vscode-select/vscode-select-base.d.ts +2 -0
- package/dist/includes/vscode-select/vscode-select-base.d.ts.map +1 -1
- package/dist/includes/vscode-select/vscode-select-base.js +9 -1
- package/dist/includes/vscode-select/vscode-select-base.js.map +1 -1
- package/dist/vscode-button/vscode-button.d.ts +5 -0
- package/dist/vscode-button/vscode-button.d.ts.map +1 -1
- package/dist/vscode-button/vscode-button.js +8 -0
- package/dist/vscode-button/vscode-button.js.map +1 -1
- package/dist/vscode-button/vscode-button.styles.d.ts.map +1 -1
- package/dist/vscode-button/vscode-button.styles.js +11 -0
- package/dist/vscode-button/vscode-button.styles.js.map +1 -1
- package/dist/vscode-collapsible/vscode-collapsible.d.ts +1 -0
- package/dist/vscode-collapsible/vscode-collapsible.d.ts.map +1 -1
- package/dist/vscode-collapsible/vscode-collapsible.js +4 -1
- package/dist/vscode-collapsible/vscode-collapsible.js.map +1 -1
- package/dist/vscode-collapsible/vscode-collapsible.styles.d.ts.map +1 -1
- package/dist/vscode-collapsible/vscode-collapsible.styles.js +4 -0
- package/dist/vscode-collapsible/vscode-collapsible.styles.js.map +1 -1
- package/dist/vscode-split-layout/vscode-split-layout.d.ts +18 -0
- package/dist/vscode-split-layout/vscode-split-layout.d.ts.map +1 -1
- package/dist/vscode-split-layout/vscode-split-layout.js +87 -14
- package/dist/vscode-split-layout/vscode-split-layout.js.map +1 -1
- package/dist/vscode-tree/tree-context.d.ts +1 -0
- package/dist/vscode-tree/tree-context.d.ts.map +1 -1
- package/dist/vscode-tree/tree-context.js.map +1 -1
- package/dist/vscode-tree/vscode-tree.d.ts +1 -1
- package/dist/vscode-tree/vscode-tree.d.ts.map +1 -1
- package/dist/vscode-tree/vscode-tree.js +4 -3
- package/dist/vscode-tree/vscode-tree.js.map +1 -1
- package/dist/vscode-tree/vscode-tree.styles.js +1 -1
- package/dist/vscode-tree/vscode-tree.styles.js.map +1 -1
- package/dist/vscode-tree-item/vscode-tree-item.d.ts +28 -1
- package/dist/vscode-tree-item/vscode-tree-item.d.ts.map +1 -1
- package/dist/vscode-tree-item/vscode-tree-item.js +257 -22
- package/dist/vscode-tree-item/vscode-tree-item.js.map +1 -1
- package/dist/vscode-tree-item/vscode-tree-item.styles.d.ts.map +1 -1
- package/dist/vscode-tree-item/vscode-tree-item.styles.js +147 -6
- package/dist/vscode-tree-item/vscode-tree-item.styles.js.map +1 -1
- package/package.json +12 -8
- package/vscode.css-custom-data.json +9 -9
- package/vscode.html-custom-data.json +50 -35
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-tree-item.js","sourceRoot":"","sources":["../../src/vscode-tree-item/vscode-tree-item.ts"],"names":[],"mappings":"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","sourcesContent":["import {PropertyValues, TemplateResult, html, nothing} from 'lit';\nimport {consume} from '@lit/context';\nimport {property, queryAssignedElements, state} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {customElement, VscElement} from '../includes/VscElement';\nimport {stylePropertyMap} from '../includes/style-property-map';\nimport {\n ConfigContext,\n configContext,\n treeContext,\n type TreeContext,\n} from '../vscode-tree/tree-context';\nimport {initPathTrackerProps} from '../vscode-tree/helpers.js';\nimport styles from './vscode-tree-item.styles.js';\nimport {ExpandMode, IndentGuides} from '../vscode-tree/vscode-tree.js';\n\nconst BASE_INDENT = 3;\nconst ARROW_CONTAINER_WIDTH = 30;\n\nconst arrowIcon = html`<svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.072 8.024L5.715 3.667l.618-.62L11 7.716v.618L6.333 13l-.618-.619 4.357-4.357z\"\n />\n</svg>`;\n\nfunction getParentItem(childItem: VscodeTreeItem) {\n if (!childItem.parentElement) {\n return null;\n }\n\n if (!(childItem.parentElement instanceof VscodeTreeItem)) {\n return null;\n }\n\n return childItem.parentElement;\n}\n\n@customElement('vscode-tree-item')\nexport class VscodeTreeItem extends VscElement {\n static override styles = styles;\n\n //#region properties\n\n @property({type: Boolean})\n active = false;\n\n @property({type: Boolean, reflect: true})\n branch = false;\n\n @property({type: Boolean})\n hasActiveItem = false;\n\n @property({type: Boolean})\n hasSelectedItem = false;\n\n /** @internal */\n @property({type: Boolean})\n highlightedGuides = false;\n\n @property({type: Boolean, reflect: true})\n open = false;\n\n @property({type: Number, reflect: true})\n level = 0;\n\n @property({type: Boolean, reflect: true})\n set selected(selected: boolean) {\n this._selected = selected;\n this._treeContextState.selectedItems.add(this);\n this.ariaSelected = selected ? 'true' : 'false';\n }\n get selected(): boolean {\n return this._selected;\n }\n private _selected = false;\n\n set path(newPath: number[]) {\n this._path = newPath;\n }\n get path(): number[] {\n return this._path;\n }\n\n //#endregion\n\n //#region private variables\n\n private _path: number[] = [];\n private _internals: ElementInternals;\n\n @state()\n private _hasBranchIcon = false;\n\n @state()\n private _hasBranchOpenedIcon = false;\n\n @state()\n private _hasLeafIcon = false;\n\n @consume({context: treeContext, subscribe: true})\n private _treeContextState: TreeContext = {\n isShiftPressed: false,\n selectedItems: new Set(),\n allItems: null,\n itemListUpToDate: false,\n focusedItem: null,\n prevFocusedItem: null,\n hasBranchItem: false,\n rootElement: null,\n activeItem: null,\n };\n\n @consume({context: configContext, subscribe: true})\n private _configContext!: ConfigContext;\n\n @queryAssignedElements({selector: 'vscode-tree-item'})\n private _initiallyAssignedTreeItems!: VscodeTreeItem[];\n\n @queryAssignedElements({selector: 'vscode-tree-item', slot: 'children'})\n private _childrenTreeItems!: VscodeTreeItem[];\n\n //#endregion\n\n //#region lifecycle methods\n\n constructor() {\n super();\n\n this._internals = this.attachInternals();\n this.addEventListener('focus', this._handleComponentFocus);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this._mainSlotChange();\n this.role = 'treeitem';\n this.ariaDisabled = 'false';\n }\n\n protected override willUpdate(changedProperties: PropertyValues): void {\n if (changedProperties.has('active')) {\n this._toggleActiveState();\n }\n\n if (changedProperties.has('open') || changedProperties.has('branch')) {\n this._setAriaExpanded();\n }\n }\n\n //#endregion\n\n //#region private methods\n\n private _setAriaExpanded() {\n if (!this.branch) {\n this.ariaExpanded = null;\n } else {\n this.ariaExpanded = this.open ? 'true' : 'false';\n }\n }\n\n private _setHasActiveItemFlagOnParent(\n childItem: VscodeTreeItem,\n value: boolean\n ) {\n const parent = getParentItem(childItem);\n\n if (parent) {\n parent.hasActiveItem = value;\n }\n }\n\n private _toggleActiveState() {\n if (this.active) {\n if (this._treeContextState.activeItem) {\n this._treeContextState.activeItem.active = false;\n this._setHasActiveItemFlagOnParent(\n this._treeContextState.activeItem,\n false\n );\n }\n\n this._treeContextState.activeItem = this;\n this._setHasActiveItemFlagOnParent(this, true);\n this.tabIndex = 0;\n this._internals.states.add('active');\n } else {\n if (this._treeContextState.activeItem === this) {\n this._treeContextState.activeItem = null;\n this._setHasActiveItemFlagOnParent(this, false);\n }\n\n this.tabIndex = -1;\n this._internals.states.delete('active');\n }\n }\n\n private _selectItem(isCtrlDown: boolean) {\n const {selectedItems} = this._treeContextState;\n const {multiSelect} = this._configContext;\n\n if (multiSelect && isCtrlDown) {\n if (this.selected) {\n this.selected = false;\n selectedItems.delete(this);\n } else {\n this.selected = true;\n selectedItems.add(this);\n }\n } else {\n selectedItems.forEach((li) => (li.selected = false));\n selectedItems.clear();\n this.selected = true;\n selectedItems.add(this);\n }\n }\n\n private _selectRange() {\n const prevFocused = this._treeContextState.prevFocusedItem;\n\n if (!prevFocused || prevFocused === this) {\n return;\n }\n\n if (!this._treeContextState.itemListUpToDate) {\n this._treeContextState.allItems =\n this._treeContextState.rootElement!.querySelectorAll(\n 'vscode-tree-item'\n );\n\n if (this._treeContextState.allItems) {\n this._treeContextState.allItems.forEach((li, i) => {\n li.dataset.score = i.toString();\n });\n }\n\n this._treeContextState.itemListUpToDate = true;\n }\n\n let from = +(prevFocused.dataset.score ?? -1);\n let to = +(this.dataset.score ?? -1);\n\n if (from > to) {\n [from, to] = [to, from];\n }\n\n this._treeContextState.selectedItems.forEach((li) => (li.selected = false));\n this._treeContextState.selectedItems.clear();\n\n this._selectItemsAndAllVisibleDescendants(from, to);\n }\n\n private _selectItemsAndAllVisibleDescendants(from: number, to: number) {\n let i = from;\n\n while (i <= to) {\n if (this._treeContextState.allItems) {\n const item = this._treeContextState.allItems[i];\n\n if (item.branch && !item.open) {\n item.selected = true;\n const numChildren = item.querySelectorAll('vscode-tree-item').length;\n i += numChildren;\n } else if (item.branch && item.open) {\n item.selected = true;\n i += this._selectItemsAndAllVisibleDescendants(i + 1, to);\n } else {\n item.selected = true;\n i += 1;\n }\n }\n }\n\n return i;\n }\n\n private _mainSlotChange() {\n this._initiallyAssignedTreeItems.forEach((li) => {\n li.setAttribute('slot', 'children');\n });\n }\n\n //#endregion\n\n //#region event handlers\n\n private _handleChildrenSlotChange() {\n initPathTrackerProps(this, this._childrenTreeItems);\n\n if (this._treeContextState.rootElement) {\n this._treeContextState.rootElement.updateHasBranchItemFlag();\n }\n }\n\n private _handleMainSlotChange = () => {\n this._mainSlotChange();\n this._treeContextState.itemListUpToDate = false;\n };\n\n private _handleComponentFocus = () => {\n if (\n this._treeContextState.focusedItem &&\n this._treeContextState.focusedItem !== this\n ) {\n if (!this._treeContextState.isShiftPressed) {\n this._treeContextState.prevFocusedItem =\n this._treeContextState.focusedItem;\n }\n\n this._treeContextState.focusedItem = null;\n }\n\n this._treeContextState.focusedItem = this;\n };\n\n private _handleContentClick(ev: MouseEvent) {\n ev.stopPropagation();\n\n const isCtrlDown = ev.ctrlKey || ev.metaKey;\n const isShiftDown = ev.shiftKey;\n\n if (isShiftDown && this._configContext.multiSelect) {\n this._selectRange();\n this._treeContextState.emitSelectEvent?.();\n\n this.updateComplete.then(() => {\n this._treeContextState.highlightIndentGuides?.();\n });\n } else {\n this._selectItem(isCtrlDown);\n this._treeContextState.emitSelectEvent?.();\n this.updateComplete.then(() => {\n this._treeContextState.highlightIndentGuides?.();\n });\n\n if (this._configContext.expandMode === ExpandMode.singleClick) {\n if (this.branch && !(this._configContext.multiSelect && isCtrlDown)) {\n this.open = !this.open;\n }\n }\n }\n\n this.active = true;\n\n if (!isShiftDown) {\n this._treeContextState.prevFocusedItem = this;\n }\n }\n\n private _handleDoubleClick(ev: MouseEvent) {\n if (this._configContext.expandMode === ExpandMode.doubleClick) {\n if (\n this.branch &&\n !(this._configContext.multiSelect && (ev.ctrlKey || ev.metaKey))\n ) {\n this.open = !this.open;\n }\n }\n }\n\n private _handleIconSlotChange(ev: Event) {\n const slot = ev.target as HTMLSlotElement;\n const hasContent = slot.assignedElements().length > 0;\n\n switch (slot.name) {\n case 'icon-branch':\n this._hasBranchIcon = hasContent;\n break;\n case 'icon-branch-opened':\n this._hasBranchOpenedIcon = hasContent;\n break;\n case 'icon-leaf':\n this._hasLeafIcon = hasContent;\n break;\n default:\n }\n }\n\n //#endregion\n\n override render(): TemplateResult {\n const {hideArrows, indent, indentGuides} = this._configContext;\n const {hasBranchItem} = this._treeContextState;\n let indentation = BASE_INDENT + this.level * indent;\n const guideOffset = !hideArrows ? 13 : 3;\n const indentGuideX = BASE_INDENT + this.level * indent + guideOffset;\n\n if (!this.branch && !hideArrows && hasBranchItem) {\n indentation += ARROW_CONTAINER_WIDTH;\n }\n\n const hasVisibleIcon =\n (this._hasBranchIcon && this.branch) ||\n (this._hasBranchOpenedIcon && this.branch && this.open) ||\n (this._hasLeafIcon && !this.branch);\n\n const wrapperClasses = {\n wrapper: true,\n active: this.active,\n };\n\n const childrenClasses = {\n children: true,\n guide: indentGuides !== IndentGuides.none,\n 'default-guide': indentGuides !== IndentGuides.none,\n 'highlighted-guide': this.highlightedGuides,\n };\n\n const iconContainerClasses = {\n 'icon-container': true,\n 'has-icon': hasVisibleIcon,\n };\n\n return html` <div class=\"root\">\n <div\n class=${classMap(wrapperClasses)}\n @click=${this._handleContentClick}\n @dblclick=${this._handleDoubleClick}\n .style=${stylePropertyMap({paddingLeft: `${indentation}px`})}\n >\n ${this.branch && !hideArrows\n ? html`<div\n class=${classMap({\n 'arrow-container': true,\n 'icon-rotated': this.open,\n })}\n >\n ${arrowIcon}\n </div>`\n : nothing}\n <div class=${classMap(iconContainerClasses)}>\n ${this.branch && !this.open\n ? html`<slot\n name=\"icon-branch\"\n @slotchange=${this._handleIconSlotChange}\n ></slot>`\n : nothing}\n ${this.branch && this.open\n ? html`<slot\n name=\"icon-branch-opened\"\n @slotchange=${this._handleIconSlotChange}\n ></slot>`\n : nothing}\n ${!this.branch\n ? html`<slot\n name=\"icon-leaf\"\n @slotchange=${this._handleIconSlotChange}\n ></slot>`\n : nothing}\n </div>\n <div class=\"content\" part=\"content\">\n <slot @slotchange=${this._handleMainSlotChange}></slot>\n </div>\n </div>\n <div\n class=${classMap(childrenClasses)}\n .style=${stylePropertyMap({\n '--indentation-guide-left': `${indentGuideX}px`,\n })}\n role=\"group\"\n part=\"children\"\n >\n <slot\n name=\"children\"\n @slotchange=${this._handleChildrenSlotChange}\n ></slot>\n </div>\n </div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-tree-item': VscodeTreeItem;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"vscode-tree-item.js","sourceRoot":"","sources":["../../src/vscode-tree-item/vscode-tree-item.ts"],"names":[],"mappings":"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","sourcesContent":["import {PropertyValues, TemplateResult, html, nothing} from 'lit';\nimport {consume} from '@lit/context';\nimport {property, queryAssignedElements, state} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport {stylePropertyMap} from '../includes/style-property-map.js';\nimport {\n ConfigContext,\n configContext,\n treeContext,\n type TreeContext,\n} from '../vscode-tree/tree-context.js';\nimport {initPathTrackerProps} from '../vscode-tree/helpers.js';\nimport styles from './vscode-tree-item.styles.js';\nimport {ExpandMode, IndentGuides} from '../vscode-tree/vscode-tree.js';\n\nconst BASE_INDENT = 3;\nconst ARROW_CONTAINER_WIDTH = 30;\n\nconst arrowIcon = html`<svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.072 8.024L5.715 3.667l.618-.62L11 7.716v.618L6.333 13l-.618-.619 4.357-4.357z\"\n />\n</svg>`;\n\nfunction getParentItem(childItem: VscodeTreeItem) {\n if (!childItem.parentElement) {\n return null;\n }\n\n if (!(childItem.parentElement instanceof VscodeTreeItem)) {\n return null;\n }\n\n return childItem.parentElement;\n}\n\n@customElement('vscode-tree-item')\nexport class VscodeTreeItem extends VscElement {\n static override styles = styles;\n\n //#region properties\n\n @property({type: Boolean})\n active = false;\n\n @property({type: Boolean, reflect: true})\n branch = false;\n\n @property({type: Boolean})\n hasActiveItem = false;\n\n @property({type: Boolean})\n hasSelectedItem = false;\n\n /** @internal */\n @property({type: Boolean})\n highlightedGuides = false;\n\n @property({type: Boolean, reflect: true})\n open = false;\n\n @property({type: Number, reflect: true})\n level = 0;\n\n @property({type: Boolean, reflect: true})\n set selected(selected: boolean) {\n this._selected = selected;\n if (selected) {\n this._treeContextState.selectedItems.add(this);\n } else {\n this._treeContextState.selectedItems.delete(this);\n }\n this.ariaSelected = selected ? 'true' : 'false';\n this._updateActionsVisibility();\n }\n get selected(): boolean {\n return this._selected;\n }\n private _selected = false;\n\n set path(newPath: number[]) {\n this._path = newPath;\n }\n get path(): number[] {\n return this._path;\n }\n\n //#endregion\n\n //#region private variables\n\n private _path: number[] = [];\n private _internals: ElementInternals;\n\n @state()\n private _hasBranchIcon = false;\n\n @state()\n private _hasBranchOpenedIcon = false;\n\n @state()\n private _hasLeafIcon = false;\n\n @state()\n private _hasDescriptionSlotContent = false;\n\n @state()\n private _hasActionsSlotContent = false;\n\n @state()\n private _hasDecorationSlotContent = false;\n\n @consume({context: treeContext, subscribe: true})\n private _treeContextState: TreeContext = {\n isShiftPressed: false,\n selectedItems: new Set(),\n hoveredItem: null,\n allItems: null,\n itemListUpToDate: false,\n focusedItem: null,\n prevFocusedItem: null,\n hasBranchItem: false,\n rootElement: null,\n activeItem: null,\n };\n\n @consume({context: configContext, subscribe: true})\n private _configContext!: ConfigContext;\n\n @queryAssignedElements({selector: 'vscode-tree-item'})\n private _initiallyAssignedTreeItems!: VscodeTreeItem[];\n\n @queryAssignedElements({selector: 'vscode-tree-item', slot: 'children'})\n private _childrenTreeItems!: VscodeTreeItem[];\n\n @queryAssignedElements({slot: 'description', flatten: true})\n private _descriptionSlotElements!: Element[];\n\n @queryAssignedElements({slot: 'actions', flatten: true})\n private _actionsSlotElements!: Element[];\n\n @queryAssignedElements({slot: 'decoration', flatten: true})\n private _decorationSlotElements!: Element[];\n\n //#endregion\n\n //#region derived state\n\n private _isPointerInside = false;\n private _hasKeyboardFocus = false;\n\n //#endregion\n\n //#region lifecycle methods\n\n constructor() {\n super();\n\n this._internals = this.attachInternals();\n this.addEventListener('focus', this._handleComponentFocus);\n this.addEventListener('pointerenter', this._handlePointerEnter);\n this.addEventListener('pointerleave', this._handlePointerLeave);\n this.addEventListener('focusin', this._handleFocusIn);\n this.addEventListener('focusout', this._handleFocusOut);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this._mainSlotChange();\n this.role = 'treeitem';\n this.ariaDisabled = 'false';\n }\n\n protected override firstUpdated(changedProperties: PropertyValues): void {\n super.firstUpdated(changedProperties);\n this._refreshDescriptionSlotState();\n this._refreshActionsSlotState();\n this._refreshDecorationSlotState();\n if (this.matches(':hover')) {\n this._isPointerInside = true;\n this._claimHover();\n } else {\n this._updateActionsVisibility();\n }\n }\n\n protected override willUpdate(changedProperties: PropertyValues): void {\n if (changedProperties.has('active')) {\n this._toggleActiveState();\n }\n\n if (changedProperties.has('open') || changedProperties.has('branch')) {\n this._setAriaExpanded();\n }\n }\n\n //#endregion\n\n //#region private methods\n\n private _setAriaExpanded() {\n if (!this.branch) {\n this.ariaExpanded = null;\n } else {\n this.ariaExpanded = this.open ? 'true' : 'false';\n }\n }\n\n private _setHasActiveItemFlagOnParent(\n childItem: VscodeTreeItem,\n value: boolean\n ) {\n const parent = getParentItem(childItem);\n\n if (parent) {\n parent.hasActiveItem = value;\n }\n }\n\n private _refreshDescriptionSlotState() {\n const hasContent = (this._descriptionSlotElements?.length ?? 0) > 0;\n\n this._hasDescriptionSlotContent = hasContent;\n this._setCustomState('has-description', hasContent);\n }\n\n private _refreshActionsSlotState() {\n const hasContent = (this._actionsSlotElements?.length ?? 0) > 0;\n\n this._hasActionsSlotContent = hasContent;\n this._setCustomState('has-actions', hasContent);\n this._updateActionsVisibility();\n }\n\n private _refreshDecorationSlotState() {\n const hasContent = (this._decorationSlotElements?.length ?? 0) > 0;\n\n const prevHasDecoration = this._hasDecorationSlotContent;\n this._hasDecorationSlotContent = hasContent;\n this._setCustomState('has-decoration', hasContent);\n if (prevHasDecoration !== hasContent) {\n this.requestUpdate();\n }\n }\n\n private _setCustomState(stateName: string, present: boolean) {\n if (!this._internals?.states) {\n return;\n }\n\n try {\n if (present) {\n this._internals.states.add(stateName);\n } else {\n this._internals.states.delete(stateName);\n }\n } catch {\n // https://developer.mozilla.org/en-US/docs/Web/API/CustomStateSet#compatibility_with_dashed-ident_syntax\n if (present) {\n this._internals.states.add(`--${stateName}`);\n } else {\n this._internals.states.delete(`--${stateName}`);\n }\n }\n }\n\n private _getActiveElement(): Element | null {\n const root = this.getRootNode({composed: true});\n\n if (root instanceof Document) {\n return root.activeElement instanceof Element ? root.activeElement : null;\n }\n\n if (root instanceof ShadowRoot) {\n return root.activeElement instanceof Element ? root.activeElement : null;\n }\n\n return null;\n }\n\n private _isActiveElementInActions(activeElement: Element | null): boolean {\n if (!activeElement) {\n return false;\n }\n\n return (this._actionsSlotElements ?? []).some(\n (element) => element === activeElement || element.contains(activeElement)\n );\n }\n\n private _updateActionsVisibility() {\n if (!this._hasActionsSlotContent) {\n this._setCustomState('show-actions', false);\n return;\n }\n\n const activeElement = this._getActiveElement();\n const isActionsFocused = this._isActiveElementInActions(activeElement);\n\n const shouldShow =\n this.selected ||\n this._isPointerInside ||\n this._hasKeyboardFocus ||\n isActionsFocused;\n\n this._setCustomState('show-actions', shouldShow);\n }\n\n private _updateFocusState() {\n const hostFocusVisible = this.matches(':focus-visible');\n this._setCustomState('focus-visible', hostFocusVisible);\n\n const activeElement = this._getActiveElement();\n let owner: VscodeTreeItem | null = null;\n if (activeElement instanceof Element) {\n owner = activeElement.closest('vscode-tree-item');\n\n if (!owner) {\n const root = activeElement.getRootNode();\n if (root instanceof ShadowRoot && root.host instanceof VscodeTreeItem) {\n owner = root.host;\n }\n }\n }\n\n const hasKeyboardFocus = owner === this;\n\n this._hasKeyboardFocus = hasKeyboardFocus;\n this._setCustomState('keyboard-focus', hasKeyboardFocus);\n this._updateActionsVisibility();\n }\n\n private _clearHoverState() {\n this._isPointerInside = false;\n this._setCustomState('hover', false);\n this._updateActionsVisibility();\n }\n\n private _adoptHoverFromSibling() {\n this._isPointerInside = true;\n this._claimHover();\n }\n\n private _claimHover() {\n const treeState = this._treeContextState;\n if (treeState.hoveredItem && treeState.hoveredItem !== this) {\n treeState.hoveredItem._clearHoverState();\n }\n\n treeState.hoveredItem = this;\n this._setCustomState('hover', true);\n this._updateActionsVisibility();\n }\n\n private _toggleActiveState() {\n if (this.active) {\n if (this._treeContextState.activeItem) {\n this._treeContextState.activeItem.active = false;\n this._setHasActiveItemFlagOnParent(\n this._treeContextState.activeItem,\n false\n );\n }\n\n this._treeContextState.activeItem = this;\n this._setHasActiveItemFlagOnParent(this, true);\n this.tabIndex = 0;\n this._setCustomState('active', true);\n } else {\n if (this._treeContextState.activeItem === this) {\n this._treeContextState.activeItem = null;\n this._setHasActiveItemFlagOnParent(this, false);\n }\n\n this.tabIndex = -1;\n this._setCustomState('active', false);\n }\n }\n\n private _selectItem(isCtrlDown: boolean) {\n const {selectedItems} = this._treeContextState;\n const {multiSelect} = this._configContext;\n const prevSelected = new Set(selectedItems);\n\n if (multiSelect && isCtrlDown) {\n this.selected = !this.selected;\n } else {\n Array.from(selectedItems).forEach((li) => {\n if (li !== this) {\n li.selected = false;\n }\n });\n selectedItems.clear();\n this.selected = true;\n }\n\n const affected = new Set<VscodeTreeItem>([\n ...prevSelected,\n ...selectedItems,\n ]);\n affected.add(this);\n affected.forEach((li) => li._updateActionsVisibility());\n }\n\n private _selectRange() {\n const prevFocused = this._treeContextState.prevFocusedItem;\n\n if (!prevFocused || prevFocused === this) {\n return;\n }\n\n const prevSelected = new Set(this._treeContextState.selectedItems);\n\n if (!this._treeContextState.itemListUpToDate) {\n this._treeContextState.allItems =\n this._treeContextState.rootElement!.querySelectorAll(\n 'vscode-tree-item'\n );\n\n if (this._treeContextState.allItems) {\n this._treeContextState.allItems.forEach((li, i) => {\n li.dataset.score = i.toString();\n });\n }\n\n this._treeContextState.itemListUpToDate = true;\n }\n\n let from = +(prevFocused.dataset.score ?? -1);\n let to = +(this.dataset.score ?? -1);\n\n if (from > to) {\n [from, to] = [to, from];\n }\n\n Array.from(this._treeContextState.selectedItems).forEach(\n (li) => (li.selected = false)\n );\n this._treeContextState.selectedItems.clear();\n\n this._selectItemsAndAllVisibleDescendants(from, to);\n\n const affected = new Set<VscodeTreeItem>([\n ...prevSelected,\n ...this._treeContextState.selectedItems,\n ]);\n affected.add(this);\n affected.forEach((li) => li._updateActionsVisibility());\n }\n\n private _selectItemsAndAllVisibleDescendants(from: number, to: number) {\n let i = from;\n\n while (i <= to) {\n if (this._treeContextState.allItems) {\n const item = this._treeContextState.allItems[i];\n\n if (item.branch && !item.open) {\n item.selected = true;\n const numChildren = item.querySelectorAll('vscode-tree-item').length;\n i += numChildren;\n } else if (item.branch && item.open) {\n item.selected = true;\n i += this._selectItemsAndAllVisibleDescendants(i + 1, to);\n } else {\n item.selected = true;\n i += 1;\n }\n }\n }\n\n return i;\n }\n\n private _mainSlotChange() {\n this._initiallyAssignedTreeItems.forEach((li) => {\n li.setAttribute('slot', 'children');\n });\n }\n\n //#endregion\n\n //#region event handlers\n\n private _handleChildrenSlotChange() {\n initPathTrackerProps(this, this._childrenTreeItems);\n\n if (this._treeContextState.rootElement) {\n this._treeContextState.rootElement.updateHasBranchItemFlag();\n }\n }\n\n private _handleDescriptionSlotChange() {\n this._refreshDescriptionSlotState();\n }\n\n private _handleActionsSlotChange() {\n this._refreshActionsSlotState();\n }\n\n private _handleDecorationSlotChange() {\n this._refreshDecorationSlotState();\n }\n\n private _handleMainSlotChange = () => {\n this._mainSlotChange();\n this._treeContextState.itemListUpToDate = false;\n };\n\n private _handleComponentFocus = () => {\n if (\n this._treeContextState.focusedItem &&\n this._treeContextState.focusedItem !== this\n ) {\n if (!this._treeContextState.isShiftPressed) {\n this._treeContextState.prevFocusedItem =\n this._treeContextState.focusedItem;\n }\n\n this._treeContextState.focusedItem = null;\n }\n\n this._treeContextState.focusedItem = this;\n };\n\n private _handlePointerEnter = () => {\n this._isPointerInside = true;\n this._claimHover();\n };\n\n private _handlePointerLeave = (ev: PointerEvent) => {\n this._isPointerInside = false;\n if (this._treeContextState.hoveredItem === this) {\n this._treeContextState.hoveredItem = null;\n }\n this._clearHoverState();\n\n const relatedTarget = ev.relatedTarget;\n if (relatedTarget instanceof Element) {\n const nextItem =\n relatedTarget.closest<VscodeTreeItem>('vscode-tree-item');\n if (nextItem && nextItem !== this && nextItem.isConnected) {\n nextItem._adoptHoverFromSibling();\n }\n }\n };\n\n private _handleFocusIn = () => {\n this._updateFocusState();\n };\n\n private _handleFocusOut = () => {\n this._updateFocusState();\n };\n\n private _handleContentClick(ev: MouseEvent) {\n ev.stopPropagation();\n\n const isCtrlDown = ev.ctrlKey || ev.metaKey;\n const isShiftDown = ev.shiftKey;\n\n if (isShiftDown && this._configContext.multiSelect) {\n this._selectRange();\n this._treeContextState.emitSelectEvent?.();\n\n this.updateComplete.then(() => {\n this._treeContextState.highlightIndentGuides?.();\n });\n } else {\n this._selectItem(isCtrlDown);\n this._treeContextState.emitSelectEvent?.();\n this.updateComplete.then(() => {\n this._treeContextState.highlightIndentGuides?.();\n });\n\n if (this._configContext.expandMode === ExpandMode.singleClick) {\n if (this.branch && !(this._configContext.multiSelect && isCtrlDown)) {\n this.open = !this.open;\n }\n }\n }\n\n this.active = true;\n\n if (!isShiftDown) {\n this._treeContextState.prevFocusedItem = this;\n }\n }\n\n private _handleDoubleClick(ev: MouseEvent) {\n if (this._configContext.expandMode === ExpandMode.doubleClick) {\n if (\n this.branch &&\n !(this._configContext.multiSelect && (ev.ctrlKey || ev.metaKey))\n ) {\n this.open = !this.open;\n }\n }\n }\n\n private _handleIconSlotChange(ev: Event) {\n const slot = ev.target as HTMLSlotElement;\n const hasContent = slot.assignedElements().length > 0;\n\n switch (slot.name) {\n case 'icon-branch':\n this._hasBranchIcon = hasContent;\n break;\n case 'icon-branch-opened':\n this._hasBranchOpenedIcon = hasContent;\n break;\n case 'icon-leaf':\n this._hasLeafIcon = hasContent;\n break;\n default:\n }\n }\n\n //#endregion\n\n override render(): TemplateResult {\n const {hideArrows, indent, indentGuides} = this._configContext;\n const {hasBranchItem} = this._treeContextState;\n let indentation = BASE_INDENT + this.level * indent;\n const guideOffset = !hideArrows ? 13 : 3;\n const indentGuideX = BASE_INDENT + this.level * indent + guideOffset;\n\n if (!this.branch && !hideArrows && hasBranchItem) {\n indentation += ARROW_CONTAINER_WIDTH;\n }\n\n const hasVisibleIcon =\n (this._hasBranchIcon && this.branch) ||\n (this._hasBranchOpenedIcon && this.branch && this.open) ||\n (this._hasLeafIcon && !this.branch);\n\n const wrapperClasses = {\n wrapper: true,\n active: this.active,\n 'has-description': this._hasDescriptionSlotContent,\n 'has-actions': this._hasActionsSlotContent,\n 'has-decoration': this._hasDecorationSlotContent,\n };\n\n const childrenClasses = {\n children: true,\n guide: indentGuides !== IndentGuides.none,\n 'default-guide': indentGuides !== IndentGuides.none,\n 'highlighted-guide': this.highlightedGuides,\n };\n\n const iconContainerClasses = {\n 'icon-container': true,\n 'has-icon': hasVisibleIcon,\n };\n\n const contentClasses = {\n content: true,\n 'has-description': this._hasDescriptionSlotContent,\n 'has-decoration': this._hasDecorationSlotContent,\n };\n\n return html` <div class=\"root\">\n <div\n class=${classMap(wrapperClasses)}\n part=\"wrapper\"\n @click=${this._handleContentClick}\n @dblclick=${this._handleDoubleClick}\n .style=${stylePropertyMap({paddingLeft: `${indentation}px`})}\n >\n ${this.branch && !hideArrows\n ? html`<div\n class=${classMap({\n 'arrow-container': true,\n 'icon-rotated': this.open,\n })}\n part=\"head expando\"\n >\n ${arrowIcon}\n </div>`\n : nothing}\n <div class=${classMap(iconContainerClasses)} part=\"head icon\">\n ${this.branch && !this.open\n ? html`<slot\n name=\"icon-branch\"\n @slotchange=${this._handleIconSlotChange}\n ></slot>`\n : nothing}\n ${this.branch && this.open\n ? html`<slot\n name=\"icon-branch-opened\"\n @slotchange=${this._handleIconSlotChange}\n ></slot>`\n : nothing}\n ${!this.branch\n ? html`<slot\n name=\"icon-leaf\"\n @slotchange=${this._handleIconSlotChange}\n ></slot>`\n : nothing}\n </div>\n <div class=${classMap(contentClasses)} part=\"content\">\n <span class=\"label\" part=\"label\">\n <slot @slotchange=${this._handleMainSlotChange}></slot>\n </span>\n <span\n class=\"description\"\n part=\"description\"\n ?hidden=${!this._hasDescriptionSlotContent}\n >\n <slot\n name=\"description\"\n @slotchange=${this._handleDescriptionSlotChange}\n ></slot>\n </span>\n <div class=\"actions\" part=\"actions\">\n <slot\n name=\"actions\"\n @slotchange=${this._handleActionsSlotChange}\n ></slot>\n </div>\n <div class=\"decoration\" part=\"decoration\">\n <slot\n name=\"decoration\"\n @slotchange=${this._handleDecorationSlotChange}\n ></slot>\n </div>\n </div>\n </div>\n <div\n class=${classMap(childrenClasses)}\n .style=${stylePropertyMap({\n '--indentation-guide-left': `${indentGuideX}px`,\n })}\n role=\"group\"\n part=\"children\"\n >\n <slot\n name=\"children\"\n @slotchange=${this._handleChildrenSlotChange}\n ></slot>\n </div>\n </div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-tree-item': VscodeTreeItem;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-tree-item.styles.d.ts","sourceRoot":"","sources":["../../src/vscode-tree-item/vscode-tree-item.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAM,MAAM,KAAK,CAAC;AAGxC,QAAA,MAAM,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"vscode-tree-item.styles.d.ts","sourceRoot":"","sources":["../../src/vscode-tree-item/vscode-tree-item.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAM,MAAM,KAAK,CAAC;AAGxC,QAAA,MAAM,MAAM,EAAE,cAmSb,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
import defaultStyles from '../includes/default.styles';
|
|
2
|
+
import defaultStyles from '../includes/default.styles.js';
|
|
3
3
|
const styles = [
|
|
4
4
|
defaultStyles,
|
|
5
5
|
css `
|
|
@@ -29,9 +29,12 @@ const styles = [
|
|
|
29
29
|
align-items: flex-start;
|
|
30
30
|
color: var(--vscode-foreground, #cccccc);
|
|
31
31
|
display: flex;
|
|
32
|
+
flex-wrap: nowrap;
|
|
32
33
|
font-family: var(--vscode-font-family, sans-serif);
|
|
33
34
|
font-size: var(--vscode-font-size, 13px);
|
|
34
35
|
font-weight: var(--vscode-font-weight, normal);
|
|
36
|
+
height: 22px;
|
|
37
|
+
line-height: 22px;
|
|
35
38
|
outline-offset: -1px;
|
|
36
39
|
padding-right: 12px;
|
|
37
40
|
}
|
|
@@ -92,8 +95,9 @@ const styles = [
|
|
|
92
95
|
.icon-container {
|
|
93
96
|
align-items: center;
|
|
94
97
|
display: flex;
|
|
95
|
-
|
|
96
|
-
margin-
|
|
98
|
+
justify-content: center;
|
|
99
|
+
margin-right: 3px;
|
|
100
|
+
min-height: 22px;
|
|
97
101
|
overflow: hidden;
|
|
98
102
|
}
|
|
99
103
|
|
|
@@ -102,9 +106,13 @@ const styles = [
|
|
|
102
106
|
}
|
|
103
107
|
|
|
104
108
|
.icon-container.has-icon {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
109
|
+
min-width: 22px;
|
|
110
|
+
max-width: 22px;
|
|
111
|
+
max-height: 22px;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
:host(:is(:--show-actions, :state(show-actions))) .icon-container {
|
|
115
|
+
overflow: visible;
|
|
108
116
|
}
|
|
109
117
|
|
|
110
118
|
.children {
|
|
@@ -136,12 +144,145 @@ const styles = [
|
|
|
136
144
|
}
|
|
137
145
|
|
|
138
146
|
.content {
|
|
147
|
+
display: flex;
|
|
148
|
+
align-items: center;
|
|
149
|
+
flex-wrap: nowrap; /* prevent wrapping; allow ellipses via min-width: 0 */
|
|
150
|
+
min-width: 0;
|
|
151
|
+
width: 100%;
|
|
139
152
|
line-height: 22px;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.label {
|
|
156
|
+
display: inline-flex;
|
|
157
|
+
align-items: center;
|
|
158
|
+
gap: 4px;
|
|
159
|
+
flex: 0 1 auto;
|
|
160
|
+
min-width: 0;
|
|
161
|
+
overflow: hidden;
|
|
162
|
+
text-overflow: ellipsis;
|
|
163
|
+
white-space: nowrap;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.description {
|
|
167
|
+
color: var(--vscode-foreground, #cccccc);
|
|
168
|
+
opacity: 0.7;
|
|
169
|
+
display: none;
|
|
170
|
+
flex: 0 1 auto;
|
|
171
|
+
min-width: 0;
|
|
172
|
+
overflow: hidden;
|
|
173
|
+
text-overflow: ellipsis;
|
|
174
|
+
white-space: nowrap;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.content.has-description .description {
|
|
178
|
+
display: flex;
|
|
179
|
+
align-items: center;
|
|
180
|
+
justify-content: flex-start;
|
|
181
|
+
flex: 1 1 0%; /* description takes remaining space, yields first when shrinking */
|
|
182
|
+
min-width: 0;
|
|
183
|
+
overflow: hidden;
|
|
184
|
+
text-overflow: ellipsis;
|
|
185
|
+
white-space: nowrap;
|
|
186
|
+
margin-left: 0.5em;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.content.has-description .label {
|
|
190
|
+
flex: 0 1 auto; /* label only grows when description missing */
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.content:not(.has-description) .label {
|
|
194
|
+
flex: 1 1 auto;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.label ::slotted(*) {
|
|
198
|
+
display: inline-block;
|
|
199
|
+
max-width: 100%;
|
|
200
|
+
min-width: 0;
|
|
140
201
|
overflow: hidden;
|
|
141
202
|
text-overflow: ellipsis;
|
|
142
203
|
white-space: nowrap;
|
|
143
204
|
}
|
|
144
205
|
|
|
206
|
+
.description ::slotted(*) {
|
|
207
|
+
display: inline-block;
|
|
208
|
+
max-width: 100%;
|
|
209
|
+
min-width: 0;
|
|
210
|
+
overflow: hidden;
|
|
211
|
+
text-overflow: ellipsis;
|
|
212
|
+
white-space: nowrap;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.actions {
|
|
216
|
+
align-items: center;
|
|
217
|
+
align-self: center;
|
|
218
|
+
display: none;
|
|
219
|
+
flex: 0 0 auto;
|
|
220
|
+
gap: 2px;
|
|
221
|
+
margin-left: auto;
|
|
222
|
+
min-height: 22px;
|
|
223
|
+
color: inherit;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
.actions ::slotted(*) {
|
|
227
|
+
align-items: center;
|
|
228
|
+
display: inline-flex;
|
|
229
|
+
height: 22px;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
.actions ::slotted(button) {
|
|
233
|
+
cursor: pointer;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
.actions ::slotted([hidden]) {
|
|
237
|
+
display: none !important;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
:host(
|
|
241
|
+
:is(
|
|
242
|
+
:--has-actions:--show-actions,
|
|
243
|
+
:--has-actions:state(show-actions),
|
|
244
|
+
:state(has-actions):--show-actions,
|
|
245
|
+
:state(has-actions):state(show-actions)
|
|
246
|
+
)
|
|
247
|
+
)
|
|
248
|
+
.actions {
|
|
249
|
+
display: inline-flex;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
.decoration {
|
|
253
|
+
align-items: center;
|
|
254
|
+
align-self: center;
|
|
255
|
+
color: inherit;
|
|
256
|
+
display: none;
|
|
257
|
+
flex: 0 0 auto;
|
|
258
|
+
gap: 4px;
|
|
259
|
+
margin-left: auto;
|
|
260
|
+
min-height: 22px;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
:host(:is(:--has-decoration, :state(has-decoration))) .decoration {
|
|
264
|
+
display: inline-flex;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
:host(:is(:--show-actions, :state(show-actions))) .decoration {
|
|
268
|
+
margin-left: 6px;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
:host([selected]) ::slotted([slot='decoration']),
|
|
272
|
+
:host([selected]) ::slotted([slot='decoration']) * {
|
|
273
|
+
color: inherit !important;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
:host([selected]) .description {
|
|
277
|
+
color: var(--internal-selectionForeground, #ffffff);
|
|
278
|
+
opacity: 0.8;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
:host([selected]) :is(:state(focus-visible), :--focus-visible) .description,
|
|
282
|
+
:host([selected]:focus-within) .description {
|
|
283
|
+
opacity: 0.95;
|
|
284
|
+
}
|
|
285
|
+
|
|
145
286
|
:host([branch]) ::slotted(vscode-tree-item) {
|
|
146
287
|
display: none;
|
|
147
288
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-tree-item.styles.js","sourceRoot":"","sources":["../../src/vscode-tree-item/vscode-tree-item.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,GAAG,EAAC,MAAM,KAAK,CAAC;AACxC,OAAO,aAAa,MAAM,
|
|
1
|
+
{"version":3,"file":"vscode-tree-item.styles.js","sourceRoot":"","sources":["../../src/vscode-tree-item/vscode-tree-item.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,GAAG,EAAC,MAAM,KAAK,CAAC;AACxC,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAE1D,MAAM,MAAM,GAAmB;IAC7B,aAAa;IACb,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgSF;CACF,CAAC;AAEF,eAAe,MAAM,CAAC","sourcesContent":["import {CSSResultGroup, css} from 'lit';\nimport defaultStyles from '../includes/default.styles.js';\n\nconst styles: CSSResultGroup = [\n defaultStyles,\n css`\n :host {\n --hover-outline-color: transparent;\n --hover-outline-style: solid;\n --hover-outline-width: 0;\n\n --selected-outline-color: transparent;\n --selected-outline-style: solid;\n --selected-outline-width: 0;\n\n cursor: pointer;\n display: block;\n user-select: none;\n }\n\n ::slotted(vscode-icon) {\n display: block;\n }\n\n .root {\n display: block;\n }\n\n .wrapper {\n align-items: flex-start;\n color: var(--vscode-foreground, #cccccc);\n display: flex;\n flex-wrap: nowrap;\n font-family: var(--vscode-font-family, sans-serif);\n font-size: var(--vscode-font-size, 13px);\n font-weight: var(--vscode-font-weight, normal);\n height: 22px;\n line-height: 22px;\n outline-offset: -1px;\n padding-right: 12px;\n }\n\n .wrapper:hover {\n background-color: var(--vscode-list-hoverBackground, #2a2d2e);\n color: var(\n --vscode-list-hoverForeground,\n var(--vscode-foreground, #cccccc)\n );\n }\n\n :host([selected]) .wrapper {\n color: var(--internal-selectionForeground);\n background-color: var(--internal-selectionBackground);\n }\n\n :host([selected]) ::slotted(vscode-icon) {\n color: var(--internal-selectionForeground);\n }\n\n :host(:focus) {\n outline: none;\n }\n\n :host(:focus) .wrapper.active {\n outline-color: var(\n --vscode-list-focusAndSelectionOutline,\n var(--vscode-list-focusOutline, #0078d4)\n );\n outline-style: solid;\n outline-width: 1px;\n }\n\n .arrow-container {\n align-items: center;\n display: var(--vsc-tree-item-arrow-display);\n height: 22px;\n justify-content: center;\n padding-left: 8px;\n padding-right: 6px;\n width: 16px;\n }\n\n .arrow-container svg {\n display: block;\n fill: var(--vscode-icon-foreground, #cccccc);\n }\n\n .arrow-container.icon-rotated svg {\n transform: rotate(90deg);\n }\n\n :host([selected]) .arrow-container svg {\n fill: var(--internal-selectionIconForeground);\n }\n\n .icon-container {\n align-items: center;\n display: flex;\n justify-content: center;\n margin-right: 3px;\n min-height: 22px;\n overflow: hidden;\n }\n\n .icon-container slot {\n display: block;\n }\n\n .icon-container.has-icon {\n min-width: 22px;\n max-width: 22px;\n max-height: 22px;\n }\n\n :host(:is(:--show-actions, :state(show-actions))) .icon-container {\n overflow: visible;\n }\n\n .children {\n position: relative;\n }\n\n .children.guide:before {\n background-color: var(\n --vscode-tree-inactiveIndentGuidesStroke,\n rgba(88, 88, 88, 0.4)\n );\n content: '';\n display: none;\n height: 100%;\n left: var(--indentation-guide-left);\n pointer-events: none;\n position: absolute;\n width: 1px;\n z-index: 1;\n }\n\n .children.guide.default-guide:before {\n display: var(--internal-defaultIndentGuideDisplay);\n }\n\n .children.guide.highlighted-guide:before {\n display: var(--internal-highlightedIndentGuideDisplay);\n background-color: var(--vscode-tree-indentGuidesStroke, #585858);\n }\n\n .content {\n display: flex;\n align-items: center;\n flex-wrap: nowrap; /* prevent wrapping; allow ellipses via min-width: 0 */\n min-width: 0;\n width: 100%;\n line-height: 22px;\n }\n\n .label {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n flex: 0 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .description {\n color: var(--vscode-foreground, #cccccc);\n opacity: 0.7;\n display: none;\n flex: 0 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .content.has-description .description {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex: 1 1 0%; /* description takes remaining space, yields first when shrinking */\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n margin-left: 0.5em;\n }\n\n .content.has-description .label {\n flex: 0 1 auto; /* label only grows when description missing */\n }\n\n .content:not(.has-description) .label {\n flex: 1 1 auto;\n }\n\n .label ::slotted(*) {\n display: inline-block;\n max-width: 100%;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .description ::slotted(*) {\n display: inline-block;\n max-width: 100%;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .actions {\n align-items: center;\n align-self: center;\n display: none;\n flex: 0 0 auto;\n gap: 2px;\n margin-left: auto;\n min-height: 22px;\n color: inherit;\n }\n\n .actions ::slotted(*) {\n align-items: center;\n display: inline-flex;\n height: 22px;\n }\n\n .actions ::slotted(button) {\n cursor: pointer;\n }\n\n .actions ::slotted([hidden]) {\n display: none !important;\n }\n\n :host(\n :is(\n :--has-actions:--show-actions,\n :--has-actions:state(show-actions),\n :state(has-actions):--show-actions,\n :state(has-actions):state(show-actions)\n )\n )\n .actions {\n display: inline-flex;\n }\n\n .decoration {\n align-items: center;\n align-self: center;\n color: inherit;\n display: none;\n flex: 0 0 auto;\n gap: 4px;\n margin-left: auto;\n min-height: 22px;\n }\n\n :host(:is(:--has-decoration, :state(has-decoration))) .decoration {\n display: inline-flex;\n }\n\n :host(:is(:--show-actions, :state(show-actions))) .decoration {\n margin-left: 6px;\n }\n\n :host([selected]) ::slotted([slot='decoration']),\n :host([selected]) ::slotted([slot='decoration']) * {\n color: inherit !important;\n }\n\n :host([selected]) .description {\n color: var(--internal-selectionForeground, #ffffff);\n opacity: 0.8;\n }\n\n :host([selected]) :is(:state(focus-visible), :--focus-visible) .description,\n :host([selected]:focus-within) .description {\n opacity: 0.95;\n }\n\n :host([branch]) ::slotted(vscode-tree-item) {\n display: none;\n }\n\n :host([branch][open]) ::slotted(vscode-tree-item) {\n display: block;\n }\n `,\n];\n\nexport default styles;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vscode-elements/elements",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.2-pre.0",
|
|
4
4
|
"description": "Web components for creating Visual Studio Code extensions",
|
|
5
5
|
"main": "dist/main.js",
|
|
6
6
|
"module": "dist/main.js",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"build:ts": "wireit",
|
|
19
19
|
"build:watch": "wireit",
|
|
20
20
|
"clean": "rimraf -g .wireit coverage dist custom-elements.json stats.html vscode.*-custom-data.json tsconfig.tsbuildinfo",
|
|
21
|
-
"lint": "eslint src/**/*.ts
|
|
22
|
-
"lint:fix": "eslint src/**/*.ts --fix",
|
|
21
|
+
"lint": "eslint \"./src/**/*.ts\"",
|
|
22
|
+
"lint:fix": "eslint \"./src/**/*.ts\" --fix",
|
|
23
23
|
"prettier": "prettier . --check",
|
|
24
24
|
"prettier:fix": "prettier . --write",
|
|
25
25
|
"analyze": "wireit",
|
|
@@ -135,10 +135,13 @@
|
|
|
135
135
|
"@lit/context": "^1.1.3",
|
|
136
136
|
"lit": "^3.2.1"
|
|
137
137
|
},
|
|
138
|
+
"peerDependencies": {
|
|
139
|
+
"@vscode/codicons": ">=0.0.40"
|
|
140
|
+
},
|
|
138
141
|
"devDependencies": {
|
|
139
|
-
"@awmottaz/prettier-plugin-void-html": "^
|
|
142
|
+
"@awmottaz/prettier-plugin-void-html": "^2.0.0",
|
|
140
143
|
"@bendera/wds-plugin-directory-index": "^0.5.0",
|
|
141
|
-
"@custom-elements-manifest/analyzer": "^0.
|
|
144
|
+
"@custom-elements-manifest/analyzer": "^0.11.0",
|
|
142
145
|
"@eslint/eslintrc": "^3.3.1",
|
|
143
146
|
"@eslint/js": "^9.23.0",
|
|
144
147
|
"@esm-bundle/chai": "^4.3.4-fix.0",
|
|
@@ -152,7 +155,7 @@
|
|
|
152
155
|
"@typescript-eslint/eslint-plugin": "^8.29.0",
|
|
153
156
|
"@typescript-eslint/parser": "^8.29.0",
|
|
154
157
|
"@vscode-elements/webview-playground": "^1.6.0",
|
|
155
|
-
"@vscode/codicons": "^0.0.
|
|
158
|
+
"@vscode/codicons": "^0.0.44",
|
|
156
159
|
"@web/dev-server": "^0.4.6",
|
|
157
160
|
"@web/dev-server-esbuild": "^1.0.4",
|
|
158
161
|
"@web/dev-server-legacy": "^2.1.1",
|
|
@@ -162,16 +165,17 @@
|
|
|
162
165
|
"@web/test-runner-mocha": "^0.9.0",
|
|
163
166
|
"@web/test-runner-playwright": "^0.11.0",
|
|
164
167
|
"@webcomponents/webcomponentsjs": "^2.8.0",
|
|
165
|
-
"chokidar": "^
|
|
168
|
+
"chokidar": "^5.0.0",
|
|
166
169
|
"concurrently": "^9.1.2",
|
|
167
170
|
"custom-element-vs-code-integration": "^1.5.0",
|
|
168
171
|
"custom-elements-manifest-deprecator": "^1.2.0",
|
|
169
172
|
"deepmerge": "^4.3.1",
|
|
170
173
|
"dotenv": "^17.0.0",
|
|
174
|
+
"eslint-plugin-import": "^2.32.0",
|
|
171
175
|
"eslint-plugin-lit": "^2.0.0",
|
|
172
176
|
"eslint-plugin-wc": "^3.0.0",
|
|
173
177
|
"mocha": "^11.1.0",
|
|
174
|
-
"npm-check-updates": "^
|
|
178
|
+
"npm-check-updates": "^19.0.0",
|
|
175
179
|
"prettier": "^3.5.3",
|
|
176
180
|
"rimraf": "^6.0.1",
|
|
177
181
|
"rollup": "^4.39.0",
|
|
@@ -68,13 +68,6 @@
|
|
|
68
68
|
{ "name": "--vscode-focusBorder", "values": [] },
|
|
69
69
|
{ "name": "--vscode-inputValidation-errorBackground", "values": [] },
|
|
70
70
|
{ "name": "--vscode-inputValidation-errorBorder", "values": [] },
|
|
71
|
-
{ "name": "--vscode-font-family", "values": [] },
|
|
72
|
-
{ "name": "--vscode-font-size", "values": [] },
|
|
73
|
-
{ "name": "--vscode-font-weight", "values": [] },
|
|
74
|
-
{ "name": "--vscode-menu-background", "values": [] },
|
|
75
|
-
{ "name": "--vscode-menu-border", "values": [] },
|
|
76
|
-
{ "name": "--vscode-menu-foreground", "values": [] },
|
|
77
|
-
{ "name": "--vscode-widget-shadow", "values": [] },
|
|
78
71
|
{
|
|
79
72
|
"name": "--vscode-sideBar-background",
|
|
80
73
|
"description": "Background color",
|
|
@@ -105,7 +98,13 @@
|
|
|
105
98
|
"description": "Header font color",
|
|
106
99
|
"values": []
|
|
107
100
|
},
|
|
108
|
-
{ "name": "--vscode-
|
|
101
|
+
{ "name": "--vscode-font-family", "values": [] },
|
|
102
|
+
{ "name": "--vscode-font-size", "values": [] },
|
|
103
|
+
{ "name": "--vscode-font-weight", "values": [] },
|
|
104
|
+
{ "name": "--vscode-menu-background", "values": [] },
|
|
105
|
+
{ "name": "--vscode-menu-border", "values": [] },
|
|
106
|
+
{ "name": "--vscode-menu-foreground", "values": [] },
|
|
107
|
+
{ "name": "--vscode-widget-shadow", "values": [] },
|
|
109
108
|
{ "name": "--vscode-font-family", "values": [] },
|
|
110
109
|
{ "name": "--vscode-font-size", "values": [] },
|
|
111
110
|
{ "name": "--vscode-font-weight", "values": [] },
|
|
@@ -115,6 +114,7 @@
|
|
|
115
114
|
{ "name": "--vscode-menu-selectionBackground", "values": [] },
|
|
116
115
|
{ "name": "--vscode-menu-selectionForeground", "values": [] },
|
|
117
116
|
{ "name": "--vscode-menu-separatorBackground", "values": [] },
|
|
117
|
+
{ "name": "--vscode-foreground", "values": [] },
|
|
118
118
|
{
|
|
119
119
|
"name": "--label-width",
|
|
120
120
|
"description": "The width of the label in horizontal mode",
|
|
@@ -168,6 +168,7 @@
|
|
|
168
168
|
{ "name": "--vscode-list-hoverBackground", "values": [] },
|
|
169
169
|
{ "name": "--vscode-list-hoverForeground", "values": [] },
|
|
170
170
|
{ "name": "--vscode-progressBar-background", "values": [] },
|
|
171
|
+
{ "name": "--vscode-progressBar-background", "values": [] },
|
|
171
172
|
{ "name": "--vscode-font-family", "values": [] },
|
|
172
173
|
{ "name": "--vscode-font-size", "values": [] },
|
|
173
174
|
{ "name": "--vscode-font-weight", "values": [] },
|
|
@@ -177,7 +178,6 @@
|
|
|
177
178
|
{ "name": "--vscode-focusBorder", "values": [] },
|
|
178
179
|
{ "name": "--vscode-inputValidation-errorBackground", "values": [] },
|
|
179
180
|
{ "name": "--vscode-inputValidation-errorBorder", "values": [] },
|
|
180
|
-
{ "name": "--vscode-progressBar-background", "values": [] },
|
|
181
181
|
{ "name": "--vscode-scrollbar-shadow", "values": [] },
|
|
182
182
|
{ "name": "--vscode-scrollbarSlider-background", "values": [] },
|
|
183
183
|
{ "name": "--vscode-scrollbarSlider-hoverBackground", "values": [] },
|
|
@@ -29,6 +29,11 @@
|
|
|
29
29
|
"description": "Button has a less prominent style.",
|
|
30
30
|
"values": []
|
|
31
31
|
},
|
|
32
|
+
{
|
|
33
|
+
"name": "block",
|
|
34
|
+
"description": "Makes the button fill its container and use VS Code's block sizing,\nsimilar to the Source Control \"Commit\" action.",
|
|
35
|
+
"values": []
|
|
36
|
+
},
|
|
32
37
|
{ "name": "disabled", "values": [] },
|
|
33
38
|
{
|
|
34
39
|
"name": "icon",
|
|
@@ -135,19 +140,6 @@
|
|
|
135
140
|
],
|
|
136
141
|
"references": []
|
|
137
142
|
},
|
|
138
|
-
{
|
|
139
|
-
"name": "vscode-context-menu",
|
|
140
|
-
"description": "\n---\n\n\n### **Events:**\n - **vsc-menu-select** - Emitted when a menu item is clicked\n\n### **CSS Properties:**\n - **--vscode-font-family** - undefined _(default: sans-serif)_\n- **--vscode-font-size** - undefined _(default: 13px)_\n- **--vscode-font-weight** - undefined _(default: normal)_\n- **--vscode-menu-background** - undefined _(default: #1f1f1f)_\n- **--vscode-menu-border** - undefined _(default: #454545)_\n- **--vscode-menu-foreground** - undefined _(default: #cccccc)_\n- **--vscode-widget-shadow** - undefined _(default: rgba(0, 0, 0, 0.36))_",
|
|
141
|
-
"attributes": [
|
|
142
|
-
{
|
|
143
|
-
"name": "prevent-close",
|
|
144
|
-
"description": "By default, the menu closes when an item is clicked. This attribute prevents the menu from closing.",
|
|
145
|
-
"values": []
|
|
146
|
-
},
|
|
147
|
-
{ "name": "show", "values": [] }
|
|
148
|
-
],
|
|
149
|
-
"references": []
|
|
150
|
-
},
|
|
151
143
|
{
|
|
152
144
|
"name": "vscode-collapsible",
|
|
153
145
|
"description": "Allows users to reveal or hide related content on a page.\n---\n\n\n### **Events:**\n - **vsc-collapsible-toggle** - Dispatched when the content visibility is changed.\n\n### **Slots:**\n - _default_ - Main content.\n- **actions** - You can place any action icon in this slot in the header, but it's also possible to use any HTML element in it. It's only visible when the component is open.\n- **decorations** - The elements placed in the decorations slot are always visible.\n\n### **CSS Properties:**\n - **--vscode-sideBar-background** - Background color _(default: #181818)_\n- **--vscode-focusBorder** - Focus border color _(default: #0078d4)_\n- **--vscode-font-family** - Header font family _(default: sans-serif)_\n- **--vscode-sideBarSectionHeader-background** - Header background _(default: #181818)_\n- **--vscode-icon-foreground** - Arrow icon color _(default: #cccccc)_\n- **--vscode-sideBarTitle-foreground** - Header font color _(default: #cccccc)_\n\n### **CSS Parts:**\n - **body** - Container for the toggleable content of the component. The container's overflow content is hidden by default. This CSS part can serve as an escape hatch to modify this behavior.",
|
|
@@ -172,6 +164,31 @@
|
|
|
172
164
|
],
|
|
173
165
|
"references": []
|
|
174
166
|
},
|
|
167
|
+
{
|
|
168
|
+
"name": "vscode-context-menu",
|
|
169
|
+
"description": "\n---\n\n\n### **Events:**\n - **vsc-menu-select** - Emitted when a menu item is clicked\n\n### **CSS Properties:**\n - **--vscode-font-family** - undefined _(default: sans-serif)_\n- **--vscode-font-size** - undefined _(default: 13px)_\n- **--vscode-font-weight** - undefined _(default: normal)_\n- **--vscode-menu-background** - undefined _(default: #1f1f1f)_\n- **--vscode-menu-border** - undefined _(default: #454545)_\n- **--vscode-menu-foreground** - undefined _(default: #cccccc)_\n- **--vscode-widget-shadow** - undefined _(default: rgba(0, 0, 0, 0.36))_",
|
|
170
|
+
"attributes": [
|
|
171
|
+
{
|
|
172
|
+
"name": "prevent-close",
|
|
173
|
+
"description": "By default, the menu closes when an item is clicked. This attribute prevents the menu from closing.",
|
|
174
|
+
"values": []
|
|
175
|
+
},
|
|
176
|
+
{ "name": "show", "values": [] }
|
|
177
|
+
],
|
|
178
|
+
"references": []
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"name": "vscode-context-menu-item",
|
|
182
|
+
"description": "\n---\n\n\n### **CSS Properties:**\n - **--vscode-font-family** - undefined _(default: sans-serif)_\n- **--vscode-font-size** - undefined _(default: 13px)_\n- **--vscode-font-weight** - undefined _(default: normal)_\n- **--vscode-menu-background** - undefined _(default: #1f1f1f)_\n- **--vscode-menu-selectionBorder** - undefined _(default: transparent)_\n- **--vscode-menu-foreground** - undefined _(default: #cccccc)_\n- **--vscode-menu-selectionBackground** - undefined _(default: #0078d4)_\n- **--vscode-menu-selectionForeground** - undefined _(default: #ffffff)_\n- **--vscode-menu-separatorBackground** - undefined _(default: #454545)_",
|
|
183
|
+
"attributes": [
|
|
184
|
+
{ "name": "label", "values": [] },
|
|
185
|
+
{ "name": "keybinding", "values": [] },
|
|
186
|
+
{ "name": "value", "values": [] },
|
|
187
|
+
{ "name": "separator", "values": [] },
|
|
188
|
+
{ "name": "tabindex", "values": [] }
|
|
189
|
+
],
|
|
190
|
+
"references": []
|
|
191
|
+
},
|
|
175
192
|
{
|
|
176
193
|
"name": "vscode-divider",
|
|
177
194
|
"description": "\n---\n\n\n### **CSS Properties:**\n - **--vscode-foreground** - undefined _(default: #cccccc)_",
|
|
@@ -192,18 +209,6 @@
|
|
|
192
209
|
],
|
|
193
210
|
"references": []
|
|
194
211
|
},
|
|
195
|
-
{
|
|
196
|
-
"name": "vscode-context-menu-item",
|
|
197
|
-
"description": "\n---\n\n\n### **CSS Properties:**\n - **--vscode-font-family** - undefined _(default: sans-serif)_\n- **--vscode-font-size** - undefined _(default: 13px)_\n- **--vscode-font-weight** - undefined _(default: normal)_\n- **--vscode-menu-background** - undefined _(default: #1f1f1f)_\n- **--vscode-menu-selectionBorder** - undefined _(default: transparent)_\n- **--vscode-menu-foreground** - undefined _(default: #cccccc)_\n- **--vscode-menu-selectionBackground** - undefined _(default: #0078d4)_\n- **--vscode-menu-selectionForeground** - undefined _(default: #ffffff)_\n- **--vscode-menu-separatorBackground** - undefined _(default: #454545)_",
|
|
198
|
-
"attributes": [
|
|
199
|
-
{ "name": "label", "values": [] },
|
|
200
|
-
{ "name": "keybinding", "values": [] },
|
|
201
|
-
{ "name": "value", "values": [] },
|
|
202
|
-
{ "name": "separator", "values": [] },
|
|
203
|
-
{ "name": "tabindex", "values": [] }
|
|
204
|
-
],
|
|
205
|
-
"references": []
|
|
206
|
-
},
|
|
207
212
|
{
|
|
208
213
|
"name": "vscode-form-group",
|
|
209
214
|
"description": "\n---\n\n\n### **CSS Properties:**\n - **--label-width** - The width of the label in horizontal mode _(default: 150px)_\n- **--label-right-margin** - The right margin of the label in horizontal mode _(default: 14px)_",
|
|
@@ -361,6 +366,16 @@
|
|
|
361
366
|
],
|
|
362
367
|
"references": []
|
|
363
368
|
},
|
|
369
|
+
{
|
|
370
|
+
"name": "vscode-progress-ring",
|
|
371
|
+
"description": "\n---\n\n\n### **CSS Properties:**\n - **--vscode-progressBar-background** - undefined _(default: #0078d4)_",
|
|
372
|
+
"attributes": [
|
|
373
|
+
{ "name": "aria-label", "values": [] },
|
|
374
|
+
{ "name": "aria-live", "values": [] },
|
|
375
|
+
{ "name": "role", "values": [] }
|
|
376
|
+
],
|
|
377
|
+
"references": []
|
|
378
|
+
},
|
|
364
379
|
{
|
|
365
380
|
"name": "vscode-radio",
|
|
366
381
|
"description": "When participating in a form, it supports the `:invalid` pseudo class. Otherwise the error styles\ncan be applied through the `invalid` property.\n---\n\n\n### **Events:**\n - **change** - Dispatched when checked state is changed.\n- **invalid** - Dispatched when the element is invalid and `checkValidity()` has been called or the form containing this element is submitted. [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/invalid_event)\n\n### **CSS Properties:**\n - **--vscode-font-family** - undefined _(default: sans-serif)_\n- **--vscode-font-size** - undefined _(default: 13px)_\n- **--vscode-font-weight** - undefined _(default: normal)_\n- **--vscode-settings-checkboxBackground** - undefined _(default: #313131)_\n- **--vscode-settings-checkboxBorder** - undefined _(default: #3c3c3c)_\n- **--vscode-settings-checkboxForeground** - undefined _(default: #cccccc)_\n- **--vscode-focusBorder** - undefined _(default: #0078d4)_\n- **--vscode-inputValidation-errorBackground** - undefined _(default: #5a1d1d)_\n- **--vscode-inputValidation-errorBorder** - undefined _(default: #be1100)_",
|
|
@@ -386,16 +401,6 @@
|
|
|
386
401
|
],
|
|
387
402
|
"references": []
|
|
388
403
|
},
|
|
389
|
-
{
|
|
390
|
-
"name": "vscode-progress-ring",
|
|
391
|
-
"description": "\n---\n\n\n### **CSS Properties:**\n - **--vscode-progressBar-background** - undefined _(default: #0078d4)_",
|
|
392
|
-
"attributes": [
|
|
393
|
-
{ "name": "aria-label", "values": [] },
|
|
394
|
-
{ "name": "aria-live", "values": [] },
|
|
395
|
-
{ "name": "role", "values": [] }
|
|
396
|
-
],
|
|
397
|
-
"references": []
|
|
398
|
-
},
|
|
399
404
|
{
|
|
400
405
|
"name": "vscode-radio-group",
|
|
401
406
|
"description": "\n---\n\n\n### **Events:**\n - **change** - Dispatched when a child radio button is changed.",
|
|
@@ -545,6 +550,16 @@
|
|
|
545
550
|
"name": "fixed-pane",
|
|
546
551
|
"description": "The size of the fixed pane will not change when the component is resized.",
|
|
547
552
|
"values": [{ "name": "start" }, { "name": "end" }, { "name": "none" }]
|
|
553
|
+
},
|
|
554
|
+
{
|
|
555
|
+
"name": "min-start",
|
|
556
|
+
"description": "Minimum size of the start pane expressed in `px` or `%`.",
|
|
557
|
+
"values": []
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
"name": "min-end",
|
|
561
|
+
"description": "Minimum size of the end pane expressed in `px` or `%`.",
|
|
562
|
+
"values": []
|
|
548
563
|
}
|
|
549
564
|
],
|
|
550
565
|
"references": []
|