@vscode-elements/elements 1.9.2-pre.1 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -12
- package/custom-elements.json +432 -269
- package/dist/bundled.js +135 -136
- package/dist/includes/VscElement.d.ts +1 -1
- package/dist/includes/VscElement.d.ts.map +1 -1
- package/dist/includes/VscElement.js +2 -2
- package/dist/includes/VscElement.js.map +1 -1
- package/dist/includes/vscode-select/styles.js +1 -1
- package/dist/includes/vscode-select/styles.js.map +1 -1
- package/dist/includes/vscode-select/vscode-select-base.d.ts +15 -7
- package/dist/includes/vscode-select/vscode-select-base.d.ts.map +1 -1
- package/dist/includes/vscode-select/vscode-select-base.js +101 -84
- package/dist/includes/vscode-select/vscode-select-base.js.map +1 -1
- package/dist/vscode-badge/vscode-badge.d.ts +4 -0
- package/dist/vscode-badge/vscode-badge.d.ts.map +1 -1
- package/dist/vscode-badge/vscode-badge.js +4 -0
- package/dist/vscode-badge/vscode-badge.js.map +1 -1
- package/dist/vscode-button/vscode-button.d.ts +4 -0
- package/dist/vscode-button/vscode-button.d.ts.map +1 -1
- package/dist/vscode-button/vscode-button.js +15 -7
- package/dist/vscode-button/vscode-button.js.map +1 -1
- package/dist/vscode-checkbox/vscode-checkbox.d.ts +26 -2
- package/dist/vscode-checkbox/vscode-checkbox.d.ts.map +1 -1
- package/dist/vscode-checkbox/vscode-checkbox.js +32 -8
- package/dist/vscode-checkbox/vscode-checkbox.js.map +1 -1
- package/dist/vscode-checkbox-group/vscode-checkbox-group.d.ts +5 -0
- package/dist/vscode-checkbox-group/vscode-checkbox-group.d.ts.map +1 -1
- package/dist/vscode-checkbox-group/vscode-checkbox-group.js +5 -0
- package/dist/vscode-checkbox-group/vscode-checkbox-group.js.map +1 -1
- package/dist/vscode-collapsible/vscode-collapsible.d.ts +4 -0
- package/dist/vscode-collapsible/vscode-collapsible.d.ts.map +1 -1
- package/dist/vscode-collapsible/vscode-collapsible.js +8 -4
- package/dist/vscode-collapsible/vscode-collapsible.js.map +1 -1
- package/dist/vscode-context-menu/vscode-context-menu.d.ts +2 -0
- package/dist/vscode-context-menu/vscode-context-menu.d.ts.map +1 -1
- package/dist/vscode-context-menu/vscode-context-menu.js +8 -8
- package/dist/vscode-context-menu/vscode-context-menu.js.map +1 -1
- package/dist/vscode-context-menu-item/vscode-context-menu-item.d.ts +2 -0
- 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 +3 -1
- package/dist/vscode-context-menu-item/vscode-context-menu-item.js.map +1 -1
- package/dist/vscode-divider/vscode-divider.d.ts +3 -0
- package/dist/vscode-divider/vscode-divider.d.ts.map +1 -1
- package/dist/vscode-divider/vscode-divider.js +3 -0
- package/dist/vscode-divider/vscode-divider.js.map +1 -1
- package/dist/vscode-form-container/vscode-form-container.d.ts +3 -0
- package/dist/vscode-form-container/vscode-form-container.d.ts.map +1 -1
- package/dist/vscode-form-container/vscode-form-container.js +3 -0
- package/dist/vscode-form-container/vscode-form-container.js.map +1 -1
- package/dist/vscode-form-group/vscode-form-group.d.ts +2 -0
- package/dist/vscode-form-group/vscode-form-group.d.ts.map +1 -1
- package/dist/vscode-form-group/vscode-form-group.js +2 -0
- package/dist/vscode-form-group/vscode-form-group.js.map +1 -1
- package/dist/vscode-form-helper/vscode-form-helper.d.ts +2 -0
- package/dist/vscode-form-helper/vscode-form-helper.d.ts.map +1 -1
- package/dist/vscode-form-helper/vscode-form-helper.js +2 -0
- package/dist/vscode-form-helper/vscode-form-helper.js.map +1 -1
- package/dist/vscode-icon/vscode-icon.d.ts +2 -0
- package/dist/vscode-icon/vscode-icon.d.ts.map +1 -1
- package/dist/vscode-icon/vscode-icon.js +8 -6
- package/dist/vscode-icon/vscode-icon.js.map +1 -1
- package/dist/vscode-label/vscode-label.d.ts +2 -0
- package/dist/vscode-label/vscode-label.d.ts.map +1 -1
- package/dist/vscode-label/vscode-label.js +3 -1
- package/dist/vscode-label/vscode-label.js.map +1 -1
- package/dist/vscode-multi-select/vscode-multi-select.d.ts +2 -0
- package/dist/vscode-multi-select/vscode-multi-select.d.ts.map +1 -1
- package/dist/vscode-multi-select/vscode-multi-select.js +24 -18
- package/dist/vscode-multi-select/vscode-multi-select.js.map +1 -1
- package/dist/vscode-option/vscode-option.d.ts +8 -1
- package/dist/vscode-option/vscode-option.d.ts.map +1 -1
- package/dist/vscode-option/vscode-option.js +27 -1
- package/dist/vscode-option/vscode-option.js.map +1 -1
- package/dist/vscode-progress-ring/vscode-progress-ring.d.ts +3 -0
- package/dist/vscode-progress-ring/vscode-progress-ring.d.ts.map +1 -1
- package/dist/vscode-progress-ring/vscode-progress-ring.js +3 -0
- package/dist/vscode-progress-ring/vscode-progress-ring.js.map +1 -1
- package/dist/vscode-radio/vscode-radio.d.ts +2 -0
- package/dist/vscode-radio/vscode-radio.d.ts.map +1 -1
- package/dist/vscode-radio/vscode-radio.js +8 -6
- package/dist/vscode-radio/vscode-radio.js.map +1 -1
- package/dist/vscode-radio-group/vscode-radio-group.d.ts +2 -0
- package/dist/vscode-radio-group/vscode-radio-group.d.ts.map +1 -1
- package/dist/vscode-radio-group/vscode-radio-group.js +2 -0
- package/dist/vscode-radio-group/vscode-radio-group.js.map +1 -1
- package/dist/vscode-scrollable/vscode-scrollable.d.ts +2 -0
- package/dist/vscode-scrollable/vscode-scrollable.d.ts.map +1 -1
- package/dist/vscode-scrollable/vscode-scrollable.js +14 -12
- package/dist/vscode-scrollable/vscode-scrollable.js.map +1 -1
- package/dist/vscode-single-select/vscode-single-select.d.ts +2 -1
- package/dist/vscode-single-select/vscode-single-select.d.ts.map +1 -1
- package/dist/vscode-single-select/vscode-single-select.js +21 -37
- package/dist/vscode-single-select/vscode-single-select.js.map +1 -1
- package/dist/vscode-split-layout/vscode-split-layout.d.ts +2 -0
- package/dist/vscode-split-layout/vscode-split-layout.d.ts.map +1 -1
- package/dist/vscode-split-layout/vscode-split-layout.js +12 -10
- package/dist/vscode-split-layout/vscode-split-layout.js.map +1 -1
- package/dist/vscode-tab-header/vscode-tab-header.d.ts +2 -0
- package/dist/vscode-tab-header/vscode-tab-header.d.ts.map +1 -1
- package/dist/vscode-tab-header/vscode-tab-header.js +2 -0
- package/dist/vscode-tab-header/vscode-tab-header.js.map +1 -1
- package/dist/vscode-tab-panel/vscode-tab-panel.d.ts +2 -0
- package/dist/vscode-tab-panel/vscode-tab-panel.d.ts.map +1 -1
- package/dist/vscode-tab-panel/vscode-tab-panel.js +2 -0
- package/dist/vscode-tab-panel/vscode-tab-panel.js.map +1 -1
- package/dist/vscode-table/vscode-table.d.ts +4 -2
- package/dist/vscode-table/vscode-table.d.ts.map +1 -1
- package/dist/vscode-table/vscode-table.js +16 -14
- package/dist/vscode-table/vscode-table.js.map +1 -1
- package/dist/vscode-table-body/vscode-table-body.d.ts +2 -0
- package/dist/vscode-table-body/vscode-table-body.d.ts.map +1 -1
- package/dist/vscode-table-body/vscode-table-body.js +2 -0
- package/dist/vscode-table-body/vscode-table-body.js.map +1 -1
- package/dist/vscode-table-cell/vscode-table-cell.d.ts +2 -0
- package/dist/vscode-table-cell/vscode-table-cell.d.ts.map +1 -1
- package/dist/vscode-table-cell/vscode-table-cell.js +2 -0
- package/dist/vscode-table-cell/vscode-table-cell.js.map +1 -1
- package/dist/vscode-table-header/vscode-table-header.d.ts +2 -0
- package/dist/vscode-table-header/vscode-table-header.d.ts.map +1 -1
- package/dist/vscode-table-header/vscode-table-header.js +2 -0
- package/dist/vscode-table-header/vscode-table-header.js.map +1 -1
- package/dist/vscode-table-header-cell/vscode-table-header-cell.d.ts +2 -0
- 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 -0
- package/dist/vscode-table-header-cell/vscode-table-header-cell.js.map +1 -1
- package/dist/vscode-table-row/vscode-table-row.d.ts +2 -0
- package/dist/vscode-table-row/vscode-table-row.d.ts.map +1 -1
- package/dist/vscode-table-row/vscode-table-row.js +2 -0
- package/dist/vscode-table-row/vscode-table-row.js.map +1 -1
- package/dist/vscode-tabs/vscode-tabs.d.ts +2 -0
- package/dist/vscode-tabs/vscode-tabs.d.ts.map +1 -1
- package/dist/vscode-tabs/vscode-tabs.js +3 -1
- package/dist/vscode-tabs/vscode-tabs.js.map +1 -1
- package/dist/vscode-textarea/vscode-textarea.d.ts +2 -0
- package/dist/vscode-textarea/vscode-textarea.d.ts.map +1 -1
- package/dist/vscode-textarea/vscode-textarea.js +2 -0
- package/dist/vscode-textarea/vscode-textarea.js.map +1 -1
- package/dist/vscode-textfield/vscode-textfield.d.ts +2 -0
- package/dist/vscode-textfield/vscode-textfield.d.ts.map +1 -1
- package/dist/vscode-textfield/vscode-textfield.js +3 -1
- package/dist/vscode-textfield/vscode-textfield.js.map +1 -1
- package/dist/vscode-tree/vscode-tree.d.ts +3 -1
- package/dist/vscode-tree/vscode-tree.d.ts.map +1 -1
- package/dist/vscode-tree/vscode-tree.js +9 -7
- package/dist/vscode-tree/vscode-tree.js.map +1 -1
- package/package.json +23 -20
- package/vscode.css-custom-data.json +11 -11
- package/vscode.html-custom-data.json +71 -29
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-context-menu.js","sourceRoot":"","sources":["../../src/vscode-context-menu/vscode-context-menu.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, nothing, TemplateResult} from 'lit';\nimport {customElement, property, query, state} from 'lit/decorators.js';\nimport {VscElement} from '../includes/VscElement.js';\nimport type {\n VscClickEventDetail,\n VscodeContextMenuItem,\n} from '../vscode-context-menu-item/vscode-context-menu-item.js';\nimport '../vscode-context-menu-item/index.js';\nimport styles from './vscode-context-menu.styles.js';\n\ninterface MenuItemData {\n label: string;\n keybinding?: string;\n value?: string;\n separator?: boolean;\n tabindex?: number;\n}\n\nexport type VscContextMenuSelectEvent = CustomEvent<{\n keybinding: string;\n label: string;\n value: string;\n separator: boolean;\n tabindex: number;\n}>;\n\n/**\n * @fires {VscMenuSelectEvent} vsc-menu-select - Emitted when a menu item is clicked\n *\n * @cssprop --vscode-font-family\n * @cssprop --vscode-font-size\n * @cssprop --vscode-font-weight\n * @cssprop --vscode-menu-background\n * @cssprop --vscode-menu-border\n * @cssprop --vscode-menu-foreground\n * @cssprop --vscode-widget-shadow\n */\n@customElement('vscode-context-menu')\nexport class VscodeContextMenu extends VscElement {\n static styles = styles;\n\n @property({type: Array, attribute: false})\n set data(data: MenuItemData[]) {\n this._data = data;\n\n const indexes: number[] = [];\n\n data.forEach((v, i) => {\n if (!v.separator) {\n indexes.push(i);\n }\n });\n\n this._clickableItemIndexes = indexes;\n }\n get data(): MenuItemData[] {\n return this._data;\n }\n\n /**\n * By default, the menu closes when an item is clicked. This attribute prevents the menu from closing.\n */\n @property({type: Boolean, reflect: true, attribute: 'prevent-close'})\n preventClose = false;\n\n @property({type: Boolean, reflect: true})\n set show(show: boolean) {\n this._show = show;\n this._selectedClickableItemIndex = -1;\n\n if (show) {\n this.updateComplete.then(() => {\n if (this._wrapperEl) {\n this._wrapperEl.focus();\n }\n\n requestAnimationFrame(() => {\n document.addEventListener('click', this._onClickOutsideBound, {\n once: true,\n });\n });\n });\n }\n }\n get show(): boolean {\n return this._show;\n }\n\n /** @internal */\n @property({type: Number, reflect: true})\n tabIndex = 0;\n\n constructor() {\n super();\n this.addEventListener('keydown', this._onKeyDown);\n }\n\n /* connectedCallback(): void {\n super.connectedCallback();\n document.addEventListener('click', this._onClickOutsideBound);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n document.removeEventListener('click', this._onClickOutsideBound);\n } */\n\n @state()\n private _selectedClickableItemIndex = -1;\n\n @state()\n private _show = false;\n\n @query('.context-menu')\n private _wrapperEl!: HTMLDivElement;\n\n private _data: MenuItemData[] = [];\n\n private _clickableItemIndexes: number[] = [];\n\n private _onClickOutside(ev: MouseEvent) {\n if (!ev.composedPath().includes(this)) {\n this.show = false;\n }\n }\n\n private _onClickOutsideBound = this._onClickOutside.bind(this);\n\n private _onKeyDown(ev: KeyboardEvent) {\n const {key} = ev;\n\n if (\n key === 'ArrowUp' ||\n key === 'ArrowDown' ||\n key === 'Escape' ||\n key === 'Enter'\n ) {\n ev.preventDefault();\n }\n\n switch (key) {\n case 'ArrowUp':\n this._handleArrowUp();\n break;\n case 'ArrowDown':\n this._handleArrowDown();\n break;\n case 'Escape':\n this._handleEscape();\n break;\n case 'Enter':\n this._handleEnter();\n break;\n default:\n }\n }\n\n private _handleArrowUp() {\n if (this._selectedClickableItemIndex === 0) {\n this._selectedClickableItemIndex = this._clickableItemIndexes.length - 1;\n } else {\n this._selectedClickableItemIndex -= 1;\n }\n }\n\n private _handleArrowDown() {\n if (\n this._selectedClickableItemIndex + 1 <\n this._clickableItemIndexes.length\n ) {\n this._selectedClickableItemIndex += 1;\n } else {\n this._selectedClickableItemIndex = 0;\n }\n }\n\n private _handleEscape() {\n this.show = false;\n document.removeEventListener('click', this._onClickOutsideBound);\n }\n\n private _dispatchSelectEvent(selectedOption: VscodeContextMenuItem) {\n const {keybinding, label, value, separator, tabindex} = selectedOption;\n\n this.dispatchEvent(\n new CustomEvent('vsc-context-menu-select', {\n detail: {\n keybinding,\n label,\n separator,\n tabindex,\n value,\n },\n }) as VscContextMenuSelectEvent\n );\n }\n\n private _dispatchLegacySelectEvent(selectedOption: VscodeContextMenuItem) {\n const {keybinding, label, value, separator, tabindex} = selectedOption;\n const detail: VscClickEventDetail = {\n keybinding,\n label,\n value,\n separator,\n tabindex,\n };\n\n /** @deprecated - Renamed to `vsc-context-menu-select` */\n this.dispatchEvent(\n new CustomEvent('vsc-select', {\n detail,\n bubbles: true,\n composed: true,\n })\n );\n }\n\n private _handleEnter() {\n if (this._selectedClickableItemIndex === -1) {\n return;\n }\n\n const realItemIndex =\n this._clickableItemIndexes[this._selectedClickableItemIndex];\n const options = this._wrapperEl.querySelectorAll(\n 'vscode-context-menu-item'\n );\n const selectedOption = options[realItemIndex];\n\n this._dispatchLegacySelectEvent(selectedOption);\n this._dispatchSelectEvent(selectedOption);\n\n if (!this.preventClose) {\n this.show = false;\n document.removeEventListener('click', this._onClickOutsideBound);\n }\n }\n\n private _onItemClick(event: CustomEvent) {\n const et = event.currentTarget as VscodeContextMenuItem;\n\n this._dispatchLegacySelectEvent(et);\n this._dispatchSelectEvent(et);\n\n if (!this.preventClose) {\n this.show = false;\n }\n }\n\n private _onItemMouseOver(event: MouseEvent) {\n const el = event.target as HTMLElement;\n const index = el.dataset.index ? +el.dataset.index : -1;\n const found = this._clickableItemIndexes.findIndex(\n (item) => item === index\n );\n\n if (found !== -1) {\n this._selectedClickableItemIndex = found;\n }\n }\n\n private _onItemMouseOut() {\n this._selectedClickableItemIndex = -1;\n }\n\n render(): TemplateResult {\n if (!this._show) {\n return html`${nothing}`;\n }\n\n const selectedIndex =\n this._clickableItemIndexes[this._selectedClickableItemIndex];\n\n return html`\n <div class=\"context-menu\" tabindex=\"0\">\n ${this.data\n ? this.data.map(\n (\n {\n label = '',\n keybinding = '',\n value = '',\n separator = false,\n tabindex = 0,\n },\n index\n ) => html`\n <vscode-context-menu-item\n label=\"${label}\"\n keybinding=\"${keybinding}\"\n value=\"${value}\"\n ?separator=\"${separator}\"\n ?selected=\"${index === selectedIndex}\"\n tabindex=\"${tabindex}\"\n @vsc-click=\"${this._onItemClick}\"\n @mouseover=${this._onItemMouseOver}\n @mouseout=${this._onItemMouseOut}\n data-index=${index}\n ></vscode-context-menu-item>\n `\n )\n : html`<slot></slot>`}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-context-menu': VscodeContextMenu;\n }\n\n interface GlobalEventHandlersEventMap {\n 'vsc-context-menu-select': VscContextMenuSelectEvent;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"vscode-context-menu.js","sourceRoot":"","sources":["../../src/vscode-context-menu/vscode-context-menu.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, nothing, TemplateResult} from 'lit';\nimport {customElement, property, query, state} from 'lit/decorators.js';\nimport {VscElement} from '../includes/VscElement.js';\nimport type {\n VscClickEventDetail,\n VscodeContextMenuItem,\n} from '../vscode-context-menu-item/vscode-context-menu-item.js';\nimport '../vscode-context-menu-item/index.js';\nimport styles from './vscode-context-menu.styles.js';\n\ninterface MenuItemData {\n // TODO: make optional\n label: string;\n keybinding?: string;\n value?: string;\n separator?: boolean;\n tabindex?: number;\n}\n\nexport type VscContextMenuSelectEvent = CustomEvent<{\n keybinding: string;\n label: string;\n value: string;\n separator: boolean;\n tabindex: number;\n}>;\n\n/**\n * @tag vscode-context-menu\n *\n * @fires {VscMenuSelectEvent} vsc-menu-select - Emitted when a menu item is clicked\n *\n * @cssprop --vscode-font-family\n * @cssprop --vscode-font-size\n * @cssprop --vscode-font-weight\n * @cssprop --vscode-menu-background\n * @cssprop --vscode-menu-border\n * @cssprop --vscode-menu-foreground\n * @cssprop --vscode-widget-shadow\n */\n@customElement('vscode-context-menu')\nexport class VscodeContextMenu extends VscElement {\n static styles = styles;\n\n @property({type: Array, attribute: false})\n set data(data: MenuItemData[]) {\n this._data = data;\n\n const indexes: number[] = [];\n\n data.forEach((v, i) => {\n if (!v.separator) {\n indexes.push(i);\n }\n });\n\n this._clickableItemIndexes = indexes;\n }\n get data(): MenuItemData[] {\n return this._data;\n }\n\n /**\n * By default, the menu closes when an item is clicked. This attribute prevents the menu from closing.\n */\n @property({type: Boolean, reflect: true, attribute: 'prevent-close'})\n preventClose = false;\n\n @property({type: Boolean, reflect: true})\n set show(show: boolean) {\n this._show = show;\n this._selectedClickableItemIndex = -1;\n\n if (show) {\n this.updateComplete.then(() => {\n if (this._wrapperEl) {\n this._wrapperEl.focus();\n }\n\n requestAnimationFrame(() => {\n document.addEventListener('click', this._onClickOutsideBound, {\n once: true,\n });\n });\n });\n }\n }\n get show(): boolean {\n return this._show;\n }\n\n /** @internal */\n @property({type: Number, reflect: true})\n tabIndex = 0;\n\n constructor() {\n super();\n this.addEventListener('keydown', this._onKeyDown);\n }\n\n /* connectedCallback(): void {\n super.connectedCallback();\n document.addEventListener('click', this._onClickOutsideBound);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n document.removeEventListener('click', this._onClickOutsideBound);\n } */\n\n @state()\n private _selectedClickableItemIndex = -1;\n\n @state()\n private _show = false;\n\n @query('.context-menu')\n private _wrapperEl!: HTMLDivElement;\n\n private _data: MenuItemData[] = [];\n\n private _clickableItemIndexes: number[] = [];\n\n private _onClickOutside(ev: MouseEvent) {\n if (!ev.composedPath().includes(this)) {\n this.show = false;\n }\n }\n\n private _onClickOutsideBound = this._onClickOutside.bind(this);\n\n private _onKeyDown(ev: KeyboardEvent) {\n const {key} = ev;\n\n if (\n key === 'ArrowUp' ||\n key === 'ArrowDown' ||\n key === 'Escape' ||\n key === 'Enter'\n ) {\n ev.preventDefault();\n }\n\n switch (key) {\n case 'ArrowUp':\n this._handleArrowUp();\n break;\n case 'ArrowDown':\n this._handleArrowDown();\n break;\n case 'Escape':\n this._handleEscape();\n break;\n case 'Enter':\n this._handleEnter();\n break;\n default:\n }\n }\n\n private _handleArrowUp() {\n if (this._selectedClickableItemIndex === 0) {\n this._selectedClickableItemIndex = this._clickableItemIndexes.length - 1;\n } else {\n this._selectedClickableItemIndex -= 1;\n }\n }\n\n private _handleArrowDown() {\n if (\n this._selectedClickableItemIndex + 1 <\n this._clickableItemIndexes.length\n ) {\n this._selectedClickableItemIndex += 1;\n } else {\n this._selectedClickableItemIndex = 0;\n }\n }\n\n private _handleEscape() {\n this.show = false;\n document.removeEventListener('click', this._onClickOutsideBound);\n }\n\n private _dispatchSelectEvent(selectedOption: VscodeContextMenuItem) {\n const {keybinding, label, value, separator, tabindex} = selectedOption;\n\n this.dispatchEvent(\n new CustomEvent('vsc-context-menu-select', {\n detail: {\n keybinding,\n label,\n separator,\n tabindex,\n value,\n },\n }) as VscContextMenuSelectEvent\n );\n }\n\n private _dispatchLegacySelectEvent(selectedOption: VscodeContextMenuItem) {\n const {keybinding, label, value, separator, tabindex} = selectedOption;\n const detail: VscClickEventDetail = {\n keybinding,\n label,\n value,\n separator,\n tabindex,\n };\n\n /** @deprecated - Renamed to `vsc-context-menu-select` */\n this.dispatchEvent(\n new CustomEvent('vsc-select', {\n detail,\n bubbles: true,\n composed: true,\n })\n );\n }\n\n private _handleEnter() {\n if (this._selectedClickableItemIndex === -1) {\n return;\n }\n\n const realItemIndex =\n this._clickableItemIndexes[this._selectedClickableItemIndex];\n const options = this._wrapperEl.querySelectorAll(\n 'vscode-context-menu-item'\n );\n const selectedOption = options[realItemIndex];\n\n this._dispatchLegacySelectEvent(selectedOption);\n this._dispatchSelectEvent(selectedOption);\n\n if (!this.preventClose) {\n this.show = false;\n document.removeEventListener('click', this._onClickOutsideBound);\n }\n }\n\n private _onItemClick(event: CustomEvent) {\n const et = event.currentTarget as VscodeContextMenuItem;\n\n this._dispatchLegacySelectEvent(et);\n this._dispatchSelectEvent(et);\n\n if (!this.preventClose) {\n this.show = false;\n }\n }\n\n private _onItemMouseOver(event: MouseEvent) {\n const el = event.target as HTMLElement;\n const index = el.dataset.index ? +el.dataset.index : -1;\n const found = this._clickableItemIndexes.findIndex(\n (item) => item === index\n );\n\n if (found !== -1) {\n this._selectedClickableItemIndex = found;\n }\n }\n\n private _onItemMouseOut() {\n this._selectedClickableItemIndex = -1;\n }\n\n render(): TemplateResult {\n if (!this._show) {\n return html`${nothing}`;\n }\n\n return html`\n <div class=\"context-menu\" tabindex=\"0\">\n ${this.data\n ? this.data.map(\n (\n {\n label = '',\n keybinding = '',\n value = '',\n separator = false,\n tabindex = 0,\n },\n index\n ) => html`\n <vscode-context-menu-item\n label=${label}\n keybinding=${keybinding}\n value=${value}\n ?separator=${separator}\n tabindex=${tabindex}\n @vsc-click=${this._onItemClick}\n @mouseover=${this._onItemMouseOver}\n @mouseout=${this._onItemMouseOut}\n data-index=${index}\n ></vscode-context-menu-item>\n `\n )\n : html`<slot></slot>`}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-context-menu': VscodeContextMenu;\n }\n\n interface GlobalEventHandlersEventMap {\n 'vsc-context-menu-select': VscContextMenuSelectEvent;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-context-menu-item.d.ts","sourceRoot":"","sources":["../../src/vscode-context-menu-item/vscode-context-menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAC,MAAM,KAAK,CAAC;AAElD,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAGrD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED
|
|
1
|
+
{"version":3,"file":"vscode-context-menu-item.d.ts","sourceRoot":"","sources":["../../src/vscode-context-menu-item/vscode-context-menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAC,MAAM,KAAK,CAAC;AAElD,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAGrD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBACa,qBAAsB,SAAQ,UAAU;IACnD,MAAM,CAAC,MAAM,+BAAU;IAGvB,KAAK,SAAM;IAGX,UAAU,SAAM;IAGhB,KAAK,SAAM;IAGX,SAAS,UAAS;IAGlB,QAAQ,SAAK;IAEb,OAAO,CAAC,WAAW;IAiBnB,MAAM,IAAI,cAAc;CAsBzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,0BAA0B,EAAE,qBAAqB,CAAC;KACnD;CACF"}
|
|
@@ -9,6 +9,8 @@ import { customElement, property } from 'lit/decorators.js';
|
|
|
9
9
|
import { VscElement } from '../includes/VscElement.js';
|
|
10
10
|
import styles from './vscode-context-menu-item.styles.js';
|
|
11
11
|
/**
|
|
12
|
+
* @tag vscode-context-menu-item
|
|
13
|
+
*
|
|
12
14
|
* Child component of [ContextMenu](/components/context-menu/).
|
|
13
15
|
*
|
|
14
16
|
* @cssprop --vscode-font-family
|
|
@@ -54,7 +56,7 @@ let VscodeContextMenuItem = class VscodeContextMenuItem extends VscElement {
|
|
|
54
56
|
`
|
|
55
57
|
: html `
|
|
56
58
|
<div class="context-menu-item">
|
|
57
|
-
<a @click
|
|
59
|
+
<a @click=${this.onItemClick}>
|
|
58
60
|
${this.label
|
|
59
61
|
? html `<span class="label">${this.label}</span>`
|
|
60
62
|
: nothing}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-context-menu-item.js","sourceRoot":"","sources":["../../src/vscode-context-menu-item/vscode-context-menu-item.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAE,OAAO,EAAiB,MAAM,KAAK,CAAC;AAClD,OAAO,EAAC,aAAa,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACrD,OAAO,MAAM,MAAM,sCAAsC,CAAC;AAU1D
|
|
1
|
+
{"version":3,"file":"vscode-context-menu-item.js","sourceRoot":"","sources":["../../src/vscode-context-menu-item/vscode-context-menu-item.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAE,OAAO,EAAiB,MAAM,KAAK,CAAC;AAClD,OAAO,EAAC,aAAa,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACrD,OAAO,MAAM,MAAM,sCAAsC,CAAC;AAU1D;;;;;;;;;;;;;;GAcG;AAEI,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,UAAU;IAA9C;;QAIL,UAAK,GAAG,EAAE,CAAC;QAGX,eAAU,GAAG,EAAE,CAAC;QAGhB,UAAK,GAAG,EAAE,CAAC;QAGX,cAAS,GAAG,KAAK,CAAC;QAGlB,aAAQ,GAAG,CAAC,CAAC;IAyCf,CAAC;IAvCS,WAAW;QACjB,gBAAgB;QAChB,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAsB,WAAW,EAAE;YAChD,MAAM,EAAE;gBACN,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK;gBAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB;YACD,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,SAAS;YACd,CAAC,CAAC,IAAI,CAAA;;;;WAIH;YACH,CAAC,CAAC,IAAI,CAAA;;0BAEY,IAAI,CAAC,WAAW;kBACxB,IAAI,CAAC,KAAK;gBACV,CAAC,CAAC,IAAI,CAAA,uBAAuB,IAAI,CAAC,KAAK,SAAS;gBAChD,CAAC,CAAC,OAAO;kBACT,IAAI,CAAC,UAAU;gBACf,CAAC,CAAC,IAAI,CAAA,4BAA4B,IAAI,CAAC,UAAU,SAAS;gBAC1D,CAAC,CAAC,OAAO;;;WAGhB;KACN,CAAC;IACJ,CAAC;;AAvDM,4BAAM,GAAG,MAAM,AAAT,CAAU;AAGvB;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;oDACd;AAGX;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;yDACT;AAGhB;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;oDACd;AAGX;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;wDACvB;AAGlB;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;uDACZ;AAhBF,qBAAqB;IADjC,aAAa,CAAC,0BAA0B,CAAC;GAC7B,qBAAqB,CAyDjC","sourcesContent":["import {html, nothing, TemplateResult} from 'lit';\nimport {customElement, property} from 'lit/decorators.js';\nimport {VscElement} from '../includes/VscElement.js';\nimport styles from './vscode-context-menu-item.styles.js';\n\nexport interface VscClickEventDetail {\n label: string;\n keybinding: string;\n value: string;\n separator: boolean;\n tabindex: number;\n}\n\n/**\n * @tag vscode-context-menu-item\n *\n * Child component of [ContextMenu](/components/context-menu/).\n *\n * @cssprop --vscode-font-family\n * @cssprop --vscode-font-size\n * @cssprop --vscode-font-weight\n * @cssprop --vscode-menu-background\n * @cssprop [--vscode-menu-selectionBorder=var(--vscode-menu-selectionBackground)]\n * @cssprop --vscode-menu-foreground\n * @cssprop --vscode-menu-selectionBackground\n * @cssprop --vscode-menu-selectionForeground\n * @cssprop --vscode-menu-separatorBackground\n */\n@customElement('vscode-context-menu-item')\nexport class VscodeContextMenuItem extends VscElement {\n static styles = styles;\n\n @property({type: String})\n label = '';\n\n @property({type: String})\n keybinding = '';\n\n @property({type: String})\n value = '';\n\n @property({type: Boolean, reflect: true})\n separator = false;\n\n @property({type: Number})\n tabindex = 0;\n\n private onItemClick() {\n /** @internal */\n this.dispatchEvent(\n new CustomEvent<VscClickEventDetail>('vsc-click', {\n detail: {\n label: this.label,\n keybinding: this.keybinding,\n value: this.value || this.label,\n separator: this.separator,\n tabindex: this.tabindex,\n },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n render(): TemplateResult {\n return html`\n ${this.separator\n ? html`\n <div class=\"context-menu-item separator\">\n <span class=\"ruler\"></span>\n </div>\n `\n : html`\n <div class=\"context-menu-item\">\n <a @click=${this.onItemClick}>\n ${this.label\n ? html`<span class=\"label\">${this.label}</span>`\n : nothing}\n ${this.keybinding\n ? html`<span class=\"keybinding\">${this.keybinding}</span>`\n : nothing}\n </a>\n </div>\n `}\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-context-menu-item': VscodeContextMenuItem;\n }\n}\n"]}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { TemplateResult } from 'lit';
|
|
2
2
|
import { VscElement } from '../includes/VscElement.js';
|
|
3
|
+
/**
|
|
4
|
+
* @tag vscode-divider
|
|
5
|
+
*/
|
|
3
6
|
export declare class VscodeDivider extends VscElement {
|
|
4
7
|
static styles: import("lit").CSSResultGroup;
|
|
5
8
|
role: 'separator' | 'presentation';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-divider.d.ts","sourceRoot":"","sources":["../../src/vscode-divider/vscode-divider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAO,MAAM,KAAK,CAAC;AAEzC,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAGrD,qBACa,aAAc,SAAQ,UAAU;IAC3C,MAAM,CAAC,MAAM,+BAAU;IAGvB,IAAI,EAAE,WAAW,GAAG,cAAc,CAAe;IAEjD,MAAM,IAAI,cAAc;CAGzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,aAAa,CAAC;KACjC;CACF"}
|
|
1
|
+
{"version":3,"file":"vscode-divider.d.ts","sourceRoot":"","sources":["../../src/vscode-divider/vscode-divider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAO,MAAM,KAAK,CAAC;AAEzC,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAGrD;;GAEG;AACH,qBACa,aAAc,SAAQ,UAAU;IAC3C,MAAM,CAAC,MAAM,+BAAU;IAGvB,IAAI,EAAE,WAAW,GAAG,cAAc,CAAe;IAEjD,MAAM,IAAI,cAAc;CAGzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,aAAa,CAAC;KACjC;CACF"}
|
|
@@ -8,6 +8,9 @@ import { html } from 'lit';
|
|
|
8
8
|
import { customElement, property } from 'lit/decorators.js';
|
|
9
9
|
import { VscElement } from '../includes/VscElement.js';
|
|
10
10
|
import styles from './vscode-divider.styles.js';
|
|
11
|
+
/**
|
|
12
|
+
* @tag vscode-divider
|
|
13
|
+
*/
|
|
11
14
|
let VscodeDivider = class VscodeDivider extends VscElement {
|
|
12
15
|
constructor() {
|
|
13
16
|
super(...arguments);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-divider.js","sourceRoot":"","sources":["../../src/vscode-divider/vscode-divider.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAiB,IAAI,EAAC,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,aAAa,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACrD,OAAO,MAAM,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"vscode-divider.js","sourceRoot":"","sources":["../../src/vscode-divider/vscode-divider.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAiB,IAAI,EAAC,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,aAAa,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACrD,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAEhD;;GAEG;AAEI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,UAAU;IAAtC;;QAIL,SAAI,GAAiC,WAAW,CAAC;IAKnD,CAAC;IAHC,MAAM;QACJ,OAAO,IAAI,CAAA,EAAE,CAAC;IAChB,CAAC;;AAPM,oBAAM,GAAG,MAAM,AAAT,CAAU;AAGvB;IADC,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;2CACuB;AAJtC,aAAa;IADzB,aAAa,CAAC,gBAAgB,CAAC;GACnB,aAAa,CASzB","sourcesContent":["import {TemplateResult, html} from 'lit';\nimport {customElement, property} from 'lit/decorators.js';\nimport {VscElement} from '../includes/VscElement.js';\nimport styles from './vscode-divider.styles.js';\n\n/**\n * @tag vscode-divider\n */\n@customElement('vscode-divider')\nexport class VscodeDivider extends VscElement {\n static styles = styles;\n\n @property({reflect: true})\n role: 'separator' | 'presentation' = 'separator';\n\n render(): TemplateResult {\n return html``;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-divider': VscodeDivider;\n }\n}\n"]}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { TemplateResult } from 'lit';
|
|
2
2
|
import { VscElement } from '../includes/VscElement.js';
|
|
3
|
+
/**
|
|
4
|
+
* @tag vscode-form-container
|
|
5
|
+
*/
|
|
3
6
|
export declare class VscodeFormContainer extends VscElement {
|
|
4
7
|
static styles: import("lit").CSSResultGroup;
|
|
5
8
|
set responsive(isResponsive: boolean);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-form-container.d.ts","sourceRoot":"","sources":["../../src/vscode-form-container/vscode-form-container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AAOzC,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AA8CrD,qBACa,mBAAoB,SAAQ,UAAU;IACjD,MAAM,CAAC,MAAM,+BAAU;IAEvB,IACI,UAAU,CAAC,YAAY,EAAE,OAAO,EAUnC;IACD,IAAI,UAAU,IAAI,OAAO,CAExB;IAGD,UAAU,SAAO;IAEjB,6DAA6D;IAC7D,IACI,IAAI,IAAI;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAC,CAE7C;IAED,OAAO,CAAC,eAAe,CAAyB;IAGhD,OAAO,CAAC,eAAe,CAAW;IAGlC,OAAO,CAAC,mBAAmB,CAAqB;IAEhD,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,oBAAoB,CAAS;IAErC,OAAO,CAAC,uBAAuB,CAAmB;IAElD,OAAO,CAAC,gBAAgB;IA+CxB,OAAO,CAAC,oBAAoB;IAqC5B,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,4BAA4B,CACM;IAE1C,OAAO,CAAC,yBAAyB;IAOjC,OAAO,CAAC,yBAAyB;IAKjC,YAAY,IAAI,IAAI;IAQpB,MAAM,IAAI,cAAc;CAOzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,uBAAuB,EAAE,mBAAmB,CAAC;KAC9C;CACF"}
|
|
1
|
+
{"version":3,"file":"vscode-form-container.d.ts","sourceRoot":"","sources":["../../src/vscode-form-container/vscode-form-container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AAOzC,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AA8CrD;;GAEG;AACH,qBACa,mBAAoB,SAAQ,UAAU;IACjD,MAAM,CAAC,MAAM,+BAAU;IAEvB,IACI,UAAU,CAAC,YAAY,EAAE,OAAO,EAUnC;IACD,IAAI,UAAU,IAAI,OAAO,CAExB;IAGD,UAAU,SAAO;IAEjB,6DAA6D;IAC7D,IACI,IAAI,IAAI;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAC,CAE7C;IAED,OAAO,CAAC,eAAe,CAAyB;IAGhD,OAAO,CAAC,eAAe,CAAW;IAGlC,OAAO,CAAC,mBAAmB,CAAqB;IAEhD,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,oBAAoB,CAAS;IAErC,OAAO,CAAC,uBAAuB,CAAmB;IAElD,OAAO,CAAC,gBAAgB;IA+CxB,OAAO,CAAC,oBAAoB;IAqC5B,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,4BAA4B,CACM;IAE1C,OAAO,CAAC,yBAAyB;IAOjC,OAAO,CAAC,yBAAyB;IAKjC,YAAY,IAAI,IAAI;IAQpB,MAAM,IAAI,cAAc;CAOzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,uBAAuB,EAAE,mBAAmB,CAAC;KAC9C;CACF"}
|
|
@@ -28,6 +28,9 @@ const isCheckbox = (el) => {
|
|
|
28
28
|
const isRadio = (el) => {
|
|
29
29
|
return el.tagName.toLocaleLowerCase() === 'vscode-radio';
|
|
30
30
|
};
|
|
31
|
+
/**
|
|
32
|
+
* @tag vscode-form-container
|
|
33
|
+
*/
|
|
31
34
|
let VscodeFormContainer = class VscodeFormContainer extends VscElement {
|
|
32
35
|
constructor() {
|
|
33
36
|
super(...arguments);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-form-container.js","sourceRoot":"","sources":["../../src/vscode-form-container/vscode-form-container.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, TemplateResult} from 'lit';\nimport {\n customElement,\n property,\n query,\n queryAssignedElements,\n} from 'lit/decorators.js';\nimport {VscElement} from '../includes/VscElement.js';\nimport {VscodeCheckbox} from '../vscode-checkbox/index.js';\nimport {VscodeCheckboxGroup} from '../vscode-checkbox-group/index.js';\nimport {VscodeFormGroup, FormGroupVariant} from '../vscode-form-group/index.js';\nimport {VscodeMultiSelect} from '../vscode-multi-select/index.js';\nimport {VscodeRadio} from '../vscode-radio/index.js';\nimport {VscodeRadioGroup} from '../vscode-radio-group/index.js';\nimport {VscodeSingleSelect} from '../vscode-single-select/index.js';\nimport styles from './vscode-form-container.styles.js';\nimport {VscodeTextarea, VscodeTextfield} from '../main.js';\n\nenum FormGroupLayout {\n HORIZONTAL = 'horizontal',\n VERTICAL = 'vertical',\n}\n\ntype CheckboxOrRadioGroup = VscodeRadioGroup | VscodeCheckboxGroup;\n\ntype VscFormWidget =\n | VscodeSingleSelect\n | VscodeMultiSelect\n | VscodeCheckbox\n | VscodeRadio;\n\nconst isTextInput = (el: Element): el is VscodeTextarea | VscodeTextfield => {\n return ['vscode-textfield', 'vscode-textarea'].includes(\n el.tagName.toLocaleLowerCase()\n );\n};\n\nconst isSingleSelect = (el: Element): el is VscodeSingleSelect => {\n return el.tagName.toLocaleLowerCase() === 'vscode-single-select';\n};\n\nconst isMultiSelect = (el: Element): el is VscodeMultiSelect => {\n return el.tagName.toLocaleLowerCase() === 'vscode-multi-select';\n};\n\nconst isCheckbox = (el: Element): el is VscodeCheckbox => {\n return el.tagName.toLocaleLowerCase() === 'vscode-checkbox';\n};\n\nconst isRadio = (el: Element): el is VscodeRadio => {\n return el.tagName.toLocaleLowerCase() === 'vscode-radio';\n};\n\n@customElement('vscode-form-container')\nexport class VscodeFormContainer extends VscElement {\n static styles = styles;\n\n @property({type: Boolean, reflect: true})\n set responsive(isResponsive: boolean) {\n this._responsive = isResponsive;\n\n if (this._firstUpdateComplete) {\n if (isResponsive) {\n this._activateResponsiveLayout();\n } else {\n this._deactivateResizeObserver();\n }\n }\n }\n get responsive(): boolean {\n return this._responsive;\n }\n\n @property({type: Number})\n breakpoint = 490;\n\n /** @deprecated - Use the native `<form>` element instead. */\n @property({type: Object})\n get data(): {[key: string]: string | string[]} {\n return this._collectFormData();\n }\n\n private _resizeObserver!: ResizeObserver | null;\n\n @query('.wrapper')\n private _wrapperElement!: Element;\n\n @queryAssignedElements({selector: 'vscode-form-group'})\n private _assignedFormGroups!: VscodeFormGroup[];\n\n private _responsive = false;\n\n private _firstUpdateComplete = false;\n\n private _currentFormGroupLayout!: FormGroupLayout;\n\n private _collectFormData() {\n const query = [\n 'vscode-textfield',\n 'vscode-textarea',\n 'vscode-single-select',\n 'vscode-multi-select',\n 'vscode-checkbox',\n 'vscode-radio',\n ].join(',');\n const vscFormWidgets = this.querySelectorAll(\n query\n ) as NodeListOf<VscFormWidget>;\n const data: {[key: string]: string | string[]} = {};\n\n vscFormWidgets.forEach((widget) => {\n if (!widget.hasAttribute('name')) {\n return;\n }\n\n const name = widget.getAttribute('name') as string;\n\n if (!name) {\n return;\n }\n\n if (isCheckbox(widget) && widget.checked) {\n data[name] = Array.isArray(data[name])\n ? [...data[name], widget.value as string]\n : [widget.value as string];\n } else if (isMultiSelect(widget)) {\n data[name] = widget.value;\n } else if (isCheckbox(widget) && !widget.checked) {\n data[name] = Array.isArray(data[name]) ? data[name] : [];\n } else if (\n (isRadio(widget) && widget.checked) ||\n isTextInput(widget) ||\n isSingleSelect(widget)\n ) {\n data[name] = widget.value;\n } else if (isRadio(widget) && !widget.checked) {\n data[name] = data[name] ? data[name] : '';\n }\n });\n\n return data;\n }\n\n private _toggleCompactLayout(layout: FormGroupLayout) {\n this._assignedFormGroups.forEach((group) => {\n if (!group.dataset.originalVariant) {\n group.dataset.originalVariant = group.variant;\n }\n\n const oVariant = group.dataset.originalVariant as FormGroupVariant;\n\n if (layout === FormGroupLayout.VERTICAL && oVariant === 'horizontal') {\n group.variant = 'vertical';\n } else {\n group.variant = oVariant;\n }\n\n const checkboxOrRadioGroup = group.querySelectorAll(\n 'vscode-checkbox-group, vscode-radio-group'\n ) as NodeListOf<CheckboxOrRadioGroup>;\n\n checkboxOrRadioGroup.forEach((widgetGroup) => {\n if (!widgetGroup.dataset.originalVariant) {\n widgetGroup.dataset.originalVariant = widgetGroup.variant;\n }\n\n const originalVariant = widgetGroup.dataset.originalVariant;\n\n if (\n layout === FormGroupLayout.HORIZONTAL &&\n originalVariant === FormGroupLayout.HORIZONTAL\n ) {\n widgetGroup.variant = 'horizontal';\n } else {\n widgetGroup.variant = 'vertical';\n }\n });\n });\n }\n\n private _resizeObserverCallback(entries: ResizeObserverEntry[]) {\n let wrapperWidth = 0;\n\n for (const entry of entries) {\n wrapperWidth = entry.contentRect.width;\n }\n\n const nextLayout: FormGroupLayout =\n wrapperWidth < this.breakpoint\n ? FormGroupLayout.VERTICAL\n : FormGroupLayout.HORIZONTAL;\n\n if (nextLayout !== this._currentFormGroupLayout) {\n this._toggleCompactLayout(nextLayout);\n this._currentFormGroupLayout = nextLayout;\n }\n }\n\n private _resizeObserverCallbackBound =\n this._resizeObserverCallback.bind(this);\n\n private _activateResponsiveLayout() {\n this._resizeObserver = new ResizeObserver(\n this._resizeObserverCallbackBound\n );\n this._resizeObserver.observe(this._wrapperElement);\n }\n\n private _deactivateResizeObserver() {\n this._resizeObserver?.disconnect();\n this._resizeObserver = null;\n }\n\n firstUpdated(): void {\n this._firstUpdateComplete = true;\n\n if (this._responsive) {\n this._activateResponsiveLayout();\n }\n }\n\n render(): TemplateResult {\n return html`\n <div class=\"wrapper\">\n <slot></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-form-container': VscodeFormContainer;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"vscode-form-container.js","sourceRoot":"","sources":["../../src/vscode-form-container/vscode-form-container.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, TemplateResult} from 'lit';\nimport {\n customElement,\n property,\n query,\n queryAssignedElements,\n} from 'lit/decorators.js';\nimport {VscElement} from '../includes/VscElement.js';\nimport {VscodeCheckbox} from '../vscode-checkbox/index.js';\nimport {VscodeCheckboxGroup} from '../vscode-checkbox-group/index.js';\nimport {VscodeFormGroup, FormGroupVariant} from '../vscode-form-group/index.js';\nimport {VscodeMultiSelect} from '../vscode-multi-select/index.js';\nimport {VscodeRadio} from '../vscode-radio/index.js';\nimport {VscodeRadioGroup} from '../vscode-radio-group/index.js';\nimport {VscodeSingleSelect} from '../vscode-single-select/index.js';\nimport styles from './vscode-form-container.styles.js';\nimport {VscodeTextarea, VscodeTextfield} from '../main.js';\n\nenum FormGroupLayout {\n HORIZONTAL = 'horizontal',\n VERTICAL = 'vertical',\n}\n\ntype CheckboxOrRadioGroup = VscodeRadioGroup | VscodeCheckboxGroup;\n\ntype VscFormWidget =\n | VscodeSingleSelect\n | VscodeMultiSelect\n | VscodeCheckbox\n | VscodeRadio;\n\nconst isTextInput = (el: Element): el is VscodeTextarea | VscodeTextfield => {\n return ['vscode-textfield', 'vscode-textarea'].includes(\n el.tagName.toLocaleLowerCase()\n );\n};\n\nconst isSingleSelect = (el: Element): el is VscodeSingleSelect => {\n return el.tagName.toLocaleLowerCase() === 'vscode-single-select';\n};\n\nconst isMultiSelect = (el: Element): el is VscodeMultiSelect => {\n return el.tagName.toLocaleLowerCase() === 'vscode-multi-select';\n};\n\nconst isCheckbox = (el: Element): el is VscodeCheckbox => {\n return el.tagName.toLocaleLowerCase() === 'vscode-checkbox';\n};\n\nconst isRadio = (el: Element): el is VscodeRadio => {\n return el.tagName.toLocaleLowerCase() === 'vscode-radio';\n};\n\n/**\n * @tag vscode-form-container\n */\n@customElement('vscode-form-container')\nexport class VscodeFormContainer extends VscElement {\n static styles = styles;\n\n @property({type: Boolean, reflect: true})\n set responsive(isResponsive: boolean) {\n this._responsive = isResponsive;\n\n if (this._firstUpdateComplete) {\n if (isResponsive) {\n this._activateResponsiveLayout();\n } else {\n this._deactivateResizeObserver();\n }\n }\n }\n get responsive(): boolean {\n return this._responsive;\n }\n\n @property({type: Number})\n breakpoint = 490;\n\n /** @deprecated - Use the native `<form>` element instead. */\n @property({type: Object})\n get data(): {[key: string]: string | string[]} {\n return this._collectFormData();\n }\n\n private _resizeObserver!: ResizeObserver | null;\n\n @query('.wrapper')\n private _wrapperElement!: Element;\n\n @queryAssignedElements({selector: 'vscode-form-group'})\n private _assignedFormGroups!: VscodeFormGroup[];\n\n private _responsive = false;\n\n private _firstUpdateComplete = false;\n\n private _currentFormGroupLayout!: FormGroupLayout;\n\n private _collectFormData() {\n const query = [\n 'vscode-textfield',\n 'vscode-textarea',\n 'vscode-single-select',\n 'vscode-multi-select',\n 'vscode-checkbox',\n 'vscode-radio',\n ].join(',');\n const vscFormWidgets = this.querySelectorAll(\n query\n ) as NodeListOf<VscFormWidget>;\n const data: {[key: string]: string | string[]} = {};\n\n vscFormWidgets.forEach((widget) => {\n if (!widget.hasAttribute('name')) {\n return;\n }\n\n const name = widget.getAttribute('name') as string;\n\n if (!name) {\n return;\n }\n\n if (isCheckbox(widget) && widget.checked) {\n data[name] = Array.isArray(data[name])\n ? [...data[name], widget.value as string]\n : [widget.value as string];\n } else if (isMultiSelect(widget)) {\n data[name] = widget.value;\n } else if (isCheckbox(widget) && !widget.checked) {\n data[name] = Array.isArray(data[name]) ? data[name] : [];\n } else if (\n (isRadio(widget) && widget.checked) ||\n isTextInput(widget) ||\n isSingleSelect(widget)\n ) {\n data[name] = widget.value;\n } else if (isRadio(widget) && !widget.checked) {\n data[name] = data[name] ? data[name] : '';\n }\n });\n\n return data;\n }\n\n private _toggleCompactLayout(layout: FormGroupLayout) {\n this._assignedFormGroups.forEach((group) => {\n if (!group.dataset.originalVariant) {\n group.dataset.originalVariant = group.variant;\n }\n\n const oVariant = group.dataset.originalVariant as FormGroupVariant;\n\n if (layout === FormGroupLayout.VERTICAL && oVariant === 'horizontal') {\n group.variant = 'vertical';\n } else {\n group.variant = oVariant;\n }\n\n const checkboxOrRadioGroup = group.querySelectorAll(\n 'vscode-checkbox-group, vscode-radio-group'\n ) as NodeListOf<CheckboxOrRadioGroup>;\n\n checkboxOrRadioGroup.forEach((widgetGroup) => {\n if (!widgetGroup.dataset.originalVariant) {\n widgetGroup.dataset.originalVariant = widgetGroup.variant;\n }\n\n const originalVariant = widgetGroup.dataset.originalVariant;\n\n if (\n layout === FormGroupLayout.HORIZONTAL &&\n originalVariant === FormGroupLayout.HORIZONTAL\n ) {\n widgetGroup.variant = 'horizontal';\n } else {\n widgetGroup.variant = 'vertical';\n }\n });\n });\n }\n\n private _resizeObserverCallback(entries: ResizeObserverEntry[]) {\n let wrapperWidth = 0;\n\n for (const entry of entries) {\n wrapperWidth = entry.contentRect.width;\n }\n\n const nextLayout: FormGroupLayout =\n wrapperWidth < this.breakpoint\n ? FormGroupLayout.VERTICAL\n : FormGroupLayout.HORIZONTAL;\n\n if (nextLayout !== this._currentFormGroupLayout) {\n this._toggleCompactLayout(nextLayout);\n this._currentFormGroupLayout = nextLayout;\n }\n }\n\n private _resizeObserverCallbackBound =\n this._resizeObserverCallback.bind(this);\n\n private _activateResponsiveLayout() {\n this._resizeObserver = new ResizeObserver(\n this._resizeObserverCallbackBound\n );\n this._resizeObserver.observe(this._wrapperElement);\n }\n\n private _deactivateResizeObserver() {\n this._resizeObserver?.disconnect();\n this._resizeObserver = null;\n }\n\n firstUpdated(): void {\n this._firstUpdateComplete = true;\n\n if (this._responsive) {\n this._activateResponsiveLayout();\n }\n }\n\n render(): TemplateResult {\n return html`\n <div class=\"wrapper\">\n <slot></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-form-container': VscodeFormContainer;\n }\n}\n"]}
|
|
@@ -2,6 +2,8 @@ import { TemplateResult } from 'lit';
|
|
|
2
2
|
import { VscElement } from '../includes/VscElement.js';
|
|
3
3
|
export type FormGroupVariant = 'horizontal' | 'vertical' | 'settings-group';
|
|
4
4
|
/**
|
|
5
|
+
* @tag vscode-form-group
|
|
6
|
+
*
|
|
5
7
|
* @cssprop [--label-width=150px] - The width of the label in horizontal mode
|
|
6
8
|
* @cssprop [--label-right-margin=14px] - The right margin of the label in horizontal mode
|
|
7
9
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-form-group.d.ts","sourceRoot":"","sources":["../../src/vscode-form-group/vscode-form-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AAEzC,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAGrD,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,UAAU,GAAG,gBAAgB,CAAC;AAE5E
|
|
1
|
+
{"version":3,"file":"vscode-form-group.d.ts","sourceRoot":"","sources":["../../src/vscode-form-group/vscode-form-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AAEzC,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAGrD,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,UAAU,GAAG,gBAAgB,CAAC;AAE5E;;;;;GAKG;AACH,qBACa,eAAgB,SAAQ,UAAU;IAC7C,MAAM,CAAC,MAAM,+BAAU;IAGvB,OAAO,EAAE,gBAAgB,CAAgB;IAEzC,MAAM,IAAI,cAAc;CAOzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,mBAAmB,EAAE,eAAe,CAAC;KACtC;CACF"}
|
|
@@ -9,6 +9,8 @@ import { customElement, property } from 'lit/decorators.js';
|
|
|
9
9
|
import { VscElement } from '../includes/VscElement.js';
|
|
10
10
|
import styles from './vscode-form-group.styles.js';
|
|
11
11
|
/**
|
|
12
|
+
* @tag vscode-form-group
|
|
13
|
+
*
|
|
12
14
|
* @cssprop [--label-width=150px] - The width of the label in horizontal mode
|
|
13
15
|
* @cssprop [--label-right-margin=14px] - The right margin of the label in horizontal mode
|
|
14
16
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-form-group.js","sourceRoot":"","sources":["../../src/vscode-form-group/vscode-form-group.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,aAAa,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACrD,OAAO,MAAM,MAAM,+BAA+B,CAAC;AAInD
|
|
1
|
+
{"version":3,"file":"vscode-form-group.js","sourceRoot":"","sources":["../../src/vscode-form-group/vscode-form-group.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,aAAa,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACrD,OAAO,MAAM,MAAM,+BAA+B,CAAC;AAInD;;;;;GAKG;AAEI,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,UAAU;IAAxC;;QAIL,YAAO,GAAqB,YAAY,CAAC;IAS3C,CAAC;IAPC,MAAM;QACJ,OAAO,IAAI,CAAA;;;;KAIV,CAAC;IACJ,CAAC;;AAXM,sBAAM,GAAG,MAAM,AAAT,CAAU;AAGvB;IADC,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;gDACe;AAJ9B,eAAe;IAD3B,aAAa,CAAC,mBAAmB,CAAC;GACtB,eAAe,CAa3B","sourcesContent":["import {html, TemplateResult} from 'lit';\nimport {customElement, property} from 'lit/decorators.js';\nimport {VscElement} from '../includes/VscElement.js';\nimport styles from './vscode-form-group.styles.js';\n\nexport type FormGroupVariant = 'horizontal' | 'vertical' | 'settings-group';\n\n/**\n * @tag vscode-form-group\n *\n * @cssprop [--label-width=150px] - The width of the label in horizontal mode\n * @cssprop [--label-right-margin=14px] - The right margin of the label in horizontal mode\n */\n@customElement('vscode-form-group')\nexport class VscodeFormGroup extends VscElement {\n static styles = styles;\n\n @property({reflect: true})\n variant: FormGroupVariant = 'horizontal';\n\n render(): TemplateResult {\n return html`\n <div class=\"wrapper\">\n <slot></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-form-group': VscodeFormGroup;\n }\n}\n"]}
|
|
@@ -3,6 +3,8 @@ import { VscElement } from '../includes/VscElement.js';
|
|
|
3
3
|
/**
|
|
4
4
|
* Adds more detailed description to a [FromGroup](https://bendera.github.io/vscode-webview-elements/components/vscode-form-group/)
|
|
5
5
|
*
|
|
6
|
+
* @tag vscode-form-helper
|
|
7
|
+
*
|
|
6
8
|
* @cssprop --vsc-foreground-translucent - Default text color. 90% transparency version of `--vscode-foreground` by default.
|
|
7
9
|
*/
|
|
8
10
|
export declare class VscodeFormHelper extends VscElement {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-form-helper.d.ts","sourceRoot":"","sources":["../../src/vscode-form-helper/vscode-form-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AAGzC,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAGrD
|
|
1
|
+
{"version":3,"file":"vscode-form-helper.d.ts","sourceRoot":"","sources":["../../src/vscode-form-helper/vscode-form-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AAGzC,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAGrD;;;;;;GAMG;AACH,qBACa,gBAAiB,SAAQ,UAAU;IAC9C,MAAM,CAAC,MAAM,+BAAU;;IAOvB,MAAM,IAAI,cAAc;CAGzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,oBAAoB,EAAE,gBAAgB,CAAC;KACxC;CACF"}
|
|
@@ -12,6 +12,8 @@ import styles from './vscode-form-helper.styles.js';
|
|
|
12
12
|
/**
|
|
13
13
|
* Adds more detailed description to a [FromGroup](https://bendera.github.io/vscode-webview-elements/components/vscode-form-group/)
|
|
14
14
|
*
|
|
15
|
+
* @tag vscode-form-helper
|
|
16
|
+
*
|
|
15
17
|
* @cssprop --vsc-foreground-translucent - Default text color. 90% transparency version of `--vscode-foreground` by default.
|
|
16
18
|
*/
|
|
17
19
|
let VscodeFormHelper = class VscodeFormHelper extends VscElement {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-form-helper.js","sourceRoot":"","sources":["../../src/vscode-form-helper/vscode-form-helper.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAC,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACrD,OAAO,MAAM,MAAM,gCAAgC,CAAC;AAEpD
|
|
1
|
+
{"version":3,"file":"vscode-form-helper.js","sourceRoot":"","sources":["../../src/vscode-form-helper/vscode-form-helper.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAC,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACrD,OAAO,MAAM,MAAM,gCAAgC,CAAC;AAEpD;;;;;;GAMG;AAEI,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,UAAU;IAG9C;QACE,KAAK,EAAE,CAAC;QACR,mBAAmB,EAAE,CAAC;IACxB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;;AATM,uBAAM,GAAG,MAAM,AAAT,CAAU;AADZ,gBAAgB;IAD5B,aAAa,CAAC,oBAAoB,CAAC;GACvB,gBAAgB,CAW5B","sourcesContent":["import {html, TemplateResult} from 'lit';\nimport {customElement} from 'lit/decorators.js';\nimport {applyForegroundRGBA} from '../includes/themeHelpers.js';\nimport {VscElement} from '../includes/VscElement.js';\nimport styles from './vscode-form-helper.styles.js';\n\n/**\n * Adds more detailed description to a [FromGroup](https://bendera.github.io/vscode-webview-elements/components/vscode-form-group/)\n *\n * @tag vscode-form-helper\n *\n * @cssprop --vsc-foreground-translucent - Default text color. 90% transparency version of `--vscode-foreground` by default.\n */\n@customElement('vscode-form-helper')\nexport class VscodeFormHelper extends VscElement {\n static styles = styles;\n\n constructor() {\n super();\n applyForegroundRGBA();\n }\n\n render(): TemplateResult {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-form-helper': VscodeFormHelper;\n }\n}\n"]}
|
|
@@ -5,6 +5,8 @@ import { VscElement } from '../includes/VscElement.js';
|
|
|
5
5
|
* In "action-icon" mode it behaves like a button. In this case, it is
|
|
6
6
|
* recommended that a meaningful label is specified with the `label` property.
|
|
7
7
|
*
|
|
8
|
+
* @tag vscode-icon
|
|
9
|
+
*
|
|
8
10
|
* @cssprop --vscode-icon-foreground
|
|
9
11
|
* @cssprop --vscode-toolbar-hoverBackground - Hover state background color in `active-icon` mode
|
|
10
12
|
* @cssprop --vscode-toolbar-activeBackground - Active state background color in `active-icon` mode
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-icon.d.ts","sourceRoot":"","sources":["../../src/vscode-icon/vscode-icon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AAKzC,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAGrD
|
|
1
|
+
{"version":3,"file":"vscode-icon.d.ts","sourceRoot":"","sources":["../../src/vscode-icon/vscode-icon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AAKzC,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAGrD;;;;;;;;;;;GAWG;AACH,qBACa,UAAW,SAAQ,UAAU;IACxC,MAAM,CAAC,MAAM,+BAAU;IACvB;;OAEG;IAEH,KAAK,SAAM;IAEX;;OAEG;IAEH,IAAI,SAAM;IAEV;;OAEG;IAEH,IAAI,SAAM;IAEV;;OAEG;IAEH,IAAI,UAAS;IAEb;;OAEG;IAEH,YAAY,SAAO;IAEnB;;OAEG;IAEH,UAAU,UAAS;IAEnB,OAAO,CAAC,MAAM,CAAC,cAAc,CAA0B;IAEvD,OAAO,CAAC,MAAM,CAAC,KAAK,CAA0B;IAE9C,iBAAiB,IAAI,IAAI;IASzB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,cAAc,CAIpB;IAEF,MAAM,IAAI,cAAc;CAsCzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
|
|
@@ -17,6 +17,8 @@ import styles from './vscode-icon.styles.js';
|
|
|
17
17
|
* In "action-icon" mode it behaves like a button. In this case, it is
|
|
18
18
|
* recommended that a meaningful label is specified with the `label` property.
|
|
19
19
|
*
|
|
20
|
+
* @tag vscode-icon
|
|
21
|
+
*
|
|
20
22
|
* @cssprop --vscode-icon-foreground
|
|
21
23
|
* @cssprop --vscode-toolbar-hoverBackground - Hover state background color in `active-icon` mode
|
|
22
24
|
* @cssprop --vscode-toolbar-activeBackground - Active state background color in `active-icon` mode
|
|
@@ -74,17 +76,17 @@ let VscodeIcon = VscodeIcon_1 = class VscodeIcon extends VscElement {
|
|
|
74
76
|
render() {
|
|
75
77
|
const { stylesheetHref, nonce } = VscodeIcon_1;
|
|
76
78
|
const content = html `<span
|
|
77
|
-
class
|
|
79
|
+
class=${classMap({
|
|
78
80
|
codicon: true,
|
|
79
81
|
['codicon-' + this.name]: true,
|
|
80
82
|
spin: this.spin,
|
|
81
|
-
})}
|
|
82
|
-
style
|
|
83
|
+
})}
|
|
84
|
+
style=${styleMap({
|
|
83
85
|
animationDuration: String(this.spinDuration) + 's',
|
|
84
86
|
fontSize: this.size + 'px',
|
|
85
87
|
height: this.size + 'px',
|
|
86
88
|
width: this.size + 'px',
|
|
87
|
-
})}
|
|
89
|
+
})}
|
|
88
90
|
></span>`;
|
|
89
91
|
const wrapped = this.actionIcon
|
|
90
92
|
? html ` <button
|
|
@@ -100,8 +102,8 @@ let VscodeIcon = VscodeIcon_1 = class VscodeIcon extends VscElement {
|
|
|
100
102
|
return html `
|
|
101
103
|
<link
|
|
102
104
|
rel="stylesheet"
|
|
103
|
-
href
|
|
104
|
-
nonce
|
|
105
|
+
href=${ifDefined(stylesheetHref)}
|
|
106
|
+
nonce=${ifDefined(nonce)}
|
|
105
107
|
/>
|
|
106
108
|
${wrapped}
|
|
107
109
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-icon.js","sourceRoot":"","sources":["../../src/vscode-icon/vscode-icon.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,aAAa,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAC,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACrD,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAE7C
|
|
1
|
+
{"version":3,"file":"vscode-icon.js","sourceRoot":"","sources":["../../src/vscode-icon/vscode-icon.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, TemplateResult} from 'lit';\nimport {customElement, property} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {styleMap} from 'lit/directives/style-map.js';\nimport {ifDefined} from 'lit/directives/if-defined.js';\nimport {VscElement} from '../includes/VscElement.js';\nimport styles from './vscode-icon.styles.js';\n\n/**\n * Display a [Codicon](https://microsoft.github.io/vscode-codicons/dist/codicon.html).\n * In \"action-icon\" mode it behaves like a button. In this case, it is\n * recommended that a meaningful label is specified with the `label` property.\n *\n * @tag vscode-icon\n *\n * @cssprop --vscode-icon-foreground\n * @cssprop --vscode-toolbar-hoverBackground - Hover state background color in `active-icon` mode\n * @cssprop --vscode-toolbar-activeBackground - Active state background color in `active-icon` mode\n * @cssprop --vscode-focusBorder\n */\n@customElement('vscode-icon')\nexport class VscodeIcon extends VscElement {\n static styles = styles;\n /**\n * Set a meaningful label in `action-icon` mode for the screen readers\n */\n @property()\n label = '';\n\n /**\n * [Codicon](https://microsoft.github.io/vscode-codicons/dist/codicon.html) icon name.\n */\n @property({type: String})\n name = '';\n\n /**\n * Icon size in pixels\n */\n @property({type: Number})\n size = 16;\n\n /**\n * Enable rotation animation\n */\n @property({type: Boolean, reflect: true})\n spin = false;\n\n /**\n * Animation duration in seconds\n */\n @property({type: Number, attribute: 'spin-duration'})\n spinDuration = 1.5;\n\n /**\n * Behaves like a button\n */\n @property({type: Boolean, reflect: true, attribute: 'action-icon'})\n actionIcon = false;\n\n private static stylesheetHref: string | undefined = '';\n\n private static nonce: string | undefined = '';\n\n connectedCallback(): void {\n super.connectedCallback();\n\n const {href, nonce} = this._getStylesheetConfig();\n\n VscodeIcon.stylesheetHref = href;\n VscodeIcon.nonce = nonce;\n }\n\n /**\n * For using web fonts in web components, the font stylesheet must be included\n * twice: on the page and in the web component. This function looks for the\n * font stylesheet on the page and returns the stylesheet URL and the nonce\n * id.\n */\n private _getStylesheetConfig(): {\n href: string | undefined;\n nonce: string | undefined;\n } {\n const linkElement = document.getElementById('vscode-codicon-stylesheet');\n const href = linkElement?.getAttribute('href') || undefined;\n const nonce = linkElement?.getAttribute('nonce') || undefined;\n\n return {nonce, href};\n }\n\n private _onButtonClick = (ev: MouseEvent) => {\n this.dispatchEvent(\n new CustomEvent('vsc-click', {detail: {originalEvent: ev}})\n );\n };\n\n render(): TemplateResult {\n const {stylesheetHref, nonce} = VscodeIcon;\n\n const content = html`<span\n class=${classMap({\n codicon: true,\n ['codicon-' + this.name]: true,\n spin: this.spin,\n })}\n style=${styleMap({\n animationDuration: String(this.spinDuration) + 's',\n fontSize: this.size + 'px',\n height: this.size + 'px',\n width: this.size + 'px',\n })}\n ></span>`;\n\n const wrapped = this.actionIcon\n ? html` <button\n class=\"button\"\n @click=${this._onButtonClick}\n aria-label=${this.label}\n >\n ${content}\n </button>`\n : html` <span class=\"icon\" aria-hidden=\"true\" role=\"presentation\"\n >${content}</span\n >`;\n\n return html`\n <link\n rel=\"stylesheet\"\n href=${ifDefined(stylesheetHref)}\n nonce=${ifDefined(nonce)}\n />\n ${wrapped}\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-icon': VscodeIcon;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-label.d.ts","sourceRoot":"","sources":["../../src/vscode-label/vscode-label.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AAIzC,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAWrD
|
|
1
|
+
{"version":3,"file":"vscode-label.d.ts","sourceRoot":"","sources":["../../src/vscode-label/vscode-label.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AAIzC,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAWrD;;;;;;GAMG;AACH,qBACa,WAAY,SAAQ,UAAU;IACzC,MAAM,CAAC,MAAM,+BAAU;IAEvB,IACI,OAAO,CAAC,GAAG,EAAE,MAAM,EAOtB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IACI,EAAE,CAAC,GAAG,EAAE,MAAM,EAEjB;IAED,IAAI,EAAE,IAAI,MAAM,CAEf;IAGD,QAAQ,UAAS;IAEjB,wBAAwB,CACtB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,KAAK,EAAE,MAAM,GACZ,IAAI;IAIP,iBAAiB,IAAI,IAAI;IAazB,OAAO,CAAC,GAAG,CAAM;IAEjB,OAAO,CAAC,QAAQ,CAAM;IAEtB,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,UAAU;YAcJ,kBAAkB;IAuBhC,OAAO,CAAC,YAAY;IAQpB,MAAM,IAAI,cAAc;CASzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,WAAW,CAAC;KAC7B;CACF"}
|
|
@@ -15,6 +15,8 @@ import { VscodeTextarea } from '../vscode-textarea/index.js';
|
|
|
15
15
|
import { VscodeTextfield } from '../vscode-textfield/index.js';
|
|
16
16
|
import styles from './vscode-label.styles.js';
|
|
17
17
|
/**
|
|
18
|
+
* @tag vscode-label
|
|
19
|
+
*
|
|
18
20
|
* @cssprop --vscode-font-family
|
|
19
21
|
* @cssprop --vscode-font-size
|
|
20
22
|
* @cssprop --vscode-foreground
|
|
@@ -89,7 +91,7 @@ let VscodeLabel = class VscodeLabel extends VscElement {
|
|
|
89
91
|
render() {
|
|
90
92
|
return html `
|
|
91
93
|
<label
|
|
92
|
-
class
|
|
94
|
+
class=${classMap({ wrapper: true, required: this.required })}
|
|
93
95
|
@click=${this._handleClick}
|
|
94
96
|
><slot></slot
|
|
95
97
|
></label>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-label.js","sourceRoot":"","sources":["../../src/vscode-label/vscode-label.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,aAAa,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AACrD,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAC,mBAAmB,EAAC,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAC,gBAAgB,EAAC,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAM9C
|
|
1
|
+
{"version":3,"file":"vscode-label.js","sourceRoot":"","sources":["../../src/vscode-label/vscode-label.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, TemplateResult} from 'lit';\nimport {customElement, property} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport uniqueId from '../includes/uniqueId.js';\nimport {VscElement} from '../includes/VscElement.js';\nimport {VscodeCheckboxGroup} from '../vscode-checkbox-group/index.js';\nimport {VscodeRadioGroup} from '../vscode-radio-group/index.js';\nimport {VscodeTextarea} from '../vscode-textarea/index.js';\nimport {VscodeTextfield} from '../vscode-textfield/index.js';\nimport styles from './vscode-label.styles.js';\n\ninterface FocusableElement extends Element {\n focus: () => void;\n}\n\n/**\n * @tag vscode-label\n *\n * @cssprop --vscode-font-family\n * @cssprop --vscode-font-size\n * @cssprop --vscode-foreground\n */\n@customElement('vscode-label')\nexport class VscodeLabel extends VscElement {\n static styles = styles;\n\n @property({reflect: true, attribute: 'for'})\n set htmlFor(val: string) {\n this._htmlFor = val;\n this.setAttribute('for', val);\n\n if (this._connected) {\n this._connectWithTarget();\n }\n }\n\n get htmlFor(): string {\n return this._htmlFor;\n }\n\n @property()\n set id(val: string) {\n this._id = val;\n }\n\n get id(): string {\n return this._id;\n }\n\n @property({type: Boolean, reflect: true})\n required = false;\n\n attributeChangedCallback(\n name: string,\n old: string | null,\n value: string\n ): void {\n super.attributeChangedCallback(name, old, value);\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n\n this._connected = true;\n\n if (this._id === '') {\n this._id = uniqueId('vscode-label-');\n this.setAttribute('id', this._id);\n }\n\n this._connectWithTarget();\n }\n\n private _id = '';\n\n private _htmlFor = '';\n\n private _connected = false;\n\n private _getTarget() {\n let target: HTMLElement | null = null;\n\n if (this._htmlFor) {\n const root = this.getRootNode({composed: false}) as Document | ShadowRoot;\n\n if (root) {\n target = root.querySelector(`#${this._htmlFor}`);\n }\n }\n\n return target;\n }\n\n private async _connectWithTarget() {\n await this.updateComplete;\n\n const target = this._getTarget();\n\n if (\n target instanceof VscodeRadioGroup ||\n target instanceof VscodeCheckboxGroup\n ) {\n target.setAttribute('aria-labelledby', this._id);\n }\n\n let label = '';\n\n if (this.textContent) {\n label = this.textContent.trim();\n }\n\n if (target instanceof VscodeTextfield || target instanceof VscodeTextarea) {\n target.label = label;\n }\n }\n\n private _handleClick() {\n const target = this._getTarget();\n\n if (target && 'focus' in target) {\n (target as FocusableElement).focus();\n }\n }\n\n render(): TemplateResult {\n return html`\n <label\n class=${classMap({wrapper: true, required: this.required})}\n @click=${this._handleClick}\n ><slot></slot\n ></label>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-label': VscodeLabel;\n }\n}\n"]}
|
|
@@ -7,6 +7,8 @@ import { AssociatedFormControl } from '../includes/AssociatedFormControl.js';
|
|
|
7
7
|
* When participating in a form, it supports the `:invalid` pseudo class. Otherwise the error styles
|
|
8
8
|
* can be applied through the `invalid` property.
|
|
9
9
|
*
|
|
10
|
+
* @tag vscode-multi-select
|
|
11
|
+
*
|
|
10
12
|
* @prop {boolean} invalid
|
|
11
13
|
* @attr {boolean} invalid
|
|
12
14
|
* @attr name - Name which is used as a variable name in the data of the form-container.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-multi-select.d.ts","sourceRoot":"","sources":["../../src/vscode-multi-select/vscode-multi-select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,cAAc,EAAC,MAAM,KAAK,CAAC;AAKrD,OAAO,EAAC,gBAAgB,EAAC,MAAM,iDAAiD,CAAC;AAEjF,OAAO,EAAC,qBAAqB,EAAC,MAAM,sCAAsC,CAAC;AAG3E
|
|
1
|
+
{"version":3,"file":"vscode-multi-select.d.ts","sourceRoot":"","sources":["../../src/vscode-multi-select/vscode-multi-select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,cAAc,EAAC,MAAM,KAAK,CAAC;AAKrD,OAAO,EAAC,gBAAgB,EAAC,MAAM,iDAAiD,CAAC;AAEjF,OAAO,EAAC,qBAAqB,EAAC,MAAM,sCAAsC,CAAC;AAG3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBACa,iBACX,SAAQ,gBACR,YAAW,qBAAqB;IAEhC,MAAM,CAAC,MAAM,4BAAU;IAEvB,gBAAgB;IAChB,OAAgB,iBAAiB,EAAE,cAAc,CAG/C;IAEF,MAAM,CAAC,cAAc,UAAQ;IAG7B,YAAY,EAAE,MAAM,EAAE,CAAM;IAG5B,QAAQ,UAAS;IAGjB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IAErC,IACI,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,EAEhC;IACD,IAAI,eAAe,IAAI,MAAM,EAAE,CAE9B;IAED,IACI,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EA4B/B;IACD,IAAI,KAAK,IAAI,MAAM,EAAE,CAEpB;IAED,IAAI,IAAI,2BAEP;IAED,gBAAgB;IAChB,IAAI,IAAI,WAEP;IAED,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,YAAY,YAEf;IAED,aAAa,IAAI,OAAO;IAIxB,cAAc,IAAI,OAAO;IAIzB,OAAO,CAAC,UAAU,CAAmB;;IASrC,iBAAiB,IAAI,IAAI;IASzB,gBAAgB;IAChB,iBAAiB,IAAI,IAAI;IAMzB,gBAAgB;IAChB,wBAAwB,CACtB,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,SAAS,GAAG,cAAc,GAChC,IAAI;IASP,OAAO,CAAC,YAAY,CAAkB;IAEtC,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,yBAAyB,CAAgB;IAEjD,SAAS,CAAC,aAAa,IAAI,IAAI;IAgB/B,OAAO,CAAC,cAAc;IAuCtB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,YAAY;IAepB,SAAS,CAAC,iBAAiB,IAAI,cAAc;IAY7C,SAAS,CAAC,mBAAmB,IAAI,cAAc;IA4B/C,SAAS,CAAC,cAAc,IAAI,cAAc;IA6C1C,SAAS,CAAC,uBAAuB,IAAI,cAAc;CA6BpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,iBAAiB,CAAC;KAC1C;CACF"}
|