@vscode-elements/elements 2.3.1 → 2.3.2-pre.1

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.
Files changed (50) hide show
  1. package/README.md +3 -1
  2. package/custom-elements.json +1301 -879
  3. package/dist/bundled.js +255 -73
  4. package/dist/includes/VscElement.js +1 -1
  5. package/dist/includes/VscElement.js.map +1 -1
  6. package/dist/includes/vscode-select/OptionListController.d.ts +1 -1
  7. package/dist/includes/vscode-select/OptionListController.d.ts.map +1 -1
  8. package/dist/includes/vscode-select/OptionListController.js +1 -1
  9. package/dist/includes/vscode-select/OptionListController.js.map +1 -1
  10. package/dist/includes/vscode-select/vscode-select-base.d.ts +2 -0
  11. package/dist/includes/vscode-select/vscode-select-base.d.ts.map +1 -1
  12. package/dist/includes/vscode-select/vscode-select-base.js +9 -1
  13. package/dist/includes/vscode-select/vscode-select-base.js.map +1 -1
  14. package/dist/vscode-button/vscode-button.d.ts +5 -0
  15. package/dist/vscode-button/vscode-button.d.ts.map +1 -1
  16. package/dist/vscode-button/vscode-button.js +8 -0
  17. package/dist/vscode-button/vscode-button.js.map +1 -1
  18. package/dist/vscode-button/vscode-button.styles.d.ts.map +1 -1
  19. package/dist/vscode-button/vscode-button.styles.js +11 -0
  20. package/dist/vscode-button/vscode-button.styles.js.map +1 -1
  21. package/dist/vscode-collapsible/vscode-collapsible.d.ts +1 -0
  22. package/dist/vscode-collapsible/vscode-collapsible.d.ts.map +1 -1
  23. package/dist/vscode-collapsible/vscode-collapsible.js +4 -1
  24. package/dist/vscode-collapsible/vscode-collapsible.js.map +1 -1
  25. package/dist/vscode-collapsible/vscode-collapsible.styles.d.ts.map +1 -1
  26. package/dist/vscode-collapsible/vscode-collapsible.styles.js +4 -0
  27. package/dist/vscode-collapsible/vscode-collapsible.styles.js.map +1 -1
  28. package/dist/vscode-split-layout/vscode-split-layout.d.ts +18 -0
  29. package/dist/vscode-split-layout/vscode-split-layout.d.ts.map +1 -1
  30. package/dist/vscode-split-layout/vscode-split-layout.js +87 -14
  31. package/dist/vscode-split-layout/vscode-split-layout.js.map +1 -1
  32. package/dist/vscode-tree/tree-context.d.ts +1 -0
  33. package/dist/vscode-tree/tree-context.d.ts.map +1 -1
  34. package/dist/vscode-tree/tree-context.js.map +1 -1
  35. package/dist/vscode-tree/vscode-tree.d.ts +1 -1
  36. package/dist/vscode-tree/vscode-tree.d.ts.map +1 -1
  37. package/dist/vscode-tree/vscode-tree.js +4 -3
  38. package/dist/vscode-tree/vscode-tree.js.map +1 -1
  39. package/dist/vscode-tree/vscode-tree.styles.js +1 -1
  40. package/dist/vscode-tree/vscode-tree.styles.js.map +1 -1
  41. package/dist/vscode-tree-item/vscode-tree-item.d.ts +28 -1
  42. package/dist/vscode-tree-item/vscode-tree-item.d.ts.map +1 -1
  43. package/dist/vscode-tree-item/vscode-tree-item.js +257 -22
  44. package/dist/vscode-tree-item/vscode-tree-item.js.map +1 -1
  45. package/dist/vscode-tree-item/vscode-tree-item.styles.d.ts.map +1 -1
  46. package/dist/vscode-tree-item/vscode-tree-item.styles.js +147 -6
  47. package/dist/vscode-tree-item/vscode-tree-item.styles.js.map +1 -1
  48. package/package.json +12 -8
  49. package/vscode.css-custom-data.json +24 -24
  50. package/vscode.html-custom-data.json +69 -54
