@vscode-elements/elements 1.13.2-pre.0 → 1.13.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.
- package/custom-elements.json +112 -505
- package/dist/bundled.js +188 -182
- package/dist/includes/VscElement.d.ts +9 -1
- package/dist/includes/VscElement.d.ts.map +1 -1
- package/dist/includes/VscElement.js +36 -5
- package/dist/includes/VscElement.js.map +1 -1
- package/dist/includes/form-button-widget/base.styles.js +8 -8
- package/dist/includes/form-button-widget/base.styles.js.map +1 -1
- package/dist/vscode-badge/vscode-badge.d.ts.map +1 -1
- package/dist/vscode-badge/vscode-badge.js +2 -2
- package/dist/vscode-badge/vscode-badge.js.map +1 -1
- package/dist/vscode-button/vscode-button.d.ts.map +1 -1
- package/dist/vscode-button/vscode-button.js +2 -2
- package/dist/vscode-button/vscode-button.js.map +1 -1
- package/dist/vscode-button/vscode-button.styles.d.ts.map +1 -1
- package/dist/vscode-button/vscode-button.styles.js +1 -4
- package/dist/vscode-button/vscode-button.styles.js.map +1 -1
- package/dist/vscode-checkbox/vscode-checkbox.d.ts +10 -8
- package/dist/vscode-checkbox/vscode-checkbox.d.ts.map +1 -1
- package/dist/vscode-checkbox/vscode-checkbox.js +12 -9
- package/dist/vscode-checkbox/vscode-checkbox.js.map +1 -1
- package/dist/vscode-checkbox/vscode-checkbox.styles.js +2 -2
- package/dist/vscode-checkbox/vscode-checkbox.styles.js.map +1 -1
- package/dist/vscode-checkbox-group/vscode-checkbox-group.d.ts.map +1 -1
- package/dist/vscode-checkbox-group/vscode-checkbox-group.js +2 -2
- package/dist/vscode-checkbox-group/vscode-checkbox-group.js.map +1 -1
- package/dist/vscode-collapsible/vscode-collapsible.d.ts +6 -6
- package/dist/vscode-collapsible/vscode-collapsible.d.ts.map +1 -1
- package/dist/vscode-collapsible/vscode-collapsible.js +8 -8
- package/dist/vscode-collapsible/vscode-collapsible.js.map +1 -1
- package/dist/vscode-collapsible/vscode-collapsible.styles.js +6 -6
- package/dist/vscode-collapsible/vscode-collapsible.styles.js.map +1 -1
- package/dist/vscode-context-menu/vscode-context-menu.d.ts.map +1 -1
- package/dist/vscode-context-menu/vscode-context-menu.js +2 -2
- package/dist/vscode-context-menu/vscode-context-menu.js.map +1 -1
- package/dist/vscode-context-menu-item/vscode-context-menu-item.d.ts.map +1 -1
- package/dist/vscode-context-menu-item/vscode-context-menu-item.js +2 -2
- package/dist/vscode-context-menu-item/vscode-context-menu-item.js.map +1 -1
- package/dist/vscode-divider/vscode-divider.d.ts.map +1 -1
- package/dist/vscode-divider/vscode-divider.js +2 -2
- package/dist/vscode-divider/vscode-divider.js.map +1 -1
- package/dist/vscode-form-container/vscode-form-container.d.ts.map +1 -1
- package/dist/vscode-form-container/vscode-form-container.js +2 -2
- package/dist/vscode-form-container/vscode-form-container.js.map +1 -1
- package/dist/vscode-form-group/vscode-form-group.d.ts.map +1 -1
- package/dist/vscode-form-group/vscode-form-group.js +2 -2
- package/dist/vscode-form-group/vscode-form-group.js.map +1 -1
- package/dist/vscode-form-helper/vscode-form-helper.d.ts.map +1 -1
- package/dist/vscode-form-helper/vscode-form-helper.js +1 -2
- package/dist/vscode-form-helper/vscode-form-helper.js.map +1 -1
- package/dist/vscode-icon/vscode-icon.d.ts.map +1 -1
- package/dist/vscode-icon/vscode-icon.js +2 -2
- package/dist/vscode-icon/vscode-icon.js.map +1 -1
- package/dist/vscode-label/vscode-label.d.ts +3 -3
- package/dist/vscode-label/vscode-label.d.ts.map +1 -1
- package/dist/vscode-label/vscode-label.js +5 -5
- package/dist/vscode-label/vscode-label.js.map +1 -1
- package/dist/vscode-label/vscode-label.styles.js +4 -4
- package/dist/vscode-label/vscode-label.styles.js.map +1 -1
- package/dist/vscode-multi-select/vscode-multi-select.d.ts.map +1 -1
- package/dist/vscode-multi-select/vscode-multi-select.js +2 -1
- package/dist/vscode-multi-select/vscode-multi-select.js.map +1 -1
- package/dist/vscode-option/vscode-option.d.ts.map +1 -1
- package/dist/vscode-option/vscode-option.js +2 -2
- package/dist/vscode-option/vscode-option.js.map +1 -1
- package/dist/vscode-progress-ring/vscode-progress-ring.d.ts.map +1 -1
- package/dist/vscode-progress-ring/vscode-progress-ring.js +2 -2
- package/dist/vscode-progress-ring/vscode-progress-ring.js.map +1 -1
- package/dist/vscode-radio/vscode-radio.d.ts.map +1 -1
- package/dist/vscode-radio/vscode-radio.js +2 -1
- package/dist/vscode-radio/vscode-radio.js.map +1 -1
- package/dist/vscode-radio-group/vscode-radio-group.d.ts.map +1 -1
- package/dist/vscode-radio-group/vscode-radio-group.js +2 -2
- package/dist/vscode-radio-group/vscode-radio-group.js.map +1 -1
- package/dist/vscode-scrollable/vscode-scrollable.d.ts.map +1 -1
- package/dist/vscode-scrollable/vscode-scrollable.js +2 -2
- package/dist/vscode-scrollable/vscode-scrollable.js.map +1 -1
- package/dist/vscode-single-select/vscode-single-select.d.ts.map +1 -1
- package/dist/vscode-single-select/vscode-single-select.js +2 -1
- package/dist/vscode-single-select/vscode-single-select.js.map +1 -1
- package/dist/vscode-split-layout/vscode-split-layout.d.ts.map +1 -1
- package/dist/vscode-split-layout/vscode-split-layout.js +5 -2
- package/dist/vscode-split-layout/vscode-split-layout.js.map +1 -1
- package/dist/vscode-tab-header/vscode-tab-header.d.ts.map +1 -1
- package/dist/vscode-tab-header/vscode-tab-header.js +2 -2
- package/dist/vscode-tab-header/vscode-tab-header.js.map +1 -1
- package/dist/vscode-tab-panel/vscode-tab-panel.d.ts.map +1 -1
- package/dist/vscode-tab-panel/vscode-tab-panel.js +2 -2
- package/dist/vscode-tab-panel/vscode-tab-panel.js.map +1 -1
- package/dist/vscode-table/vscode-table.d.ts.map +1 -1
- package/dist/vscode-table/vscode-table.js +2 -2
- package/dist/vscode-table/vscode-table.js.map +1 -1
- package/dist/vscode-table-body/vscode-table-body.d.ts.map +1 -1
- package/dist/vscode-table-body/vscode-table-body.js +2 -2
- package/dist/vscode-table-body/vscode-table-body.js.map +1 -1
- package/dist/vscode-table-cell/vscode-table-cell.d.ts.map +1 -1
- package/dist/vscode-table-cell/vscode-table-cell.js +2 -2
- package/dist/vscode-table-cell/vscode-table-cell.js.map +1 -1
- package/dist/vscode-table-header/vscode-table-header.d.ts.map +1 -1
- package/dist/vscode-table-header/vscode-table-header.js +2 -2
- package/dist/vscode-table-header/vscode-table-header.js.map +1 -1
- package/dist/vscode-table-header-cell/vscode-table-header-cell.d.ts.map +1 -1
- package/dist/vscode-table-header-cell/vscode-table-header-cell.js +2 -2
- package/dist/vscode-table-header-cell/vscode-table-header-cell.js.map +1 -1
- package/dist/vscode-table-row/vscode-table-row.d.ts.map +1 -1
- package/dist/vscode-table-row/vscode-table-row.js +2 -2
- package/dist/vscode-table-row/vscode-table-row.js.map +1 -1
- package/dist/vscode-tabs/vscode-tabs.d.ts.map +1 -1
- package/dist/vscode-tabs/vscode-tabs.js +2 -2
- package/dist/vscode-tabs/vscode-tabs.js.map +1 -1
- package/dist/vscode-textarea/vscode-textarea.d.ts +18 -18
- package/dist/vscode-textarea/vscode-textarea.d.ts.map +1 -1
- package/dist/vscode-textarea/vscode-textarea.js +20 -20
- package/dist/vscode-textarea/vscode-textarea.js.map +1 -1
- package/dist/vscode-textarea/vscode-textarea.styles.d.ts.map +1 -1
- package/dist/vscode-textarea/vscode-textarea.styles.js +31 -22
- package/dist/vscode-textarea/vscode-textarea.styles.js.map +1 -1
- package/dist/vscode-textfield/vscode-textfield.d.ts.map +1 -1
- package/dist/vscode-textfield/vscode-textfield.js +2 -2
- package/dist/vscode-textfield/vscode-textfield.js.map +1 -1
- package/dist/vscode-tree/vscode-tree.d.ts.map +1 -1
- package/dist/vscode-tree/vscode-tree.js +2 -2
- package/dist/vscode-tree/vscode-tree.js.map +1 -1
- package/package.json +20 -20
- package/vscode.css-custom-data.json +3 -5
- package/vscode.html-custom-data.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-textfield.js","sourceRoot":"","sources":["../../src/vscode-textfield/vscode-textfield.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, LitElement, TemplateResult} from 'lit';\nimport {customElement, property, query, state} from 'lit/decorators.js';\nimport {ifDefined} from 'lit/directives/if-defined.js';\nimport {VscElement} from '../includes/VscElement.js';\nimport styles from './vscode-textfield.styles.js';\nimport {AssociatedFormControl} from '../includes/AssociatedFormControl.js';\n\ntype InputType =\n | 'color'\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'file'\n | 'month'\n | 'number'\n | 'password'\n | 'search'\n | 'tel'\n | 'text'\n | 'time'\n | 'url'\n | 'week';\n\n/**\n * A simple inline textfield\n *\n * When participating in a form, it supports the `:invalid` pseudo class. Otherwise the error styles\n * can be applied through the `invalid` property.\n *\n * @tag vscode-textfield\n *\n * @slot content-before - A slot before the editable area but inside of the component. It is used to place icons.\n * @slot content-after - A slot after the editable area but inside of the component. It is used to place icons.\n *\n * @fires {InputEvent} input\n * @fires {Event} change\n *\n * @cssprop [--vscode-settings-textInputBackground=#313131]\n * @cssprop [--vscode-settings-textInputBorder=var(--vscode-settings-textInputBackground, #3c3c3c)]\n * @cssprop [--vscode-settings-textInputForeground=#cccccc]\n * @cssprop [--vscode-settings-textInputBackground=#313131]\n * @cssprop [--vscode-focusBorder=#0078d4]\n * @cssprop [--vscode-font-family=sans-serif] - A sans-serif font type depends on the host OS.\n * @cssprop [--vscode-font-size=13px]\n * @cssprop [--vscode-font-weight=normal]\n * @cssprop [--vscode-inputValidation-errorBorder=#be1100]\n * @cssprop [--vscode-inputValidation-errorBackground=#5a1d1d]\n * @cssprop [--vscode-input-placeholderForeground=#989898]\n * @cssprop [--vscode-button-background=#0078d4]\n * @cssprop [--vscode-button-foreground=#ffffff]\n * @cssprop [--vscode-button-hoverBackground=#026ec1]\n */\n@customElement('vscode-textfield')\nexport class VscodeTextfield\n extends VscElement\n implements AssociatedFormControl\n{\n static override styles = styles;\n\n /** @internal */\n static formAssociated = true;\n\n /** @internal */\n static override shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n @property()\n autocomplete: 'on' | 'off' | undefined = undefined;\n\n @property({type: Boolean, reflect: true})\n override autofocus = false;\n\n @property({attribute: 'default-value'})\n defaultValue = '';\n\n @property({type: Boolean, reflect: true})\n disabled = false;\n\n @property({type: Boolean, reflect: true})\n focused = false;\n\n /**\n * Set error styles on the component. This is only intended to apply styles when custom error\n * validation is implemented. To check whether the component is valid, use the checkValidity method.\n */\n @property({type: Boolean, reflect: true})\n invalid = false;\n\n /**\n * @internal\n * Set `aria-label` for the inner input element. Should not be set,\n * vscode-label will do it automatically.\n */\n @property({attribute: false})\n label = '';\n\n @property({type: Number})\n max: number | undefined = undefined;\n\n @property({type: Number})\n maxLength: number | undefined = undefined;\n\n @property({type: Number})\n min: number | undefined = undefined;\n\n @property({type: Number})\n minLength: number | undefined = undefined;\n\n @property({type: Boolean, reflect: true})\n multiple = false;\n\n @property({reflect: true})\n name: string | undefined = undefined;\n\n /**\n * Specifies a regular expression the form control's value should match.\n * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/pattern)\n */\n @property()\n pattern: string | undefined = undefined;\n\n @property()\n placeholder: string | undefined = undefined;\n\n @property({type: Boolean, reflect: true})\n readonly = false;\n\n @property({type: Boolean, reflect: true})\n required = false;\n\n @property({type: Number})\n step: number | undefined = undefined;\n\n /**\n * Same as the `type` of the native `<input>` element but only a subset of types are supported.\n * The supported ones are: `color`,`date`,`datetime-local`,`email`,`file`,`month`,`number`,`password`,`search`,`tel`,`text`,`time`,`url`,`week`\n */\n @property({reflect: true})\n set type(val: InputType) {\n const validTypes: InputType[] = [\n 'color',\n 'date',\n 'datetime-local',\n 'email',\n 'file',\n 'month',\n 'number',\n 'password',\n 'search',\n 'tel',\n 'text',\n 'time',\n 'url',\n 'week',\n ];\n\n this._type = (\n validTypes.includes(val as InputType) ? val : 'text'\n ) as InputType;\n }\n get type(): InputType {\n return this._type;\n }\n\n @property()\n set value(val: string) {\n if (this.type !== 'file') {\n this._value = val;\n this._internals.setFormValue(val);\n }\n\n this.updateComplete.then(() => {\n this._setValidityFromInput();\n });\n }\n get value(): string {\n return this._value;\n }\n\n /**\n * Lowercase alias to minLength\n */\n set minlength(val: number) {\n this.minLength = val;\n }\n\n get minlength(): number | undefined {\n return this.minLength;\n }\n\n /**\n * Lowercase alias to maxLength\n */\n set maxlength(val: number) {\n this.maxLength = val;\n }\n\n get maxlength(): number | undefined {\n return this.maxLength;\n }\n\n get form(): HTMLFormElement | null {\n return this._internals.form;\n }\n\n get validity(): ValidityState {\n return this._internals.validity;\n }\n\n get validationMessage() {\n return this._internals.validationMessage;\n }\n\n get willValidate() {\n return this._internals.willValidate;\n }\n\n /**\n * Check the component's validity state when built-in validation is used.\n * Built-in validation is triggered when any validation-related attribute is set. Validation-related\n * attributes are: `max, maxlength, min, minlength, pattern, required, step`.\n * See this [the MDN reference](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/checkValidity) for more details.\n * @returns {boolean}\n */\n checkValidity(): boolean {\n this._setValidityFromInput();\n return this._internals.checkValidity();\n }\n\n reportValidity() {\n this._setValidityFromInput();\n return this._internals.reportValidity();\n }\n\n get wrappedElement(): HTMLInputElement {\n return this._inputEl;\n }\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this.updateComplete.then(() => {\n this._inputEl.checkValidity();\n this._setValidityFromInput();\n this._internals.setFormValue(this._inputEl.value);\n });\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 const validationRelatedAttributes = [\n 'max',\n 'maxlength',\n 'min',\n 'minlength',\n 'pattern',\n 'required',\n 'step',\n ];\n\n if (validationRelatedAttributes.includes(name)) {\n this.updateComplete.then(() => {\n this._setValidityFromInput();\n });\n }\n }\n\n /** @internal */\n formResetCallback(): void {\n this.value = this.defaultValue;\n this.requestUpdate();\n }\n\n /** @internal */\n formStateRestoreCallback(\n state: string,\n _mode: 'restore' | 'autocomplete'\n ): void {\n this.value = state;\n }\n\n @query('#input')\n private _inputEl!: HTMLInputElement;\n\n @state()\n private _value = '';\n\n @state()\n private _type: InputType = 'text';\n\n private _internals: ElementInternals;\n\n private _dataChanged() {\n this._value = this._inputEl.value;\n\n if (this.type === 'file' && this._inputEl.files) {\n for (const f of this._inputEl.files) {\n this._internals.setFormValue(f);\n }\n } else {\n this._internals.setFormValue(this._inputEl.value);\n }\n }\n\n private _setValidityFromInput() {\n if (this._inputEl) {\n this._internals.setValidity(\n this._inputEl.validity,\n this._inputEl.validationMessage,\n this._inputEl\n );\n }\n }\n\n private _onInput(ev: InputEvent) {\n this._dataChanged();\n this._setValidityFromInput();\n\n // native input event dispatched automatically\n /** @deprecated */\n this.dispatchEvent(\n new CustomEvent('vsc-input', {detail: {data: ev.data, originalEvent: ev}})\n );\n }\n\n private _onChange(ev: Event) {\n this._dataChanged();\n this._setValidityFromInput();\n this.dispatchEvent(new Event('change'));\n /** @deprecated */\n this.dispatchEvent(\n new CustomEvent<{data: string; originalEvent: Event}>('vsc-change', {\n detail: {data: this.value, originalEvent: ev},\n })\n );\n }\n\n private _onFocus() {\n this.focused = true;\n }\n\n private _onBlur() {\n this.focused = false;\n }\n\n private _onKeyDown(ev: KeyboardEvent) {\n if (ev.key === 'Enter' && this._internals.form) {\n this._internals.form?.requestSubmit();\n }\n }\n\n override render(): TemplateResult {\n return html`\n <slot name=\"content-before\"></slot>\n <input\n id=\"input\"\n type=${this.type}\n ?autofocus=${this.autofocus}\n autocomplete=${ifDefined(this.autocomplete)}\n aria-label=${this.label}\n ?disabled=${this.disabled}\n max=${ifDefined(this.max)}\n maxlength=${ifDefined(this.maxLength)}\n min=${ifDefined(this.min)}\n minlength=${ifDefined(this.minLength)}\n ?multiple=${this.multiple}\n name=${ifDefined(this.name)}\n pattern=${ifDefined(this.pattern)}\n placeholder=${ifDefined(this.placeholder)}\n ?readonly=${this.readonly}\n ?required=${this.required}\n step=${ifDefined(this.step)}\n .value=${this._value}\n @blur=${this._onBlur}\n @change=${this._onChange}\n @focus=${this._onFocus}\n @input=${this._onInput}\n @keydown=${this._onKeyDown}\n >\n <slot name=\"content-after\"></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-textfield': VscodeTextfield;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"vscode-textfield.js","sourceRoot":"","sources":["../../src/vscode-textfield/vscode-textfield.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, LitElement, TemplateResult} from 'lit';\nimport {property, query, state} from 'lit/decorators.js';\nimport {ifDefined} from 'lit/directives/if-defined.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport styles from './vscode-textfield.styles.js';\nimport {AssociatedFormControl} from '../includes/AssociatedFormControl.js';\n\ntype InputType =\n | 'color'\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'file'\n | 'month'\n | 'number'\n | 'password'\n | 'search'\n | 'tel'\n | 'text'\n | 'time'\n | 'url'\n | 'week';\n\n/**\n * A simple inline textfield\n *\n * When participating in a form, it supports the `:invalid` pseudo class. Otherwise the error styles\n * can be applied through the `invalid` property.\n *\n * @tag vscode-textfield\n *\n * @slot content-before - A slot before the editable area but inside of the component. It is used to place icons.\n * @slot content-after - A slot after the editable area but inside of the component. It is used to place icons.\n *\n * @fires {InputEvent} input\n * @fires {Event} change\n *\n * @cssprop [--vscode-settings-textInputBackground=#313131]\n * @cssprop [--vscode-settings-textInputBorder=var(--vscode-settings-textInputBackground, #3c3c3c)]\n * @cssprop [--vscode-settings-textInputForeground=#cccccc]\n * @cssprop [--vscode-settings-textInputBackground=#313131]\n * @cssprop [--vscode-focusBorder=#0078d4]\n * @cssprop [--vscode-font-family=sans-serif] - A sans-serif font type depends on the host OS.\n * @cssprop [--vscode-font-size=13px]\n * @cssprop [--vscode-font-weight=normal]\n * @cssprop [--vscode-inputValidation-errorBorder=#be1100]\n * @cssprop [--vscode-inputValidation-errorBackground=#5a1d1d]\n * @cssprop [--vscode-input-placeholderForeground=#989898]\n * @cssprop [--vscode-button-background=#0078d4]\n * @cssprop [--vscode-button-foreground=#ffffff]\n * @cssprop [--vscode-button-hoverBackground=#026ec1]\n */\n@customElement('vscode-textfield')\nexport class VscodeTextfield\n extends VscElement\n implements AssociatedFormControl\n{\n static override styles = styles;\n\n /** @internal */\n static formAssociated = true;\n\n /** @internal */\n static override shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n @property()\n autocomplete: 'on' | 'off' | undefined = undefined;\n\n @property({type: Boolean, reflect: true})\n override autofocus = false;\n\n @property({attribute: 'default-value'})\n defaultValue = '';\n\n @property({type: Boolean, reflect: true})\n disabled = false;\n\n @property({type: Boolean, reflect: true})\n focused = false;\n\n /**\n * Set error styles on the component. This is only intended to apply styles when custom error\n * validation is implemented. To check whether the component is valid, use the checkValidity method.\n */\n @property({type: Boolean, reflect: true})\n invalid = false;\n\n /**\n * @internal\n * Set `aria-label` for the inner input element. Should not be set,\n * vscode-label will do it automatically.\n */\n @property({attribute: false})\n label = '';\n\n @property({type: Number})\n max: number | undefined = undefined;\n\n @property({type: Number})\n maxLength: number | undefined = undefined;\n\n @property({type: Number})\n min: number | undefined = undefined;\n\n @property({type: Number})\n minLength: number | undefined = undefined;\n\n @property({type: Boolean, reflect: true})\n multiple = false;\n\n @property({reflect: true})\n name: string | undefined = undefined;\n\n /**\n * Specifies a regular expression the form control's value should match.\n * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/pattern)\n */\n @property()\n pattern: string | undefined = undefined;\n\n @property()\n placeholder: string | undefined = undefined;\n\n @property({type: Boolean, reflect: true})\n readonly = false;\n\n @property({type: Boolean, reflect: true})\n required = false;\n\n @property({type: Number})\n step: number | undefined = undefined;\n\n /**\n * Same as the `type` of the native `<input>` element but only a subset of types are supported.\n * The supported ones are: `color`,`date`,`datetime-local`,`email`,`file`,`month`,`number`,`password`,`search`,`tel`,`text`,`time`,`url`,`week`\n */\n @property({reflect: true})\n set type(val: InputType) {\n const validTypes: InputType[] = [\n 'color',\n 'date',\n 'datetime-local',\n 'email',\n 'file',\n 'month',\n 'number',\n 'password',\n 'search',\n 'tel',\n 'text',\n 'time',\n 'url',\n 'week',\n ];\n\n this._type = (\n validTypes.includes(val as InputType) ? val : 'text'\n ) as InputType;\n }\n get type(): InputType {\n return this._type;\n }\n\n @property()\n set value(val: string) {\n if (this.type !== 'file') {\n this._value = val;\n this._internals.setFormValue(val);\n }\n\n this.updateComplete.then(() => {\n this._setValidityFromInput();\n });\n }\n get value(): string {\n return this._value;\n }\n\n /**\n * Lowercase alias to minLength\n */\n set minlength(val: number) {\n this.minLength = val;\n }\n\n get minlength(): number | undefined {\n return this.minLength;\n }\n\n /**\n * Lowercase alias to maxLength\n */\n set maxlength(val: number) {\n this.maxLength = val;\n }\n\n get maxlength(): number | undefined {\n return this.maxLength;\n }\n\n get form(): HTMLFormElement | null {\n return this._internals.form;\n }\n\n get validity(): ValidityState {\n return this._internals.validity;\n }\n\n get validationMessage() {\n return this._internals.validationMessage;\n }\n\n get willValidate() {\n return this._internals.willValidate;\n }\n\n /**\n * Check the component's validity state when built-in validation is used.\n * Built-in validation is triggered when any validation-related attribute is set. Validation-related\n * attributes are: `max, maxlength, min, minlength, pattern, required, step`.\n * See this [the MDN reference](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/checkValidity) for more details.\n * @returns {boolean}\n */\n checkValidity(): boolean {\n this._setValidityFromInput();\n return this._internals.checkValidity();\n }\n\n reportValidity() {\n this._setValidityFromInput();\n return this._internals.reportValidity();\n }\n\n get wrappedElement(): HTMLInputElement {\n return this._inputEl;\n }\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this.updateComplete.then(() => {\n this._inputEl.checkValidity();\n this._setValidityFromInput();\n this._internals.setFormValue(this._inputEl.value);\n });\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 const validationRelatedAttributes = [\n 'max',\n 'maxlength',\n 'min',\n 'minlength',\n 'pattern',\n 'required',\n 'step',\n ];\n\n if (validationRelatedAttributes.includes(name)) {\n this.updateComplete.then(() => {\n this._setValidityFromInput();\n });\n }\n }\n\n /** @internal */\n formResetCallback(): void {\n this.value = this.defaultValue;\n this.requestUpdate();\n }\n\n /** @internal */\n formStateRestoreCallback(\n state: string,\n _mode: 'restore' | 'autocomplete'\n ): void {\n this.value = state;\n }\n\n @query('#input')\n private _inputEl!: HTMLInputElement;\n\n @state()\n private _value = '';\n\n @state()\n private _type: InputType = 'text';\n\n private _internals: ElementInternals;\n\n private _dataChanged() {\n this._value = this._inputEl.value;\n\n if (this.type === 'file' && this._inputEl.files) {\n for (const f of this._inputEl.files) {\n this._internals.setFormValue(f);\n }\n } else {\n this._internals.setFormValue(this._inputEl.value);\n }\n }\n\n private _setValidityFromInput() {\n if (this._inputEl) {\n this._internals.setValidity(\n this._inputEl.validity,\n this._inputEl.validationMessage,\n this._inputEl\n );\n }\n }\n\n private _onInput(ev: InputEvent) {\n this._dataChanged();\n this._setValidityFromInput();\n\n // native input event dispatched automatically\n /** @deprecated */\n this.dispatchEvent(\n new CustomEvent('vsc-input', {detail: {data: ev.data, originalEvent: ev}})\n );\n }\n\n private _onChange(ev: Event) {\n this._dataChanged();\n this._setValidityFromInput();\n this.dispatchEvent(new Event('change'));\n /** @deprecated */\n this.dispatchEvent(\n new CustomEvent<{data: string; originalEvent: Event}>('vsc-change', {\n detail: {data: this.value, originalEvent: ev},\n })\n );\n }\n\n private _onFocus() {\n this.focused = true;\n }\n\n private _onBlur() {\n this.focused = false;\n }\n\n private _onKeyDown(ev: KeyboardEvent) {\n if (ev.key === 'Enter' && this._internals.form) {\n this._internals.form?.requestSubmit();\n }\n }\n\n override render(): TemplateResult {\n return html`\n <slot name=\"content-before\"></slot>\n <input\n id=\"input\"\n type=${this.type}\n ?autofocus=${this.autofocus}\n autocomplete=${ifDefined(this.autocomplete)}\n aria-label=${this.label}\n ?disabled=${this.disabled}\n max=${ifDefined(this.max)}\n maxlength=${ifDefined(this.maxLength)}\n min=${ifDefined(this.min)}\n minlength=${ifDefined(this.minLength)}\n ?multiple=${this.multiple}\n name=${ifDefined(this.name)}\n pattern=${ifDefined(this.pattern)}\n placeholder=${ifDefined(this.placeholder)}\n ?readonly=${this.readonly}\n ?required=${this.required}\n step=${ifDefined(this.step)}\n .value=${this._value}\n @blur=${this._onBlur}\n @change=${this._onChange}\n @focus=${this._onFocus}\n @input=${this._onInput}\n @keydown=${this._onKeyDown}\n >\n <slot name=\"content-after\"></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-textfield': VscodeTextfield;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-tree.d.ts","sourceRoot":"","sources":["../../src/vscode-tree/vscode-tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAC,MAAM,KAAK,CAAC;AAIlD,OAAO,
|
|
1
|
+
{"version":3,"file":"vscode-tree.d.ts","sourceRoot":"","sources":["../../src/vscode-tree/vscode-tree.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { html, nothing } from 'lit';
|
|
8
|
-
import {
|
|
8
|
+
import { property, state } from 'lit/decorators.js';
|
|
9
9
|
import { classMap } from 'lit/directives/class-map.js';
|
|
10
10
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
11
|
-
import { VscElement } from '../includes/VscElement.js';
|
|
11
|
+
import { customElement, VscElement } from '../includes/VscElement.js';
|
|
12
12
|
import { stylePropertyMap } from '../includes/style-property-map.js';
|
|
13
13
|
import '../vscode-badge/index.js';
|
|
14
14
|
import '../vscode-icon/index.js';
|
|
@@ -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 {html, nothing, TemplateResult} from 'lit';\nimport {customElement, property, state} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {ifDefined} from 'lit/directives/if-defined.js';\nimport {VscElement} from '../includes/VscElement.js';\nimport {stylePropertyMap} from '../includes/style-property-map.js';\nimport '../vscode-badge/index.js';\nimport '../vscode-icon/index.js';\nimport {VscodeIcon} from '../vscode-icon/index.js';\nimport styles from './vscode-tree.styles.js';\n\nexport type VscTreeActionEvent = CustomEvent<{\n actionId: string;\n item: TreeItem | null;\n value: string;\n}>;\n\nexport type VscTreeSelectEvent = CustomEvent<{\n icons: {\n branch?: string;\n open?: string;\n leaf?: string;\n };\n itemType: 'branch' | 'leaf';\n label: string;\n open: boolean;\n value: string;\n path: string;\n}>;\n\ntype ListenedKey = 'ArrowDown' | 'ArrowUp' | 'Enter' | 'Escape' | ' ';\n\ntype IconType = 'themeicon' | 'image';\n\ntype IconVariant = 'branch' | 'leaf' | 'open';\n\nexport interface TreeItemIconConfig {\n branch?: string;\n open?: string;\n leaf?: string;\n}\n\n/** Action icon configuration. */\nexport interface TreeItemAction {\n /** A unique name that identifies the clicked action item. */\n actionId: string;\n /** A Codicon name. */\n icon: string;\n /** Text description of the action. */\n tooltip?: string;\n}\n\n/**\n * The decoration is additional content on the right side of the tree item. It can be a short text,\n * a counter, or a small, filled circle. A color can be defined for the different states. If\n * multiple states are applied to the item, the color with higher precedence will be used. The color\n * precedence from higher to lower is selected, focused, hover, normal. Colors will not be applied\n * to the counter badge.\n */\nexport interface TreeItemDecoration {\n /** Text content of the decoration. If the appearance is `filled-circle`, it will be ignored. */\n content?: string;\n /** Appearance of the decoration. */\n appearance?: 'text' | 'counter-badge' | 'filled-circle';\n /**\n * When is decoration visible?\n * - `active`: visible when the tree item is focused, selected or hovered\n * - `normal`: visible when there is not any interaction on the tree item\n * - `always`: always visible\n */\n visibleWhen?: 'active' | 'normal' | 'always';\n /** A valid CSS property value to define a default color. */\n color?: string;\n /** A valid CSS property value to define the color for the mouse over state. */\n hoverColor?: string;\n /** A valid CSS property value to define the color for the focused state. */\n focusedColor?: string;\n /** A valid CSS property value to define the color for the selected state. */\n selectedColor?: string;\n}\n\nexport interface TreeItem {\n label: string;\n description?: string;\n tooltip?: string;\n subItems?: TreeItem[];\n actions?: TreeItemAction[];\n open?: boolean;\n selected?: boolean;\n focused?: boolean;\n hasSelectedItem?: boolean;\n hasFocusedItem?: boolean;\n icons?: TreeItemIconConfig | boolean;\n iconUrls?: TreeItemIconConfig;\n value?: string;\n path?: number[];\n decorations?: TreeItemDecoration[];\n}\n\ntype ItemType = 'branch' | 'leaf';\n\n/** Event payload of the `vsc-select` event. */\ninterface SelectEventDetail {\n /** Icon configuration of the clicked item */\n icons: TreeItemIconConfig | undefined | boolean;\n /** Is item type branch or leaf. */\n itemType: ItemType;\n /** The visible label of the item. */\n label: string;\n /** The value associated to the item. */\n value: string;\n /** Is the item opened if it's a branch. */\n open: boolean;\n /** Path represents the item place in the tree. For example 1/2/3 means:\n * `data[1].subItems[2].subItems[3]` */\n path: string; // ex.: 0/0/1\n}\n\nconst ARROW_OUTER_WIDTH = 30;\nconst ARROW_ICON_WIDTH = 16;\nconst CONTENT_PADDING = 3;\n\nconst addPath = (tree: TreeItem[], prevPath: number[] = []): TreeItem[] => {\n const nextTree: TreeItem[] = [];\n\n tree.forEach((item, index) => {\n const path = [...prevPath, index];\n const nextItem: TreeItem = {\n ...item,\n path,\n };\n\n if (item.subItems) {\n nextItem.subItems = addPath(item.subItems, path);\n }\n\n nextTree.push(nextItem);\n });\n\n return nextTree;\n};\n\nconst isBranch = (item: TreeItem) => {\n if (\n item.subItems &&\n Array.isArray(item.subItems) &&\n item?.subItems?.length > 0\n ) {\n return true;\n }\n\n return false;\n};\n\n/**\n * @tag vscode-tree\n *\n * @fires vsc-select Dispatched when an item is selected.\n * @fires {VscTreeSelectEvent} vsc-tree-select Dispatched when an item is selected.\n * @fires vsc-run-action Dispatched when an action icon is clicked.\n * @fires {VscTreeActionEvent} vsc-tree-action Dispatched when an action icon is clicked.\n *\n * @cssprop --vscode-focusBorder\n * @cssprop --vscode-font-family\n * @cssprop --vscode-font-size\n * @cssprop --vscode-font-weight\n * @cssprop --vscode-list-hoverForeground\n * @cssprop --vscode-list-hoverBackground\n * @cssprop --vscode-list-inactiveSelectionBackground\n * @cssprop --vscode-list-inactiveSelectionForeground\n * @cssprop --vscode-list-activeSelectionBackground\n * @cssprop --vscode-list-activeSelectionForeground\n * @cssprop --vscode-list-inactiveSelectionIconForeground\n * @cssprop --vscode-list-inactiveFocusBackground\n * @cssprop --vscode-list-inactiveFocusOutline\n * @cssprop --vscode-list-focusOutline\n * @cssprop --vscode-tree-inactiveIndentGuidesStroke\n * @cssprop --vscode-tree-indentGuidesStroke\n *\n * @csspart text-content\n * @csspart description\n * @csspart counter-badge-decoration\n * @csspart filled-circle-decoration\n * @csspart caption-decoration\n * @csspart decorations Container of decorations\n */\n@customElement('vscode-tree')\nexport class VscodeTree extends VscElement {\n static override styles = styles;\n\n @property({type: Array, reflect: false})\n set data(val: TreeItem[]) {\n const oldVal = this._data;\n\n this._data = addPath(val);\n this.requestUpdate('data', oldVal);\n }\n get data(): TreeItem[] {\n return this._data;\n }\n\n @property({type: Number})\n indent = 8;\n\n @property({type: Boolean, reflect: true})\n arrows = false;\n\n @property({type: Boolean, reflect: true})\n multiline = false;\n\n @property({type: Number, reflect: true})\n tabindex = 0;\n\n @property({type: Boolean, reflect: true, attribute: 'indent-guides'})\n indentGuides = false;\n\n private _data: TreeItem[] = [];\n\n @state()\n private _selectedItem: TreeItem | null = null;\n\n @state()\n private _focusedItem: TreeItem | null = null;\n\n @state()\n private _selectedBranch: TreeItem | null = null;\n\n @state()\n private _focusedBranch: TreeItem | null = null;\n\n /**\n * Closes all opened tree items recursively.\n */\n public closeAll(): void {\n this._closeSubTreeRecursively(this.data);\n this.requestUpdate();\n }\n\n /**\n * Deselects all selected items.\n */\n public deselectAll() {\n this._deselectItemsRecursively(this.data);\n this.requestUpdate();\n }\n\n /**\n * Returns a reference to a TreeItem object by path.\n * @param path\n * @returns\n */\n public getItemByPath(path: number[]): TreeItem | null {\n return this._getItemByPath(path);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener('keydown', this._handleComponentKeyDownBound);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('keydown', this._handleComponentKeyDownBound);\n }\n\n private _getItemByPath(path: number[]): TreeItem | null {\n let current: TreeItem[] = this._data;\n let item: TreeItem | null = null;\n\n path.forEach((el, i) => {\n if (i === path.length - 1) {\n item = current[el];\n } else {\n current = current[el].subItems as TreeItem[];\n }\n });\n\n return item;\n }\n\n private _handleActionClick(ev: MouseEvent) {\n ev.stopPropagation();\n\n const el = ev.target as VscodeIcon;\n const itemPath = el.dataset.itemPath;\n const actionIndex = el.dataset.index;\n let item: TreeItem | null = null;\n let actionId = '';\n let value = '';\n\n if (itemPath) {\n const path = itemPath.split('/').map((p) => Number(p));\n item = this._getItemByPath(path);\n\n if (item?.actions) {\n const index = Number(actionIndex);\n\n if (item.actions[index]) {\n actionId = item.actions[index].actionId;\n }\n }\n\n if (item?.value) {\n value = item.value;\n }\n }\n\n /** @deprecated Renamed to `vsc-tree-action` */\n this.dispatchEvent(\n new CustomEvent<{actionId: string; item: TreeItem | null; value: string}>(\n 'vsc-run-action',\n {\n detail: {\n actionId,\n item,\n value,\n },\n }\n )\n );\n\n /**\n * Dispatched when an action icon is clicked.\n */\n this.dispatchEvent(\n new CustomEvent<{actionId: string; item: TreeItem | null; value: string}>(\n 'vsc-tree-action',\n {\n detail: {\n actionId,\n item,\n value,\n },\n }\n ) as VscTreeActionEvent\n );\n }\n\n private _renderIconVariant(variant: {value: string; type: IconType}) {\n const {type, value} = variant;\n\n if (type === 'themeicon') {\n return html`<vscode-icon name=${value} class=\"theme-icon\"></vscode-icon>`;\n } else {\n return html`<span\n class=\"image-icon\"\n .style=${stylePropertyMap({backgroundImage: `url(${value})`})}\n ></span>`;\n }\n }\n\n private _renderIcon(item: TreeItem): TemplateResult {\n const iconVariants: Record<IconVariant, {value: string; type: IconType}> = {\n branch: {\n value: 'folder',\n type: 'themeicon',\n },\n open: {\n value: 'folder-opened',\n type: 'themeicon',\n },\n leaf: {\n value: 'file',\n type: 'themeicon',\n },\n };\n\n if (item.iconUrls) {\n if (item.iconUrls.branch) {\n iconVariants.branch = {\n value: item.iconUrls.branch,\n type: 'image',\n };\n }\n\n if (item.iconUrls.leaf) {\n iconVariants.leaf = {\n value: item.iconUrls.leaf,\n type: 'image',\n };\n }\n\n if (item.iconUrls.open) {\n iconVariants.open = {\n value: item.iconUrls.open,\n type: 'image',\n };\n }\n } else if (typeof item.icons === 'object') {\n if (item.icons.branch) {\n iconVariants.branch = {\n value: item.icons.branch,\n type: 'themeicon',\n };\n }\n\n if (item.icons.leaf) {\n iconVariants.leaf = {\n value: item.icons.leaf,\n type: 'themeicon',\n };\n }\n\n if (item.icons.open) {\n iconVariants.open = {\n value: item.icons.open,\n type: 'themeicon',\n };\n }\n } else if (!item.icons) {\n return html`${nothing}`;\n }\n\n if (isBranch(item)) {\n if (item.open) {\n return this._renderIconVariant(iconVariants.open);\n } else {\n return this._renderIconVariant(iconVariants.branch);\n }\n } else {\n return this._renderIconVariant(iconVariants.leaf);\n }\n }\n\n private _renderArrow(item: TreeItem): TemplateResult {\n if (!this.arrows || !isBranch(item)) {\n return html`${nothing}`;\n }\n\n const {open = false} = item;\n const arrowIconName = open ? 'chevron-down' : 'chevron-right';\n\n return html`\n <div class=\"arrow-container\">\n <vscode-icon name=${arrowIconName} class=\"icon-arrow\"></vscode-icon>\n </div>\n `;\n }\n\n private _renderActions(item: TreeItem): TemplateResult {\n const actionButtons: TemplateResult[] = [];\n\n if (item.actions && Array.isArray(item.actions)) {\n item.actions.forEach((action, index) => {\n if (action.icon) {\n const icon = html`<vscode-icon\n name=${action.icon}\n action-icon\n title=${ifDefined(action.tooltip)}\n data-item-path=${ifDefined(item.path?.join('/'))}\n data-index=${index}\n class=\"action-icon\"\n @click=${this._handleActionClick}\n ></vscode-icon>`;\n\n actionButtons.push(icon);\n }\n });\n }\n\n if (actionButtons.length > 0) {\n return html`<div class=\"actions\">${actionButtons}</div>`;\n } else {\n return html`${nothing}`;\n }\n }\n\n private _renderDecorations(item: TreeItem) {\n const decorations: TemplateResult[] = [];\n\n if (item.decorations && Array.isArray(item.decorations)) {\n item.decorations.forEach((decoration) => {\n const {\n appearance = 'text',\n visibleWhen = 'always',\n content = '',\n color = '',\n focusedColor = '',\n hoverColor = '',\n selectedColor = '',\n } = decoration;\n const visibleWhenClass = `visible-when-${visibleWhen}`;\n const inlineStyles: {[key: string]: string} = {};\n\n if (color) {\n inlineStyles['--color'] = color;\n }\n\n if (focusedColor) {\n inlineStyles['--focused-color'] = focusedColor;\n }\n\n if (hoverColor) {\n inlineStyles['--hover-color'] = hoverColor;\n }\n\n if (selectedColor) {\n inlineStyles['--selected-color'] = selectedColor;\n }\n\n switch (appearance) {\n case 'counter-badge':\n decorations.push(\n html`<vscode-badge\n variant=\"counter\"\n class=${['counter-badge', visibleWhenClass].join(' ')}\n part=\"counter-badge-decoration\"\n >${content}</vscode-badge\n >`\n );\n break;\n case 'filled-circle':\n decorations.push(\n html`<vscode-icon\n name=\"circle-filled\"\n size=\"14\"\n class=${['filled-circle', visibleWhenClass].join(' ')}\n part=\"filled-circle-decoration\"\n .style=${stylePropertyMap(inlineStyles)}\n ></vscode-icon>`\n );\n break;\n case 'text':\n decorations.push(\n html`<div\n class=${['decoration-text', visibleWhenClass].join(' ')}\n part=\"caption-decoration\"\n .style=${stylePropertyMap(inlineStyles)}\n >\n ${content}\n </div>`\n );\n break;\n default:\n }\n });\n }\n\n if (decorations.length > 0) {\n return html`<div class=\"decorations\" part=\"decorations\">\n ${decorations}\n </div>`;\n } else {\n return html`${nothing}`;\n }\n }\n\n private _renderTreeItem(\n item: TreeItem,\n additionalOptions: {\n path: number[];\n itemType: ItemType;\n hasFocusedItem: boolean;\n hasSelectedItem: boolean;\n }\n ) {\n const {\n open = false,\n label,\n description = '',\n tooltip,\n selected = false,\n focused = false,\n subItems = [],\n } = item;\n const {\n path,\n itemType,\n hasFocusedItem = false,\n hasSelectedItem = false,\n } = additionalOptions;\n const indentLevel = path.length - 1;\n const contentsClasses = ['contents'];\n const liClasses = open ? ['open'] : [];\n const indentSize = indentLevel * this.indent;\n const padLeft =\n this.arrows && itemType === 'leaf'\n ? ARROW_OUTER_WIDTH + indentSize\n : indentSize;\n const arrowMarkup = this._renderArrow(item);\n const iconMarkup = this._renderIcon(item);\n const indentGuidePos = this.arrows\n ? indentSize + ARROW_ICON_WIDTH\n : indentSize + CONTENT_PADDING;\n const subTreeMarkup =\n open && itemType === 'branch'\n ? html`<ul\n .style=${stylePropertyMap({\n '--indent-guide-pos': `${indentGuidePos}px`,\n })}\n class=${classMap({\n 'has-active-item': hasFocusedItem || hasSelectedItem,\n })}\n >\n ${this._renderTree(subItems, path)}\n </ul>`\n : nothing;\n const descriptionMarkup = description\n ? html`<span class=\"description\" part=\"description\">${description}</span>`\n : nothing;\n const actionsMarkup = this._renderActions(item);\n const decorationsMarkup = this._renderDecorations(item);\n\n liClasses.push(itemType);\n\n if (selected) {\n contentsClasses.push('selected');\n }\n\n if (focused) {\n contentsClasses.push('focused');\n }\n\n return html`\n <li data-path=${path.join('/')} class=${liClasses.join(' ')}>\n <div\n class=${contentsClasses.join(' ')}\n .style=${stylePropertyMap({\n paddingLeft: `${padLeft + CONTENT_PADDING}px`,\n })}\n >\n ${arrowMarkup}${iconMarkup}<span\n class=\"text-content\"\n part=\"text-content\"\n title=${ifDefined(tooltip)}\n >${label}${descriptionMarkup}</span\n >\n ${actionsMarkup} ${decorationsMarkup}\n </div>\n ${subTreeMarkup}\n </li>\n `;\n }\n\n private _renderTree(tree: TreeItem[], oldPath: number[] = []) {\n const ret: TemplateResult[] = [];\n\n if (!tree) {\n return nothing;\n }\n\n tree.forEach((item, index) => {\n const path = [...oldPath, index];\n const itemType = isBranch(item) ? 'branch' : 'leaf';\n const {\n selected = false,\n focused = false,\n hasFocusedItem = false,\n hasSelectedItem = false,\n } = item;\n\n if (selected) {\n this._selectedItem = item;\n }\n\n if (focused) {\n this._focusedItem = item;\n }\n\n ret.push(\n this._renderTreeItem(item, {\n path,\n itemType,\n hasFocusedItem,\n hasSelectedItem,\n })\n );\n });\n\n return ret;\n }\n\n private _selectItem(item: TreeItem) {\n if (this._selectedItem) {\n this._selectedItem.selected = false;\n }\n\n if (this._focusedItem) {\n this._focusedItem.focused = false;\n }\n\n this._selectedItem = item;\n item.selected = true;\n this._focusedItem = item;\n item.focused = true;\n\n if (this._selectedBranch) {\n this._selectedBranch.hasSelectedItem = false;\n }\n\n let parentBranch: TreeItem | null = null;\n\n if (item.path?.length && item.path.length > 1) {\n parentBranch = this._getItemByPath(item.path.slice(0, -1));\n }\n\n if (isBranch(item)) {\n this._selectedBranch = item;\n item.hasSelectedItem = true;\n item.open = !item.open;\n\n if (!item.open) {\n if (parentBranch) {\n this._selectedBranch = parentBranch;\n parentBranch.hasSelectedItem = true;\n }\n } else {\n this._selectedBranch = item;\n item.hasSelectedItem = true;\n }\n } else {\n if (item.path?.length && item.path.length > 1) {\n const parentBranch = this._getItemByPath(item.path.slice(0, -1));\n\n if (parentBranch) {\n this._selectedBranch = parentBranch;\n parentBranch.hasSelectedItem = true;\n }\n } else {\n this._selectedBranch = item;\n item.hasSelectedItem = true;\n }\n }\n\n this._emitSelectEvent(\n this._selectedItem as TreeItem,\n this._selectedItem.path!.join('/')\n );\n\n this.requestUpdate();\n }\n\n private _focusItem(item: TreeItem) {\n if (this._focusedItem) {\n this._focusedItem.focused = false;\n }\n\n this._focusedItem = item;\n item.focused = true;\n\n const isBranch = !!item?.subItems?.length;\n\n if (this._focusedBranch) {\n this._focusedBranch.hasFocusedItem = false;\n }\n\n let parentBranch: TreeItem | null = null;\n\n if (item.path?.length && item.path.length > 1) {\n parentBranch = this._getItemByPath(item.path.slice(0, -1));\n }\n\n if (!isBranch) {\n if (parentBranch) {\n this._focusedBranch = parentBranch;\n parentBranch.hasFocusedItem = true;\n }\n } else {\n if (item.open) {\n this._focusedBranch = item;\n item.hasFocusedItem = true;\n } else if (!item.open && parentBranch) {\n this._focusedBranch = parentBranch;\n parentBranch.hasFocusedItem = true;\n }\n }\n }\n\n private _closeSubTreeRecursively(tree: TreeItem[]) {\n tree.forEach((item) => {\n item.open = false;\n\n if (item.subItems && item.subItems.length > 0) {\n this._closeSubTreeRecursively(item.subItems);\n }\n });\n }\n\n private _deselectItemsRecursively(tree: TreeItem[]) {\n tree.forEach((item) => {\n if (item.selected) {\n item.selected = false;\n }\n\n if (item.subItems && item.subItems.length > 0) {\n this._deselectItemsRecursively(item.subItems);\n }\n });\n }\n\n private _emitSelectEvent(item: TreeItem, path: string) {\n const {icons, label, open, value} = item;\n const detail = {\n icons,\n itemType: isBranch(item) ? 'branch' : ('leaf' as ItemType),\n label,\n open: open || false,\n value: value || label,\n path,\n };\n\n /** @deprecated Renamed to `vsc-tree-select` */\n this.dispatchEvent(\n new CustomEvent<SelectEventDetail>('vsc-select', {\n bubbles: true,\n composed: true,\n detail,\n })\n );\n\n this.dispatchEvent(\n new CustomEvent('vsc-tree-select', {\n detail,\n }) as VscTreeSelectEvent\n );\n }\n\n private _focusPrevItem() {\n if (!this._focusedItem) {\n this._focusItem(this._data[0]);\n return;\n }\n\n const {path} = this._focusedItem;\n\n if (path && path?.length > 0) {\n const currentItemIndex = path[path.length - 1];\n const hasParent = path!.length > 1;\n\n if (currentItemIndex > 0) {\n const newPath = [...path];\n newPath[newPath.length - 1] = currentItemIndex - 1;\n\n const prevSibling = this._getItemByPath(newPath) as TreeItem;\n let newFocusedItem = prevSibling;\n\n if (prevSibling?.open && prevSibling.subItems?.length) {\n const {subItems} = prevSibling;\n newFocusedItem = subItems[subItems.length - 1];\n }\n\n this._focusItem(newFocusedItem);\n } else {\n if (hasParent) {\n const newPath = [...path];\n newPath.pop();\n\n this._focusItem(this._getItemByPath(newPath) as TreeItem);\n }\n }\n } else {\n this._focusItem(this._data[0]);\n }\n }\n\n private _focusNextItem() {\n if (!this._focusedItem) {\n this._focusItem(this._data[0]);\n return;\n }\n\n const {path, open} = this._focusedItem;\n\n if (\n open &&\n Array.isArray(this._focusedItem.subItems) &&\n this._focusedItem.subItems.length > 0\n ) {\n this._focusItem(this._focusedItem.subItems[0]);\n return;\n }\n\n const nextPath = [...(path as number[])];\n nextPath[nextPath.length - 1] += 1;\n\n let nextFocusedItem = this._getItemByPath(nextPath);\n\n if (nextFocusedItem) {\n this._focusItem(nextFocusedItem);\n } else {\n nextPath.pop();\n\n if (nextPath.length > 0) {\n nextPath[nextPath.length - 1] += 1;\n nextFocusedItem = this._getItemByPath(nextPath);\n\n if (nextFocusedItem) {\n this._focusItem(nextFocusedItem);\n }\n }\n }\n }\n\n private _handleClick(event: MouseEvent) {\n const composedPath = event.composedPath();\n const targetElement = composedPath.find(\n (el: EventTarget) =>\n (el as HTMLElement).tagName &&\n (el as HTMLElement).tagName.toUpperCase() === 'LI'\n );\n\n if (targetElement) {\n const pathStr = (targetElement as HTMLLIElement).dataset.path || '';\n const path = pathStr.split('/').map((el) => Number(el));\n const item = this._getItemByPath(path) as TreeItem;\n\n this._selectItem(item);\n } else {\n if (this._focusedItem) {\n this._focusedItem.focused = false;\n }\n\n this._focusedItem = null;\n }\n }\n\n private _handleComponentKeyDown(ev: KeyboardEvent) {\n const keys: ListenedKey[] = [\n ' ',\n 'ArrowDown',\n 'ArrowUp',\n 'Enter',\n 'Escape',\n ];\n const key = ev.key as ListenedKey;\n\n if (keys.includes(ev.key as ListenedKey)) {\n ev.stopPropagation();\n ev.preventDefault();\n }\n\n if (key === 'Escape') {\n this._focusedItem = null;\n }\n\n if (key === 'ArrowUp') {\n this._focusPrevItem();\n }\n\n if (key === 'ArrowDown') {\n this._focusNextItem();\n }\n\n if (key === 'Enter' || key === ' ') {\n if (this._focusedItem) {\n this._selectItem(this._focusedItem);\n }\n }\n }\n\n private _handleComponentKeyDownBound =\n this._handleComponentKeyDown.bind(this);\n\n override render(): TemplateResult {\n const classes = classMap({\n multi: this.multiline,\n single: !this.multiline,\n wrapper: true,\n 'has-not-focused-item': !this._focusedItem,\n 'selection-none': !this._selectedItem,\n 'selection-single': this._selectedItem !== null,\n });\n\n return html`\n <div @click=${this._handleClick} class=${classes}>\n <ul>\n ${this._renderTree(this._data)}\n </ul>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-tree': VscodeTree;\n }\n\n interface GlobalEventHandlersEventMap {\n 'vsc-tree-select': VscTreeSelectEvent;\n 'vsc-tree-action': VscTreeActionEvent;\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 {html, nothing, TemplateResult} from 'lit';\nimport {property, state} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {ifDefined} from 'lit/directives/if-defined.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport {stylePropertyMap} from '../includes/style-property-map.js';\nimport '../vscode-badge/index.js';\nimport '../vscode-icon/index.js';\nimport {VscodeIcon} from '../vscode-icon/index.js';\nimport styles from './vscode-tree.styles.js';\n\nexport type VscTreeActionEvent = CustomEvent<{\n actionId: string;\n item: TreeItem | null;\n value: string;\n}>;\n\nexport type VscTreeSelectEvent = CustomEvent<{\n icons: {\n branch?: string;\n open?: string;\n leaf?: string;\n };\n itemType: 'branch' | 'leaf';\n label: string;\n open: boolean;\n value: string;\n path: string;\n}>;\n\ntype ListenedKey = 'ArrowDown' | 'ArrowUp' | 'Enter' | 'Escape' | ' ';\n\ntype IconType = 'themeicon' | 'image';\n\ntype IconVariant = 'branch' | 'leaf' | 'open';\n\nexport interface TreeItemIconConfig {\n branch?: string;\n open?: string;\n leaf?: string;\n}\n\n/** Action icon configuration. */\nexport interface TreeItemAction {\n /** A unique name that identifies the clicked action item. */\n actionId: string;\n /** A Codicon name. */\n icon: string;\n /** Text description of the action. */\n tooltip?: string;\n}\n\n/**\n * The decoration is additional content on the right side of the tree item. It can be a short text,\n * a counter, or a small, filled circle. A color can be defined for the different states. If\n * multiple states are applied to the item, the color with higher precedence will be used. The color\n * precedence from higher to lower is selected, focused, hover, normal. Colors will not be applied\n * to the counter badge.\n */\nexport interface TreeItemDecoration {\n /** Text content of the decoration. If the appearance is `filled-circle`, it will be ignored. */\n content?: string;\n /** Appearance of the decoration. */\n appearance?: 'text' | 'counter-badge' | 'filled-circle';\n /**\n * When is decoration visible?\n * - `active`: visible when the tree item is focused, selected or hovered\n * - `normal`: visible when there is not any interaction on the tree item\n * - `always`: always visible\n */\n visibleWhen?: 'active' | 'normal' | 'always';\n /** A valid CSS property value to define a default color. */\n color?: string;\n /** A valid CSS property value to define the color for the mouse over state. */\n hoverColor?: string;\n /** A valid CSS property value to define the color for the focused state. */\n focusedColor?: string;\n /** A valid CSS property value to define the color for the selected state. */\n selectedColor?: string;\n}\n\nexport interface TreeItem {\n label: string;\n description?: string;\n tooltip?: string;\n subItems?: TreeItem[];\n actions?: TreeItemAction[];\n open?: boolean;\n selected?: boolean;\n focused?: boolean;\n hasSelectedItem?: boolean;\n hasFocusedItem?: boolean;\n icons?: TreeItemIconConfig | boolean;\n iconUrls?: TreeItemIconConfig;\n value?: string;\n path?: number[];\n decorations?: TreeItemDecoration[];\n}\n\ntype ItemType = 'branch' | 'leaf';\n\n/** Event payload of the `vsc-select` event. */\ninterface SelectEventDetail {\n /** Icon configuration of the clicked item */\n icons: TreeItemIconConfig | undefined | boolean;\n /** Is item type branch or leaf. */\n itemType: ItemType;\n /** The visible label of the item. */\n label: string;\n /** The value associated to the item. */\n value: string;\n /** Is the item opened if it's a branch. */\n open: boolean;\n /** Path represents the item place in the tree. For example 1/2/3 means:\n * `data[1].subItems[2].subItems[3]` */\n path: string; // ex.: 0/0/1\n}\n\nconst ARROW_OUTER_WIDTH = 30;\nconst ARROW_ICON_WIDTH = 16;\nconst CONTENT_PADDING = 3;\n\nconst addPath = (tree: TreeItem[], prevPath: number[] = []): TreeItem[] => {\n const nextTree: TreeItem[] = [];\n\n tree.forEach((item, index) => {\n const path = [...prevPath, index];\n const nextItem: TreeItem = {\n ...item,\n path,\n };\n\n if (item.subItems) {\n nextItem.subItems = addPath(item.subItems, path);\n }\n\n nextTree.push(nextItem);\n });\n\n return nextTree;\n};\n\nconst isBranch = (item: TreeItem) => {\n if (\n item.subItems &&\n Array.isArray(item.subItems) &&\n item?.subItems?.length > 0\n ) {\n return true;\n }\n\n return false;\n};\n\n/**\n * @tag vscode-tree\n *\n * @fires vsc-select Dispatched when an item is selected.\n * @fires {VscTreeSelectEvent} vsc-tree-select Dispatched when an item is selected.\n * @fires vsc-run-action Dispatched when an action icon is clicked.\n * @fires {VscTreeActionEvent} vsc-tree-action Dispatched when an action icon is clicked.\n *\n * @cssprop --vscode-focusBorder\n * @cssprop --vscode-font-family\n * @cssprop --vscode-font-size\n * @cssprop --vscode-font-weight\n * @cssprop --vscode-list-hoverForeground\n * @cssprop --vscode-list-hoverBackground\n * @cssprop --vscode-list-inactiveSelectionBackground\n * @cssprop --vscode-list-inactiveSelectionForeground\n * @cssprop --vscode-list-activeSelectionBackground\n * @cssprop --vscode-list-activeSelectionForeground\n * @cssprop --vscode-list-inactiveSelectionIconForeground\n * @cssprop --vscode-list-inactiveFocusBackground\n * @cssprop --vscode-list-inactiveFocusOutline\n * @cssprop --vscode-list-focusOutline\n * @cssprop --vscode-tree-inactiveIndentGuidesStroke\n * @cssprop --vscode-tree-indentGuidesStroke\n *\n * @csspart text-content\n * @csspart description\n * @csspart counter-badge-decoration\n * @csspart filled-circle-decoration\n * @csspart caption-decoration\n * @csspart decorations Container of decorations\n */\n@customElement('vscode-tree')\nexport class VscodeTree extends VscElement {\n static override styles = styles;\n\n @property({type: Array, reflect: false})\n set data(val: TreeItem[]) {\n const oldVal = this._data;\n\n this._data = addPath(val);\n this.requestUpdate('data', oldVal);\n }\n get data(): TreeItem[] {\n return this._data;\n }\n\n @property({type: Number})\n indent = 8;\n\n @property({type: Boolean, reflect: true})\n arrows = false;\n\n @property({type: Boolean, reflect: true})\n multiline = false;\n\n @property({type: Number, reflect: true})\n tabindex = 0;\n\n @property({type: Boolean, reflect: true, attribute: 'indent-guides'})\n indentGuides = false;\n\n private _data: TreeItem[] = [];\n\n @state()\n private _selectedItem: TreeItem | null = null;\n\n @state()\n private _focusedItem: TreeItem | null = null;\n\n @state()\n private _selectedBranch: TreeItem | null = null;\n\n @state()\n private _focusedBranch: TreeItem | null = null;\n\n /**\n * Closes all opened tree items recursively.\n */\n public closeAll(): void {\n this._closeSubTreeRecursively(this.data);\n this.requestUpdate();\n }\n\n /**\n * Deselects all selected items.\n */\n public deselectAll() {\n this._deselectItemsRecursively(this.data);\n this.requestUpdate();\n }\n\n /**\n * Returns a reference to a TreeItem object by path.\n * @param path\n * @returns\n */\n public getItemByPath(path: number[]): TreeItem | null {\n return this._getItemByPath(path);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener('keydown', this._handleComponentKeyDownBound);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('keydown', this._handleComponentKeyDownBound);\n }\n\n private _getItemByPath(path: number[]): TreeItem | null {\n let current: TreeItem[] = this._data;\n let item: TreeItem | null = null;\n\n path.forEach((el, i) => {\n if (i === path.length - 1) {\n item = current[el];\n } else {\n current = current[el].subItems as TreeItem[];\n }\n });\n\n return item;\n }\n\n private _handleActionClick(ev: MouseEvent) {\n ev.stopPropagation();\n\n const el = ev.target as VscodeIcon;\n const itemPath = el.dataset.itemPath;\n const actionIndex = el.dataset.index;\n let item: TreeItem | null = null;\n let actionId = '';\n let value = '';\n\n if (itemPath) {\n const path = itemPath.split('/').map((p) => Number(p));\n item = this._getItemByPath(path);\n\n if (item?.actions) {\n const index = Number(actionIndex);\n\n if (item.actions[index]) {\n actionId = item.actions[index].actionId;\n }\n }\n\n if (item?.value) {\n value = item.value;\n }\n }\n\n /** @deprecated Renamed to `vsc-tree-action` */\n this.dispatchEvent(\n new CustomEvent<{actionId: string; item: TreeItem | null; value: string}>(\n 'vsc-run-action',\n {\n detail: {\n actionId,\n item,\n value,\n },\n }\n )\n );\n\n /**\n * Dispatched when an action icon is clicked.\n */\n this.dispatchEvent(\n new CustomEvent<{actionId: string; item: TreeItem | null; value: string}>(\n 'vsc-tree-action',\n {\n detail: {\n actionId,\n item,\n value,\n },\n }\n ) as VscTreeActionEvent\n );\n }\n\n private _renderIconVariant(variant: {value: string; type: IconType}) {\n const {type, value} = variant;\n\n if (type === 'themeicon') {\n return html`<vscode-icon name=${value} class=\"theme-icon\"></vscode-icon>`;\n } else {\n return html`<span\n class=\"image-icon\"\n .style=${stylePropertyMap({backgroundImage: `url(${value})`})}\n ></span>`;\n }\n }\n\n private _renderIcon(item: TreeItem): TemplateResult {\n const iconVariants: Record<IconVariant, {value: string; type: IconType}> = {\n branch: {\n value: 'folder',\n type: 'themeicon',\n },\n open: {\n value: 'folder-opened',\n type: 'themeicon',\n },\n leaf: {\n value: 'file',\n type: 'themeicon',\n },\n };\n\n if (item.iconUrls) {\n if (item.iconUrls.branch) {\n iconVariants.branch = {\n value: item.iconUrls.branch,\n type: 'image',\n };\n }\n\n if (item.iconUrls.leaf) {\n iconVariants.leaf = {\n value: item.iconUrls.leaf,\n type: 'image',\n };\n }\n\n if (item.iconUrls.open) {\n iconVariants.open = {\n value: item.iconUrls.open,\n type: 'image',\n };\n }\n } else if (typeof item.icons === 'object') {\n if (item.icons.branch) {\n iconVariants.branch = {\n value: item.icons.branch,\n type: 'themeicon',\n };\n }\n\n if (item.icons.leaf) {\n iconVariants.leaf = {\n value: item.icons.leaf,\n type: 'themeicon',\n };\n }\n\n if (item.icons.open) {\n iconVariants.open = {\n value: item.icons.open,\n type: 'themeicon',\n };\n }\n } else if (!item.icons) {\n return html`${nothing}`;\n }\n\n if (isBranch(item)) {\n if (item.open) {\n return this._renderIconVariant(iconVariants.open);\n } else {\n return this._renderIconVariant(iconVariants.branch);\n }\n } else {\n return this._renderIconVariant(iconVariants.leaf);\n }\n }\n\n private _renderArrow(item: TreeItem): TemplateResult {\n if (!this.arrows || !isBranch(item)) {\n return html`${nothing}`;\n }\n\n const {open = false} = item;\n const arrowIconName = open ? 'chevron-down' : 'chevron-right';\n\n return html`\n <div class=\"arrow-container\">\n <vscode-icon name=${arrowIconName} class=\"icon-arrow\"></vscode-icon>\n </div>\n `;\n }\n\n private _renderActions(item: TreeItem): TemplateResult {\n const actionButtons: TemplateResult[] = [];\n\n if (item.actions && Array.isArray(item.actions)) {\n item.actions.forEach((action, index) => {\n if (action.icon) {\n const icon = html`<vscode-icon\n name=${action.icon}\n action-icon\n title=${ifDefined(action.tooltip)}\n data-item-path=${ifDefined(item.path?.join('/'))}\n data-index=${index}\n class=\"action-icon\"\n @click=${this._handleActionClick}\n ></vscode-icon>`;\n\n actionButtons.push(icon);\n }\n });\n }\n\n if (actionButtons.length > 0) {\n return html`<div class=\"actions\">${actionButtons}</div>`;\n } else {\n return html`${nothing}`;\n }\n }\n\n private _renderDecorations(item: TreeItem) {\n const decorations: TemplateResult[] = [];\n\n if (item.decorations && Array.isArray(item.decorations)) {\n item.decorations.forEach((decoration) => {\n const {\n appearance = 'text',\n visibleWhen = 'always',\n content = '',\n color = '',\n focusedColor = '',\n hoverColor = '',\n selectedColor = '',\n } = decoration;\n const visibleWhenClass = `visible-when-${visibleWhen}`;\n const inlineStyles: {[key: string]: string} = {};\n\n if (color) {\n inlineStyles['--color'] = color;\n }\n\n if (focusedColor) {\n inlineStyles['--focused-color'] = focusedColor;\n }\n\n if (hoverColor) {\n inlineStyles['--hover-color'] = hoverColor;\n }\n\n if (selectedColor) {\n inlineStyles['--selected-color'] = selectedColor;\n }\n\n switch (appearance) {\n case 'counter-badge':\n decorations.push(\n html`<vscode-badge\n variant=\"counter\"\n class=${['counter-badge', visibleWhenClass].join(' ')}\n part=\"counter-badge-decoration\"\n >${content}</vscode-badge\n >`\n );\n break;\n case 'filled-circle':\n decorations.push(\n html`<vscode-icon\n name=\"circle-filled\"\n size=\"14\"\n class=${['filled-circle', visibleWhenClass].join(' ')}\n part=\"filled-circle-decoration\"\n .style=${stylePropertyMap(inlineStyles)}\n ></vscode-icon>`\n );\n break;\n case 'text':\n decorations.push(\n html`<div\n class=${['decoration-text', visibleWhenClass].join(' ')}\n part=\"caption-decoration\"\n .style=${stylePropertyMap(inlineStyles)}\n >\n ${content}\n </div>`\n );\n break;\n default:\n }\n });\n }\n\n if (decorations.length > 0) {\n return html`<div class=\"decorations\" part=\"decorations\">\n ${decorations}\n </div>`;\n } else {\n return html`${nothing}`;\n }\n }\n\n private _renderTreeItem(\n item: TreeItem,\n additionalOptions: {\n path: number[];\n itemType: ItemType;\n hasFocusedItem: boolean;\n hasSelectedItem: boolean;\n }\n ) {\n const {\n open = false,\n label,\n description = '',\n tooltip,\n selected = false,\n focused = false,\n subItems = [],\n } = item;\n const {\n path,\n itemType,\n hasFocusedItem = false,\n hasSelectedItem = false,\n } = additionalOptions;\n const indentLevel = path.length - 1;\n const contentsClasses = ['contents'];\n const liClasses = open ? ['open'] : [];\n const indentSize = indentLevel * this.indent;\n const padLeft =\n this.arrows && itemType === 'leaf'\n ? ARROW_OUTER_WIDTH + indentSize\n : indentSize;\n const arrowMarkup = this._renderArrow(item);\n const iconMarkup = this._renderIcon(item);\n const indentGuidePos = this.arrows\n ? indentSize + ARROW_ICON_WIDTH\n : indentSize + CONTENT_PADDING;\n const subTreeMarkup =\n open && itemType === 'branch'\n ? html`<ul\n .style=${stylePropertyMap({\n '--indent-guide-pos': `${indentGuidePos}px`,\n })}\n class=${classMap({\n 'has-active-item': hasFocusedItem || hasSelectedItem,\n })}\n >\n ${this._renderTree(subItems, path)}\n </ul>`\n : nothing;\n const descriptionMarkup = description\n ? html`<span class=\"description\" part=\"description\">${description}</span>`\n : nothing;\n const actionsMarkup = this._renderActions(item);\n const decorationsMarkup = this._renderDecorations(item);\n\n liClasses.push(itemType);\n\n if (selected) {\n contentsClasses.push('selected');\n }\n\n if (focused) {\n contentsClasses.push('focused');\n }\n\n return html`\n <li data-path=${path.join('/')} class=${liClasses.join(' ')}>\n <div\n class=${contentsClasses.join(' ')}\n .style=${stylePropertyMap({\n paddingLeft: `${padLeft + CONTENT_PADDING}px`,\n })}\n >\n ${arrowMarkup}${iconMarkup}<span\n class=\"text-content\"\n part=\"text-content\"\n title=${ifDefined(tooltip)}\n >${label}${descriptionMarkup}</span\n >\n ${actionsMarkup} ${decorationsMarkup}\n </div>\n ${subTreeMarkup}\n </li>\n `;\n }\n\n private _renderTree(tree: TreeItem[], oldPath: number[] = []) {\n const ret: TemplateResult[] = [];\n\n if (!tree) {\n return nothing;\n }\n\n tree.forEach((item, index) => {\n const path = [...oldPath, index];\n const itemType = isBranch(item) ? 'branch' : 'leaf';\n const {\n selected = false,\n focused = false,\n hasFocusedItem = false,\n hasSelectedItem = false,\n } = item;\n\n if (selected) {\n this._selectedItem = item;\n }\n\n if (focused) {\n this._focusedItem = item;\n }\n\n ret.push(\n this._renderTreeItem(item, {\n path,\n itemType,\n hasFocusedItem,\n hasSelectedItem,\n })\n );\n });\n\n return ret;\n }\n\n private _selectItem(item: TreeItem) {\n if (this._selectedItem) {\n this._selectedItem.selected = false;\n }\n\n if (this._focusedItem) {\n this._focusedItem.focused = false;\n }\n\n this._selectedItem = item;\n item.selected = true;\n this._focusedItem = item;\n item.focused = true;\n\n if (this._selectedBranch) {\n this._selectedBranch.hasSelectedItem = false;\n }\n\n let parentBranch: TreeItem | null = null;\n\n if (item.path?.length && item.path.length > 1) {\n parentBranch = this._getItemByPath(item.path.slice(0, -1));\n }\n\n if (isBranch(item)) {\n this._selectedBranch = item;\n item.hasSelectedItem = true;\n item.open = !item.open;\n\n if (!item.open) {\n if (parentBranch) {\n this._selectedBranch = parentBranch;\n parentBranch.hasSelectedItem = true;\n }\n } else {\n this._selectedBranch = item;\n item.hasSelectedItem = true;\n }\n } else {\n if (item.path?.length && item.path.length > 1) {\n const parentBranch = this._getItemByPath(item.path.slice(0, -1));\n\n if (parentBranch) {\n this._selectedBranch = parentBranch;\n parentBranch.hasSelectedItem = true;\n }\n } else {\n this._selectedBranch = item;\n item.hasSelectedItem = true;\n }\n }\n\n this._emitSelectEvent(\n this._selectedItem as TreeItem,\n this._selectedItem.path!.join('/')\n );\n\n this.requestUpdate();\n }\n\n private _focusItem(item: TreeItem) {\n if (this._focusedItem) {\n this._focusedItem.focused = false;\n }\n\n this._focusedItem = item;\n item.focused = true;\n\n const isBranch = !!item?.subItems?.length;\n\n if (this._focusedBranch) {\n this._focusedBranch.hasFocusedItem = false;\n }\n\n let parentBranch: TreeItem | null = null;\n\n if (item.path?.length && item.path.length > 1) {\n parentBranch = this._getItemByPath(item.path.slice(0, -1));\n }\n\n if (!isBranch) {\n if (parentBranch) {\n this._focusedBranch = parentBranch;\n parentBranch.hasFocusedItem = true;\n }\n } else {\n if (item.open) {\n this._focusedBranch = item;\n item.hasFocusedItem = true;\n } else if (!item.open && parentBranch) {\n this._focusedBranch = parentBranch;\n parentBranch.hasFocusedItem = true;\n }\n }\n }\n\n private _closeSubTreeRecursively(tree: TreeItem[]) {\n tree.forEach((item) => {\n item.open = false;\n\n if (item.subItems && item.subItems.length > 0) {\n this._closeSubTreeRecursively(item.subItems);\n }\n });\n }\n\n private _deselectItemsRecursively(tree: TreeItem[]) {\n tree.forEach((item) => {\n if (item.selected) {\n item.selected = false;\n }\n\n if (item.subItems && item.subItems.length > 0) {\n this._deselectItemsRecursively(item.subItems);\n }\n });\n }\n\n private _emitSelectEvent(item: TreeItem, path: string) {\n const {icons, label, open, value} = item;\n const detail = {\n icons,\n itemType: isBranch(item) ? 'branch' : ('leaf' as ItemType),\n label,\n open: open || false,\n value: value || label,\n path,\n };\n\n /** @deprecated Renamed to `vsc-tree-select` */\n this.dispatchEvent(\n new CustomEvent<SelectEventDetail>('vsc-select', {\n bubbles: true,\n composed: true,\n detail,\n })\n );\n\n this.dispatchEvent(\n new CustomEvent('vsc-tree-select', {\n detail,\n }) as VscTreeSelectEvent\n );\n }\n\n private _focusPrevItem() {\n if (!this._focusedItem) {\n this._focusItem(this._data[0]);\n return;\n }\n\n const {path} = this._focusedItem;\n\n if (path && path?.length > 0) {\n const currentItemIndex = path[path.length - 1];\n const hasParent = path!.length > 1;\n\n if (currentItemIndex > 0) {\n const newPath = [...path];\n newPath[newPath.length - 1] = currentItemIndex - 1;\n\n const prevSibling = this._getItemByPath(newPath) as TreeItem;\n let newFocusedItem = prevSibling;\n\n if (prevSibling?.open && prevSibling.subItems?.length) {\n const {subItems} = prevSibling;\n newFocusedItem = subItems[subItems.length - 1];\n }\n\n this._focusItem(newFocusedItem);\n } else {\n if (hasParent) {\n const newPath = [...path];\n newPath.pop();\n\n this._focusItem(this._getItemByPath(newPath) as TreeItem);\n }\n }\n } else {\n this._focusItem(this._data[0]);\n }\n }\n\n private _focusNextItem() {\n if (!this._focusedItem) {\n this._focusItem(this._data[0]);\n return;\n }\n\n const {path, open} = this._focusedItem;\n\n if (\n open &&\n Array.isArray(this._focusedItem.subItems) &&\n this._focusedItem.subItems.length > 0\n ) {\n this._focusItem(this._focusedItem.subItems[0]);\n return;\n }\n\n const nextPath = [...(path as number[])];\n nextPath[nextPath.length - 1] += 1;\n\n let nextFocusedItem = this._getItemByPath(nextPath);\n\n if (nextFocusedItem) {\n this._focusItem(nextFocusedItem);\n } else {\n nextPath.pop();\n\n if (nextPath.length > 0) {\n nextPath[nextPath.length - 1] += 1;\n nextFocusedItem = this._getItemByPath(nextPath);\n\n if (nextFocusedItem) {\n this._focusItem(nextFocusedItem);\n }\n }\n }\n }\n\n private _handleClick(event: MouseEvent) {\n const composedPath = event.composedPath();\n const targetElement = composedPath.find(\n (el: EventTarget) =>\n (el as HTMLElement).tagName &&\n (el as HTMLElement).tagName.toUpperCase() === 'LI'\n );\n\n if (targetElement) {\n const pathStr = (targetElement as HTMLLIElement).dataset.path || '';\n const path = pathStr.split('/').map((el) => Number(el));\n const item = this._getItemByPath(path) as TreeItem;\n\n this._selectItem(item);\n } else {\n if (this._focusedItem) {\n this._focusedItem.focused = false;\n }\n\n this._focusedItem = null;\n }\n }\n\n private _handleComponentKeyDown(ev: KeyboardEvent) {\n const keys: ListenedKey[] = [\n ' ',\n 'ArrowDown',\n 'ArrowUp',\n 'Enter',\n 'Escape',\n ];\n const key = ev.key as ListenedKey;\n\n if (keys.includes(ev.key as ListenedKey)) {\n ev.stopPropagation();\n ev.preventDefault();\n }\n\n if (key === 'Escape') {\n this._focusedItem = null;\n }\n\n if (key === 'ArrowUp') {\n this._focusPrevItem();\n }\n\n if (key === 'ArrowDown') {\n this._focusNextItem();\n }\n\n if (key === 'Enter' || key === ' ') {\n if (this._focusedItem) {\n this._selectItem(this._focusedItem);\n }\n }\n }\n\n private _handleComponentKeyDownBound =\n this._handleComponentKeyDown.bind(this);\n\n override render(): TemplateResult {\n const classes = classMap({\n multi: this.multiline,\n single: !this.multiline,\n wrapper: true,\n 'has-not-focused-item': !this._focusedItem,\n 'selection-none': !this._selectedItem,\n 'selection-single': this._selectedItem !== null,\n });\n\n return html`\n <div @click=${this._handleClick} class=${classes}>\n <ul>\n ${this._renderTree(this._data)}\n </ul>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-tree': VscodeTree;\n }\n\n interface GlobalEventHandlersEventMap {\n 'vsc-tree-select': VscTreeSelectEvent;\n 'vsc-tree-action': VscTreeActionEvent;\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vscode-elements/elements",
|
|
3
|
-
"version": "1.13.2-pre.
|
|
3
|
+
"version": "1.13.2-pre.1",
|
|
4
4
|
"description": "Webcomponents for creating Visual Studio Code extensions",
|
|
5
5
|
"main": "dist/main.js",
|
|
6
6
|
"module": "dist/main.js",
|
|
@@ -129,21 +129,21 @@
|
|
|
129
129
|
],
|
|
130
130
|
"repository": {
|
|
131
131
|
"type": "git",
|
|
132
|
-
"url": "git+https://github.com/
|
|
132
|
+
"url": "git+https://github.com/vscode-elements/elements.git"
|
|
133
133
|
},
|
|
134
134
|
"bugs": {
|
|
135
|
-
"url": "https://github.com/
|
|
135
|
+
"url": "https://github.com/vscode-elements/elements/issues"
|
|
136
136
|
},
|
|
137
|
-
"homepage": "https://
|
|
137
|
+
"homepage": "https://vscode-elements.github.io",
|
|
138
138
|
"dependencies": {
|
|
139
139
|
"lit": "^3.2.1"
|
|
140
140
|
},
|
|
141
141
|
"devDependencies": {
|
|
142
|
-
"@awmottaz/prettier-plugin-void-html": "^1.
|
|
142
|
+
"@awmottaz/prettier-plugin-void-html": "^1.8.0",
|
|
143
143
|
"@bendera/wds-plugin-directory-index": "^0.4.0",
|
|
144
144
|
"@custom-elements-manifest/analyzer": "^0.10.4",
|
|
145
|
-
"@eslint/eslintrc": "^3.
|
|
146
|
-
"@eslint/js": "^9.
|
|
145
|
+
"@eslint/eslintrc": "^3.3.0",
|
|
146
|
+
"@eslint/js": "^9.21.0",
|
|
147
147
|
"@esm-bundle/chai": "^4.3.4-fix.0",
|
|
148
148
|
"@open-wc/testing": "^4.0.0",
|
|
149
149
|
"@rollup/plugin-node-resolve": "^16.0.0",
|
|
@@ -151,36 +151,36 @@
|
|
|
151
151
|
"@rollup/plugin-terser": "^0.4.4",
|
|
152
152
|
"@types/chai": "^4.3.20",
|
|
153
153
|
"@types/mocha": "^10.0.10",
|
|
154
|
-
"@types/node": "^22.
|
|
155
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
156
|
-
"@typescript-eslint/parser": "^8.
|
|
157
|
-
"@vscode-elements/webview-playground": "^1.
|
|
154
|
+
"@types/node": "^22.13.5",
|
|
155
|
+
"@typescript-eslint/eslint-plugin": "^8.25.0",
|
|
156
|
+
"@typescript-eslint/parser": "^8.25.0",
|
|
157
|
+
"@vscode-elements/webview-playground": "^1.6.0",
|
|
158
158
|
"@vscode/codicons": "^0.0.36",
|
|
159
159
|
"@web/dev-server": "^0.4.6",
|
|
160
|
-
"@web/dev-server-esbuild": "^1.0.
|
|
160
|
+
"@web/dev-server-esbuild": "^1.0.4",
|
|
161
161
|
"@web/dev-server-legacy": "^2.1.1",
|
|
162
162
|
"@web/dev-server-rollup": "^0.6.4",
|
|
163
|
-
"@web/test-runner": "^0.
|
|
163
|
+
"@web/test-runner": "^0.20.0",
|
|
164
164
|
"@web/test-runner-commands": "^0.9.0",
|
|
165
165
|
"@web/test-runner-mocha": "^0.9.0",
|
|
166
166
|
"@web/test-runner-playwright": "^0.11.0",
|
|
167
167
|
"@webcomponents/webcomponentsjs": "^2.8.0",
|
|
168
168
|
"chokidar": "^4.0.3",
|
|
169
|
-
"custom-element-vs-code-integration": "^1.
|
|
169
|
+
"custom-element-vs-code-integration": "^1.5.0",
|
|
170
170
|
"deepmerge": "^4.3.1",
|
|
171
171
|
"dotenv": "^16.4.7",
|
|
172
172
|
"eslint-plugin-lit": "^1.15.0",
|
|
173
|
-
"eslint-plugin-wc": "^2.2.
|
|
174
|
-
"mocha": "^11.0
|
|
175
|
-
"prettier": "^3.
|
|
173
|
+
"eslint-plugin-wc": "^2.2.1",
|
|
174
|
+
"mocha": "^11.1.0",
|
|
175
|
+
"prettier": "^3.5.2",
|
|
176
176
|
"rimraf": "^6.0.1",
|
|
177
|
-
"rollup": "^4.
|
|
177
|
+
"rollup": "^4.34.8",
|
|
178
178
|
"rollup-plugin-filesize": "^10.0.0",
|
|
179
179
|
"rollup-plugin-visualizer": "^5.14.0",
|
|
180
|
-
"semver": "^7.
|
|
180
|
+
"semver": "^7.7.1",
|
|
181
181
|
"sinon": "^19.0.2",
|
|
182
182
|
"ts-lit-plugin": "^2.0.2",
|
|
183
183
|
"typescript": "^5.7.3",
|
|
184
|
-
"wireit": "^0.14.
|
|
184
|
+
"wireit": "^0.14.11"
|
|
185
185
|
}
|
|
186
186
|
}
|
|
@@ -46,15 +46,13 @@
|
|
|
46
46
|
{ "name": "--vscode-font-family", "values": [] },
|
|
47
47
|
{ "name": "--vscode-font-size", "values": [] },
|
|
48
48
|
{ "name": "--vscode-font-weight", "values": [] },
|
|
49
|
-
{
|
|
50
|
-
"name": "--vsc-foreground-translucent",
|
|
51
|
-
"description": "Label font color. 90% transparency version of `--vscode-foreground` by default.",
|
|
52
|
-
"values": []
|
|
53
|
-
},
|
|
49
|
+
{ "name": "--vscode-foreground", "values": [] },
|
|
54
50
|
{ "name": "--vscode-settings-checkboxBackground", "values": [] },
|
|
55
51
|
{ "name": "--vscode-settings-checkboxBorder", "values": [] },
|
|
56
52
|
{ "name": "--vscode-settings-checkboxForeground", "values": [] },
|
|
57
53
|
{ "name": "--vscode-focusBorder", "values": [] },
|
|
54
|
+
{ "name": "--vscode-inputValidation-errorBackground", "values": [] },
|
|
55
|
+
{ "name": "--vscode-inputValidation-errorBorder", "values": [] },
|
|
58
56
|
{
|
|
59
57
|
"name": "--vscode-sideBar-background",
|
|
60
58
|
"description": "Background color",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
},
|
|
77
77
|
{
|
|
78
78
|
"name": "vscode-checkbox",
|
|
79
|
-
"description": "Allows users to select one or more options from a set. When participating in a form, it supports\nthe `:invalid` pseudo class. Otherwise the error styles can be applied through the `invalid`\nproperty.\n---\n\n\n### **Events:**\n - **change** - Dispatched when checked state is changed. The event is bubbled, so it can be listened on a parent element like the `CheckboxGroup`.\n- **vsc-change**\n- **invalid** - Dispatched when the element is invalid and `checkValidity()` has been called or the form containing this element is submitted. [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/invalid_event)\n\n### **Methods:**\n - **checkValidity(): _boolean_** - Returns `true` if the element's value is valid; otherwise, it returns `false`.\nIf the element's value is invalid, an invalid event is triggered on the element.\n\n[MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/checkValidity)\n- **reportValidity(): _boolean_** - Returns `true` if the element's value is valid; otherwise, it returns `false`.\nIf the element's value is invalid, an invalid event is triggered on the element, and the\nbrowser displays an error message to the user.\n\n[MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/reportValidity)\n\n### **CSS Properties:**\n - **--vscode-font-family** - undefined _(default:
|
|
79
|
+
"description": "Allows users to select one or more options from a set. When participating in a form, it supports\nthe `:invalid` pseudo class. Otherwise the error styles can be applied through the `invalid`\nproperty.\n---\n\n\n### **Events:**\n - **change** - Dispatched when checked state is changed. The event is bubbled, so it can be listened on a parent element like the `CheckboxGroup`.\n- **vsc-change**\n- **invalid** - Dispatched when the element is invalid and `checkValidity()` has been called or the form containing this element is submitted. [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/invalid_event)\n\n### **Methods:**\n - **checkValidity(): _boolean_** - Returns `true` if the element's value is valid; otherwise, it returns `false`.\nIf the element's value is invalid, an invalid event is triggered on the element.\n\n[MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/checkValidity)\n- **reportValidity(): _boolean_** - Returns `true` if the element's value is valid; otherwise, it returns `false`.\nIf the element's value is invalid, an invalid event is triggered on the element, and the\nbrowser displays an error message to the user.\n\n[MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/reportValidity)\n\n### **CSS Properties:**\n - **--vscode-font-family** - undefined _(default: sans-serif)_\n- **--vscode-font-size** - undefined _(default: 13px)_\n- **--vscode-font-weight** - undefined _(default: normal)_\n- **--vscode-foreground** - undefined _(default: #cccccc)_\n- **--vscode-settings-checkboxBackground** - undefined _(default: #313131)_\n- **--vscode-settings-checkboxBorder** - undefined _(default: #3c3c3c)_\n- **--vscode-settings-checkboxForeground** - undefined _(default: #cccccc)_\n- **--vscode-focusBorder** - undefined _(default: #0078d4)_\n- **--vscode-inputValidation-errorBackground** - undefined _(default: #5a1d1d)_\n- **--vscode-inputValidation-errorBorder** - undefined _(default: #be1100)_",
|
|
80
80
|
"attributes": [
|
|
81
81
|
{
|
|
82
82
|
"name": "name",
|
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
},
|
|
126
126
|
{
|
|
127
127
|
"name": "vscode-collapsible",
|
|
128
|
-
"description": "Allows users to reveal or hide related content on a page.\n---\n\n\n### **Events:**\n - **vsc-collapsible-toggle** - Dispatched when the content visibility is changed.\n\n### **Slots:**\n - _default_ - Main content.\n- **actions** - You can place any action icon in this slot in the header, but it's also possible to use any HTML element in it. It's only visible when the component is open.\n- **decorations** - The elements placed in the decorations slot are always visible.\n\n### **CSS Properties:**\n - **--vscode-sideBar-background** - Background color _(default:
|
|
128
|
+
"description": "Allows users to reveal or hide related content on a page.\n---\n\n\n### **Events:**\n - **vsc-collapsible-toggle** - Dispatched when the content visibility is changed.\n\n### **Slots:**\n - _default_ - Main content.\n- **actions** - You can place any action icon in this slot in the header, but it's also possible to use any HTML element in it. It's only visible when the component is open.\n- **decorations** - The elements placed in the decorations slot are always visible.\n\n### **CSS Properties:**\n - **--vscode-sideBar-background** - Background color _(default: #181818)_\n- **--vscode-focusBorder** - Focus border color _(default: #0078d4)_\n- **--vscode-font-family** - Header font family _(default: sans-serif)_\n- **--vscode-sideBarSectionHeader-background** - Header background _(default: #181818)_\n- **--vscode-icon-foreground** - Arrow icon color _(default: #cccccc)_\n- **--vscode-sideBarTitle-foreground** - Header font color _(default: #cccccc)_\n\n### **CSS Parts:**\n - **body** - Container for the toggleable content of the component. The container's overflow content is hidden by default. This CSS part can serve as an escape hatch to modify this behavior.",
|
|
129
129
|
"attributes": [
|
|
130
130
|
{
|
|
131
131
|
"name": "title",
|
|
@@ -242,7 +242,7 @@
|
|
|
242
242
|
},
|
|
243
243
|
{
|
|
244
244
|
"name": "vscode-label",
|
|
245
|
-
"description": "\n---\n\n\n### **CSS Properties:**\n - **--vscode-font-family** - undefined _(default:
|
|
245
|
+
"description": "\n---\n\n\n### **CSS Properties:**\n - **--vscode-font-family** - undefined _(default: sans-serif)_\n- **--vscode-font-size** - undefined _(default: 13px)_\n- **--vscode-foreground** - undefined _(default: #cccccc)_",
|
|
246
246
|
"attributes": [
|
|
247
247
|
{ "name": "for", "values": [] },
|
|
248
248
|
{ "name": "id", "values": [] },
|
|
@@ -584,7 +584,7 @@
|
|
|
584
584
|
},
|
|
585
585
|
{
|
|
586
586
|
"name": "vscode-textarea",
|
|
587
|
-
"description": "Multi-line text input.\n\nWhen participating in a form, it supports the `:invalid` pseudo class. Otherwise the error styles\ncan be applied through the `invalid` property.\n---\n\n\n### **Events:**\n - **change**\n- **vsc-change**\n- **vsc-input**\n- **input**\n\n### **CSS Properties:**\n - **--vscode-scrollbar-shadow** - undefined _(default:
|
|
587
|
+
"description": "Multi-line text input.\n\nWhen participating in a form, it supports the `:invalid` pseudo class. Otherwise the error styles\ncan be applied through the `invalid` property.\n---\n\n\n### **Events:**\n - **change**\n- **vsc-change**\n- **vsc-input**\n- **input**\n\n### **CSS Properties:**\n - **--vscode-scrollbar-shadow** - undefined _(default: #000000)_\n- **--vscode-settings-textInputBackground** - undefined _(default: #313131)_\n- **--vscode-settings-textInputBorder** - undefined _(default: transparent)_\n- **--vscode-settings-textInputForeground** - undefined _(default: #cccccc)_\n- **--vscode-input-placeholderForeground** - undefined _(default: #989898)_\n- **--vscode-font-family** - undefined _(default: sans-serif)_\n- **--vscode-font-size** - undefined _(default: 13px)_\n- **--vscode-font-weight** - undefined _(default: normal)_\n- **--vscode-editor-background** - undefined _(default: #1f1f1f)_\n- **--vscode-editor-foreground** - undefined _(default: #cccccc)_\n- **--vscode-editor-font-family** - undefined _(default: monospace)_\n- **--vscode-editor-font-size** - undefined _(default: 14px)_\n- **--vscode-editor-font-weight** - undefined _(default: normal)_\n- **--vscode-editor-inlineValuesForeground** - undefined _(default: rgba(255, 255, 255, 0.5))_\n- **--vscode-focusBorder** - undefined _(default: #0078d4)_\n- **--vscode-scrollbarSlider-background** - undefined _(default: rgba(121, 121, 121, 0.4))_\n- **--vscode-scrollbarSlider-hoverBackground** - undefined _(default: rgba(100, 100, 100, 0.7))_\n- **--vscode-scrollbarSlider-activeBackground** - undefined _(default: rgba(191, 191, 191, 0.4))_",
|
|
588
588
|
"attributes": [
|
|
589
589
|
{
|
|
590
590
|
"name": "autocomplete",
|