@vscode-elements/elements 2.0.0-pre.4 → 2.0.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.
Files changed (77) hide show
  1. package/custom-elements.json +4428 -4374
  2. package/dist/bundled.js +92 -57
  3. package/dist/includes/VscElement.js +1 -1
  4. package/dist/includes/VscElement.js.map +1 -1
  5. package/dist/includes/vscode-select/styles.d.ts.map +1 -1
  6. package/dist/includes/vscode-select/styles.js +4 -3
  7. package/dist/includes/vscode-select/styles.js.map +1 -1
  8. package/dist/vscode-collapsible/vscode-collapsible.d.ts +11 -2
  9. package/dist/vscode-collapsible/vscode-collapsible.d.ts.map +1 -1
  10. package/dist/vscode-collapsible/vscode-collapsible.js +16 -4
  11. package/dist/vscode-collapsible/vscode-collapsible.js.map +1 -1
  12. package/dist/vscode-scrollable/vscode-scrollable.d.ts.map +1 -1
  13. package/dist/vscode-scrollable/vscode-scrollable.js +7 -8
  14. package/dist/vscode-scrollable/vscode-scrollable.js.map +1 -1
  15. package/dist/vscode-tab-header/vscode-tab-header.d.ts +5 -6
  16. package/dist/vscode-tab-header/vscode-tab-header.d.ts.map +1 -1
  17. package/dist/vscode-tab-header/vscode-tab-header.js +5 -6
  18. package/dist/vscode-tab-header/vscode-tab-header.js.map +1 -1
  19. package/dist/vscode-tab-header/vscode-tab-header.styles.js +8 -8
  20. package/dist/vscode-tab-header/vscode-tab-header.styles.js.map +1 -1
  21. package/dist/vscode-tab-panel/vscode-tab-panel.d.ts +2 -2
  22. package/dist/vscode-tab-panel/vscode-tab-panel.js +2 -2
  23. package/dist/vscode-tab-panel/vscode-tab-panel.js.map +1 -1
  24. package/dist/vscode-tab-panel/vscode-tab-panel.styles.js +2 -2
  25. package/dist/vscode-tab-panel/vscode-tab-panel.styles.js.map +1 -1
  26. package/dist/vscode-table/vscode-table.d.ts +3 -7
  27. package/dist/vscode-table/vscode-table.d.ts.map +1 -1
  28. package/dist/vscode-table/vscode-table.js +3 -7
  29. package/dist/vscode-table/vscode-table.js.map +1 -1
  30. package/dist/vscode-table/vscode-table.styles.d.ts.map +1 -1
  31. package/dist/vscode-table/vscode-table.styles.js +17 -5
  32. package/dist/vscode-table/vscode-table.styles.js.map +1 -1
  33. package/dist/vscode-table-body/vscode-table-body.d.ts +0 -2
  34. package/dist/vscode-table-body/vscode-table-body.d.ts.map +1 -1
  35. package/dist/vscode-table-body/vscode-table-body.js +0 -2
  36. package/dist/vscode-table-body/vscode-table-body.js.map +1 -1
  37. package/dist/vscode-table-cell/vscode-table-cell.d.ts +4 -4
  38. package/dist/vscode-table-cell/vscode-table-cell.js +4 -4
  39. package/dist/vscode-table-cell/vscode-table-cell.js.map +1 -1
  40. package/dist/vscode-table-cell/vscode-table-cell.styles.d.ts.map +1 -1
  41. package/dist/vscode-table-cell/vscode-table-cell.styles.js +7 -4
  42. package/dist/vscode-table-cell/vscode-table-cell.styles.js.map +1 -1
  43. package/dist/vscode-table-header/vscode-table-header.d.ts +1 -1
  44. package/dist/vscode-table-header/vscode-table-header.js +1 -1
  45. package/dist/vscode-table-header/vscode-table-header.js.map +1 -1
  46. package/dist/vscode-table-header/vscode-table-header.styles.d.ts.map +1 -1
  47. package/dist/vscode-table-header/vscode-table-header.styles.js +4 -1
  48. package/dist/vscode-table-header/vscode-table-header.styles.js.map +1 -1
  49. package/dist/vscode-table-header-cell/vscode-table-header-cell.d.ts +3 -3
  50. package/dist/vscode-table-header-cell/vscode-table-header-cell.js +3 -3
  51. package/dist/vscode-table-header-cell/vscode-table-header-cell.js.map +1 -1
  52. package/dist/vscode-table-header-cell/vscode-table-header-cell.styles.js +3 -3
  53. package/dist/vscode-table-header-cell/vscode-table-header-cell.styles.js.map +1 -1
  54. package/dist/vscode-table-row/vscode-table-row.d.ts +1 -1
  55. package/dist/vscode-table-row/vscode-table-row.js +1 -1
  56. package/dist/vscode-table-row/vscode-table-row.js.map +1 -1
  57. package/dist/vscode-table-row/vscode-table-row.styles.d.ts.map +1 -1
  58. package/dist/vscode-table-row/vscode-table-row.styles.js +4 -1
  59. package/dist/vscode-table-row/vscode-table-row.styles.js.map +1 -1
  60. package/dist/vscode-tabs/vscode-tabs.d.ts +5 -5
  61. package/dist/vscode-tabs/vscode-tabs.js +5 -5
  62. package/dist/vscode-tabs/vscode-tabs.js.map +1 -1
  63. package/dist/vscode-tabs/vscode-tabs.styles.js +5 -5
  64. package/dist/vscode-tabs/vscode-tabs.styles.js.map +1 -1
  65. package/dist/vscode-tree/vscode-tree.d.ts +12 -0
  66. package/dist/vscode-tree/vscode-tree.d.ts.map +1 -1
  67. package/dist/vscode-tree/vscode-tree.js +12 -0
  68. package/dist/vscode-tree/vscode-tree.js.map +1 -1
  69. package/dist/vscode-tree/vscode-tree.styles.d.ts.map +1 -1
  70. package/dist/vscode-tree/vscode-tree.styles.js +13 -6
  71. package/dist/vscode-tree/vscode-tree.styles.js.map +1 -1
  72. package/dist/vscode-tree-item/vscode-tree-item.styles.d.ts.map +1 -1
  73. package/dist/vscode-tree-item/vscode-tree-item.styles.js +16 -9
  74. package/dist/vscode-tree-item/vscode-tree-item.styles.js.map +1 -1
  75. package/package.json +1 -1
  76. package/vscode.css-custom-data.json +38 -33
  77. package/vscode.html-custom-data.json +86 -90
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-tabs.js","sourceRoot":"","sources":["../../src/vscode-tabs/vscode-tabs.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAE,qBAAqB,EAAC,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAC,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AACrD,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAC;AAC5D,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAI7C;;;;;;;;;;;;;;GAcG;AAEI,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,UAAU;IAWxC;QACE,KAAK,EAAE,CAAC;QAVV;;WAEG;QAEH,UAAK,GAAG,KAAK,CAAC;QAGd,kBAAa,GAAG,CAAC,CAAC;QA8BV,gBAAW,GAAsB,EAAE,CAAC;QAEpC,eAAU,GAAqB,EAAE,CAAC;QAElC,iBAAY,GAAG,EAAE,CAAC;QAElB,cAAS,GAAG,CAAC,CAAC;QAhCpB,IAAI,CAAC,YAAY,GAAG,QAAQ,EAAE,CAAC;IACjC,CAAC;IAEQ,wBAAwB,CAC/B,IAAY,EACZ,GAAkB,EAClB,KAAoB;QAEpB,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAEjD,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAgBO,oBAAoB;QAC1B,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,iBAAiB,EAAE;YACjC,MAAM,EAAE;gBACN,aAAa,EAAE,IAAI,CAAC,aAAa;aAClC;YACD,QAAQ,EAAE,IAAI;SACf,CAAuB,CACzB,CAAC;IACJ,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;QAEpC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YAChC,EAAE,CAAC,MAAM,GAAG,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAmB,EAAE,CAAC,EAAE,EAAE;YAClD,EAAE,CAAC,MAAM,GAAG,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,EAAiB;QACxC,IAAI,EAAE,CAAC,GAAG,KAAK,WAAW,IAAI,EAAE,CAAC,GAAG,KAAK,YAAY,EAAE,CAAC;YACtD,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAEhE,IAAI,EAAE,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;gBAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,CAAC;iBAAM,IAAI,EAAE,CAAC,GAAG,KAAK,YAAY,EAAE,CAAC;gBACnC,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAC/D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;QAC3C,CAAC;QAED,IAAI,EAAE,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACvB,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;YACpC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAEO,wBAAwB;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAC3C,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,eAAe,CACjB,CAAC;QAEvB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAEhC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAC7C,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,cAAc,CACjB,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YAChC,EAAE,CAAC,cAAc,GAAG,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YAClD,EAAE,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YACtC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAChD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,eAAe,CACjB,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YACjC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;YACb,EAAE,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YACtC,EAAE,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YAChD,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACtB,EAAE,CAAC,MAAM,GAAG,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,KAAiB;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,CAAC,EAAE,EAAE,EAAE,CAAE,EAAsB,YAAY,eAAe,CAC3D,CAAC;QAEF,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,aAAa,GAAI,QAA4B,CAAC,KAAK,CAAC;YACzD,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAA;;gBAEC,QAAQ,CAAC,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC,CAAC;iBAC1C,IAAI,CAAC,cAAc;mBACjB,IAAI,CAAC,gBAAgB;;;;;0BAKd,IAAI,CAAC,mBAAmB;;;;;;0BAMxB,IAAI,CAAC,iBAAiB;KAC3C,CAAC;IACJ,CAAC;;AAhLe,iBAAM,GAAG,MAAM,AAAT,CAAU;AAKhC;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;yCAC3B;AAGd;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAC,CAAC;iDACnD;AAyBV;IADP,qBAAqB,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC;uDACA;AAGhC;IADP,qBAAqB,EAAE;qDACc;AArC3B,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CAkLtB","sourcesContent":["import {html, TemplateResult} from 'lit';\nimport {property, queryAssignedElements} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport uniqueId from '../includes/uniqueId.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport {VscodeTabHeader} from '../vscode-tab-header/index.js';\nimport {VscodeTabPanel} from '../vscode-tab-panel/index.js';\nimport styles from './vscode-tabs.styles.js';\n\nexport type VscTabsSelectEvent = CustomEvent<{selectedIndex: number}>;\n\n/**\n * @tag vscode-tabs\n *\n * @slot - Default slot. It is used for tab panels.\n * @slot header - Slot for tab headers.\n * @slot addons - Right aligned area in the header.\n *\n * @fires {VscTabSelectEvent} vsc-tabs-select - Dispatched when the active tab is changed\n *\n * @cssprop --vscode-font-family\n * @cssprop --vscode-font-size\n * @cssprop --vscode-font-weight\n * @cssprop --vscode-settings-headerBorder\n * @cssprop --vscode-panel-background\n */\n@customElement('vscode-tabs')\nexport class VscodeTabs extends VscElement {\n static override styles = styles;\n /**\n * Panel-like look\n */\n @property({type: Boolean, reflect: true})\n panel = false;\n\n @property({type: Number, reflect: true, attribute: 'selected-index'})\n selectedIndex = 0;\n\n constructor() {\n super();\n this._componentId = uniqueId();\n }\n\n override attributeChangedCallback(\n name: string,\n old: string | null,\n value: string | null\n ): void {\n super.attributeChangedCallback(name, old, value);\n\n if (name === 'selected-index') {\n this._setActiveTab();\n }\n\n if (name === 'panel') {\n this._tabHeaders.forEach((h) => (h.panel = value !== null));\n this._tabPanels.forEach((p) => (p.panel = value !== null));\n }\n }\n\n @queryAssignedElements({slot: 'header'})\n private _headerSlotElements!: Element[];\n\n @queryAssignedElements()\n private _mainSlotElements!: Element[];\n\n private _tabHeaders: VscodeTabHeader[] = [];\n\n private _tabPanels: VscodeTabPanel[] = [];\n\n private _componentId = '';\n\n private _tabFocus = 0;\n\n private _dispatchSelectEvent() {\n this.dispatchEvent(\n new CustomEvent('vsc-tabs-select', {\n detail: {\n selectedIndex: this.selectedIndex,\n },\n composed: true,\n }) as VscTabsSelectEvent\n );\n }\n\n private _setActiveTab() {\n this._tabFocus = this.selectedIndex;\n\n this._tabPanels.forEach((el, i) => {\n el.hidden = i !== this.selectedIndex;\n });\n\n this._tabHeaders.forEach((el: VscodeTabHeader, i) => {\n el.active = i === this.selectedIndex;\n });\n }\n\n private _focusPrevTab() {\n if (this._tabFocus === 0) {\n this._tabFocus = this._tabHeaders.length - 1;\n } else {\n this._tabFocus -= 1;\n }\n }\n\n private _focusNextTab() {\n if (this._tabFocus === this._tabHeaders.length - 1) {\n this._tabFocus = 0;\n } else {\n this._tabFocus += 1;\n }\n }\n\n private _onHeaderKeyDown(ev: KeyboardEvent) {\n if (ev.key === 'ArrowLeft' || ev.key === 'ArrowRight') {\n ev.preventDefault();\n this._tabHeaders[this._tabFocus].setAttribute('tabindex', '-1');\n\n if (ev.key === 'ArrowLeft') {\n this._focusPrevTab();\n } else if (ev.key === 'ArrowRight') {\n this._focusNextTab();\n }\n\n this._tabHeaders[this._tabFocus].setAttribute('tabindex', '0');\n this._tabHeaders[this._tabFocus].focus();\n }\n\n if (ev.key === 'Enter') {\n ev.preventDefault();\n this.selectedIndex = this._tabFocus;\n this._dispatchSelectEvent();\n }\n }\n\n private _moveHeadersToHeaderSlot() {\n const headers = this._mainSlotElements.filter(\n (el) => el instanceof VscodeTabHeader\n ) as VscodeTabHeader[];\n\n if (headers.length > 0) {\n headers.forEach((h) => h.setAttribute('slot', 'header'));\n }\n }\n\n private _onMainSlotChange() {\n this._moveHeadersToHeaderSlot();\n\n this._tabPanels = this._mainSlotElements.filter(\n (el) => el instanceof VscodeTabPanel\n ) as VscodeTabPanel[];\n this._tabPanels.forEach((el, i) => {\n el.ariaLabelledby = `t${this._componentId}-h${i}`;\n el.id = `t${this._componentId}-p${i}`;\n el.panel = this.panel;\n });\n\n this._setActiveTab();\n }\n\n private _onHeaderSlotChange() {\n this._tabHeaders = this._headerSlotElements.filter(\n (el) => el instanceof VscodeTabHeader\n ) as VscodeTabHeader[];\n this._tabHeaders.forEach((el, i) => {\n el.tabId = i;\n el.id = `t${this._componentId}-h${i}`;\n el.ariaControls = `t${this._componentId}-p${i}`;\n el.panel = this.panel;\n el.active = i === this.selectedIndex;\n });\n }\n\n private _onHeaderClick(event: MouseEvent) {\n const path = event.composedPath();\n const headerEl = path.find(\n (et) => (et as VscodeTabHeader) instanceof VscodeTabHeader\n );\n\n if (headerEl) {\n this.selectedIndex = (headerEl as VscodeTabHeader).tabId;\n this._setActiveTab();\n this._dispatchSelectEvent();\n }\n }\n\n override render(): TemplateResult {\n return html`\n <div\n class=${classMap({header: true, panel: this.panel})}\n @click=${this._onHeaderClick}\n @keydown=${this._onHeaderKeyDown}\n >\n <div role=\"tablist\" class=\"tablist\">\n <slot\n name=\"header\"\n @slotchange=${this._onHeaderSlotChange}\n role=\"tablist\"\n ></slot>\n </div>\n <slot name=\"addons\"></slot>\n </div>\n <slot @slotchange=${this._onMainSlotChange}></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-tabs': VscodeTabs;\n }\n\n interface GlobalEventHandlersEventMap {\n 'vsc-tabs-select': VscTabsSelectEvent;\n }\n}\n"]}
1
+ {"version":3,"file":"vscode-tabs.js","sourceRoot":"","sources":["../../src/vscode-tabs/vscode-tabs.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, TemplateResult} from 'lit';\nimport {property, queryAssignedElements} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport uniqueId from '../includes/uniqueId.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport {VscodeTabHeader} from '../vscode-tab-header/index.js';\nimport {VscodeTabPanel} from '../vscode-tab-panel/index.js';\nimport styles from './vscode-tabs.styles.js';\n\nexport type VscTabsSelectEvent = CustomEvent<{selectedIndex: number}>;\n\n/**\n * @tag vscode-tabs\n *\n * @slot - Default slot. It is used for tab panels.\n * @slot header - Slot for tab headers.\n * @slot addons - Right aligned area in the header.\n *\n * @fires {VscTabSelectEvent} vsc-tabs-select - Dispatched when the active tab is changed\n *\n * @cssprop [--vscode-font-family=sans-serif]\n * @cssprop [--vscode-font-size=13px]\n * @cssprop [--vscode-font-weight=normal]\n * @cssprop [--vscode-settings-headerBorder=#2b2b2b]\n * @cssprop [--vscode-panel-background=#181818]\n */\n@customElement('vscode-tabs')\nexport class VscodeTabs extends VscElement {\n static override styles = styles;\n /**\n * Panel-like look\n */\n @property({type: Boolean, reflect: true})\n panel = false;\n\n @property({type: Number, reflect: true, attribute: 'selected-index'})\n selectedIndex = 0;\n\n constructor() {\n super();\n this._componentId = uniqueId();\n }\n\n override attributeChangedCallback(\n name: string,\n old: string | null,\n value: string | null\n ): void {\n super.attributeChangedCallback(name, old, value);\n\n if (name === 'selected-index') {\n this._setActiveTab();\n }\n\n if (name === 'panel') {\n this._tabHeaders.forEach((h) => (h.panel = value !== null));\n this._tabPanels.forEach((p) => (p.panel = value !== null));\n }\n }\n\n @queryAssignedElements({slot: 'header'})\n private _headerSlotElements!: Element[];\n\n @queryAssignedElements()\n private _mainSlotElements!: Element[];\n\n private _tabHeaders: VscodeTabHeader[] = [];\n\n private _tabPanels: VscodeTabPanel[] = [];\n\n private _componentId = '';\n\n private _tabFocus = 0;\n\n private _dispatchSelectEvent() {\n this.dispatchEvent(\n new CustomEvent('vsc-tabs-select', {\n detail: {\n selectedIndex: this.selectedIndex,\n },\n composed: true,\n }) as VscTabsSelectEvent\n );\n }\n\n private _setActiveTab() {\n this._tabFocus = this.selectedIndex;\n\n this._tabPanels.forEach((el, i) => {\n el.hidden = i !== this.selectedIndex;\n });\n\n this._tabHeaders.forEach((el: VscodeTabHeader, i) => {\n el.active = i === this.selectedIndex;\n });\n }\n\n private _focusPrevTab() {\n if (this._tabFocus === 0) {\n this._tabFocus = this._tabHeaders.length - 1;\n } else {\n this._tabFocus -= 1;\n }\n }\n\n private _focusNextTab() {\n if (this._tabFocus === this._tabHeaders.length - 1) {\n this._tabFocus = 0;\n } else {\n this._tabFocus += 1;\n }\n }\n\n private _onHeaderKeyDown(ev: KeyboardEvent) {\n if (ev.key === 'ArrowLeft' || ev.key === 'ArrowRight') {\n ev.preventDefault();\n this._tabHeaders[this._tabFocus].setAttribute('tabindex', '-1');\n\n if (ev.key === 'ArrowLeft') {\n this._focusPrevTab();\n } else if (ev.key === 'ArrowRight') {\n this._focusNextTab();\n }\n\n this._tabHeaders[this._tabFocus].setAttribute('tabindex', '0');\n this._tabHeaders[this._tabFocus].focus();\n }\n\n if (ev.key === 'Enter') {\n ev.preventDefault();\n this.selectedIndex = this._tabFocus;\n this._dispatchSelectEvent();\n }\n }\n\n private _moveHeadersToHeaderSlot() {\n const headers = this._mainSlotElements.filter(\n (el) => el instanceof VscodeTabHeader\n ) as VscodeTabHeader[];\n\n if (headers.length > 0) {\n headers.forEach((h) => h.setAttribute('slot', 'header'));\n }\n }\n\n private _onMainSlotChange() {\n this._moveHeadersToHeaderSlot();\n\n this._tabPanels = this._mainSlotElements.filter(\n (el) => el instanceof VscodeTabPanel\n ) as VscodeTabPanel[];\n this._tabPanels.forEach((el, i) => {\n el.ariaLabelledby = `t${this._componentId}-h${i}`;\n el.id = `t${this._componentId}-p${i}`;\n el.panel = this.panel;\n });\n\n this._setActiveTab();\n }\n\n private _onHeaderSlotChange() {\n this._tabHeaders = this._headerSlotElements.filter(\n (el) => el instanceof VscodeTabHeader\n ) as VscodeTabHeader[];\n this._tabHeaders.forEach((el, i) => {\n el.tabId = i;\n el.id = `t${this._componentId}-h${i}`;\n el.ariaControls = `t${this._componentId}-p${i}`;\n el.panel = this.panel;\n el.active = i === this.selectedIndex;\n });\n }\n\n private _onHeaderClick(event: MouseEvent) {\n const path = event.composedPath();\n const headerEl = path.find(\n (et) => (et as VscodeTabHeader) instanceof VscodeTabHeader\n );\n\n if (headerEl) {\n this.selectedIndex = (headerEl as VscodeTabHeader).tabId;\n this._setActiveTab();\n this._dispatchSelectEvent();\n }\n }\n\n override render(): TemplateResult {\n return html`\n <div\n class=${classMap({header: true, panel: this.panel})}\n @click=${this._onHeaderClick}\n @keydown=${this._onHeaderKeyDown}\n >\n <div role=\"tablist\" class=\"tablist\">\n <slot\n name=\"header\"\n @slotchange=${this._onHeaderSlotChange}\n role=\"tablist\"\n ></slot>\n </div>\n <slot name=\"addons\"></slot>\n </div>\n <slot @slotchange=${this._onMainSlotChange}></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-tabs': VscodeTabs;\n }\n\n interface GlobalEventHandlersEventMap {\n 'vsc-tabs-select': VscTabsSelectEvent;\n }\n}\n"]}
@@ -10,20 +10,20 @@ const styles = [
10
10
  .header {
11
11
  align-items: center;
12
12
  display: flex;
13
- font-family: var(--vscode-font-family);
14
- font-size: var(--vscode-font-size);
15
- font-weight: var(--vscode-font-weight);
13
+ font-family: var(--vscode-font-family, sans-serif);
14
+ font-size: var(--vscode-font-size, 13px);
15
+ font-weight: var(--vscode-font-weight, normal);
16
16
  width: 100%;
17
17
  }
18
18
 
19
19
  .header {
20
- border-bottom-color: var(--vscode-settings-headerBorder);
20
+ border-bottom-color: var(--vscode-settings-headerBorder, #2b2b2b);
21
21
  border-bottom-style: solid;
22
22
  border-bottom-width: 1px;
23
23
  }
24
24
 
25
25
  .header.panel {
26
- background-color: var(--vscode-panel-background);
26
+ background-color: var(--vscode-panel-background, #181818);
27
27
  border-bottom-width: 0;
28
28
  box-sizing: border-box;
29
29
  padding-left: 8px;
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-tabs.styles.js","sourceRoot":"","sources":["../../src/vscode-tabs/vscode-tabs.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAiB,MAAM,KAAK,CAAC;AACxC,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAE1D,MAAM,MAAM,GAAmB;IAC7B,aAAa;IACb,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCF;CACF,CAAC;AAEF,eAAe,MAAM,CAAC","sourcesContent":["import {css, CSSResultGroup} from 'lit';\nimport defaultStyles from '../includes/default.styles.js';\n\nconst styles: CSSResultGroup = [\n defaultStyles,\n css`\n :host {\n display: block;\n }\n\n .header {\n align-items: center;\n display: flex;\n font-family: var(--vscode-font-family);\n font-size: var(--vscode-font-size);\n font-weight: var(--vscode-font-weight);\n width: 100%;\n }\n\n .header {\n border-bottom-color: var(--vscode-settings-headerBorder);\n border-bottom-style: solid;\n border-bottom-width: 1px;\n }\n\n .header.panel {\n background-color: var(--vscode-panel-background);\n border-bottom-width: 0;\n box-sizing: border-box;\n padding-left: 8px;\n padding-right: 8px;\n }\n\n .tablist {\n display: flex;\n margin-bottom: -1px;\n }\n\n slot[name='addons'] {\n display: block;\n margin-left: auto;\n }\n `,\n];\n\nexport default styles;\n"]}
1
+ {"version":3,"file":"vscode-tabs.styles.js","sourceRoot":"","sources":["../../src/vscode-tabs/vscode-tabs.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAiB,MAAM,KAAK,CAAC;AACxC,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAE1D,MAAM,MAAM,GAAmB;IAC7B,aAAa;IACb,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCF;CACF,CAAC;AAEF,eAAe,MAAM,CAAC","sourcesContent":["import {css, CSSResultGroup} from 'lit';\nimport defaultStyles from '../includes/default.styles.js';\n\nconst styles: CSSResultGroup = [\n defaultStyles,\n css`\n :host {\n display: block;\n }\n\n .header {\n align-items: center;\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 width: 100%;\n }\n\n .header {\n border-bottom-color: var(--vscode-settings-headerBorder, #2b2b2b);\n border-bottom-style: solid;\n border-bottom-width: 1px;\n }\n\n .header.panel {\n background-color: var(--vscode-panel-background, #181818);\n border-bottom-width: 0;\n box-sizing: border-box;\n padding-left: 8px;\n padding-right: 8px;\n }\n\n .tablist {\n display: flex;\n margin-bottom: -1px;\n }\n\n slot[name='addons'] {\n display: block;\n margin-left: auto;\n }\n `,\n];\n\nexport default styles;\n"]}
@@ -17,6 +17,18 @@ export declare const IndentGuides: {
17
17
  export type IndentGuideDisplay = (typeof IndentGuides)[keyof typeof IndentGuides];
18
18
  /**
19
19
  * @tag vscode-tree
20
+ *
21
+ * @cssprop [--vscode-font-family=sans-serif]
22
+ * @cssprop [--vscode-font-size=13px]
23
+ * @cssprop [--vscode-font-weight=normal]
24
+ * @cssprop [--vscode-foreground=#cccccc]
25
+ * @cssprop [--vscode-icon-foreground=#cccccc]
26
+ * @cssprop [--vscode-list-focusAndSelectionOutline=#0078d4]
27
+ * @cssprop [--vscode-list-focusOutline=#0078d4]
28
+ * @cssprop [--vscode-list-hoverBackground=#2a2d2e]
29
+ * @cssprop [--vscode-list-hoverForeground=#cccccc]
30
+ * @cssprop [--vscode-tree-inactiveIndentGuidesStroke=rgba(88, 88, 88, 0.4)]
31
+ * @cssprop [--vscode-tree-indentGuidesStroke=#585858]
20
32
  */
21
33
  export declare class VscodeTree extends VscElement {
22
34
  static styles: import("lit").CSSResultGroup;
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-tree.d.ts","sourceRoot":"","sources":["../../src/vscode-tree/vscode-tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,cAAc,EAAO,MAAM,KAAK,CAAC;AAGzD,OAAO,EAAgB,UAAU,EAAC,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAexD,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC;IAAC,aAAa,EAAE,cAAc,EAAE,CAAA;CAAC,CAAC,CAAC;AAEhF,eAAO,MAAM,UAAU;;;CAGb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAEtE,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAC5B,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAuBnD;;GAEG;AACH,qBACa,UAAW,SAAQ,UAAU;IACxC,OAAgB,MAAM,+BAAU;IAIhC;;;;;;;;;;;;;OAaG;IAEH,UAAU,EAAE,UAAU,CAAiB;IAEvC;;;;OAIG;IAEH,UAAU,EAAE,OAAO,CAAS;IAE5B;;;OAGG;IAEH,MAAM,EAAE,MAAM,CAAK;IAEnB;;;;;;;;;;;;;OAaG;IAOH,YAAY,EAAE,kBAAkB,CAAa;IAE7C;;OAEG;IAEH,WAAW,EAAE,OAAO,CAAS;IAO7B,OAAO,CAAC,iBAAiB,CAiBvB;IAGF,OAAO,CAAC,cAAc,CAMpB;IAGF,OAAO,CAAC,kBAAkB,CAAoB;;IAarC,iBAAiB,IAAI,IAAI;cAMf,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAY5E;;OAEG;IACH,SAAS;IAUT;;OAEG;IACH,WAAW;IAUX;;;;OAIG;IACH,uBAAuB;IASvB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,2BAA2B;IAcnC,OAAO,CAAC,sBAAsB;IAmB9B,OAAO,CAAC,oBAAoB;IAwB5B,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,qBAAqB;IA4B7B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,uBAAuB,CA8B7B;IAEF,OAAO,CAAC,qBAAqB,CAI3B;IAEF,OAAO,CAAC,iBAAiB,CAevB;IAIO,MAAM,IAAI,cAAc;CAKlC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;IAED,UAAU,2BAA2B;QACnC,iBAAiB,EAAE,kBAAkB,CAAC;KACvC;CACF"}
1
+ {"version":3,"file":"vscode-tree.d.ts","sourceRoot":"","sources":["../../src/vscode-tree/vscode-tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,cAAc,EAAO,MAAM,KAAK,CAAC;AAGzD,OAAO,EAAgB,UAAU,EAAC,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAexD,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC;IAAC,aAAa,EAAE,cAAc,EAAE,CAAA;CAAC,CAAC,CAAC;AAEhF,eAAO,MAAM,UAAU;;;CAGb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAEtE,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAC5B,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAuBnD;;;;;;;;;;;;;;GAcG;AACH,qBACa,UAAW,SAAQ,UAAU;IACxC,OAAgB,MAAM,+BAAU;IAIhC;;;;;;;;;;;;;OAaG;IAEH,UAAU,EAAE,UAAU,CAAiB;IAEvC;;;;OAIG;IAEH,UAAU,EAAE,OAAO,CAAS;IAE5B;;;OAGG;IAEH,MAAM,EAAE,MAAM,CAAK;IAEnB;;;;;;;;;;;;;OAaG;IAOH,YAAY,EAAE,kBAAkB,CAAa;IAE7C;;OAEG;IAEH,WAAW,EAAE,OAAO,CAAS;IAO7B,OAAO,CAAC,iBAAiB,CAiBvB;IAGF,OAAO,CAAC,cAAc,CAMpB;IAGF,OAAO,CAAC,kBAAkB,CAAoB;;IAarC,iBAAiB,IAAI,IAAI;cAMf,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAY5E;;OAEG;IACH,SAAS;IAUT;;OAEG;IACH,WAAW;IAUX;;;;OAIG;IACH,uBAAuB;IASvB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,2BAA2B;IAcnC,OAAO,CAAC,sBAAsB;IAmB9B,OAAO,CAAC,oBAAoB;IAwB5B,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,qBAAqB;IA4B7B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,uBAAuB,CA8B7B;IAEF,OAAO,CAAC,qBAAqB,CAI3B;IAEF,OAAO,CAAC,iBAAiB,CAevB;IAIO,MAAM,IAAI,cAAc;CAKlC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;IAED,UAAU,2BAA2B;QACnC,iBAAiB,EAAE,kBAAkB,CAAC;KACvC;CACF"}
@@ -32,6 +32,18 @@ const listenedKeys = [
32
32
  ];
33
33
  /**
34
34
  * @tag vscode-tree
35
+ *
36
+ * @cssprop [--vscode-font-family=sans-serif]
37
+ * @cssprop [--vscode-font-size=13px]
38
+ * @cssprop [--vscode-font-weight=normal]
39
+ * @cssprop [--vscode-foreground=#cccccc]
40
+ * @cssprop [--vscode-icon-foreground=#cccccc]
41
+ * @cssprop [--vscode-list-focusAndSelectionOutline=#0078d4]
42
+ * @cssprop [--vscode-list-focusOutline=#0078d4]
43
+ * @cssprop [--vscode-list-hoverBackground=#2a2d2e]
44
+ * @cssprop [--vscode-list-hoverForeground=#cccccc]
45
+ * @cssprop [--vscode-tree-inactiveIndentGuidesStroke=rgba(88, 88, 88, 0.4)]
46
+ * @cssprop [--vscode-tree-indentGuidesStroke=#585858]
35
47
  */
36
48
  let VscodeTree = class VscodeTree extends VscElement {
37
49
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-tree.js","sourceRoot":"","sources":["../../src/vscode-tree/vscode-tree.ts"],"names":[],"mappings":"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","sourcesContent":["import {PropertyValues, TemplateResult, html} from 'lit';\nimport {provide} from '@lit/context';\nimport {property, queryAssignedElements} from 'lit/decorators.js';\nimport {customElement, VscElement} from '../includes/VscElement';\nimport type {VscodeTreeItem} from '../vscode-tree-item';\nimport styles from './vscode-tree.styles';\nimport {\n ConfigContext,\n configContext,\n treeContext,\n type TreeContext,\n} from './tree-context';\nimport {\n findNextItem,\n findPrevItem,\n findParentItem,\n initPathTrackerProps,\n} from './helpers.js';\n\nexport type VscTreeSelectEvent = CustomEvent<{selectedItems: VscodeTreeItem[]}>;\n\nexport const ExpandMode = {\n singleClick: 'singleClick',\n doubleClick: 'doubleClick',\n} as const;\n\nexport type ExpandMode = (typeof ExpandMode)[keyof typeof ExpandMode];\n\nexport const IndentGuides = {\n none: 'none',\n onHover: 'onHover',\n always: 'always',\n} as const;\n\nexport type IndentGuideDisplay =\n (typeof IndentGuides)[keyof typeof IndentGuides];\n\ntype ListenedKey =\n | 'ArrowDown'\n | 'ArrowUp'\n | 'ArrowLeft'\n | 'ArrowRight'\n | 'Enter'\n | 'Escape'\n | 'Shift'\n | ' ';\n\nconst listenedKeys: ListenedKey[] = [\n ' ',\n 'ArrowDown',\n 'ArrowUp',\n 'ArrowLeft',\n 'ArrowRight',\n 'Enter',\n 'Escape',\n 'Shift',\n];\n\n/**\n * @tag vscode-tree\n */\n@customElement('vscode-tree')\nexport class VscodeTree extends VscElement {\n static override styles = styles;\n\n //#region properties\n\n /**\n * Controls how tree folders are expanded when clicked. This property is designed to use\n * the `workbench.tree.expandMode` setting.\n *\n * Valid options are available as constants.\n *\n * ```javascript\n * import {ExpandMode} from '@vscode-elements/elements/dist/vscode-tree/vscode-tree.js';\n *\n * document.querySelector('vscode-tree').expandMode = ExpandMode.singleClick;\n * ```\n *\n * @type {'singleClick' | 'doubleClick'}\n */\n @property({type: String, attribute: 'expand-mode'})\n expandMode: ExpandMode = 'singleClick';\n\n /**\n * Although arrows are always visible in the Tree component by default in VSCode, some icon sets\n * (e.g., Material Icon Theme) allow disabling them in the file explorer view. This flag makes it\n * possible to mimic that behavior.\n */\n @property({type: Boolean, reflect: true, attribute: 'hide-arrows'})\n hideArrows: boolean = false;\n\n /**\n * Controls the indentation in pixels. This property is designed to use the\n * `workbench.tree.indent` setting.\n */\n @property({type: Number, reflect: true})\n indent: number = 8;\n\n /**\n * Controls whether the tree should render indent guides. This property is\n * designed to use the `workbench.tree.renderIndentGuides` setting.\n *\n * Valid options are available as constants.\n *\n * ```javascript\n * import {IndentGuides} from '@vscode-elements/elements/dist/vscode-tree/vscode-tree.js';\n *\n * document.querySelector('vscode-tree').expandMode = IndentGuides.onHover;\n * ```\n *\n * @type {'none' | 'onHover' | 'always'}\n */\n @property({\n type: String,\n attribute: 'indent-guides',\n useDefault: true,\n reflect: true,\n })\n indentGuides: IndentGuideDisplay = 'onHover';\n\n /**\n * Allows selecting multiple items.\n */\n @property({type: Boolean, reflect: true, attribute: 'multi-select'})\n multiSelect: boolean = false;\n\n //#endregion\n\n //#region private variables\n\n @provide({context: treeContext})\n private _treeContextState: TreeContext = {\n isShiftPressed: false,\n activeItem: null,\n selectedItems: new Set(),\n allItems: null,\n itemListUpToDate: false,\n focusedItem: null,\n prevFocusedItem: null,\n hasBranchItem: false,\n rootElement: this,\n highlightedItems: new Set(),\n highlightIndentGuides: () => {\n this._highlightIndentGuides();\n },\n emitSelectEvent: () => {\n this._emitSelectEvent();\n },\n };\n\n @provide({context: configContext})\n private _configContext: ConfigContext = {\n hideArrows: this.hideArrows,\n expandMode: this.expandMode,\n indent: this.indent,\n indentGuides: this.indentGuides,\n multiSelect: this.multiSelect,\n };\n\n @queryAssignedElements({selector: 'vscode-tree-item'})\n private _assignedTreeItems!: VscodeTreeItem[];\n\n //#endregion\n\n //#region lifecycle methods\n\n constructor() {\n super();\n\n this.addEventListener('keyup', this._handleComponentKeyUp);\n this.addEventListener('keydown', this._handleComponentKeyDown);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this.role = 'tree';\n }\n\n protected override willUpdate(changedProperties: PropertyValues<this>): void {\n this._updateConfigContext(changedProperties);\n\n if (changedProperties.has('multiSelect')) {\n this.ariaMultiSelectable = this.multiSelect ? 'true' : 'false';\n }\n }\n\n //#endregion\n\n //#region public methods\n\n /**\n * Expands all folders.\n */\n expandAll() {\n const children = this.querySelectorAll<VscodeTreeItem>('vscode-tree-item');\n\n children.forEach((item) => {\n if (item.branch) {\n item.open = true;\n }\n });\n }\n\n /**\n * Collapses all folders.\n */\n collapseAll() {\n const children = this.querySelectorAll<VscodeTreeItem>('vscode-tree-item');\n\n children.forEach((item) => {\n if (item.branch) {\n item.open = false;\n }\n });\n }\n\n /**\n * @internal\n * Updates `hasBranchItem` property in the context state in order to removing\n * extra padding before the leaf elements, if it is required.\n */\n updateHasBranchItemFlag() {\n const hasBranchItem = this._assignedTreeItems.some((li) => li.branch);\n this._treeContextState = {...this._treeContextState, hasBranchItem};\n }\n\n //#endregion\n\n //#region private methods\n\n private _emitSelectEvent() {\n const ev = new CustomEvent('vsc-tree-select', {\n detail: Array.from(this._treeContextState.selectedItems),\n });\n\n this.dispatchEvent(ev);\n }\n\n private _highlightIndentGuideOfItem(item: VscodeTreeItem) {\n if (item.branch && item.open) {\n item.highlightedGuides = true;\n this._treeContextState.highlightedItems?.add(item);\n } else {\n const parent = findParentItem(item);\n\n if (parent) {\n parent.highlightedGuides = true;\n this._treeContextState.highlightedItems?.add(parent);\n }\n }\n }\n\n private _highlightIndentGuides() {\n if (this.indentGuides === IndentGuides.none) {\n return;\n }\n\n this._treeContextState.highlightedItems?.forEach(\n (i) => (i.highlightedGuides = false)\n );\n this._treeContextState.highlightedItems?.clear();\n\n if (this._treeContextState.activeItem) {\n this._highlightIndentGuideOfItem(this._treeContextState.activeItem);\n }\n\n this._treeContextState.selectedItems.forEach((item) => {\n this._highlightIndentGuideOfItem(item);\n });\n }\n\n private _updateConfigContext(changedProperties: PropertyValues) {\n const {hideArrows, expandMode, indent, indentGuides, multiSelect} = this;\n\n if (changedProperties.has('hideArrows')) {\n this._configContext = {...this._configContext, hideArrows};\n }\n\n if (changedProperties.has('expandMode')) {\n this._configContext = {...this._configContext, expandMode};\n }\n\n if (changedProperties.has('indent')) {\n this._configContext = {...this._configContext, indent};\n }\n\n if (changedProperties.has('indentGuides')) {\n this._configContext = {...this._configContext, indentGuides};\n }\n\n if (changedProperties.has('multiSelect')) {\n this._configContext = {...this._configContext, multiSelect};\n }\n }\n\n private _focusItem(item: VscodeTreeItem) {\n item.active = true;\n\n item.updateComplete.then(() => {\n item.focus();\n this._highlightIndentGuides();\n });\n }\n\n private _focusPrevItem() {\n if (this._treeContextState.focusedItem) {\n const item = findPrevItem(this._treeContextState.focusedItem);\n\n if (item) {\n this._focusItem(item);\n\n if (this._treeContextState.isShiftPressed && this.multiSelect) {\n item.selected = !item.selected;\n this._emitSelectEvent();\n }\n }\n }\n }\n\n private _focusNextItem() {\n if (this._treeContextState.focusedItem) {\n const item = findNextItem(this._treeContextState.focusedItem);\n\n if (item) {\n this._focusItem(item);\n\n if (this._treeContextState.isShiftPressed && this.multiSelect) {\n item.selected = !item.selected;\n this._emitSelectEvent();\n }\n }\n }\n }\n\n //#endregion\n\n //#region event handlers\n\n private _handleArrowRightPress() {\n if (!this._treeContextState.focusedItem) {\n return;\n }\n\n const {focusedItem} = this._treeContextState;\n\n if (focusedItem.branch) {\n if (focusedItem.open) {\n this._focusNextItem();\n } else {\n focusedItem.open = true;\n }\n }\n }\n\n private _handleArrowLeftPress(ev: KeyboardEvent) {\n if (ev.ctrlKey) {\n this.collapseAll();\n return;\n }\n\n if (!this._treeContextState.focusedItem) {\n return;\n }\n\n const {focusedItem} = this._treeContextState;\n const parent = findParentItem(focusedItem);\n\n if (!focusedItem.branch) {\n if (parent && parent.branch) {\n this._focusItem(parent);\n }\n } else {\n if (focusedItem.open) {\n focusedItem.open = false;\n } else {\n if (parent && parent.branch) {\n this._focusItem(parent);\n }\n }\n }\n }\n\n private _handleArrowDownPress() {\n if (this._treeContextState.focusedItem) {\n this._focusNextItem();\n } else {\n this._focusItem(this._assignedTreeItems[0]);\n }\n }\n\n private _handleArrowUpPress() {\n if (this._treeContextState.focusedItem) {\n this._focusPrevItem();\n } else {\n this._focusItem(this._assignedTreeItems[0]);\n }\n }\n\n private _handleEnterPress() {\n const {focusedItem} = this._treeContextState;\n\n if (focusedItem) {\n this._treeContextState.selectedItems.forEach(\n (li) => (li.selected = false)\n );\n this._treeContextState.selectedItems.clear();\n this._highlightIndentGuides();\n\n focusedItem.selected = true;\n this._emitSelectEvent();\n\n if (focusedItem.branch) {\n focusedItem.open = !focusedItem.open;\n }\n }\n }\n\n private _handleShiftPress() {\n this._treeContextState.isShiftPressed = true;\n }\n\n private _handleComponentKeyDown = (ev: KeyboardEvent) => {\n const key = ev.key as ListenedKey;\n\n if (listenedKeys.includes(key)) {\n ev.stopPropagation();\n ev.preventDefault();\n }\n\n switch (key) {\n case ' ':\n case 'Enter':\n this._handleEnterPress();\n break;\n case 'ArrowDown':\n this._handleArrowDownPress();\n break;\n case 'ArrowLeft':\n this._handleArrowLeftPress(ev);\n break;\n case 'ArrowRight':\n this._handleArrowRightPress();\n break;\n case 'ArrowUp':\n this._handleArrowUpPress();\n break;\n case 'Shift':\n this._handleShiftPress();\n break;\n default:\n }\n };\n\n private _handleComponentKeyUp = (ev: KeyboardEvent) => {\n if (ev.key === 'Shift') {\n this._treeContextState.isShiftPressed = false;\n }\n };\n\n private _handleSlotChange = () => {\n this._treeContextState.itemListUpToDate = false;\n initPathTrackerProps(this, this._assignedTreeItems);\n\n this.updateComplete.then(() => {\n if (this._treeContextState.activeItem === null) {\n const firstChild = this.querySelector<VscodeTreeItem>(\n ':scope > vscode-tree-item'\n );\n\n if (firstChild) {\n firstChild.active = true;\n }\n }\n });\n };\n\n //#endregion\n\n override render(): TemplateResult {\n return html`<div>\n <slot @slotchange=${this._handleSlotChange}></slot>\n </div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-tree': VscodeTree;\n }\n\n interface GlobalEventHandlersEventMap {\n 'vsc-tree-select': VscTreeSelectEvent;\n }\n}\n"]}
1
+ {"version":3,"file":"vscode-tree.js","sourceRoot":"","sources":["../../src/vscode-tree/vscode-tree.ts"],"names":[],"mappings":"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","sourcesContent":["import {PropertyValues, TemplateResult, html} from 'lit';\nimport {provide} from '@lit/context';\nimport {property, queryAssignedElements} from 'lit/decorators.js';\nimport {customElement, VscElement} from '../includes/VscElement';\nimport type {VscodeTreeItem} from '../vscode-tree-item';\nimport styles from './vscode-tree.styles';\nimport {\n ConfigContext,\n configContext,\n treeContext,\n type TreeContext,\n} from './tree-context';\nimport {\n findNextItem,\n findPrevItem,\n findParentItem,\n initPathTrackerProps,\n} from './helpers.js';\n\nexport type VscTreeSelectEvent = CustomEvent<{selectedItems: VscodeTreeItem[]}>;\n\nexport const ExpandMode = {\n singleClick: 'singleClick',\n doubleClick: 'doubleClick',\n} as const;\n\nexport type ExpandMode = (typeof ExpandMode)[keyof typeof ExpandMode];\n\nexport const IndentGuides = {\n none: 'none',\n onHover: 'onHover',\n always: 'always',\n} as const;\n\nexport type IndentGuideDisplay =\n (typeof IndentGuides)[keyof typeof IndentGuides];\n\ntype ListenedKey =\n | 'ArrowDown'\n | 'ArrowUp'\n | 'ArrowLeft'\n | 'ArrowRight'\n | 'Enter'\n | 'Escape'\n | 'Shift'\n | ' ';\n\nconst listenedKeys: ListenedKey[] = [\n ' ',\n 'ArrowDown',\n 'ArrowUp',\n 'ArrowLeft',\n 'ArrowRight',\n 'Enter',\n 'Escape',\n 'Shift',\n];\n\n/**\n * @tag vscode-tree\n *\n * @cssprop [--vscode-font-family=sans-serif]\n * @cssprop [--vscode-font-size=13px]\n * @cssprop [--vscode-font-weight=normal]\n * @cssprop [--vscode-foreground=#cccccc]\n * @cssprop [--vscode-icon-foreground=#cccccc]\n * @cssprop [--vscode-list-focusAndSelectionOutline=#0078d4]\n * @cssprop [--vscode-list-focusOutline=#0078d4]\n * @cssprop [--vscode-list-hoverBackground=#2a2d2e]\n * @cssprop [--vscode-list-hoverForeground=#cccccc]\n * @cssprop [--vscode-tree-inactiveIndentGuidesStroke=rgba(88, 88, 88, 0.4)]\n * @cssprop [--vscode-tree-indentGuidesStroke=#585858]\n */\n@customElement('vscode-tree')\nexport class VscodeTree extends VscElement {\n static override styles = styles;\n\n //#region properties\n\n /**\n * Controls how tree folders are expanded when clicked. This property is designed to use\n * the `workbench.tree.expandMode` setting.\n *\n * Valid options are available as constants.\n *\n * ```javascript\n * import {ExpandMode} from '@vscode-elements/elements/dist/vscode-tree/vscode-tree.js';\n *\n * document.querySelector('vscode-tree').expandMode = ExpandMode.singleClick;\n * ```\n *\n * @type {'singleClick' | 'doubleClick'}\n */\n @property({type: String, attribute: 'expand-mode'})\n expandMode: ExpandMode = 'singleClick';\n\n /**\n * Although arrows are always visible in the Tree component by default in VSCode, some icon sets\n * (e.g., Material Icon Theme) allow disabling them in the file explorer view. This flag makes it\n * possible to mimic that behavior.\n */\n @property({type: Boolean, reflect: true, attribute: 'hide-arrows'})\n hideArrows: boolean = false;\n\n /**\n * Controls the indentation in pixels. This property is designed to use the\n * `workbench.tree.indent` setting.\n */\n @property({type: Number, reflect: true})\n indent: number = 8;\n\n /**\n * Controls whether the tree should render indent guides. This property is\n * designed to use the `workbench.tree.renderIndentGuides` setting.\n *\n * Valid options are available as constants.\n *\n * ```javascript\n * import {IndentGuides} from '@vscode-elements/elements/dist/vscode-tree/vscode-tree.js';\n *\n * document.querySelector('vscode-tree').expandMode = IndentGuides.onHover;\n * ```\n *\n * @type {'none' | 'onHover' | 'always'}\n */\n @property({\n type: String,\n attribute: 'indent-guides',\n useDefault: true,\n reflect: true,\n })\n indentGuides: IndentGuideDisplay = 'onHover';\n\n /**\n * Allows selecting multiple items.\n */\n @property({type: Boolean, reflect: true, attribute: 'multi-select'})\n multiSelect: boolean = false;\n\n //#endregion\n\n //#region private variables\n\n @provide({context: treeContext})\n private _treeContextState: TreeContext = {\n isShiftPressed: false,\n activeItem: null,\n selectedItems: new Set(),\n allItems: null,\n itemListUpToDate: false,\n focusedItem: null,\n prevFocusedItem: null,\n hasBranchItem: false,\n rootElement: this,\n highlightedItems: new Set(),\n highlightIndentGuides: () => {\n this._highlightIndentGuides();\n },\n emitSelectEvent: () => {\n this._emitSelectEvent();\n },\n };\n\n @provide({context: configContext})\n private _configContext: ConfigContext = {\n hideArrows: this.hideArrows,\n expandMode: this.expandMode,\n indent: this.indent,\n indentGuides: this.indentGuides,\n multiSelect: this.multiSelect,\n };\n\n @queryAssignedElements({selector: 'vscode-tree-item'})\n private _assignedTreeItems!: VscodeTreeItem[];\n\n //#endregion\n\n //#region lifecycle methods\n\n constructor() {\n super();\n\n this.addEventListener('keyup', this._handleComponentKeyUp);\n this.addEventListener('keydown', this._handleComponentKeyDown);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this.role = 'tree';\n }\n\n protected override willUpdate(changedProperties: PropertyValues<this>): void {\n this._updateConfigContext(changedProperties);\n\n if (changedProperties.has('multiSelect')) {\n this.ariaMultiSelectable = this.multiSelect ? 'true' : 'false';\n }\n }\n\n //#endregion\n\n //#region public methods\n\n /**\n * Expands all folders.\n */\n expandAll() {\n const children = this.querySelectorAll<VscodeTreeItem>('vscode-tree-item');\n\n children.forEach((item) => {\n if (item.branch) {\n item.open = true;\n }\n });\n }\n\n /**\n * Collapses all folders.\n */\n collapseAll() {\n const children = this.querySelectorAll<VscodeTreeItem>('vscode-tree-item');\n\n children.forEach((item) => {\n if (item.branch) {\n item.open = false;\n }\n });\n }\n\n /**\n * @internal\n * Updates `hasBranchItem` property in the context state in order to removing\n * extra padding before the leaf elements, if it is required.\n */\n updateHasBranchItemFlag() {\n const hasBranchItem = this._assignedTreeItems.some((li) => li.branch);\n this._treeContextState = {...this._treeContextState, hasBranchItem};\n }\n\n //#endregion\n\n //#region private methods\n\n private _emitSelectEvent() {\n const ev = new CustomEvent('vsc-tree-select', {\n detail: Array.from(this._treeContextState.selectedItems),\n });\n\n this.dispatchEvent(ev);\n }\n\n private _highlightIndentGuideOfItem(item: VscodeTreeItem) {\n if (item.branch && item.open) {\n item.highlightedGuides = true;\n this._treeContextState.highlightedItems?.add(item);\n } else {\n const parent = findParentItem(item);\n\n if (parent) {\n parent.highlightedGuides = true;\n this._treeContextState.highlightedItems?.add(parent);\n }\n }\n }\n\n private _highlightIndentGuides() {\n if (this.indentGuides === IndentGuides.none) {\n return;\n }\n\n this._treeContextState.highlightedItems?.forEach(\n (i) => (i.highlightedGuides = false)\n );\n this._treeContextState.highlightedItems?.clear();\n\n if (this._treeContextState.activeItem) {\n this._highlightIndentGuideOfItem(this._treeContextState.activeItem);\n }\n\n this._treeContextState.selectedItems.forEach((item) => {\n this._highlightIndentGuideOfItem(item);\n });\n }\n\n private _updateConfigContext(changedProperties: PropertyValues) {\n const {hideArrows, expandMode, indent, indentGuides, multiSelect} = this;\n\n if (changedProperties.has('hideArrows')) {\n this._configContext = {...this._configContext, hideArrows};\n }\n\n if (changedProperties.has('expandMode')) {\n this._configContext = {...this._configContext, expandMode};\n }\n\n if (changedProperties.has('indent')) {\n this._configContext = {...this._configContext, indent};\n }\n\n if (changedProperties.has('indentGuides')) {\n this._configContext = {...this._configContext, indentGuides};\n }\n\n if (changedProperties.has('multiSelect')) {\n this._configContext = {...this._configContext, multiSelect};\n }\n }\n\n private _focusItem(item: VscodeTreeItem) {\n item.active = true;\n\n item.updateComplete.then(() => {\n item.focus();\n this._highlightIndentGuides();\n });\n }\n\n private _focusPrevItem() {\n if (this._treeContextState.focusedItem) {\n const item = findPrevItem(this._treeContextState.focusedItem);\n\n if (item) {\n this._focusItem(item);\n\n if (this._treeContextState.isShiftPressed && this.multiSelect) {\n item.selected = !item.selected;\n this._emitSelectEvent();\n }\n }\n }\n }\n\n private _focusNextItem() {\n if (this._treeContextState.focusedItem) {\n const item = findNextItem(this._treeContextState.focusedItem);\n\n if (item) {\n this._focusItem(item);\n\n if (this._treeContextState.isShiftPressed && this.multiSelect) {\n item.selected = !item.selected;\n this._emitSelectEvent();\n }\n }\n }\n }\n\n //#endregion\n\n //#region event handlers\n\n private _handleArrowRightPress() {\n if (!this._treeContextState.focusedItem) {\n return;\n }\n\n const {focusedItem} = this._treeContextState;\n\n if (focusedItem.branch) {\n if (focusedItem.open) {\n this._focusNextItem();\n } else {\n focusedItem.open = true;\n }\n }\n }\n\n private _handleArrowLeftPress(ev: KeyboardEvent) {\n if (ev.ctrlKey) {\n this.collapseAll();\n return;\n }\n\n if (!this._treeContextState.focusedItem) {\n return;\n }\n\n const {focusedItem} = this._treeContextState;\n const parent = findParentItem(focusedItem);\n\n if (!focusedItem.branch) {\n if (parent && parent.branch) {\n this._focusItem(parent);\n }\n } else {\n if (focusedItem.open) {\n focusedItem.open = false;\n } else {\n if (parent && parent.branch) {\n this._focusItem(parent);\n }\n }\n }\n }\n\n private _handleArrowDownPress() {\n if (this._treeContextState.focusedItem) {\n this._focusNextItem();\n } else {\n this._focusItem(this._assignedTreeItems[0]);\n }\n }\n\n private _handleArrowUpPress() {\n if (this._treeContextState.focusedItem) {\n this._focusPrevItem();\n } else {\n this._focusItem(this._assignedTreeItems[0]);\n }\n }\n\n private _handleEnterPress() {\n const {focusedItem} = this._treeContextState;\n\n if (focusedItem) {\n this._treeContextState.selectedItems.forEach(\n (li) => (li.selected = false)\n );\n this._treeContextState.selectedItems.clear();\n this._highlightIndentGuides();\n\n focusedItem.selected = true;\n this._emitSelectEvent();\n\n if (focusedItem.branch) {\n focusedItem.open = !focusedItem.open;\n }\n }\n }\n\n private _handleShiftPress() {\n this._treeContextState.isShiftPressed = true;\n }\n\n private _handleComponentKeyDown = (ev: KeyboardEvent) => {\n const key = ev.key as ListenedKey;\n\n if (listenedKeys.includes(key)) {\n ev.stopPropagation();\n ev.preventDefault();\n }\n\n switch (key) {\n case ' ':\n case 'Enter':\n this._handleEnterPress();\n break;\n case 'ArrowDown':\n this._handleArrowDownPress();\n break;\n case 'ArrowLeft':\n this._handleArrowLeftPress(ev);\n break;\n case 'ArrowRight':\n this._handleArrowRightPress();\n break;\n case 'ArrowUp':\n this._handleArrowUpPress();\n break;\n case 'Shift':\n this._handleShiftPress();\n break;\n default:\n }\n };\n\n private _handleComponentKeyUp = (ev: KeyboardEvent) => {\n if (ev.key === 'Shift') {\n this._treeContextState.isShiftPressed = false;\n }\n };\n\n private _handleSlotChange = () => {\n this._treeContextState.itemListUpToDate = false;\n initPathTrackerProps(this, this._assignedTreeItems);\n\n this.updateComplete.then(() => {\n if (this._treeContextState.activeItem === null) {\n const firstChild = this.querySelector<VscodeTreeItem>(\n ':scope > vscode-tree-item'\n );\n\n if (firstChild) {\n firstChild.active = true;\n }\n }\n });\n };\n\n //#endregion\n\n override render(): TemplateResult {\n return html`<div>\n <slot @slotchange=${this._handleSlotChange}></slot>\n </div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-tree': VscodeTree;\n }\n\n interface GlobalEventHandlersEventMap {\n 'vsc-tree-select': VscTreeSelectEvent;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-tree.styles.d.ts","sourceRoot":"","sources":["../../src/vscode-tree/vscode-tree.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAM,MAAM,KAAK,CAAC;AAGxC,QAAA,MAAM,MAAM,EAAE,cAiDb,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"vscode-tree.styles.d.ts","sourceRoot":"","sources":["../../src/vscode-tree/vscode-tree.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAM,MAAM,KAAK,CAAC;AAGxC,QAAA,MAAM,MAAM,EAAE,cAwDb,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -6,10 +6,14 @@ const styles = [
6
6
  :host {
7
7
  --vsc-tree-item-arrow-display: flex;
8
8
  --internal-selectionBackground: var(
9
- --vscode-list-inactiveSelectionBackground
9
+ --vscode-list-inactiveSelectionBackground,
10
+ #37373d
11
+ );
12
+ --internal-selectionForeground: var(--vscode-foreground, #cccccc);
13
+ --internal-selectionIconForeground: var(
14
+ --vscode-icon-foreground,
15
+ #cccccc
10
16
  );
11
- --internal-selectionForeground: var(--vscode-foreground);
12
- --internal-selectionIconForeground: var(--vscode-icon-foreground);
13
17
  --internal-defaultIndentGuideDisplay: none;
14
18
  --internal-highlightedIndentGuideDisplay: block;
15
19
 
@@ -23,13 +27,16 @@ const styles = [
23
27
 
24
28
  :host(:focus-within) {
25
29
  --internal-selectionBackground: var(
26
- --vscode-list-activeSelectionBackground
30
+ --vscode-list-activeSelectionBackground,
31
+ #04395e
27
32
  );
28
33
  --internal-selectionForeground: var(
29
- --vscode-list-activeSelectionForeground
34
+ --vscode-list-activeSelectionForeground,
35
+ #ffffff
30
36
  );
31
37
  --internal-selectionIconForeground: var(
32
- --vscode-list-activeSelectionIconForeground
38
+ --vscode-list-activeSelectionIconForeground,
39
+ #ffffff
33
40
  );
34
41
  }
35
42
 
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-tree.styles.js","sourceRoot":"","sources":["../../src/vscode-tree/vscode-tree.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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CF;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 --vsc-tree-item-arrow-display: flex;\n --internal-selectionBackground: var(\n --vscode-list-inactiveSelectionBackground\n );\n --internal-selectionForeground: var(--vscode-foreground);\n --internal-selectionIconForeground: var(--vscode-icon-foreground);\n --internal-defaultIndentGuideDisplay: none;\n --internal-highlightedIndentGuideDisplay: block;\n\n display: block;\n }\n\n :host(:hover) {\n --internal-defaultIndentGuideDisplay: block;\n --internal-highlightedIndentGuideDisplay: block;\n }\n\n :host(:focus-within) {\n --internal-selectionBackground: var(\n --vscode-list-activeSelectionBackground\n );\n --internal-selectionForeground: var(\n --vscode-list-activeSelectionForeground\n );\n --internal-selectionIconForeground: var(\n --vscode-list-activeSelectionIconForeground\n );\n }\n\n :host([hide-arrows]) {\n --vsc-tree-item-arrow-display: none;\n }\n\n :host([indent-guides='none']),\n :host([indent-guides='none']:hover) {\n --internal-defaultIndentGuideDisplay: none;\n --internal-highlightedIndentGuideDisplay: none;\n }\n\n :host([indent-guides='always']),\n :host([indent-guides='always']:hover) {\n --internal-defaultIndentGuideDisplay: block;\n --internal-highlightedIndentGuideDisplay: block;\n }\n `,\n];\n\nexport default styles;\n"]}
1
+ {"version":3,"file":"vscode-tree.styles.js","sourceRoot":"","sources":["../../src/vscode-tree/vscode-tree.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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDF;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 --vsc-tree-item-arrow-display: flex;\n --internal-selectionBackground: var(\n --vscode-list-inactiveSelectionBackground,\n #37373d\n );\n --internal-selectionForeground: var(--vscode-foreground, #cccccc);\n --internal-selectionIconForeground: var(\n --vscode-icon-foreground,\n #cccccc\n );\n --internal-defaultIndentGuideDisplay: none;\n --internal-highlightedIndentGuideDisplay: block;\n\n display: block;\n }\n\n :host(:hover) {\n --internal-defaultIndentGuideDisplay: block;\n --internal-highlightedIndentGuideDisplay: block;\n }\n\n :host(:focus-within) {\n --internal-selectionBackground: var(\n --vscode-list-activeSelectionBackground,\n #04395e\n );\n --internal-selectionForeground: var(\n --vscode-list-activeSelectionForeground,\n #ffffff\n );\n --internal-selectionIconForeground: var(\n --vscode-list-activeSelectionIconForeground,\n #ffffff\n );\n }\n\n :host([hide-arrows]) {\n --vsc-tree-item-arrow-display: none;\n }\n\n :host([indent-guides='none']),\n :host([indent-guides='none']:hover) {\n --internal-defaultIndentGuideDisplay: none;\n --internal-highlightedIndentGuideDisplay: none;\n }\n\n :host([indent-guides='always']),\n :host([indent-guides='always']:hover) {\n --internal-defaultIndentGuideDisplay: block;\n --internal-highlightedIndentGuideDisplay: block;\n }\n `,\n];\n\nexport default styles;\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,cA+Ib,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,cAsJb,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -27,17 +27,21 @@ const styles = [
27
27
 
28
28
  .wrapper {
29
29
  align-items: flex-start;
30
+ color: var(--vscode-foreground, #cccccc);
30
31
  display: flex;
31
- font-family: var(--vscode-font-family);
32
- font-size: var(--vscode-font-size);
33
- font-weight: var(--vscode-font-weight);
32
+ font-family: var(--vscode-font-family, sans-serif);
33
+ font-size: var(--vscode-font-size, 13px);
34
+ font-weight: var(--vscode-font-weight, normal);
34
35
  outline-offset: -1px;
35
36
  padding-right: 12px;
36
37
  }
37
38
 
38
39
  .wrapper:hover {
39
- background-color: var(--vscode-list-hoverBackground);
40
- color: var(--vscode-list-hoverForeground);
40
+ background-color: var(--vscode-list-hoverBackground, #2a2d2e);
41
+ color: var(
42
+ --vscode-list-hoverForeground,
43
+ var(--vscode-foreground, #cccccc)
44
+ );
41
45
  }
42
46
 
43
47
  :host([selected]) .wrapper {
@@ -56,7 +60,7 @@ const styles = [
56
60
  :host(:focus) .wrapper.active {
57
61
  outline-color: var(
58
62
  --vscode-list-focusAndSelectionOutline,
59
- var(--vscode-list-focusOutline)
63
+ var(--vscode-list-focusOutline, #0078d4)
60
64
  );
61
65
  outline-style: solid;
62
66
  outline-width: 1px;
@@ -74,7 +78,7 @@ const styles = [
74
78
 
75
79
  .arrow-container svg {
76
80
  display: block;
77
- fill: var(--vscode-icon-foreground);
81
+ fill: var(--vscode-icon-foreground, #cccccc);
78
82
  }
79
83
 
80
84
  .arrow-container.icon-rotated svg {
@@ -108,7 +112,10 @@ const styles = [
108
112
  }
109
113
 
110
114
  .children.guide:before {
111
- background-color: var(--vscode-tree-inactiveIndentGuidesStroke);
115
+ background-color: var(
116
+ --vscode-tree-inactiveIndentGuidesStroke,
117
+ rgba(88, 88, 88, 0.4)
118
+ );
112
119
  content: '';
113
120
  display: none;
114
121
  height: 100%;
@@ -125,7 +132,7 @@ const styles = [
125
132
 
126
133
  .children.guide.highlighted-guide:before {
127
134
  display: var(--internal-highlightedIndentGuideDisplay);
128
- background-color: var(--vscode-tree-indentGuidesStroke);
135
+ background-color: var(--vscode-tree-indentGuidesStroke, #585858);
129
136
  }
130
137
 
131
138
  .content {
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4IF;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 display: flex;\n font-family: var(--vscode-font-family);\n font-size: var(--vscode-font-size);\n font-weight: var(--vscode-font-weight);\n outline-offset: -1px;\n padding-right: 12px;\n }\n\n .wrapper:hover {\n background-color: var(--vscode-list-hoverBackground);\n color: var(--vscode-list-hoverForeground);\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)\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);\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(--vscode-tree-inactiveIndentGuidesStroke);\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);\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,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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vscode-elements/elements",
3
- "version": "2.0.0-pre.4",
3
+ "version": "2.0.0",
4
4
  "description": "Web components for creating Visual Studio Code extensions",
5
5
  "main": "dist/main.js",
6
6
  "module": "dist/main.js",
@@ -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",
@@ -109,22 +102,19 @@
109
102
  { "name": "--vscode-font-size", "values": [] },
110
103
  { "name": "--vscode-font-weight", "values": [] },
111
104
  { "name": "--vscode-menu-background", "values": [] },
105
+ { "name": "--vscode-menu-border", "values": [] },
106
+ { "name": "--vscode-menu-foreground", "values": [] },
107
+ { "name": "--vscode-widget-shadow", "values": [] },
108
+ { "name": "--vscode-font-family", "values": [] },
109
+ { "name": "--vscode-font-size", "values": [] },
110
+ { "name": "--vscode-font-weight", "values": [] },
111
+ { "name": "--vscode-menu-background", "values": [] },
112
112
  { "name": "--vscode-menu-selectionBorder", "values": [] },
113
113
  { "name": "--vscode-menu-foreground", "values": [] },
114
114
  { "name": "--vscode-menu-selectionBackground", "values": [] },
115
115
  { "name": "--vscode-menu-selectionForeground", "values": [] },
116
116
  { "name": "--vscode-menu-separatorBackground", "values": [] },
117
117
  { "name": "--vscode-foreground", "values": [] },
118
- {
119
- "name": "--label-width",
120
- "description": "The width of the label in horizontal mode",
121
- "values": []
122
- },
123
- {
124
- "name": "--label-right-margin",
125
- "description": "The right margin of the label in horizontal mode",
126
- "values": []
127
- },
128
118
  {
129
119
  "name": "--vsc-foreground-translucent",
130
120
  "description": "Default text color. 90% transparency version of `--vscode-foreground` by default.",
@@ -145,6 +135,16 @@
145
135
  { "name": "--vscode-font-family", "values": [] },
146
136
  { "name": "--vscode-font-size", "values": [] },
147
137
  { "name": "--vscode-foreground", "values": [] },
138
+ {
139
+ "name": "--label-width",
140
+ "description": "The width of the label in horizontal mode",
141
+ "values": []
142
+ },
143
+ {
144
+ "name": "--label-right-margin",
145
+ "description": "The right margin of the label in horizontal mode",
146
+ "values": []
147
+ },
148
148
  {
149
149
  "name": "--dropdown-z-index",
150
150
  "description": "workaround for dropdown z-index issues",
@@ -181,6 +181,10 @@
181
181
  { "name": "--vscode-focusBorder", "values": [] },
182
182
  { "name": "--vscode-inputValidation-errorBackground", "values": [] },
183
183
  { "name": "--vscode-inputValidation-errorBorder", "values": [] },
184
+ { "name": "--vscode-scrollbar-shadow", "values": [] },
185
+ { "name": "--vscode-scrollbarSlider-background", "values": [] },
186
+ { "name": "--vscode-scrollbarSlider-hoverBackground", "values": [] },
187
+ { "name": "--vscode-scrollbarSlider-activeBackground", "values": [] },
184
188
  {
185
189
  "name": "--dropdown-z-index",
186
190
  "description": "workaround for dropdown z-index issues",
@@ -207,29 +211,19 @@
207
211
  { "name": "--vscode-list-highlightForeground", "values": [] },
208
212
  { "name": "--vscode-list-hoverBackground", "values": [] },
209
213
  { "name": "--vscode-list-hoverForeground", "values": [] },
210
- { "name": "--vscode-scrollbar-shadow", "values": [] },
211
- { "name": "--vscode-scrollbarSlider-background", "values": [] },
212
- { "name": "--vscode-scrollbarSlider-hoverBackground", "values": [] },
213
- { "name": "--vscode-scrollbarSlider-activeBackground", "values": [] },
214
214
  { "name": "--separator-border", "values": [] },
215
215
  { "name": "--vscode-editorWidget-border", "values": [] },
216
216
  { "name": "--vscode-sash-hoverBorder", "values": [] },
217
+ { "name": "--vscode-focusBorder", "values": [] },
217
218
  { "name": "--vscode-foreground", "values": [] },
218
- { "name": "--vscode-panelTitle-inactiveForeground", "values": [] },
219
- { "name": "--vscode-panelTitle-activeForeground", "values": [] },
220
219
  { "name": "--vscode-panelTitle-activeBorder", "values": [] },
220
+ { "name": "--vscode-panelTitle-activeForeground", "values": [] },
221
+ { "name": "--vscode-panelTitle-inactiveForeground", "values": [] },
221
222
  { "name": "--vscode-focusBorder", "values": [] },
222
- { "name": "--vscode-settings-headerForeground", "values": [] },
223
223
  { "name": "--vscode-panel--background", "values": [] },
224
- { "name": "--vscode-focusBorder", "values": [] },
225
- { "name": "--border", "values": [] },
226
- { "name": "--foreground", "values": [] },
227
- { "name": "--resize-hover-border", "values": [] },
228
- { "name": "--tinted-row-background", "values": [] },
229
- { "name": "--header-background", "values": [] },
230
- { "name": "--font-size", "values": [] },
231
- { "name": "--font-family", "values": [] },
224
+ { "name": "--vscode-editorGroup-border", "values": [] },
232
225
  { "name": "--vscode-keybindingTable-rowsBackground", "values": [] },
226
+ { "name": "--vscode-sash-hoverBorder", "values": [] },
233
227
  { "name": "--vscode-editorGroup-border", "values": [] },
234
228
  { "name": "--vscode-foreground", "values": [] },
235
229
  { "name": "--vscode-font-family", "values": [] },
@@ -283,7 +277,18 @@
283
277
  { "name": "--vscode-input-placeholderForeground", "values": [] },
284
278
  { "name": "--vscode-button-background", "values": [] },
285
279
  { "name": "--vscode-button-foreground", "values": [] },
286
- { "name": "--vscode-button-hoverBackground", "values": [] }
280
+ { "name": "--vscode-button-hoverBackground", "values": [] },
281
+ { "name": "--vscode-font-family", "values": [] },
282
+ { "name": "--vscode-font-size", "values": [] },
283
+ { "name": "--vscode-font-weight", "values": [] },
284
+ { "name": "--vscode-foreground", "values": [] },
285
+ { "name": "--vscode-icon-foreground", "values": [] },
286
+ { "name": "--vscode-list-focusAndSelectionOutline", "values": [] },
287
+ { "name": "--vscode-list-focusOutline", "values": [] },
288
+ { "name": "--vscode-list-hoverBackground", "values": [] },
289
+ { "name": "--vscode-list-hoverForeground", "values": [] },
290
+ { "name": "--vscode-tree-inactiveIndentGuidesStroke", "values": [] },
291
+ { "name": "--vscode-tree-indentGuidesStroke", "values": [] }
287
292
  ],
288
293
  "pseudoElements": [
289
294
  {