@vscode-elements/elements 2.0.0-pre.1 → 2.0.0-pre.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/custom-elements.json +4505 -2986
- package/dist/bundled.js +1157 -934
- package/dist/includes/VscElement.d.ts +9 -1
- package/dist/includes/VscElement.d.ts.map +1 -1
- package/dist/includes/VscElement.js +38 -5
- package/dist/includes/VscElement.js.map +1 -1
- package/dist/includes/form-button-widget/LabelledCheckboxOrRadio.d.ts.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/includes/uniqueId.d.ts.map +1 -1
- package/dist/includes/vscode-select/OptionListController.d.ts +61 -0
- package/dist/includes/vscode-select/OptionListController.d.ts.map +1 -0
- package/dist/includes/vscode-select/OptionListController.js +373 -0
- package/dist/includes/vscode-select/OptionListController.js.map +1 -0
- package/dist/includes/vscode-select/helpers.d.ts +4 -2
- package/dist/includes/vscode-select/helpers.d.ts.map +1 -1
- package/dist/includes/vscode-select/helpers.js +26 -0
- package/dist/includes/vscode-select/helpers.js.map +1 -1
- package/dist/includes/vscode-select/styles.d.ts.map +1 -1
- package/dist/includes/vscode-select/styles.js +137 -86
- package/dist/includes/vscode-select/styles.js.map +1 -1
- package/dist/includes/vscode-select/template-elements.d.ts +1 -0
- package/dist/includes/vscode-select/template-elements.d.ts.map +1 -1
- package/dist/includes/vscode-select/template-elements.js +14 -1
- package/dist/includes/vscode-select/template-elements.js.map +1 -1
- package/dist/includes/vscode-select/types.d.ts +11 -7
- package/dist/includes/vscode-select/types.d.ts.map +1 -1
- package/dist/includes/vscode-select/types.js.map +1 -1
- package/dist/includes/vscode-select/vscode-select-base.d.ts +42 -31
- package/dist/includes/vscode-select/vscode-select-base.d.ts.map +1 -1
- package/dist/includes/vscode-select/vscode-select-base.js +379 -245
- package/dist/includes/vscode-select/vscode-select-base.js.map +1 -1
- package/dist/main.d.ts +4 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +4 -0
- package/dist/main.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 +1 -0
- package/dist/vscode-button/vscode-button.d.ts.map +1 -1
- package/dist/vscode-button/vscode-button.js +8 -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 +60 -11
- package/dist/vscode-button/vscode-button.styles.js.map +1 -1
- package/dist/vscode-button-group/index.d.ts +2 -0
- package/dist/vscode-button-group/index.d.ts.map +1 -0
- package/dist/vscode-button-group/index.js +2 -0
- package/dist/vscode-button-group/index.js.map +1 -0
- package/dist/vscode-button-group/vscode-button-group.d.ts +29 -0
- package/dist/vscode-button-group/vscode-button-group.d.ts.map +1 -0
- package/dist/vscode-button-group/vscode-button-group.js +38 -0
- package/dist/vscode-button-group/vscode-button-group.js.map +1 -0
- package/dist/vscode-button-group/vscode-button-group.styles.d.ts +4 -0
- package/dist/vscode-button-group/vscode-button-group.styles.d.ts.map +1 -0
- package/dist/vscode-button-group/vscode-button-group.styles.js +35 -0
- package/dist/vscode-button-group/vscode-button-group.styles.js.map +1 -0
- package/dist/vscode-checkbox/vscode-checkbox.d.ts +10 -10
- package/dist/vscode-checkbox/vscode-checkbox.d.ts.map +1 -1
- package/dist/vscode-checkbox/vscode-checkbox.js +12 -14
- 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 +8 -8
- package/dist/vscode-context-menu/vscode-context-menu.d.ts.map +1 -1
- package/dist/vscode-context-menu/vscode-context-menu.js +9 -9
- package/dist/vscode-context-menu/vscode-context-menu.js.map +1 -1
- package/dist/vscode-context-menu/vscode-context-menu.styles.js +7 -7
- package/dist/vscode-context-menu/vscode-context-menu.styles.js.map +1 -1
- package/dist/vscode-context-menu-item/vscode-context-menu-item.d.ts +9 -9
- 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 +11 -11
- package/dist/vscode-context-menu-item/vscode-context-menu-item.js.map +1 -1
- package/dist/vscode-context-menu-item/vscode-context-menu-item.styles.d.ts.map +1 -1
- package/dist/vscode-context-menu-item/vscode-context-menu-item.styles.js +10 -13
- package/dist/vscode-context-menu-item/vscode-context-menu-item.styles.js.map +1 -1
- package/dist/vscode-divider/vscode-divider.d.ts +2 -0
- package/dist/vscode-divider/vscode-divider.d.ts.map +1 -1
- package/dist/vscode-divider/vscode-divider.js +4 -2
- package/dist/vscode-divider/vscode-divider.js.map +1 -1
- package/dist/vscode-divider/vscode-divider.styles.js +1 -1
- package/dist/vscode-divider/vscode-divider.styles.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 +4 -4
- package/dist/vscode-icon/vscode-icon.d.ts.map +1 -1
- package/dist/vscode-icon/vscode-icon.js +7 -6
- package/dist/vscode-icon/vscode-icon.js.map +1 -1
- package/dist/vscode-icon/vscode-icon.styles.d.ts.map +1 -1
- package/dist/vscode-icon/vscode-icon.styles.js +10 -4
- package/dist/vscode-icon/vscode-icon.styles.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 +14 -12
- 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 +39 -26
- package/dist/vscode-multi-select/vscode-multi-select.d.ts.map +1 -1
- package/dist/vscode-multi-select/vscode-multi-select.js +184 -161
- 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 +2 -0
- package/dist/vscode-progress-ring/vscode-progress-ring.d.ts.map +1 -1
- package/dist/vscode-progress-ring/vscode-progress-ring.js +4 -2
- package/dist/vscode-progress-ring/vscode-progress-ring.js.map +1 -1
- package/dist/vscode-progress-ring/vscode-progress-ring.styles.js +1 -1
- package/dist/vscode-progress-ring/vscode-progress-ring.styles.js.map +1 -1
- package/dist/vscode-radio/vscode-radio.d.ts +9 -8
- package/dist/vscode-radio/vscode-radio.d.ts.map +1 -1
- package/dist/vscode-radio/vscode-radio.js +11 -9
- package/dist/vscode-radio/vscode-radio.js.map +1 -1
- package/dist/vscode-radio/vscode-radio.styles.js +2 -2
- package/dist/vscode-radio/vscode-radio.styles.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 +61 -17
- package/dist/vscode-scrollable/vscode-scrollable.d.ts.map +1 -1
- package/dist/vscode-scrollable/vscode-scrollable.js +193 -88
- package/dist/vscode-scrollable/vscode-scrollable.js.map +1 -1
- package/dist/vscode-scrollable/vscode-scrollable.styles.d.ts.map +1 -1
- package/dist/vscode-scrollable/vscode-scrollable.styles.js +17 -5
- package/dist/vscode-scrollable/vscode-scrollable.styles.js.map +1 -1
- package/dist/vscode-single-select/vscode-single-select.d.ts +39 -28
- package/dist/vscode-single-select/vscode-single-select.d.ts.map +1 -1
- package/dist/vscode-single-select/vscode-single-select.js +180 -125
- package/dist/vscode-single-select/vscode-single-select.js.map +1 -1
- package/dist/vscode-split-layout/vscode-split-layout.d.ts +3 -1
- package/dist/vscode-split-layout/vscode-split-layout.d.ts.map +1 -1
- package/dist/vscode-split-layout/vscode-split-layout.js +8 -3
- package/dist/vscode-split-layout/vscode-split-layout.js.map +1 -1
- package/dist/vscode-split-layout/vscode-split-layout.styles.js +3 -3
- package/dist/vscode-split-layout/vscode-split-layout.styles.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/helpers.d.ts.map +1 -1
- package/dist/vscode-table/vscode-table.d.ts +1 -0
- package/dist/vscode-table/vscode-table.d.ts.map +1 -1
- package/dist/vscode-table/vscode-table.js +20 -16
- 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-toolbar-button/index.d.ts +2 -0
- package/dist/vscode-toolbar-button/index.d.ts.map +1 -0
- package/dist/vscode-toolbar-button/index.js +2 -0
- package/dist/vscode-toolbar-button/index.js.map +1 -0
- package/dist/vscode-toolbar-button/vscode-toolbar-button.d.ts +26 -0
- package/dist/vscode-toolbar-button/vscode-toolbar-button.d.ts.map +1 -0
- package/dist/vscode-toolbar-button/vscode-toolbar-button.js +83 -0
- package/dist/vscode-toolbar-button/vscode-toolbar-button.js.map +1 -0
- package/dist/vscode-toolbar-button/vscode-toolbar-button.styles.d.ts +4 -0
- package/dist/vscode-toolbar-button/vscode-toolbar-button.styles.d.ts.map +1 -0
- package/dist/vscode-toolbar-button/vscode-toolbar-button.styles.js +77 -0
- package/dist/vscode-toolbar-button/vscode-toolbar-button.styles.js.map +1 -0
- package/dist/vscode-toolbar-container/index.d.ts +2 -0
- package/dist/vscode-toolbar-container/index.d.ts.map +1 -0
- package/dist/vscode-toolbar-container/index.js +2 -0
- package/dist/vscode-toolbar-container/index.js.map +1 -0
- package/dist/vscode-toolbar-container/vscode-toolbar-container.d.ts +17 -0
- package/dist/vscode-toolbar-container/vscode-toolbar-container.d.ts.map +1 -0
- package/dist/vscode-toolbar-container/vscode-toolbar-container.js +25 -0
- package/dist/vscode-toolbar-container/vscode-toolbar-container.js.map +1 -0
- package/dist/vscode-toolbar-container/vscode-toolbar-container.styles.d.ts +4 -0
- package/dist/vscode-toolbar-container/vscode-toolbar-container.styles.d.ts.map +1 -0
- package/dist/vscode-toolbar-container/vscode-toolbar-container.styles.js +14 -0
- package/dist/vscode-toolbar-container/vscode-toolbar-container.styles.js.map +1 -0
- package/dist/vscode-tree/helpers.d.ts +11 -0
- package/dist/vscode-tree/helpers.d.ts.map +1 -0
- package/dist/vscode-tree/helpers.js +139 -0
- package/dist/vscode-tree/helpers.js.map +1 -0
- package/dist/vscode-tree/tree-context.d.ts +33 -0
- package/dist/vscode-tree/tree-context.d.ts.map +1 -0
- package/dist/vscode-tree/tree-context.js +4 -0
- package/dist/vscode-tree/tree-context.js.map +1 -0
- package/dist/vscode-tree/vscode-tree.d.ts +35 -150
- package/dist/vscode-tree/vscode-tree.d.ts.map +1 -1
- package/dist/vscode-tree/vscode-tree.js +263 -627
- package/dist/vscode-tree/vscode-tree.js.map +1 -1
- package/dist/vscode-tree/vscode-tree.styles.d.ts.map +1 -1
- package/dist/vscode-tree/vscode-tree.styles.js +4 -240
- package/dist/vscode-tree/vscode-tree.styles.js.map +1 -1
- package/dist/vscode-tree-item/index.d.ts +2 -0
- package/dist/vscode-tree-item/index.d.ts.map +1 -0
- package/dist/vscode-tree-item/index.js +2 -0
- package/dist/vscode-tree-item/index.js.map +1 -0
- package/dist/vscode-tree-item/vscode-tree-item.d.ts +45 -0
- package/dist/vscode-tree-item/vscode-tree-item.d.ts.map +1 -0
- package/dist/vscode-tree-item/vscode-tree-item.js +377 -0
- package/dist/vscode-tree-item/vscode-tree-item.js.map +1 -0
- package/dist/vscode-tree-item/vscode-tree-item.styles.d.ts +4 -0
- package/dist/vscode-tree-item/vscode-tree-item.styles.d.ts.map +1 -0
- package/dist/vscode-tree-item/vscode-tree-item.styles.js +165 -0
- package/dist/vscode-tree-item/vscode-tree-item.styles.js.map +1 -0
- package/package.json +38 -38
- package/vscode.css-custom-data.json +47 -58
- package/vscode.html-custom-data.json +166 -81
|
@@ -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"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vscode-toolbar-button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vscode-toolbar-button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAC","sourcesContent":["export {VscodeToolbarButton} from './vscode-toolbar-button.js';\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { TemplateResult } from 'lit';
|
|
2
|
+
import { VscElement } from '../includes/VscElement.js';
|
|
3
|
+
import '../vscode-icon/vscode-icon.js';
|
|
4
|
+
/**
|
|
5
|
+
* Toolbar button
|
|
6
|
+
*
|
|
7
|
+
* @tag vscode-toolbar-button
|
|
8
|
+
*/
|
|
9
|
+
export declare class VscodeToolbarButton extends VscElement {
|
|
10
|
+
static styles: import("lit").CSSResultGroup;
|
|
11
|
+
icon: string;
|
|
12
|
+
label: string | undefined;
|
|
13
|
+
toggleable: boolean;
|
|
14
|
+
checked: boolean;
|
|
15
|
+
private _isSlotEmpty;
|
|
16
|
+
private _assignedNodes;
|
|
17
|
+
private _handleSlotChange;
|
|
18
|
+
private _handleButtonClick;
|
|
19
|
+
render(): TemplateResult;
|
|
20
|
+
}
|
|
21
|
+
declare global {
|
|
22
|
+
interface HTMLElementTagNameMap {
|
|
23
|
+
'vscode-toolbar-button': VscodeToolbarButton;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=vscode-toolbar-button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vscode-toolbar-button.d.ts","sourceRoot":"","sources":["../../src/vscode-toolbar-button/vscode-toolbar-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAC,MAAM,KAAK,CAAC;AAElD,OAAO,EAAgB,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACpE,OAAO,+BAA+B,CAAC;AAKvC;;;;GAIG;AACH,qBACa,mBAAoB,SAAQ,UAAU;IACjD,OAAgB,MAAM,+BAAU;IAGhC,IAAI,SAAM;IAGV,KAAK,EAAE,MAAM,GAAG,SAAS,CAAa;IAGtC,UAAU,UAAS;IAGnB,OAAO,UAAS;IAGhB,OAAO,CAAC,YAAY,CAAQ;IAG5B,OAAO,CAAC,cAAc,CAAmB;IAEzC,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,kBAAkB;IAUjB,MAAM,IAAI,cAAc;CAsBlC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,uBAAuB,EAAE,mBAAmB,CAAC;KAC9C;CACF"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { html, nothing } from 'lit';
|
|
8
|
+
import { property, queryAssignedNodes, state } from 'lit/decorators.js';
|
|
9
|
+
import { customElement, VscElement } from '../includes/VscElement.js';
|
|
10
|
+
import '../vscode-icon/vscode-icon.js';
|
|
11
|
+
import styles from './vscode-toolbar-button.styles.js';
|
|
12
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
13
|
+
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
14
|
+
/**
|
|
15
|
+
* Toolbar button
|
|
16
|
+
*
|
|
17
|
+
* @tag vscode-toolbar-button
|
|
18
|
+
*/
|
|
19
|
+
let VscodeToolbarButton = class VscodeToolbarButton extends VscElement {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(...arguments);
|
|
22
|
+
this.icon = '';
|
|
23
|
+
this.label = undefined;
|
|
24
|
+
this.toggleable = false;
|
|
25
|
+
this.checked = false;
|
|
26
|
+
this._isSlotEmpty = true;
|
|
27
|
+
}
|
|
28
|
+
_handleSlotChange() {
|
|
29
|
+
this._isSlotEmpty = !((this._assignedNodes?.length ?? 0) > 0);
|
|
30
|
+
}
|
|
31
|
+
_handleButtonClick() {
|
|
32
|
+
if (!this.toggleable) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
this.checked = !this.checked;
|
|
36
|
+
this.dispatchEvent(new Event('change'));
|
|
37
|
+
}
|
|
38
|
+
render() {
|
|
39
|
+
const checked = this.checked ? 'true' : 'false';
|
|
40
|
+
return html `
|
|
41
|
+
<button
|
|
42
|
+
type="button"
|
|
43
|
+
aria-label=${ifDefined(this.label)}
|
|
44
|
+
role=${ifDefined(this.toggleable ? 'switch' : undefined)}
|
|
45
|
+
aria-checked=${ifDefined(this.toggleable ? checked : undefined)}
|
|
46
|
+
class=${classMap({ checked: this.toggleable && this.checked })}
|
|
47
|
+
@click=${this._handleButtonClick}
|
|
48
|
+
>
|
|
49
|
+
${this.icon
|
|
50
|
+
? html `<vscode-icon name=${this.icon}></vscode-icon>`
|
|
51
|
+
: nothing}
|
|
52
|
+
<slot
|
|
53
|
+
@slotchange=${this._handleSlotChange}
|
|
54
|
+
class=${classMap({ empty: this._isSlotEmpty, textOnly: !this.icon })}
|
|
55
|
+
></slot>
|
|
56
|
+
</button>
|
|
57
|
+
`;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
VscodeToolbarButton.styles = styles;
|
|
61
|
+
__decorate([
|
|
62
|
+
property({ reflect: true })
|
|
63
|
+
], VscodeToolbarButton.prototype, "icon", void 0);
|
|
64
|
+
__decorate([
|
|
65
|
+
property()
|
|
66
|
+
], VscodeToolbarButton.prototype, "label", void 0);
|
|
67
|
+
__decorate([
|
|
68
|
+
property({ type: Boolean, reflect: true })
|
|
69
|
+
], VscodeToolbarButton.prototype, "toggleable", void 0);
|
|
70
|
+
__decorate([
|
|
71
|
+
property({ type: Boolean, reflect: true })
|
|
72
|
+
], VscodeToolbarButton.prototype, "checked", void 0);
|
|
73
|
+
__decorate([
|
|
74
|
+
state()
|
|
75
|
+
], VscodeToolbarButton.prototype, "_isSlotEmpty", void 0);
|
|
76
|
+
__decorate([
|
|
77
|
+
queryAssignedNodes()
|
|
78
|
+
], VscodeToolbarButton.prototype, "_assignedNodes", void 0);
|
|
79
|
+
VscodeToolbarButton = __decorate([
|
|
80
|
+
customElement('vscode-toolbar-button')
|
|
81
|
+
], VscodeToolbarButton);
|
|
82
|
+
export { VscodeToolbarButton };
|
|
83
|
+
//# sourceMappingURL=vscode-toolbar-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vscode-toolbar-button.js","sourceRoot":"","sources":["../../src/vscode-toolbar-button/vscode-toolbar-button.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAE,OAAO,EAAiB,MAAM,KAAK,CAAC;AAClD,OAAO,EAAC,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACpE,OAAO,+BAA+B,CAAC;AACvC,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,EAAC,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AAEvD;;;;GAIG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,UAAU;IAA5C;;QAIL,SAAI,GAAG,EAAE,CAAC;QAGV,UAAK,GAAuB,SAAS,CAAC;QAGtC,eAAU,GAAG,KAAK,CAAC;QAGnB,YAAO,GAAG,KAAK,CAAC;QAGR,iBAAY,GAAG,IAAI,CAAC;IAyC9B,CAAC;IApCS,iBAAiB;QACvB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAE7B,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC;IAEQ,MAAM;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAEhD,OAAO,IAAI,CAAA;;;qBAGM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;eAC3B,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;uBACzC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvD,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAC,CAAC;iBACnD,IAAI,CAAC,kBAAkB;;UAE9B,IAAI,CAAC,IAAI;YACT,CAAC,CAAC,IAAI,CAAA,qBAAqB,IAAI,CAAC,IAAI,iBAAiB;YACrD,CAAC,CAAC,OAAO;;wBAEK,IAAI,CAAC,iBAAiB;kBAC5B,QAAQ,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC;;;KAGvE,CAAC;IACJ,CAAC;;AAvDe,0BAAM,GAAG,MAAM,AAAT,CAAU;AAGhC;IADC,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;iDAChB;AAGV;IADC,QAAQ,EAAE;kDAC2B;AAGtC;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;uDACtB;AAGnB;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;oDACzB;AAGR;IADP,KAAK,EAAE;yDACoB;AAGpB;IADP,kBAAkB,EAAE;2DACoB;AAnB9B,mBAAmB;IAD/B,aAAa,CAAC,uBAAuB,CAAC;GAC1B,mBAAmB,CAyD/B","sourcesContent":["import {html, nothing, TemplateResult} from 'lit';\nimport {property, queryAssignedNodes, state} from 'lit/decorators.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport '../vscode-icon/vscode-icon.js';\nimport styles from './vscode-toolbar-button.styles.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {ifDefined} from 'lit/directives/if-defined.js';\n\n/**\n * Toolbar button\n *\n * @tag vscode-toolbar-button\n */\n@customElement('vscode-toolbar-button')\nexport class VscodeToolbarButton extends VscElement {\n static override styles = styles;\n\n @property({reflect: true})\n icon = '';\n\n @property()\n label: string | undefined = undefined;\n\n @property({type: Boolean, reflect: true})\n toggleable = false;\n\n @property({type: Boolean, reflect: true})\n checked = false;\n\n @state()\n private _isSlotEmpty = true;\n\n @queryAssignedNodes()\n private _assignedNodes!: NodeList | null;\n\n private _handleSlotChange() {\n this._isSlotEmpty = !((this._assignedNodes?.length ?? 0) > 0);\n }\n\n private _handleButtonClick() {\n if (!this.toggleable) {\n return;\n }\n\n this.checked = !this.checked;\n\n this.dispatchEvent(new Event('change'));\n }\n\n override render(): TemplateResult {\n const checked = this.checked ? 'true' : 'false';\n\n return html`\n <button\n type=\"button\"\n aria-label=${ifDefined(this.label)}\n role=${ifDefined(this.toggleable ? 'switch' : undefined)}\n aria-checked=${ifDefined(this.toggleable ? checked : undefined)}\n class=${classMap({checked: this.toggleable && this.checked})}\n @click=${this._handleButtonClick}\n >\n ${this.icon\n ? html`<vscode-icon name=${this.icon}></vscode-icon>`\n : nothing}\n <slot\n @slotchange=${this._handleSlotChange}\n class=${classMap({empty: this._isSlotEmpty, textOnly: !this.icon})}\n ></slot>\n </button>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-toolbar-button': VscodeToolbarButton;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vscode-toolbar-button.styles.d.ts","sourceRoot":"","sources":["../../src/vscode-toolbar-button/vscode-toolbar-button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,cAAc,EAAC,MAAM,KAAK,CAAC;AAGxC,QAAA,MAAM,MAAM,EAAE,cAwEb,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
import defaultStyles from '../includes/default.styles.js';
|
|
3
|
+
const styles = [
|
|
4
|
+
defaultStyles,
|
|
5
|
+
css `
|
|
6
|
+
:host {
|
|
7
|
+
display: inline-flex;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
button {
|
|
11
|
+
align-items: center;
|
|
12
|
+
background-color: transparent;
|
|
13
|
+
border: 0;
|
|
14
|
+
border-radius: 5px;
|
|
15
|
+
color: var(--vscode-foreground, #cccccc);
|
|
16
|
+
cursor: pointer;
|
|
17
|
+
display: flex;
|
|
18
|
+
outline-offset: -1px;
|
|
19
|
+
outline-width: 1px;
|
|
20
|
+
padding: 0;
|
|
21
|
+
user-select: none;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
button:focus-visible {
|
|
25
|
+
outline-color: var(--vscode-focusBorder, #0078d4);
|
|
26
|
+
outline-style: solid;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
button:hover {
|
|
30
|
+
background-color: var(
|
|
31
|
+
--vscode-toolbar-hoverBackground,
|
|
32
|
+
rgba(90, 93, 94, 0.31)
|
|
33
|
+
);
|
|
34
|
+
outline-style: dashed;
|
|
35
|
+
outline-color: var(--vscode-toolbar-hoverOutline, transparent);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
button:active {
|
|
39
|
+
background-color: var(
|
|
40
|
+
--vscode-toolbar-activeBackground,
|
|
41
|
+
rgba(99, 102, 103, 0.31)
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
button.checked {
|
|
46
|
+
background-color: var(
|
|
47
|
+
--vscode-inputOption-activeBackground,
|
|
48
|
+
rgba(36, 137, 219, 0.51)
|
|
49
|
+
);
|
|
50
|
+
outline-color: var(--vscode-inputOption-activeBorder, #2488db);
|
|
51
|
+
outline-style: solid;
|
|
52
|
+
color: var(--vscode-inputOption-activeForeground, #ffffff);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
button.checked vscode-icon {
|
|
56
|
+
color: var(--vscode-inputOption-activeForeground, #ffffff);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
vscode-icon {
|
|
60
|
+
display: block;
|
|
61
|
+
padding: 3px;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
slot:not(.empty) {
|
|
65
|
+
align-items: center;
|
|
66
|
+
display: flex;
|
|
67
|
+
height: 22px;
|
|
68
|
+
padding: 0 5px 0 2px;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
slot.textOnly:not(.empty) {
|
|
72
|
+
padding: 0 5px;
|
|
73
|
+
}
|
|
74
|
+
`,
|
|
75
|
+
];
|
|
76
|
+
export default styles;
|
|
77
|
+
//# sourceMappingURL=vscode-toolbar-button.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vscode-toolbar-button.styles.js","sourceRoot":"","sources":["../../src/vscode-toolbar-button/vscode-toolbar-button.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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEF;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: inline-flex;\n }\n\n button {\n align-items: center;\n background-color: transparent;\n border: 0;\n border-radius: 5px;\n color: var(--vscode-foreground, #cccccc);\n cursor: pointer;\n display: flex;\n outline-offset: -1px;\n outline-width: 1px;\n padding: 0;\n user-select: none;\n }\n\n button:focus-visible {\n outline-color: var(--vscode-focusBorder, #0078d4);\n outline-style: solid;\n }\n\n button:hover {\n background-color: var(\n --vscode-toolbar-hoverBackground,\n rgba(90, 93, 94, 0.31)\n );\n outline-style: dashed;\n outline-color: var(--vscode-toolbar-hoverOutline, transparent);\n }\n\n button:active {\n background-color: var(\n --vscode-toolbar-activeBackground,\n rgba(99, 102, 103, 0.31)\n );\n }\n\n button.checked {\n background-color: var(\n --vscode-inputOption-activeBackground,\n rgba(36, 137, 219, 0.51)\n );\n outline-color: var(--vscode-inputOption-activeBorder, #2488db);\n outline-style: solid;\n color: var(--vscode-inputOption-activeForeground, #ffffff);\n }\n\n button.checked vscode-icon {\n color: var(--vscode-inputOption-activeForeground, #ffffff);\n }\n\n vscode-icon {\n display: block;\n padding: 3px;\n }\n\n slot:not(.empty) {\n align-items: center;\n display: flex;\n height: 22px;\n padding: 0 5px 0 2px;\n }\n\n slot.textOnly:not(.empty) {\n padding: 0 5px;\n }\n `,\n];\n\nexport default styles;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vscode-toolbar-container/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vscode-toolbar-container/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,+BAA+B,CAAC","sourcesContent":["export {VscodeToolbarContainer} from './vscode-toolbar-container.js';\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TemplateResult } from 'lit';
|
|
2
|
+
import { VscElement } from '../includes/VscElement.js';
|
|
3
|
+
/**
|
|
4
|
+
* Simple container to arrange the toolar buttons
|
|
5
|
+
*
|
|
6
|
+
* @tag vscode-toolbar-container
|
|
7
|
+
*/
|
|
8
|
+
export declare class VscodeToolbarContainer extends VscElement {
|
|
9
|
+
static styles: import("lit").CSSResultGroup;
|
|
10
|
+
render(): TemplateResult;
|
|
11
|
+
}
|
|
12
|
+
declare global {
|
|
13
|
+
interface HTMLElementTagNameMap {
|
|
14
|
+
'vscode-toolbar-container': VscodeToolbarContainer;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=vscode-toolbar-container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vscode-toolbar-container.d.ts","sourceRoot":"","sources":["../../src/vscode-toolbar-container/vscode-toolbar-container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AACzC,OAAO,EAAgB,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAGpE;;;;GAIG;AACH,qBACa,sBAAuB,SAAQ,UAAU;IACpD,OAAgB,MAAM,+BAAU;IAEvB,MAAM,IAAI,cAAc;CAGlC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,0BAA0B,EAAE,sBAAsB,CAAC;KACpD;CACF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { html } from 'lit';
|
|
8
|
+
import { customElement, VscElement } from '../includes/VscElement.js';
|
|
9
|
+
import styles from './vscode-toolbar-container.styles.js';
|
|
10
|
+
/**
|
|
11
|
+
* Simple container to arrange the toolar buttons
|
|
12
|
+
*
|
|
13
|
+
* @tag vscode-toolbar-container
|
|
14
|
+
*/
|
|
15
|
+
let VscodeToolbarContainer = class VscodeToolbarContainer extends VscElement {
|
|
16
|
+
render() {
|
|
17
|
+
return html ` <slot></slot> `;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
VscodeToolbarContainer.styles = styles;
|
|
21
|
+
VscodeToolbarContainer = __decorate([
|
|
22
|
+
customElement('vscode-toolbar-container')
|
|
23
|
+
], VscodeToolbarContainer);
|
|
24
|
+
export { VscodeToolbarContainer };
|
|
25
|
+
//# sourceMappingURL=vscode-toolbar-container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vscode-toolbar-container.js","sourceRoot":"","sources":["../../src/vscode-toolbar-container/vscode-toolbar-container.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACpE,OAAO,MAAM,MAAM,sCAAsC,CAAC;AAE1D;;;;GAIG;AAEI,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,UAAU;IAG3C,MAAM;QACb,OAAO,IAAI,CAAA,iBAAiB,CAAC;IAC/B,CAAC;;AAJe,6BAAM,GAAG,MAAM,AAAT,CAAU;AADrB,sBAAsB;IADlC,aAAa,CAAC,0BAA0B,CAAC;GAC7B,sBAAsB,CAMlC","sourcesContent":["import {html, TemplateResult} from 'lit';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport styles from './vscode-toolbar-container.styles.js';\n\n/**\n * Simple container to arrange the toolar buttons\n *\n * @tag vscode-toolbar-container\n */\n@customElement('vscode-toolbar-container')\nexport class VscodeToolbarContainer extends VscElement {\n static override styles = styles;\n\n override render(): TemplateResult {\n return html` <slot></slot> `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-toolbar-container': VscodeToolbarContainer;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vscode-toolbar-container.styles.d.ts","sourceRoot":"","sources":["../../src/vscode-toolbar-container/vscode-toolbar-container.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,cAAc,EAAC,MAAM,KAAK,CAAC;AAGxC,QAAA,MAAM,MAAM,EAAE,cASb,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
import defaultStyles from '../includes/default.styles.js';
|
|
3
|
+
const styles = [
|
|
4
|
+
defaultStyles,
|
|
5
|
+
css `
|
|
6
|
+
:host {
|
|
7
|
+
gap: 4px;
|
|
8
|
+
display: flex;
|
|
9
|
+
align-items: center;
|
|
10
|
+
}
|
|
11
|
+
`,
|
|
12
|
+
];
|
|
13
|
+
export default styles;
|
|
14
|
+
//# sourceMappingURL=vscode-toolbar-container.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vscode-toolbar-container.styles.js","sourceRoot":"","sources":["../../src/vscode-toolbar-container/vscode-toolbar-container.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;;;;;;GAMF;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 gap: 4px;\n display: flex;\n align-items: center;\n }\n `,\n];\n\nexport default styles;\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { VscodeTreeItem } from '../vscode-tree-item';
|
|
2
|
+
import type { VscodeTree } from './vscode-tree';
|
|
3
|
+
export declare const initPathTrackerProps: (parentElement: VscodeTree | VscodeTreeItem, items: VscodeTreeItem[]) => void;
|
|
4
|
+
export declare const findLastChildItem: (item: VscodeTreeItem) => VscodeTreeItem;
|
|
5
|
+
export declare const findClosestParentHasNextSibling: (item: VscodeTreeItem) => VscodeTreeItem | null;
|
|
6
|
+
export declare const findNextItem: (item: VscodeTreeItem) => VscodeTreeItem | null;
|
|
7
|
+
export declare const findPrevItem: (item: VscodeTreeItem) => VscodeTreeItem | null;
|
|
8
|
+
export declare const findAncestorOnSpecificLevel: (item: VscodeTreeItem, level: number) => VscodeTreeItem | null;
|
|
9
|
+
export declare const selectItemAndAllVisibleDescendants: (item: VscodeTreeItem) => void;
|
|
10
|
+
export declare function getParentItem(childItem: VscodeTreeItem): VscodeTreeItem | null;
|
|
11
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/vscode-tree/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAQ9C,eAAO,MAAM,oBAAoB,GAC/B,eAAe,UAAU,GAAG,cAAc,EAC1C,OAAO,cAAc,EAAE,KACtB,IA6BF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,MAAM,cAAc,KAAG,cAgBxD,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAC1C,MAAM,cAAc,KACnB,cAAc,GAAG,IAgBnB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,MAAM,cAAc,KAAG,cAAc,GAAG,IA0CpE,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,MAAM,cAAc,KAAG,cAAc,GAAG,IAyBpE,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,MAAM,cAAc,EACpB,OAAO,MAAM,KACZ,cAAc,GAAG,IAoBnB,CAAC;AAEF,eAAO,MAAM,kCAAkC,GAAI,MAAM,cAAc,SAgBtE,CAAC;AAEF,wBAAgB,aAAa,CAAC,SAAS,EAAE,cAAc,yBAUtD"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
const isTreeItem = (item) => item.tagName.toLowerCase() === 'vscode-tree-item';
|
|
2
|
+
const isTreeRoot = (item) => item.tagName.toLowerCase() === 'vscode-tree';
|
|
3
|
+
export const initPathTrackerProps = (parentElement, items) => {
|
|
4
|
+
const numChildren = items.length;
|
|
5
|
+
const parentElementLevel = isTreeRoot(parentElement)
|
|
6
|
+
? -1
|
|
7
|
+
: parentElement.level;
|
|
8
|
+
if ('branch' in parentElement) {
|
|
9
|
+
parentElement.branch = numChildren > 0;
|
|
10
|
+
}
|
|
11
|
+
parentElement.dataset.numChildren = numChildren.toString();
|
|
12
|
+
items.forEach((item, i) => {
|
|
13
|
+
const level = parentElementLevel + 1;
|
|
14
|
+
const index = i.toString();
|
|
15
|
+
if ('path' in parentElement) {
|
|
16
|
+
item.path = [...parentElement.path, i];
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
item.path = [i];
|
|
20
|
+
}
|
|
21
|
+
item.level = parentElementLevel + 1;
|
|
22
|
+
item.dataset.level = (parentElementLevel + 1).toString();
|
|
23
|
+
item.dataset.index = i.toString();
|
|
24
|
+
item.dataset.last = i === numChildren - 1 ? 'true' : 'false';
|
|
25
|
+
item.dataset.id = `${level}_${index}`;
|
|
26
|
+
item.dataset.path = item.path.join('.');
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
export const findLastChildItem = (item) => {
|
|
30
|
+
const children = item.querySelectorAll(':scope > vscode-tree-item');
|
|
31
|
+
if (children.length < 1) {
|
|
32
|
+
return item;
|
|
33
|
+
}
|
|
34
|
+
const lastItem = children[children.length - 1];
|
|
35
|
+
if (lastItem.branch && lastItem.open) {
|
|
36
|
+
return findLastChildItem(lastItem);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
return lastItem;
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
export const findClosestParentHasNextSibling = (item) => {
|
|
43
|
+
if (!item.parentElement) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
if (!isTreeItem(item.parentElement)) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
const isLast = item.parentElement.dataset.last === 'true' ? true : false;
|
|
50
|
+
if (!isLast) {
|
|
51
|
+
return item.parentElement;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
return findClosestParentHasNextSibling(item.parentElement);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
export const findNextItem = (item) => {
|
|
58
|
+
if (item.branch && item.open) {
|
|
59
|
+
return item.querySelector('vscode-tree-item');
|
|
60
|
+
}
|
|
61
|
+
const { parentElement } = item;
|
|
62
|
+
if (!parentElement) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
const numSiblings = parseInt(parentElement.dataset.numChildren ?? '0', 10);
|
|
66
|
+
const index = parseInt(item.dataset.index ?? '-1', 10);
|
|
67
|
+
let level = 0;
|
|
68
|
+
if ('level' in item) {
|
|
69
|
+
level = item.level;
|
|
70
|
+
}
|
|
71
|
+
if (index === numSiblings - 1) {
|
|
72
|
+
const closestParent = findClosestParentHasNextSibling(item);
|
|
73
|
+
if (closestParent) {
|
|
74
|
+
const cpIndex = parseInt(closestParent.dataset.index ?? '', 10) + 1;
|
|
75
|
+
const cpLevel = closestParent.level;
|
|
76
|
+
return (closestParent.parentElement?.querySelector(`vscode-tree-item[level="${cpLevel}"][data-index="${cpIndex}"]`) ?? null);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
const nextElementIndex = Math.min(numSiblings - 1, index + 1);
|
|
83
|
+
return parentElement.querySelector(`vscode-tree-item[level="${level}"][data-index="${nextElementIndex}"]`);
|
|
84
|
+
};
|
|
85
|
+
export const findPrevItem = (item) => {
|
|
86
|
+
const { parentElement } = item;
|
|
87
|
+
const index = parseInt(item.dataset.index ?? '-1', 10);
|
|
88
|
+
if (!parentElement) {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
const prevSibling = parentElement.querySelector(`:scope vscode-tree-item[data-index="${index - 1}"]`);
|
|
92
|
+
if (!prevSibling) {
|
|
93
|
+
if (parentElement.tagName.toLowerCase() === 'vscode-tree-item') {
|
|
94
|
+
return parentElement;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (prevSibling && prevSibling.branch && prevSibling.open) {
|
|
98
|
+
const lastChild = findLastChildItem(prevSibling);
|
|
99
|
+
return lastChild;
|
|
100
|
+
}
|
|
101
|
+
return prevSibling;
|
|
102
|
+
};
|
|
103
|
+
export const findAncestorOnSpecificLevel = (item, level) => {
|
|
104
|
+
if (!item.parentElement ||
|
|
105
|
+
item.parentElement.tagName.toLowerCase() !== 'vscode-tree-item') {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
const parent = item.parentElement;
|
|
109
|
+
const itemLevel = +(item.dataset.level ?? '');
|
|
110
|
+
if (itemLevel > level) {
|
|
111
|
+
return findAncestorOnSpecificLevel(parent, level);
|
|
112
|
+
}
|
|
113
|
+
if (itemLevel === level) {
|
|
114
|
+
return item;
|
|
115
|
+
}
|
|
116
|
+
return null;
|
|
117
|
+
};
|
|
118
|
+
export const selectItemAndAllVisibleDescendants = (item) => {
|
|
119
|
+
if (!item) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
item.selected = true;
|
|
123
|
+
if (item.branch && item.open) {
|
|
124
|
+
const children = item.querySelectorAll(':scope > vscode-tree-item');
|
|
125
|
+
children.forEach((c) => {
|
|
126
|
+
selectItemAndAllVisibleDescendants(c);
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
export function getParentItem(childItem) {
|
|
131
|
+
if (!childItem.parentElement) {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
if (!isTreeItem(childItem.parentElement)) {
|
|
135
|
+
return null;
|
|
136
|
+
}
|
|
137
|
+
return childItem.parentElement;
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/vscode-tree/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import {VscodeTreeItem} from '../vscode-tree-item';\nimport type {VscodeTree} from './vscode-tree';\n\nconst isTreeItem = (item: HTMLElement): item is VscodeTreeItem =>\n item.tagName.toLowerCase() === 'vscode-tree-item';\n\nconst isTreeRoot = (item: HTMLElement): item is VscodeTree =>\n item.tagName.toLowerCase() === 'vscode-tree';\n\nexport const initPathTrackerProps = (\n parentElement: VscodeTree | VscodeTreeItem,\n items: VscodeTreeItem[]\n): void => {\n const numChildren = items.length;\n const parentElementLevel = isTreeRoot(parentElement)\n ? -1\n : (parentElement as VscodeTreeItem).level;\n\n if ('branch' in parentElement) {\n parentElement.branch = numChildren > 0;\n }\n\n parentElement.dataset.numChildren = numChildren.toString();\n\n items.forEach((item, i) => {\n const level = parentElementLevel + 1;\n const index = i.toString();\n\n if ('path' in parentElement) {\n item.path = [...parentElement.path, i];\n } else {\n item.path = [i];\n }\n\n item.level = parentElementLevel + 1;\n item.dataset.level = (parentElementLevel + 1).toString();\n item.dataset.index = i.toString();\n item.dataset.last = i === numChildren - 1 ? 'true' : 'false';\n item.dataset.id = `${level}_${index}`;\n item.dataset.path = item.path.join('.');\n });\n};\n\nexport const findLastChildItem = (item: VscodeTreeItem): VscodeTreeItem => {\n const children = item.querySelectorAll<VscodeTreeItem>(\n ':scope > vscode-tree-item'\n );\n\n if (children.length < 1) {\n return item;\n }\n\n const lastItem = children[children.length - 1];\n\n if (lastItem.branch && lastItem.open) {\n return findLastChildItem(lastItem);\n } else {\n return lastItem;\n }\n};\n\nexport const findClosestParentHasNextSibling = (\n item: VscodeTreeItem\n): VscodeTreeItem | null => {\n if (!item.parentElement) {\n return null;\n }\n\n if (!isTreeItem(item.parentElement)) {\n return null;\n }\n\n const isLast = item.parentElement.dataset.last === 'true' ? true : false;\n\n if (!isLast) {\n return item.parentElement;\n } else {\n return findClosestParentHasNextSibling(item.parentElement);\n }\n};\n\nexport const findNextItem = (item: VscodeTreeItem): VscodeTreeItem | null => {\n if (item.branch && item.open) {\n return item.querySelector<VscodeTreeItem>('vscode-tree-item');\n }\n\n const {parentElement} = item;\n\n if (!parentElement) {\n return null;\n }\n\n const numSiblings = parseInt(parentElement.dataset.numChildren ?? '0', 10);\n const index = parseInt(item.dataset.index ?? '-1', 10);\n\n let level = 0;\n\n if ('level' in item) {\n level = item.level;\n }\n\n if (index === numSiblings - 1) {\n const closestParent = findClosestParentHasNextSibling(item);\n\n if (closestParent) {\n const cpIndex = parseInt(closestParent.dataset.index ?? '', 10) + 1;\n const cpLevel = closestParent.level;\n\n return (\n closestParent.parentElement?.querySelector(\n `vscode-tree-item[level=\"${cpLevel}\"][data-index=\"${cpIndex}\"]`\n ) ?? null\n );\n } else {\n return null;\n }\n }\n\n const nextElementIndex = Math.min(numSiblings - 1, index + 1);\n\n return parentElement.querySelector<VscodeTreeItem>(\n `vscode-tree-item[level=\"${level}\"][data-index=\"${nextElementIndex}\"]`\n );\n};\n\nexport const findPrevItem = (item: VscodeTreeItem): VscodeTreeItem | null => {\n const {parentElement} = item;\n const index = parseInt(item.dataset.index ?? '-1', 10);\n\n if (!parentElement) {\n return null;\n }\n\n const prevSibling = parentElement.querySelector<VscodeTreeItem>(\n `:scope vscode-tree-item[data-index=\"${index - 1}\"]`\n );\n\n if (!prevSibling) {\n if (parentElement.tagName.toLowerCase() === 'vscode-tree-item') {\n return parentElement as VscodeTreeItem;\n }\n }\n\n if (prevSibling && prevSibling.branch && prevSibling.open) {\n const lastChild = findLastChildItem(prevSibling);\n\n return lastChild;\n }\n\n return prevSibling;\n};\n\nexport const findAncestorOnSpecificLevel = (\n item: VscodeTreeItem,\n level: number\n): VscodeTreeItem | null => {\n if (\n !item.parentElement ||\n item.parentElement.tagName.toLowerCase() !== 'vscode-tree-item'\n ) {\n return null;\n }\n\n const parent = item.parentElement as VscodeTreeItem;\n const itemLevel = +(item.dataset.level ?? '');\n\n if (itemLevel > level) {\n return findAncestorOnSpecificLevel(parent, level);\n }\n\n if (itemLevel === level) {\n return item;\n }\n\n return null;\n};\n\nexport const selectItemAndAllVisibleDescendants = (item: VscodeTreeItem) => {\n if (!item) {\n return;\n }\n\n item.selected = true;\n\n if (item.branch && item.open) {\n const children = item.querySelectorAll<VscodeTreeItem>(\n ':scope > vscode-tree-item'\n );\n\n children.forEach((c) => {\n selectItemAndAllVisibleDescendants(c);\n });\n }\n};\n\nexport function getParentItem(childItem: VscodeTreeItem) {\n if (!childItem.parentElement) {\n return null;\n }\n\n if (!isTreeItem(childItem.parentElement)) {\n return null;\n }\n\n return childItem.parentElement;\n}\n"]}
|