@@ -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=\"arrow-icon-container\"\n >\n ${arrowIcon}\n </div>`\n : nothing}\n <div class=${classMap(iconContainerClasses)} part=\"icon-container\">\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,cAsJb,CAAC;AAEF,eAAe,MAAM,CAAC"}
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
+ line-height: 22px;
37
+ min-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
- margin-bottom: 3px;
96
- margin-top: 3px;
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
- height: 16px;
106
- margin-right: 6px;
107
- width: 16px;
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;
140
172
  overflow: hidden;
141
173
  text-overflow: ellipsis;
142
174
  white-space: nowrap;
143
175
  }
144
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;
201
+ overflow: hidden;
202
+ text-overflow: ellipsis;
203
+ white-space: nowrap;
204
+ }
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,4BAA4B,CAAC;AAEvD,MAAM,MAAM,GAAmB;IAC7B,aAAa;IACb,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmJF;CACF,CAAC;AAEF,eAAe,MAAM,CAAC","sourcesContent":["import {CSSResultGroup, css} from 'lit';\nimport defaultStyles from '../includes/default.styles';\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 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 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 margin-bottom: 3px;\n margin-top: 3px;\n overflow: hidden;\n }\n\n .icon-container slot {\n display: block;\n }\n\n .icon-container.has-icon {\n height: 16px;\n margin-right: 6px;\n width: 16px;\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 line-height: 22px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\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"]}
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 line-height: 22px;\n min-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.1",
3
+ "version": "2.3.2-pre.1",
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 --no-warn-ignored",
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": "^1.8.0",
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.10.4",
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.40",
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": "^4.0.3",
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": "^18.0.0",
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",
@@ -2,6 +2,21 @@
2
2
  "$schema": "https://raw.githubusercontent.com/microsoft/vscode-css-languageservice/main/docs/customData.schema.json",
3
3
  "version": 1.1,
4
4
  "properties": [
5
+ { "name": "--vscode-button-background", "values": [] },
6
+ { "name": "--vscode-button-foreground", "values": [] },
7
+ { "name": "--vscode-button-border", "values": [] },
8
+ { "name": "--vscode-button-hoverBackground", "values": [] },
9
+ {
10
+ "name": "--vscode-font-family",
11
+ "description": "A sans-serif font type depends on the host OS.",
12
+ "values": []
13
+ },
14
+ { "name": "--vscode-font-size", "values": [] },
15
+ { "name": "--vscode-font-weight", "values": [] },
16
+ { "name": "--vscode-button-secondaryForeground", "values": [] },
17
+ { "name": "--vscode-button-secondaryBackground", "values": [] },
18
+ { "name": "--vscode-button-secondaryHoverBackground", "values": [] },
19
+ { "name": "--vscode-focusBorder", "values": [] },
5
20
  {
6
21
  "name": "--vscode-font-family",
7
22
  "description": "A sans-serif font type depends on the host OS.",
@@ -43,21 +58,6 @@
43
58
  { "name": "--vscode-button-secondaryBackground", "values": [] },
44
59
  { "name": "--vscode-button-secondaryHoverBackground", "values": [] },
45
60
  { "name": "--vscode-focusBorder", "values": [] },
46
- { "name": "--vscode-button-background", "values": [] },
47
- { "name": "--vscode-button-foreground", "values": [] },
48
- { "name": "--vscode-button-border", "values": [] },
49
- { "name": "--vscode-button-hoverBackground", "values": [] },
50
- {
51
- "name": "--vscode-font-family",
52
- "description": "A sans-serif font type depends on the host OS.",
53
- "values": []
54
- },
55
- { "name": "--vscode-font-size", "values": [] },
56
- { "name": "--vscode-font-weight", "values": [] },
57
- { "name": "--vscode-button-secondaryForeground", "values": [] },
58
- { "name": "--vscode-button-secondaryBackground", "values": [] },
59
- { "name": "--vscode-button-secondaryHoverBackground", "values": [] },
60
- { "name": "--vscode-focusBorder", "values": [] },
61
61
  { "name": "--vscode-font-family", "values": [] },
62
62
  { "name": "--vscode-font-size", "values": [] },
63
63
  { "name": "--vscode-font-weight", "values": [] },
@@ -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-foreground", "values": [] },
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": [] },