@vscode-elements/elements 2.0.0-pre.3 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +1038 -855
- package/dist/bundled.js +388 -292
- package/dist/includes/VscElement.d.ts.map +1 -1
- package/dist/includes/VscElement.js +2 -5
- package/dist/includes/VscElement.js.map +1 -1
- package/dist/includes/form-button-widget/base.styles.d.ts.map +1 -1
- package/dist/includes/form-button-widget/base.styles.js +8 -9
- package/dist/includes/form-button-widget/base.styles.js.map +1 -1
- package/dist/includes/test-helpers.d.ts +11 -0
- package/dist/includes/test-helpers.d.ts.map +1 -1
- package/dist/includes/test-helpers.js +36 -0
- package/dist/includes/test-helpers.js.map +1 -1
- package/dist/includes/vscode-select/styles.d.ts.map +1 -1
- package/dist/includes/vscode-select/styles.js +4 -3
- package/dist/includes/vscode-select/styles.js.map +1 -1
- package/dist/vscode-badge/vscode-badge.js +1 -1
- package/dist/vscode-badge/vscode-badge.js.map +1 -1
- package/dist/vscode-badge/vscode-badge.styles.d.ts.map +1 -1
- package/dist/vscode-badge/vscode-badge.styles.js +8 -4
- package/dist/vscode-badge/vscode-badge.styles.js.map +1 -1
- package/dist/vscode-button/vscode-button.d.ts +0 -2
- package/dist/vscode-button/vscode-button.d.ts.map +1 -1
- package/dist/vscode-button/vscode-button.js +10 -24
- 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 +31 -18
- package/dist/vscode-button/vscode-button.styles.js.map +1 -1
- package/dist/vscode-button-group/vscode-button-group.d.ts.map +1 -1
- package/dist/vscode-button-group/vscode-button-group.js +2 -3
- package/dist/vscode-button-group/vscode-button-group.js.map +1 -1
- package/dist/vscode-button-group/vscode-button-group.styles.d.ts.map +1 -1
- package/dist/vscode-button-group/vscode-button-group.styles.js +17 -13
- package/dist/vscode-button-group/vscode-button-group.styles.js.map +1 -1
- package/dist/vscode-checkbox/vscode-checkbox.d.ts.map +1 -1
- package/dist/vscode-checkbox/vscode-checkbox.js +0 -10
- package/dist/vscode-checkbox/vscode-checkbox.js.map +1 -1
- package/dist/vscode-collapsible/vscode-collapsible.d.ts +11 -2
- package/dist/vscode-collapsible/vscode-collapsible.d.ts.map +1 -1
- package/dist/vscode-collapsible/vscode-collapsible.js +16 -4
- package/dist/vscode-collapsible/vscode-collapsible.js.map +1 -1
- package/dist/vscode-context-menu/vscode-context-menu.d.ts +0 -1
- package/dist/vscode-context-menu/vscode-context-menu.d.ts.map +1 -1
- package/dist/vscode-context-menu/vscode-context-menu.js +0 -18
- package/dist/vscode-context-menu/vscode-context-menu.js.map +1 -1
- package/dist/vscode-context-menu/vscode-context-menu.styles.js +4 -4
- package/dist/vscode-context-menu/vscode-context-menu.styles.js.map +1 -1
- package/dist/vscode-context-menu-item/vscode-context-menu-item.styles.js +4 -4
- package/dist/vscode-context-menu-item/vscode-context-menu-item.styles.js.map +1 -1
- package/dist/vscode-divider/vscode-divider.js +1 -1
- package/dist/vscode-divider/vscode-divider.js.map +1 -1
- package/dist/vscode-divider/vscode-divider.styles.d.ts.map +1 -1
- package/dist/vscode-divider/vscode-divider.styles.js +5 -2
- package/dist/vscode-divider/vscode-divider.styles.js.map +1 -1
- package/dist/vscode-form-container/vscode-form-container.d.ts +0 -5
- package/dist/vscode-form-container/vscode-form-container.d.ts.map +1 -1
- package/dist/vscode-form-container/vscode-form-container.js +0 -63
- package/dist/vscode-form-container/vscode-form-container.js.map +1 -1
- package/dist/vscode-label/vscode-label.styles.js +6 -6
- package/dist/vscode-label/vscode-label.styles.js.map +1 -1
- package/dist/vscode-multi-select/vscode-multi-select.d.ts.map +1 -1
- package/dist/vscode-multi-select/vscode-multi-select.js +0 -7
- package/dist/vscode-multi-select/vscode-multi-select.js.map +1 -1
- package/dist/vscode-progress-ring/vscode-progress-ring.styles.d.ts.map +1 -1
- package/dist/vscode-progress-ring/vscode-progress-ring.styles.js +0 -1
- package/dist/vscode-progress-ring/vscode-progress-ring.styles.js.map +1 -1
- package/dist/vscode-radio/vscode-radio.d.ts +0 -1
- package/dist/vscode-radio/vscode-radio.d.ts.map +1 -1
- package/dist/vscode-radio/vscode-radio.js +0 -14
- package/dist/vscode-radio/vscode-radio.js.map +1 -1
- package/dist/vscode-scrollable/vscode-scrollable.d.ts +0 -1
- package/dist/vscode-scrollable/vscode-scrollable.d.ts.map +1 -1
- package/dist/vscode-scrollable/vscode-scrollable.js +7 -9
- package/dist/vscode-scrollable/vscode-scrollable.js.map +1 -1
- package/dist/vscode-single-select/vscode-single-select.d.ts +0 -1
- package/dist/vscode-single-select/vscode-single-select.d.ts.map +1 -1
- package/dist/vscode-single-select/vscode-single-select.js +0 -10
- package/dist/vscode-single-select/vscode-single-select.js.map +1 -1
- package/dist/vscode-tab-header/vscode-tab-header.d.ts +5 -6
- package/dist/vscode-tab-header/vscode-tab-header.d.ts.map +1 -1
- package/dist/vscode-tab-header/vscode-tab-header.js +5 -6
- package/dist/vscode-tab-header/vscode-tab-header.js.map +1 -1
- package/dist/vscode-tab-header/vscode-tab-header.styles.d.ts.map +1 -1
- package/dist/vscode-tab-header/vscode-tab-header.styles.js +19 -12
- package/dist/vscode-tab-header/vscode-tab-header.styles.js.map +1 -1
- package/dist/vscode-tab-panel/vscode-tab-panel.d.ts +2 -2
- 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-tab-panel/vscode-tab-panel.styles.js +2 -2
- package/dist/vscode-tab-panel/vscode-tab-panel.styles.js.map +1 -1
- package/dist/vscode-table/vscode-table.d.ts +3 -7
- package/dist/vscode-table/vscode-table.d.ts.map +1 -1
- package/dist/vscode-table/vscode-table.js +3 -7
- package/dist/vscode-table/vscode-table.js.map +1 -1
- package/dist/vscode-table/vscode-table.styles.d.ts.map +1 -1
- package/dist/vscode-table/vscode-table.styles.js +17 -5
- package/dist/vscode-table/vscode-table.styles.js.map +1 -1
- package/dist/vscode-table-body/vscode-table-body.d.ts +0 -2
- package/dist/vscode-table-body/vscode-table-body.d.ts.map +1 -1
- package/dist/vscode-table-body/vscode-table-body.js +0 -2
- package/dist/vscode-table-body/vscode-table-body.js.map +1 -1
- package/dist/vscode-table-cell/vscode-table-cell.d.ts +4 -4
- package/dist/vscode-table-cell/vscode-table-cell.js +4 -4
- package/dist/vscode-table-cell/vscode-table-cell.js.map +1 -1
- package/dist/vscode-table-cell/vscode-table-cell.styles.d.ts.map +1 -1
- package/dist/vscode-table-cell/vscode-table-cell.styles.js +7 -4
- package/dist/vscode-table-cell/vscode-table-cell.styles.js.map +1 -1
- package/dist/vscode-table-header/vscode-table-header.d.ts +1 -1
- package/dist/vscode-table-header/vscode-table-header.js +1 -1
- package/dist/vscode-table-header/vscode-table-header.js.map +1 -1
- package/dist/vscode-table-header/vscode-table-header.styles.d.ts.map +1 -1
- package/dist/vscode-table-header/vscode-table-header.styles.js +4 -1
- package/dist/vscode-table-header/vscode-table-header.styles.js.map +1 -1
- package/dist/vscode-table-header-cell/vscode-table-header-cell.d.ts +3 -3
- package/dist/vscode-table-header-cell/vscode-table-header-cell.js +3 -3
- package/dist/vscode-table-header-cell/vscode-table-header-cell.js.map +1 -1
- package/dist/vscode-table-header-cell/vscode-table-header-cell.styles.js +3 -3
- package/dist/vscode-table-header-cell/vscode-table-header-cell.styles.js.map +1 -1
- package/dist/vscode-table-row/vscode-table-row.d.ts +1 -1
- package/dist/vscode-table-row/vscode-table-row.js +1 -1
- package/dist/vscode-table-row/vscode-table-row.js.map +1 -1
- package/dist/vscode-table-row/vscode-table-row.styles.d.ts.map +1 -1
- package/dist/vscode-table-row/vscode-table-row.styles.js +4 -1
- package/dist/vscode-table-row/vscode-table-row.styles.js.map +1 -1
- package/dist/vscode-tabs/vscode-tabs.d.ts +5 -7
- package/dist/vscode-tabs/vscode-tabs.d.ts.map +1 -1
- package/dist/vscode-tabs/vscode-tabs.js +12 -18
- package/dist/vscode-tabs/vscode-tabs.js.map +1 -1
- package/dist/vscode-tabs/vscode-tabs.styles.d.ts.map +1 -1
- package/dist/vscode-tabs/vscode-tabs.styles.js +10 -5
- package/dist/vscode-tabs/vscode-tabs.styles.js.map +1 -1
- package/dist/vscode-textarea/vscode-textarea.d.ts.map +1 -1
- package/dist/vscode-textarea/vscode-textarea.js +2 -10
- package/dist/vscode-textarea/vscode-textarea.js.map +1 -1
- package/dist/vscode-textarea/vscode-textarea.styles.js +1 -1
- 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 +31 -35
- package/dist/vscode-textfield/vscode-textfield.js.map +1 -1
- package/dist/vscode-textfield/vscode-textfield.styles.d.ts.map +1 -1
- package/dist/vscode-textfield/vscode-textfield.styles.js +8 -3
- package/dist/vscode-textfield/vscode-textfield.styles.js.map +1 -1
- package/dist/vscode-toolbar-container/vscode-toolbar-container.js +1 -1
- package/dist/vscode-toolbar-container/vscode-toolbar-container.js.map +1 -1
- package/dist/vscode-toolbar-container/vscode-toolbar-container.styles.d.ts.map +1 -1
- package/dist/vscode-toolbar-container/vscode-toolbar-container.styles.js +4 -0
- package/dist/vscode-toolbar-container/vscode-toolbar-container.styles.js.map +1 -1
- package/dist/vscode-tree/vscode-tree.d.ts +18 -17
- package/dist/vscode-tree/vscode-tree.d.ts.map +1 -1
- package/dist/vscode-tree/vscode-tree.js +32 -36
- 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 +13 -6
- package/dist/vscode-tree/vscode-tree.styles.js.map +1 -1
- package/dist/vscode-tree-item/vscode-tree-item.d.ts.map +1 -1
- package/dist/vscode-tree-item/vscode-tree-item.js +2 -2
- package/dist/vscode-tree-item/vscode-tree-item.js.map +1 -1
- package/dist/vscode-tree-item/vscode-tree-item.styles.d.ts.map +1 -1
- package/dist/vscode-tree-item/vscode-tree-item.styles.js +25 -10
- package/dist/vscode-tree-item/vscode-tree-item.styles.js.map +1 -1
- package/package.json +1 -1
- package/vscode.css-custom-data.json +35 -31
- package/vscode.html-custom-data.json +57 -68
|
@@ -3,7 +3,7 @@ import { VscElement } from '../includes/VscElement.js';
|
|
|
3
3
|
/**
|
|
4
4
|
* @tag vscode-table-row
|
|
5
5
|
*
|
|
6
|
-
* @cssprop --vscode-editorGroup-border
|
|
6
|
+
* @cssprop [--vscode-editorGroup-border=rgba(255, 255, 255, 0.09)]
|
|
7
7
|
*/
|
|
8
8
|
export declare class VscodeTableRow extends VscElement {
|
|
9
9
|
static styles: import("lit").CSSResultGroup;
|
|
@@ -11,7 +11,7 @@ import styles from './vscode-table-row.styles.js';
|
|
|
11
11
|
/**
|
|
12
12
|
* @tag vscode-table-row
|
|
13
13
|
*
|
|
14
|
-
* @cssprop --vscode-editorGroup-border
|
|
14
|
+
* @cssprop [--vscode-editorGroup-border=rgba(255, 255, 255, 0.09)]
|
|
15
15
|
*/
|
|
16
16
|
let VscodeTableRow = class VscodeTableRow extends VscElement {
|
|
17
17
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-table-row.js","sourceRoot":"","sources":["../../src/vscode-table-row/vscode-table-row.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACpE,OAAO,MAAM,MAAM,8BAA8B,CAAC;AAElD;;;;GAIG;AAEI,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,UAAU;IAAvC;;QAGL,gBAAgB;QAEP,SAAI,GAAG,KAAK,CAAC;IAKxB,CAAC;IAHU,MAAM;QACb,OAAO,IAAI,CAAA,iBAAiB,CAAC;IAC/B,CAAC;;AARe,qBAAM,GAAG,MAAM,AAAT,CAAU;AAIvB;IADR,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;4CACJ;AALX,cAAc;IAD1B,aAAa,CAAC,kBAAkB,CAAC;GACrB,cAAc,CAU1B","sourcesContent":["import {html, TemplateResult} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport styles from './vscode-table-row.styles.js';\n\n/**\n * @tag vscode-table-row\n *\n * @cssprop --vscode-editorGroup-border\n */\n@customElement('vscode-table-row')\nexport class VscodeTableRow extends VscElement {\n static override styles = styles;\n\n /** @internal */\n @property({reflect: true})\n override role = 'row';\n\n override render(): TemplateResult {\n return html` <slot></slot> `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-table-row': VscodeTableRow;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"vscode-table-row.js","sourceRoot":"","sources":["../../src/vscode-table-row/vscode-table-row.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACpE,OAAO,MAAM,MAAM,8BAA8B,CAAC;AAElD;;;;GAIG;AAEI,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,UAAU;IAAvC;;QAGL,gBAAgB;QAEP,SAAI,GAAG,KAAK,CAAC;IAKxB,CAAC;IAHU,MAAM;QACb,OAAO,IAAI,CAAA,iBAAiB,CAAC;IAC/B,CAAC;;AARe,qBAAM,GAAG,MAAM,AAAT,CAAU;AAIvB;IADR,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;4CACJ;AALX,cAAc;IAD1B,aAAa,CAAC,kBAAkB,CAAC;GACrB,cAAc,CAU1B","sourcesContent":["import {html, TemplateResult} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport styles from './vscode-table-row.styles.js';\n\n/**\n * @tag vscode-table-row\n *\n * @cssprop [--vscode-editorGroup-border=rgba(255, 255, 255, 0.09)]\n */\n@customElement('vscode-table-row')\nexport class VscodeTableRow extends VscElement {\n static override styles = styles;\n\n /** @internal */\n @property({reflect: true})\n override role = 'row';\n\n override render(): TemplateResult {\n return html` <slot></slot> `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-table-row': VscodeTableRow;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-table-row.styles.d.ts","sourceRoot":"","sources":["../../src/vscode-table-row/vscode-table-row.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,cAAc,EAAC,MAAM,KAAK,CAAC;AAGxC,QAAA,MAAM,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"vscode-table-row.styles.d.ts","sourceRoot":"","sources":["../../src/vscode-table-row/vscode-table-row.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,cAAc,EAAC,MAAM,KAAK,CAAC;AAGxC,QAAA,MAAM,MAAM,EAAE,cAcb,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -4,7 +4,10 @@ const styles = [
|
|
|
4
4
|
defaultStyles,
|
|
5
5
|
css `
|
|
6
6
|
:host {
|
|
7
|
-
border-top-color: var(
|
|
7
|
+
border-top-color: var(
|
|
8
|
+
--vscode-editorGroup-border,
|
|
9
|
+
rgba(255, 255, 255, 0.09)
|
|
10
|
+
);
|
|
8
11
|
border-top-style: solid;
|
|
9
12
|
border-top-width: var(--vsc-row-border-top-width);
|
|
10
13
|
display: var(--vsc-row-display);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-table-row.styles.js","sourceRoot":"","sources":["../../src/vscode-table-row/vscode-table-row.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
|
|
1
|
+
{"version":3,"file":"vscode-table-row.styles.js","sourceRoot":"","sources":["../../src/vscode-table-row/vscode-table-row.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;;;;;;;;;;;GAWF;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 border-top-color: var(\n --vscode-editorGroup-border,\n rgba(255, 255, 255, 0.09)\n );\n border-top-style: solid;\n border-top-width: var(--vsc-row-border-top-width);\n display: var(--vsc-row-display);\n width: 100%;\n }\n `,\n];\n\nexport default styles;\n"]}
|
|
@@ -12,11 +12,11 @@ export type VscTabsSelectEvent = CustomEvent<{
|
|
|
12
12
|
*
|
|
13
13
|
* @fires {VscTabSelectEvent} vsc-tabs-select - Dispatched when the active tab is changed
|
|
14
14
|
*
|
|
15
|
-
* @cssprop --vscode-font-family
|
|
16
|
-
* @cssprop --vscode-font-size
|
|
17
|
-
* @cssprop --vscode-font-weight
|
|
18
|
-
* @cssprop --vscode-settings-headerBorder
|
|
19
|
-
* @cssprop --vscode-panel-background
|
|
15
|
+
* @cssprop [--vscode-font-family=sans-serif]
|
|
16
|
+
* @cssprop [--vscode-font-size=13px]
|
|
17
|
+
* @cssprop [--vscode-font-weight=normal]
|
|
18
|
+
* @cssprop [--vscode-settings-headerBorder=#2b2b2b]
|
|
19
|
+
* @cssprop [--vscode-panel-background=#181818]
|
|
20
20
|
*/
|
|
21
21
|
export declare class VscodeTabs extends VscElement {
|
|
22
22
|
static styles: import("lit").CSSResultGroup;
|
|
@@ -24,8 +24,6 @@ export declare class VscodeTabs extends VscElement {
|
|
|
24
24
|
* Panel-like look
|
|
25
25
|
*/
|
|
26
26
|
panel: boolean;
|
|
27
|
-
/** @internal */
|
|
28
|
-
role: string;
|
|
29
27
|
selectedIndex: number;
|
|
30
28
|
constructor();
|
|
31
29
|
attributeChangedCallback(name: string, old: string | null, value: string | null): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-tabs.d.ts","sourceRoot":"","sources":["../../src/vscode-tabs/vscode-tabs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AAIzC,OAAO,EAAgB,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAKpE,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAC,CAAC,CAAC;AAEtE;;;;;;;;;;;;;;GAcG;AACH,qBACa,UAAW,SAAQ,UAAU;IACxC,OAAgB,MAAM,+BAAU;IAChC;;OAEG;IAEH,KAAK,UAAS;
|
|
1
|
+
{"version":3,"file":"vscode-tabs.d.ts","sourceRoot":"","sources":["../../src/vscode-tabs/vscode-tabs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AAIzC,OAAO,EAAgB,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAKpE,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAC,CAAC,CAAC;AAEtE;;;;;;;;;;;;;;GAcG;AACH,qBACa,UAAW,SAAQ,UAAU;IACxC,OAAgB,MAAM,+BAAU;IAChC;;OAEG;IAEH,KAAK,UAAS;IAGd,aAAa,SAAK;;IAOT,wBAAwB,CAC/B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,IAAI;IAcP,OAAO,CAAC,mBAAmB,CAAa;IAGxC,OAAO,CAAC,iBAAiB,CAAa;IAEtC,OAAO,CAAC,WAAW,CAAyB;IAE5C,OAAO,CAAC,UAAU,CAAwB;IAE1C,OAAO,CAAC,YAAY,CAAM;IAE1B,OAAO,CAAC,SAAS,CAAK;IAEtB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,cAAc;IAab,MAAM,IAAI,cAAc;CAmBlC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;IAED,UAAU,2BAA2B;QACnC,iBAAiB,EAAE,kBAAkB,CAAC;KACvC;CACF"}
|
|
@@ -21,11 +21,11 @@ import styles from './vscode-tabs.styles.js';
|
|
|
21
21
|
*
|
|
22
22
|
* @fires {VscTabSelectEvent} vsc-tabs-select - Dispatched when the active tab is changed
|
|
23
23
|
*
|
|
24
|
-
* @cssprop --vscode-font-family
|
|
25
|
-
* @cssprop --vscode-font-size
|
|
26
|
-
* @cssprop --vscode-font-weight
|
|
27
|
-
* @cssprop --vscode-settings-headerBorder
|
|
28
|
-
* @cssprop --vscode-panel-background
|
|
24
|
+
* @cssprop [--vscode-font-family=sans-serif]
|
|
25
|
+
* @cssprop [--vscode-font-size=13px]
|
|
26
|
+
* @cssprop [--vscode-font-weight=normal]
|
|
27
|
+
* @cssprop [--vscode-settings-headerBorder=#2b2b2b]
|
|
28
|
+
* @cssprop [--vscode-panel-background=#181818]
|
|
29
29
|
*/
|
|
30
30
|
let VscodeTabs = class VscodeTabs extends VscElement {
|
|
31
31
|
constructor() {
|
|
@@ -34,8 +34,6 @@ let VscodeTabs = class VscodeTabs extends VscElement {
|
|
|
34
34
|
* Panel-like look
|
|
35
35
|
*/
|
|
36
36
|
this.panel = false;
|
|
37
|
-
/** @internal */
|
|
38
|
-
this.role = 'tablist';
|
|
39
37
|
this.selectedIndex = 0;
|
|
40
38
|
this._tabHeaders = [];
|
|
41
39
|
this._tabPanels = [];
|
|
@@ -54,13 +52,6 @@ let VscodeTabs = class VscodeTabs extends VscElement {
|
|
|
54
52
|
}
|
|
55
53
|
}
|
|
56
54
|
_dispatchSelectEvent() {
|
|
57
|
-
/** @deprecated */
|
|
58
|
-
this.dispatchEvent(new CustomEvent('vsc-select', {
|
|
59
|
-
detail: {
|
|
60
|
-
selectedIndex: this.selectedIndex,
|
|
61
|
-
},
|
|
62
|
-
composed: true,
|
|
63
|
-
}));
|
|
64
55
|
this.dispatchEvent(new CustomEvent('vsc-tabs-select', {
|
|
65
56
|
detail: {
|
|
66
57
|
selectedIndex: this.selectedIndex,
|
|
@@ -154,7 +145,13 @@ let VscodeTabs = class VscodeTabs extends VscElement {
|
|
|
154
145
|
@click=${this._onHeaderClick}
|
|
155
146
|
@keydown=${this._onHeaderKeyDown}
|
|
156
147
|
>
|
|
157
|
-
<
|
|
148
|
+
<div role="tablist" class="tablist">
|
|
149
|
+
<slot
|
|
150
|
+
name="header"
|
|
151
|
+
@slotchange=${this._onHeaderSlotChange}
|
|
152
|
+
role="tablist"
|
|
153
|
+
></slot>
|
|
154
|
+
</div>
|
|
158
155
|
<slot name="addons"></slot>
|
|
159
156
|
</div>
|
|
160
157
|
<slot @slotchange=${this._onMainSlotChange}></slot>
|
|
@@ -165,9 +162,6 @@ VscodeTabs.styles = styles;
|
|
|
165
162
|
__decorate([
|
|
166
163
|
property({ type: Boolean, reflect: true })
|
|
167
164
|
], VscodeTabs.prototype, "panel", void 0);
|
|
168
|
-
__decorate([
|
|
169
|
-
property({ reflect: true })
|
|
170
|
-
], VscodeTabs.prototype, "role", void 0);
|
|
171
165
|
__decorate([
|
|
172
166
|
property({ type: Number, reflect: true, attribute: 'selected-index' })
|
|
173
167
|
], VscodeTabs.prototype, "selectedIndex", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-tabs.js","sourceRoot":"","sources":["../../src/vscode-tabs/vscode-tabs.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, TemplateResult} from 'lit';\nimport {property, queryAssignedElements} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport uniqueId from '../includes/uniqueId.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport {VscodeTabHeader} from '../vscode-tab-header/index.js';\nimport {VscodeTabPanel} from '../vscode-tab-panel/index.js';\nimport styles from './vscode-tabs.styles.js';\n\nexport type VscTabsSelectEvent = CustomEvent<{selectedIndex: number}>;\n\n/**\n * @tag vscode-tabs\n *\n * @slot - Default slot. It is used for tab panels.\n * @slot header - Slot for tab headers.\n * @slot addons - Right aligned area in the header.\n *\n * @fires {VscTabSelectEvent} vsc-tabs-select - Dispatched when the active tab is changed\n *\n * @cssprop --vscode-font-family\n * @cssprop --vscode-font-size\n * @cssprop --vscode-font-weight\n * @cssprop --vscode-settings-headerBorder\n * @cssprop --vscode-panel-background\n */\n@customElement('vscode-tabs')\nexport class VscodeTabs extends VscElement {\n static override styles = styles;\n /**\n * Panel-like look\n */\n @property({type: Boolean, reflect: true})\n panel = false;\n\n /** @internal */\n @property({reflect: true})\n override role = 'tablist';\n\n @property({type: Number, reflect: true, attribute: 'selected-index'})\n selectedIndex = 0;\n\n constructor() {\n super();\n this._componentId = uniqueId();\n }\n\n override attributeChangedCallback(\n name: string,\n old: string | null,\n value: string | null\n ): void {\n super.attributeChangedCallback(name, old, value);\n\n if (name === 'selected-index') {\n this._setActiveTab();\n }\n\n if (name === 'panel') {\n this._tabHeaders.forEach((h) => (h.panel = value !== null));\n this._tabPanels.forEach((p) => (p.panel = value !== null));\n }\n }\n\n @queryAssignedElements({slot: 'header'})\n private _headerSlotElements!: Element[];\n\n @queryAssignedElements()\n private _mainSlotElements!: Element[];\n\n private _tabHeaders: VscodeTabHeader[] = [];\n\n private _tabPanels: VscodeTabPanel[] = [];\n\n private _componentId = '';\n\n private _tabFocus = 0;\n\n private _dispatchSelectEvent() {\n /** @deprecated */\n this.dispatchEvent(\n new CustomEvent('vsc-select', {\n detail: {\n selectedIndex: this.selectedIndex,\n },\n composed: true,\n })\n );\n\n this.dispatchEvent(\n new CustomEvent('vsc-tabs-select', {\n detail: {\n selectedIndex: this.selectedIndex,\n },\n composed: true,\n }) as VscTabsSelectEvent\n );\n }\n\n private _setActiveTab() {\n this._tabFocus = this.selectedIndex;\n\n this._tabPanels.forEach((el, i) => {\n el.hidden = i !== this.selectedIndex;\n });\n\n this._tabHeaders.forEach((el: VscodeTabHeader, i) => {\n el.active = i === this.selectedIndex;\n });\n }\n\n private _focusPrevTab() {\n if (this._tabFocus === 0) {\n this._tabFocus = this._tabHeaders.length - 1;\n } else {\n this._tabFocus -= 1;\n }\n }\n\n private _focusNextTab() {\n if (this._tabFocus === this._tabHeaders.length - 1) {\n this._tabFocus = 0;\n } else {\n this._tabFocus += 1;\n }\n }\n\n private _onHeaderKeyDown(ev: KeyboardEvent) {\n if (ev.key === 'ArrowLeft' || ev.key === 'ArrowRight') {\n ev.preventDefault();\n this._tabHeaders[this._tabFocus].setAttribute('tabindex', '-1');\n\n if (ev.key === 'ArrowLeft') {\n this._focusPrevTab();\n } else if (ev.key === 'ArrowRight') {\n this._focusNextTab();\n }\n\n this._tabHeaders[this._tabFocus].setAttribute('tabindex', '0');\n this._tabHeaders[this._tabFocus].focus();\n }\n\n if (ev.key === 'Enter') {\n ev.preventDefault();\n this.selectedIndex = this._tabFocus;\n this._dispatchSelectEvent();\n }\n }\n\n private _moveHeadersToHeaderSlot() {\n const headers = this._mainSlotElements.filter(\n (el) => el instanceof VscodeTabHeader\n ) as VscodeTabHeader[];\n\n if (headers.length > 0) {\n headers.forEach((h) => h.setAttribute('slot', 'header'));\n }\n }\n\n private _onMainSlotChange() {\n this._moveHeadersToHeaderSlot();\n\n this._tabPanels = this._mainSlotElements.filter(\n (el) => el instanceof VscodeTabPanel\n ) as VscodeTabPanel[];\n this._tabPanels.forEach((el, i) => {\n el.ariaLabelledby = `t${this._componentId}-h${i}`;\n el.id = `t${this._componentId}-p${i}`;\n el.panel = this.panel;\n });\n\n this._setActiveTab();\n }\n\n private _onHeaderSlotChange() {\n this._tabHeaders = this._headerSlotElements.filter(\n (el) => el instanceof VscodeTabHeader\n ) as VscodeTabHeader[];\n this._tabHeaders.forEach((el, i) => {\n el.tabId = i;\n el.id = `t${this._componentId}-h${i}`;\n el.ariaControls = `t${this._componentId}-p${i}`;\n el.panel = this.panel;\n el.active = i === this.selectedIndex;\n });\n }\n\n private _onHeaderClick(event: MouseEvent) {\n const path = event.composedPath();\n const headerEl = path.find(\n (et) => (et as VscodeTabHeader) instanceof VscodeTabHeader\n );\n\n if (headerEl) {\n this.selectedIndex = (headerEl as VscodeTabHeader).tabId;\n this._setActiveTab();\n this._dispatchSelectEvent();\n }\n }\n\n override render(): TemplateResult {\n return html`\n <div\n class=${classMap({header: true, panel: this.panel})}\n @click=${this._onHeaderClick}\n @keydown=${this._onHeaderKeyDown}\n >\n <slot name=\"header\" @slotchange=${this._onHeaderSlotChange}></slot>\n <slot name=\"addons\"></slot>\n </div>\n <slot @slotchange=${this._onMainSlotChange}></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-tabs': VscodeTabs;\n }\n\n interface GlobalEventHandlersEventMap {\n 'vsc-tabs-select': VscTabsSelectEvent;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"vscode-tabs.js","sourceRoot":"","sources":["../../src/vscode-tabs/vscode-tabs.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, TemplateResult} from 'lit';\nimport {property, queryAssignedElements} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport uniqueId from '../includes/uniqueId.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport {VscodeTabHeader} from '../vscode-tab-header/index.js';\nimport {VscodeTabPanel} from '../vscode-tab-panel/index.js';\nimport styles from './vscode-tabs.styles.js';\n\nexport type VscTabsSelectEvent = CustomEvent<{selectedIndex: number}>;\n\n/**\n * @tag vscode-tabs\n *\n * @slot - Default slot. It is used for tab panels.\n * @slot header - Slot for tab headers.\n * @slot addons - Right aligned area in the header.\n *\n * @fires {VscTabSelectEvent} vsc-tabs-select - Dispatched when the active tab is changed\n *\n * @cssprop [--vscode-font-family=sans-serif]\n * @cssprop [--vscode-font-size=13px]\n * @cssprop [--vscode-font-weight=normal]\n * @cssprop [--vscode-settings-headerBorder=#2b2b2b]\n * @cssprop [--vscode-panel-background=#181818]\n */\n@customElement('vscode-tabs')\nexport class VscodeTabs extends VscElement {\n static override styles = styles;\n /**\n * Panel-like look\n */\n @property({type: Boolean, reflect: true})\n panel = false;\n\n @property({type: Number, reflect: true, attribute: 'selected-index'})\n selectedIndex = 0;\n\n constructor() {\n super();\n this._componentId = uniqueId();\n }\n\n override attributeChangedCallback(\n name: string,\n old: string | null,\n value: string | null\n ): void {\n super.attributeChangedCallback(name, old, value);\n\n if (name === 'selected-index') {\n this._setActiveTab();\n }\n\n if (name === 'panel') {\n this._tabHeaders.forEach((h) => (h.panel = value !== null));\n this._tabPanels.forEach((p) => (p.panel = value !== null));\n }\n }\n\n @queryAssignedElements({slot: 'header'})\n private _headerSlotElements!: Element[];\n\n @queryAssignedElements()\n private _mainSlotElements!: Element[];\n\n private _tabHeaders: VscodeTabHeader[] = [];\n\n private _tabPanels: VscodeTabPanel[] = [];\n\n private _componentId = '';\n\n private _tabFocus = 0;\n\n private _dispatchSelectEvent() {\n this.dispatchEvent(\n new CustomEvent('vsc-tabs-select', {\n detail: {\n selectedIndex: this.selectedIndex,\n },\n composed: true,\n }) as VscTabsSelectEvent\n );\n }\n\n private _setActiveTab() {\n this._tabFocus = this.selectedIndex;\n\n this._tabPanels.forEach((el, i) => {\n el.hidden = i !== this.selectedIndex;\n });\n\n this._tabHeaders.forEach((el: VscodeTabHeader, i) => {\n el.active = i === this.selectedIndex;\n });\n }\n\n private _focusPrevTab() {\n if (this._tabFocus === 0) {\n this._tabFocus = this._tabHeaders.length - 1;\n } else {\n this._tabFocus -= 1;\n }\n }\n\n private _focusNextTab() {\n if (this._tabFocus === this._tabHeaders.length - 1) {\n this._tabFocus = 0;\n } else {\n this._tabFocus += 1;\n }\n }\n\n private _onHeaderKeyDown(ev: KeyboardEvent) {\n if (ev.key === 'ArrowLeft' || ev.key === 'ArrowRight') {\n ev.preventDefault();\n this._tabHeaders[this._tabFocus].setAttribute('tabindex', '-1');\n\n if (ev.key === 'ArrowLeft') {\n this._focusPrevTab();\n } else if (ev.key === 'ArrowRight') {\n this._focusNextTab();\n }\n\n this._tabHeaders[this._tabFocus].setAttribute('tabindex', '0');\n this._tabHeaders[this._tabFocus].focus();\n }\n\n if (ev.key === 'Enter') {\n ev.preventDefault();\n this.selectedIndex = this._tabFocus;\n this._dispatchSelectEvent();\n }\n }\n\n private _moveHeadersToHeaderSlot() {\n const headers = this._mainSlotElements.filter(\n (el) => el instanceof VscodeTabHeader\n ) as VscodeTabHeader[];\n\n if (headers.length > 0) {\n headers.forEach((h) => h.setAttribute('slot', 'header'));\n }\n }\n\n private _onMainSlotChange() {\n this._moveHeadersToHeaderSlot();\n\n this._tabPanels = this._mainSlotElements.filter(\n (el) => el instanceof VscodeTabPanel\n ) as VscodeTabPanel[];\n this._tabPanels.forEach((el, i) => {\n el.ariaLabelledby = `t${this._componentId}-h${i}`;\n el.id = `t${this._componentId}-p${i}`;\n el.panel = this.panel;\n });\n\n this._setActiveTab();\n }\n\n private _onHeaderSlotChange() {\n this._tabHeaders = this._headerSlotElements.filter(\n (el) => el instanceof VscodeTabHeader\n ) as VscodeTabHeader[];\n this._tabHeaders.forEach((el, i) => {\n el.tabId = i;\n el.id = `t${this._componentId}-h${i}`;\n el.ariaControls = `t${this._componentId}-p${i}`;\n el.panel = this.panel;\n el.active = i === this.selectedIndex;\n });\n }\n\n private _onHeaderClick(event: MouseEvent) {\n const path = event.composedPath();\n const headerEl = path.find(\n (et) => (et as VscodeTabHeader) instanceof VscodeTabHeader\n );\n\n if (headerEl) {\n this.selectedIndex = (headerEl as VscodeTabHeader).tabId;\n this._setActiveTab();\n this._dispatchSelectEvent();\n }\n }\n\n override render(): TemplateResult {\n return html`\n <div\n class=${classMap({header: true, panel: this.panel})}\n @click=${this._onHeaderClick}\n @keydown=${this._onHeaderKeyDown}\n >\n <div role=\"tablist\" class=\"tablist\">\n <slot\n name=\"header\"\n @slotchange=${this._onHeaderSlotChange}\n role=\"tablist\"\n ></slot>\n </div>\n <slot name=\"addons\"></slot>\n </div>\n <slot @slotchange=${this._onMainSlotChange}></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-tabs': VscodeTabs;\n }\n\n interface GlobalEventHandlersEventMap {\n 'vsc-tabs-select': VscTabsSelectEvent;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-tabs.styles.d.ts","sourceRoot":"","sources":["../../src/vscode-tabs/vscode-tabs.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,cAAc,EAAC,MAAM,KAAK,CAAC;AAGxC,QAAA,MAAM,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"vscode-tabs.styles.d.ts","sourceRoot":"","sources":["../../src/vscode-tabs/vscode-tabs.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,cAAc,EAAC,MAAM,KAAK,CAAC;AAGxC,QAAA,MAAM,MAAM,EAAE,cAwCb,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -10,26 +10,31 @@ const styles = [
|
|
|
10
10
|
.header {
|
|
11
11
|
align-items: center;
|
|
12
12
|
display: flex;
|
|
13
|
-
font-family: var(--vscode-font-family);
|
|
14
|
-
font-size: var(--vscode-font-size);
|
|
15
|
-
font-weight: var(--vscode-font-weight);
|
|
13
|
+
font-family: var(--vscode-font-family, sans-serif);
|
|
14
|
+
font-size: var(--vscode-font-size, 13px);
|
|
15
|
+
font-weight: var(--vscode-font-weight, normal);
|
|
16
16
|
width: 100%;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
.header {
|
|
20
|
-
border-bottom-color: var(--vscode-settings-headerBorder);
|
|
20
|
+
border-bottom-color: var(--vscode-settings-headerBorder, #2b2b2b);
|
|
21
21
|
border-bottom-style: solid;
|
|
22
22
|
border-bottom-width: 1px;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
.header.panel {
|
|
26
|
-
background-color: var(--vscode-panel-background);
|
|
26
|
+
background-color: var(--vscode-panel-background, #181818);
|
|
27
27
|
border-bottom-width: 0;
|
|
28
28
|
box-sizing: border-box;
|
|
29
29
|
padding-left: 8px;
|
|
30
30
|
padding-right: 8px;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
+
.tablist {
|
|
34
|
+
display: flex;
|
|
35
|
+
margin-bottom: -1px;
|
|
36
|
+
}
|
|
37
|
+
|
|
33
38
|
slot[name='addons'] {
|
|
34
39
|
display: block;
|
|
35
40
|
margin-left: auto;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-tabs.styles.js","sourceRoot":"","sources":["../../src/vscode-tabs/vscode-tabs.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAiB,MAAM,KAAK,CAAC;AACxC,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAE1D,MAAM,MAAM,GAAmB;IAC7B,aAAa;IACb,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"vscode-tabs.styles.js","sourceRoot":"","sources":["../../src/vscode-tabs/vscode-tabs.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAiB,MAAM,KAAK,CAAC;AACxC,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAE1D,MAAM,MAAM,GAAmB;IAC7B,aAAa;IACb,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCF;CACF,CAAC;AAEF,eAAe,MAAM,CAAC","sourcesContent":["import {css, CSSResultGroup} from 'lit';\nimport defaultStyles from '../includes/default.styles.js';\n\nconst styles: CSSResultGroup = [\n defaultStyles,\n css`\n :host {\n display: block;\n }\n\n .header {\n align-items: center;\n display: flex;\n font-family: var(--vscode-font-family, sans-serif);\n font-size: var(--vscode-font-size, 13px);\n font-weight: var(--vscode-font-weight, normal);\n width: 100%;\n }\n\n .header {\n border-bottom-color: var(--vscode-settings-headerBorder, #2b2b2b);\n border-bottom-style: solid;\n border-bottom-width: 1px;\n }\n\n .header.panel {\n background-color: var(--vscode-panel-background, #181818);\n border-bottom-width: 0;\n box-sizing: border-box;\n padding-left: 8px;\n padding-right: 8px;\n }\n\n .tablist {\n display: flex;\n margin-bottom: -1px;\n }\n\n slot[name='addons'] {\n display: block;\n margin-left: auto;\n }\n `,\n];\n\nexport default styles;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-textarea.d.ts","sourceRoot":"","sources":["../../src/vscode-textarea/vscode-textarea.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,cAAc,EAAE,cAAc,EAAC,MAAM,KAAK,CAAC;AAIrE,OAAO,EAAgB,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAC,qBAAqB,EAAC,MAAM,sCAAsC,CAAC;AAG3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBACa,cACX,SAAQ,UACR,YAAW,qBAAqB;IAEhC,OAAgB,MAAM,+BAAU;IAEhC;;OAEG;IACH,MAAM,CAAC,cAAc,UAAQ;IAE7B,gBAAgB;IAChB,OAAgB,iBAAiB,EAAE,cAAc,CAG/C;IAIF,YAAY,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS,CAAa;IAG1C,SAAS,UAAS;IAG3B,YAAY,SAAM;IAGlB,QAAQ,UAAS;IAGjB,OAAO,UAAS;IAGhB,KAAK,SAAM;IAGX,SAAS,EAAE,MAAM,GAAG,SAAS,CAAa;IAG1C,SAAS,EAAE,MAAM,GAAG,SAAS,CAAa;IAG1C,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IAGrC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IAGrC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IAGrC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAa;IAG5C,QAAQ,UAAS;IAGjB,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,MAAM,CAAU;IAG7D,QAAQ,UAAS;IAGR,UAAU,UAAS;IAE5B;;;OAGG;IAEH,SAAS,UAAS;IAElB,IACI,KAAK,CAAC,GAAG,EAAE,MAAM,EAGpB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,mBAAmB,CAExC;IAED,IAAI,IAAI,IAAI,eAAe,GAAG,IAAI,CAEjC;IAED,gBAAgB;IAChB,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAED,IAAI,iBAAiB,WAEpB;IAED,IAAI,YAAY,YAEf;IAED;;OAEG;IACH,IAAI,SAAS,CAAC,GAAG,EAAE,MAAM,EAExB;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED;;OAEG;IACH,IAAI,SAAS,CAAC,GAAG,EAAE,MAAM,EAExB;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;;IAQQ,iBAAiB,IAAI,IAAI;IAUzB,OAAO,CACd,iBAAiB,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GACrE,IAAI;IAaP,gBAAgB;IAChB,iBAAiB,IAAI,IAAI;IAIzB,gBAAgB;IAChB,wBAAwB,CACtB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,GAAG,cAAc,GAChC,IAAI;IAMP,aAAa,IAAI,OAAO;IAIxB,cAAc,IAAI,OAAO;IAKzB,OAAO,CAAC,WAAW,CAAuB;IAG1C,OAAO,CAAC,MAAM,CAAM;IAGpB,OAAO,CAAC,sBAAsB,CAAS;IAGvC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,UAAU,CAAmB;IAErC,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"vscode-textarea.d.ts","sourceRoot":"","sources":["../../src/vscode-textarea/vscode-textarea.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,cAAc,EAAE,cAAc,EAAC,MAAM,KAAK,CAAC;AAIrE,OAAO,EAAgB,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAC,qBAAqB,EAAC,MAAM,sCAAsC,CAAC;AAG3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBACa,cACX,SAAQ,UACR,YAAW,qBAAqB;IAEhC,OAAgB,MAAM,+BAAU;IAEhC;;OAEG;IACH,MAAM,CAAC,cAAc,UAAQ;IAE7B,gBAAgB;IAChB,OAAgB,iBAAiB,EAAE,cAAc,CAG/C;IAIF,YAAY,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS,CAAa;IAG1C,SAAS,UAAS;IAG3B,YAAY,SAAM;IAGlB,QAAQ,UAAS;IAGjB,OAAO,UAAS;IAGhB,KAAK,SAAM;IAGX,SAAS,EAAE,MAAM,GAAG,SAAS,CAAa;IAG1C,SAAS,EAAE,MAAM,GAAG,SAAS,CAAa;IAG1C,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IAGrC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IAGrC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IAGrC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAa;IAG5C,QAAQ,UAAS;IAGjB,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,MAAM,CAAU;IAG7D,QAAQ,UAAS;IAGR,UAAU,UAAS;IAE5B;;;OAGG;IAEH,SAAS,UAAS;IAElB,IACI,KAAK,CAAC,GAAG,EAAE,MAAM,EAGpB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,mBAAmB,CAExC;IAED,IAAI,IAAI,IAAI,eAAe,GAAG,IAAI,CAEjC;IAED,gBAAgB;IAChB,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAED,IAAI,iBAAiB,WAEpB;IAED,IAAI,YAAY,YAEf;IAED;;OAEG;IACH,IAAI,SAAS,CAAC,GAAG,EAAE,MAAM,EAExB;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED;;OAEG;IACH,IAAI,SAAS,CAAC,GAAG,EAAE,MAAM,EAExB;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;;IAQQ,iBAAiB,IAAI,IAAI;IAUzB,OAAO,CACd,iBAAiB,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GACrE,IAAI;IAaP,gBAAgB;IAChB,iBAAiB,IAAI,IAAI;IAIzB,gBAAgB;IAChB,wBAAwB,CACtB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,GAAG,cAAc,GAChC,IAAI;IAMP,aAAa,IAAI,OAAO;IAIxB,cAAc,IAAI,OAAO;IAKzB,OAAO,CAAC,WAAW,CAAuB;IAG1C,OAAO,CAAC,MAAM,CAAM;IAGpB,OAAO,CAAC,sBAAsB,CAAS;IAGvC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,UAAU,CAAmB;IAErC,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,aAAa;IAIZ,MAAM,IAAI,cAAc;CAsClC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,cAAc,CAAC;KACnC;CACF"}
|
|
@@ -161,22 +161,14 @@ let VscodeTextarea = class VscodeTextarea extends VscElement {
|
|
|
161
161
|
this._value = this._textareaEl.value;
|
|
162
162
|
this._internals.setFormValue(this._textareaEl.value);
|
|
163
163
|
}
|
|
164
|
-
_handleChange(
|
|
164
|
+
_handleChange() {
|
|
165
165
|
this._dataChanged();
|
|
166
166
|
this._setValidityFromInput();
|
|
167
167
|
this.dispatchEvent(new Event('change'));
|
|
168
|
-
/** @deprecated */
|
|
169
|
-
this.dispatchEvent(new CustomEvent('vsc-change', {
|
|
170
|
-
detail: { data: this.value, originalEvent: ev },
|
|
171
|
-
}));
|
|
172
168
|
}
|
|
173
|
-
_handleInput(
|
|
169
|
+
_handleInput() {
|
|
174
170
|
this._dataChanged();
|
|
175
171
|
this._setValidityFromInput();
|
|
176
|
-
/** @deprecated */
|
|
177
|
-
this.dispatchEvent(new CustomEvent('vsc-input', {
|
|
178
|
-
detail: { data: ev.data, originalEvent: ev },
|
|
179
|
-
}));
|
|
180
172
|
}
|
|
181
173
|
_handleMouseMove(ev) {
|
|
182
174
|
if (this._textareaEl.clientHeight >= this._textareaEl.scrollHeight) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-textarea.js","sourceRoot":"","sources":["../../src/vscode-textarea/vscode-textarea.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, LitElement, TemplateResult, PropertyValues} from 'lit';\nimport {property, query, state} from 'lit/decorators.js';\nimport {ifDefined} from 'lit/directives/if-defined.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport {stylePropertyMap} from '../includes/style-property-map.js';\nimport {AssociatedFormControl} from '../includes/AssociatedFormControl.js';\nimport styles from './vscode-textarea.styles.js';\n\n/**\n * Multi-line text input.\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-textarea\n *\n * @fires {InputEvent} input\n * @fires {Event} change\n *\n * @cssprop [--vscode-scrollbar-shadow=#000000]\n * @cssprop [--vscode-settings-textInputBackground=#313131]\n * @cssprop [--vscode-settings-textInputBorder=transparent]\n * @cssprop [--vscode-settings-textInputForeground=#cccccc]\n * @cssprop [--vscode-input-placeholderForeground=#989898]\n * @cssprop [--vscode-font-family=sans-serif]\n * @cssprop [--vscode-font-size=13px]\n * @cssprop [--vscode-font-weight=normal]\n * @cssprop [--vscode-editor-background=#1f1f1f]\n * @cssprop [--vscode-editor-foreground=#cccccc]\n * @cssprop [--vscode-editor-font-family=monospace]\n * @cssprop [--vscode-editor-font-size=14px]\n * @cssprop [--vscode-editor-font-weight=normal]\n * @cssprop [--vscode-editor-inlineValuesForeground=rgba(255, 255, 255, 0.5)]\n * @cssprop [--vscode-focusBorder=#0078d4]\n * @cssprop [--vscode-scrollbarSlider-background=rgba(121, 121, 121, 0.4)]\n * @cssprop [--vscode-scrollbarSlider-hoverBackground=rgba(100, 100, 100, 0.7)]\n * @cssprop [--vscode-scrollbarSlider-activeBackground=rgba(191, 191, 191, 0.4)]\n */\n@customElement('vscode-textarea')\nexport class VscodeTextarea\n extends VscElement\n implements AssociatedFormControl\n{\n static override styles = styles;\n\n /**\n * @internal\n */\n static formAssociated = true;\n\n /** @internal */\n static override shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n // #region properties, setters/getters\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 invalid = false;\n\n @property({attribute: false})\n label = '';\n\n @property({type: Number})\n maxLength: number | undefined = undefined;\n\n @property({type: Number})\n minLength: number | undefined = undefined;\n\n @property({type: Number})\n rows: number | undefined = undefined;\n\n @property({type: Number})\n cols: number | undefined = undefined;\n\n @property()\n name: string | undefined = undefined;\n\n @property()\n placeholder: string | undefined = undefined;\n\n @property({type: Boolean, reflect: true})\n readonly = false;\n\n @property()\n resize: 'both' | 'horizontal' | 'vertical' | 'none' = 'none';\n\n @property({type: Boolean, reflect: true})\n required = false;\n\n @property({type: Boolean})\n override spellcheck = false;\n\n /**\n * Use monospace fonts. The font family, weight, size, and color will be the same as set in the\n * VSCode code editor.\n */\n @property({type: Boolean, reflect: true})\n monospace = false;\n\n @property()\n set value(val: string) {\n this._value = val;\n this._internals.setFormValue(val);\n }\n\n get value(): string {\n return this._value;\n }\n\n /**\n * Getter for the inner textarea element if it needs to be accessed for some reason.\n */\n get wrappedElement(): HTMLTextAreaElement {\n return this._textareaEl;\n }\n\n get form(): HTMLFormElement | null {\n return this._internals.form;\n }\n\n /** @internal */\n get type(): 'textarea' {\n return 'textarea';\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 * 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 // #endregion\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._textareaEl.checkValidity();\n this._setValidityFromInput();\n this._internals.setFormValue(this._textareaEl.value);\n });\n }\n\n override updated(\n changedProperties: PropertyValues<unknown> | Map<PropertyKey, unknown>\n ): void {\n const validationRelatedProps = ['maxLength', 'minLength', 'required'];\n\n for (const key of changedProperties.keys()) {\n if (validationRelatedProps.includes(String(key))) {\n this.updateComplete.then(() => {\n this._setValidityFromInput();\n });\n break;\n }\n }\n }\n\n /** @internal */\n formResetCallback(): void {\n this.value = this.defaultValue;\n }\n\n /** @internal */\n formStateRestoreCallback(\n state: string,\n _mode: 'restore' | 'autocomplete'\n ): void {\n this.updateComplete.then(() => {\n this._value = state;\n });\n }\n\n checkValidity(): boolean {\n return this._internals.checkValidity();\n }\n\n reportValidity(): boolean {\n return this._internals.reportValidity();\n }\n\n @query('#textarea')\n private _textareaEl!: HTMLTextAreaElement;\n\n @state()\n private _value = '';\n\n @state()\n private _textareaPointerCursor = false;\n\n @state()\n private _shadow = false;\n\n private _internals: ElementInternals;\n\n private _setValidityFromInput() {\n this._internals.setValidity(\n this._textareaEl.validity,\n this._textareaEl.validationMessage,\n this._textareaEl\n );\n }\n\n private _dataChanged() {\n this._value = this._textareaEl.value;\n this._internals.setFormValue(this._textareaEl.value);\n }\n\n private _handleChange(ev: Event) {\n this._dataChanged();\n this._setValidityFromInput();\n this.dispatchEvent(new Event('change'));\n /** @deprecated */\n this.dispatchEvent(\n new CustomEvent('vsc-change', {\n detail: {data: this.value, originalEvent: ev},\n })\n );\n }\n\n private _handleInput(ev: InputEvent) {\n this._dataChanged();\n this._setValidityFromInput();\n /** @deprecated */\n this.dispatchEvent(\n new CustomEvent('vsc-input', {\n detail: {data: ev.data, originalEvent: ev},\n })\n );\n }\n\n private _handleMouseMove(ev: MouseEvent) {\n if (this._textareaEl.clientHeight >= this._textareaEl.scrollHeight) {\n this._textareaPointerCursor = false;\n return;\n }\n\n const SCROLLBAR_WIDTH = 14;\n const BORDER_WIDTH = 1;\n const br = this._textareaEl.getBoundingClientRect();\n const x = ev.clientX;\n\n this._textareaPointerCursor =\n x >= br.left + br.width - SCROLLBAR_WIDTH - BORDER_WIDTH * 2;\n }\n\n private _handleScroll() {\n this._shadow = this._textareaEl.scrollTop > 0;\n }\n\n override render(): TemplateResult {\n return html`\n <div\n class=${classMap({\n shadow: true,\n visible: this._shadow,\n })}\n ></div>\n <textarea\n autocomplete=${ifDefined(this.autocomplete)}\n ?autofocus=${this.autofocus}\n ?disabled=${this.disabled}\n aria-label=${this.label}\n id=\"textarea\"\n class=${classMap({\n monospace: this.monospace,\n 'cursor-pointer': this._textareaPointerCursor,\n })}\n maxlength=${ifDefined(this.maxLength)}\n minlength=${ifDefined(this.minLength)}\n rows=${ifDefined(this.rows)}\n cols=${ifDefined(this.cols)}\n name=${ifDefined(this.name)}\n placeholder=${ifDefined(this.placeholder)}\n ?readonly=${this.readonly}\n .style=${stylePropertyMap({\n resize: this.resize,\n })}\n ?required=${this.required}\n spellcheck=${this.spellcheck}\n @change=${this._handleChange}\n @input=${this._handleInput}\n @mousemove=${this._handleMouseMove}\n @scroll=${this._handleScroll}\n .value=${this._value}\n ></textarea>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-textarea': VscodeTextarea;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"vscode-textarea.js","sourceRoot":"","sources":["../../src/vscode-textarea/vscode-textarea.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAE,UAAU,EAAiC,MAAM,KAAK,CAAC;AACrE,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAC,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAC,gBAAgB,EAAC,MAAM,mCAAmC,CAAC;AAEnE,OAAO,MAAM,MAAM,6BAA6B,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEI,IAAM,cAAc,GAApB,MAAM,cACX,SAAQ,UAAU;IAyElB,IAAI,KAAK,CAAC,GAAW;QACnB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAClB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED,gBAAgB;IAChB,IAAI,IAAI;QACN,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;IAC3C,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,SAAS,CAAC,GAAW;QACvB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;IACvB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,SAAS,CAAC,GAAW;QACvB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;IACvB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IACD,aAAa;IAEb;QACE,KAAK,EAAE,CAAC;QAtHV,sCAAsC;QAEtC,iBAAY,GAA6B,SAAS,CAAC;QAG1C,cAAS,GAAG,KAAK,CAAC;QAG3B,iBAAY,GAAG,EAAE,CAAC;QAGlB,aAAQ,GAAG,KAAK,CAAC;QAGjB,YAAO,GAAG,KAAK,CAAC;QAGhB,UAAK,GAAG,EAAE,CAAC;QAGX,cAAS,GAAuB,SAAS,CAAC;QAG1C,cAAS,GAAuB,SAAS,CAAC;QAG1C,SAAI,GAAuB,SAAS,CAAC;QAGrC,SAAI,GAAuB,SAAS,CAAC;QAGrC,SAAI,GAAuB,SAAS,CAAC;QAGrC,gBAAW,GAAuB,SAAS,CAAC;QAG5C,aAAQ,GAAG,KAAK,CAAC;QAGjB,WAAM,GAAgD,MAAM,CAAC;QAG7D,aAAQ,GAAG,KAAK,CAAC;QAGR,eAAU,GAAG,KAAK,CAAC;QAE5B;;;WAGG;QAEH,cAAS,GAAG,KAAK,CAAC;QAwHV,WAAM,GAAG,EAAE,CAAC;QAGZ,2BAAsB,GAAG,KAAK,CAAC;QAG/B,YAAO,GAAG,KAAK,CAAC;QA7DtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3C,CAAC;IAEQ,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YACjC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAEQ,OAAO,CACd,iBAAsE;QAEtE,MAAM,sBAAsB,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAEtE,KAAK,MAAM,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3C,IAAI,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;oBAC5B,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC/B,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,iBAAiB;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;IACjC,CAAC;IAED,gBAAgB;IAChB,wBAAwB,CACtB,KAAa,EACb,KAAiC;QAEjC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;IAC1C,CAAC;IAgBO,qBAAqB;QAC3B,IAAI,CAAC,UAAU,CAAC,WAAW,CACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAClC,IAAI,CAAC,WAAW,CACjB,CAAC;IACJ,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAEO,gBAAgB,CAAC,EAAc;QACrC,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;YACnE,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,CAAC,CAAC;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC;QACpD,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;QAErB,IAAI,CAAC,sBAAsB;YACzB,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,KAAK,GAAG,eAAe,GAAG,YAAY,GAAG,CAAC,CAAC;IACjE,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC;IAChD,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAA;;gBAEC,QAAQ,CAAC;YACf,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;;;uBAGa,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;qBAC9B,IAAI,CAAC,SAAS;oBACf,IAAI,CAAC,QAAQ;qBACZ,IAAI,CAAC,KAAK;;gBAEf,QAAQ,CAAC;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,gBAAgB,EAAE,IAAI,CAAC,sBAAsB;SAC9C,CAAC;oBACU,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;oBACzB,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;eAC9B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;eACpB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;eACpB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;sBACb,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;oBAC7B,IAAI,CAAC,QAAQ;iBAChB,gBAAgB,CAAC;YACxB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;oBACU,IAAI,CAAC,QAAQ;qBACZ,IAAI,CAAC,UAAU;kBAClB,IAAI,CAAC,aAAa;iBACnB,IAAI,CAAC,YAAY;qBACb,IAAI,CAAC,gBAAgB;kBACxB,IAAI,CAAC,aAAa;iBACnB,IAAI,CAAC,MAAM;;KAEvB,CAAC;IACJ,CAAC;;AArRe,qBAAM,GAAG,MAAM,AAAT,CAAU;AAEhC;;GAEG;AACI,6BAAc,GAAG,IAAI,AAAP,CAAQ;AAE7B,gBAAgB;AACA,gCAAiB,GAAmB;IAClD,GAAG,UAAU,CAAC,iBAAiB;IAC/B,cAAc,EAAE,IAAI;CACrB,AAHgC,CAG/B;AAIF;IADC,QAAQ,EAAE;oDACwC;AAG1C;IADR,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;iDACd;AAG3B;IADC,QAAQ,CAAC,EAAC,SAAS,EAAE,eAAe,EAAC,CAAC;oDACrB;AAGlB;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;gDACxB;AAGjB;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;+CACzB;AAGhB;IADC,QAAQ,CAAC,EAAC,SAAS,EAAE,KAAK,EAAC,CAAC;6CAClB;AAGX;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;iDACiB;AAG1C;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;iDACiB;AAG1C;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;4CACY;AAGrC;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;4CACY;AAGrC;IADC,QAAQ,EAAE;4CAC0B;AAGrC;IADC,QAAQ,EAAE;mDACiC;AAG5C;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;gDACxB;AAGjB;IADC,QAAQ,EAAE;8CACkD;AAG7D;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;gDACxB;AAGR;IADR,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;kDACE;AAO5B;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;iDACvB;AAGlB;IADC,QAAQ,EAAE;2CAIV;AA+GO;IADP,KAAK,CAAC,WAAW,CAAC;mDACuB;AAGlC;IADP,KAAK,EAAE;8CACY;AAGZ;IADP,KAAK,EAAE;8DAC+B;AAG/B;IADP,KAAK,EAAE;+CACgB;AArMb,cAAc;IAD1B,aAAa,CAAC,iBAAiB,CAAC;GACpB,cAAc,CA0R1B","sourcesContent":["import {html, LitElement, TemplateResult, PropertyValues} from 'lit';\nimport {property, query, state} from 'lit/decorators.js';\nimport {ifDefined} from 'lit/directives/if-defined.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport {stylePropertyMap} from '../includes/style-property-map.js';\nimport {AssociatedFormControl} from '../includes/AssociatedFormControl.js';\nimport styles from './vscode-textarea.styles.js';\n\n/**\n * Multi-line text input.\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-textarea\n *\n * @fires {InputEvent} input\n * @fires {Event} change\n *\n * @cssprop [--vscode-scrollbar-shadow=#000000]\n * @cssprop [--vscode-settings-textInputBackground=#313131]\n * @cssprop [--vscode-settings-textInputBorder=transparent]\n * @cssprop [--vscode-settings-textInputForeground=#cccccc]\n * @cssprop [--vscode-input-placeholderForeground=#989898]\n * @cssprop [--vscode-font-family=sans-serif]\n * @cssprop [--vscode-font-size=13px]\n * @cssprop [--vscode-font-weight=normal]\n * @cssprop [--vscode-editor-background=#1f1f1f]\n * @cssprop [--vscode-editor-foreground=#cccccc]\n * @cssprop [--vscode-editor-font-family=monospace]\n * @cssprop [--vscode-editor-font-size=14px]\n * @cssprop [--vscode-editor-font-weight=normal]\n * @cssprop [--vscode-editor-inlineValuesForeground=rgba(255, 255, 255, 0.5)]\n * @cssprop [--vscode-focusBorder=#0078d4]\n * @cssprop [--vscode-scrollbarSlider-background=rgba(121, 121, 121, 0.4)]\n * @cssprop [--vscode-scrollbarSlider-hoverBackground=rgba(100, 100, 100, 0.7)]\n * @cssprop [--vscode-scrollbarSlider-activeBackground=rgba(191, 191, 191, 0.4)]\n */\n@customElement('vscode-textarea')\nexport class VscodeTextarea\n extends VscElement\n implements AssociatedFormControl\n{\n static override styles = styles;\n\n /**\n * @internal\n */\n static formAssociated = true;\n\n /** @internal */\n static override shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n // #region properties, setters/getters\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 invalid = false;\n\n @property({attribute: false})\n label = '';\n\n @property({type: Number})\n maxLength: number | undefined = undefined;\n\n @property({type: Number})\n minLength: number | undefined = undefined;\n\n @property({type: Number})\n rows: number | undefined = undefined;\n\n @property({type: Number})\n cols: number | undefined = undefined;\n\n @property()\n name: string | undefined = undefined;\n\n @property()\n placeholder: string | undefined = undefined;\n\n @property({type: Boolean, reflect: true})\n readonly = false;\n\n @property()\n resize: 'both' | 'horizontal' | 'vertical' | 'none' = 'none';\n\n @property({type: Boolean, reflect: true})\n required = false;\n\n @property({type: Boolean})\n override spellcheck = false;\n\n /**\n * Use monospace fonts. The font family, weight, size, and color will be the same as set in the\n * VSCode code editor.\n */\n @property({type: Boolean, reflect: true})\n monospace = false;\n\n @property()\n set value(val: string) {\n this._value = val;\n this._internals.setFormValue(val);\n }\n\n get value(): string {\n return this._value;\n }\n\n /**\n * Getter for the inner textarea element if it needs to be accessed for some reason.\n */\n get wrappedElement(): HTMLTextAreaElement {\n return this._textareaEl;\n }\n\n get form(): HTMLFormElement | null {\n return this._internals.form;\n }\n\n /** @internal */\n get type(): 'textarea' {\n return 'textarea';\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 * 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 // #endregion\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._textareaEl.checkValidity();\n this._setValidityFromInput();\n this._internals.setFormValue(this._textareaEl.value);\n });\n }\n\n override updated(\n changedProperties: PropertyValues<unknown> | Map<PropertyKey, unknown>\n ): void {\n const validationRelatedProps = ['maxLength', 'minLength', 'required'];\n\n for (const key of changedProperties.keys()) {\n if (validationRelatedProps.includes(String(key))) {\n this.updateComplete.then(() => {\n this._setValidityFromInput();\n });\n break;\n }\n }\n }\n\n /** @internal */\n formResetCallback(): void {\n this.value = this.defaultValue;\n }\n\n /** @internal */\n formStateRestoreCallback(\n state: string,\n _mode: 'restore' | 'autocomplete'\n ): void {\n this.updateComplete.then(() => {\n this._value = state;\n });\n }\n\n checkValidity(): boolean {\n return this._internals.checkValidity();\n }\n\n reportValidity(): boolean {\n return this._internals.reportValidity();\n }\n\n @query('#textarea')\n private _textareaEl!: HTMLTextAreaElement;\n\n @state()\n private _value = '';\n\n @state()\n private _textareaPointerCursor = false;\n\n @state()\n private _shadow = false;\n\n private _internals: ElementInternals;\n\n private _setValidityFromInput() {\n this._internals.setValidity(\n this._textareaEl.validity,\n this._textareaEl.validationMessage,\n this._textareaEl\n );\n }\n\n private _dataChanged() {\n this._value = this._textareaEl.value;\n this._internals.setFormValue(this._textareaEl.value);\n }\n\n private _handleChange() {\n this._dataChanged();\n this._setValidityFromInput();\n this.dispatchEvent(new Event('change'));\n }\n\n private _handleInput() {\n this._dataChanged();\n this._setValidityFromInput();\n }\n\n private _handleMouseMove(ev: MouseEvent) {\n if (this._textareaEl.clientHeight >= this._textareaEl.scrollHeight) {\n this._textareaPointerCursor = false;\n return;\n }\n\n const SCROLLBAR_WIDTH = 14;\n const BORDER_WIDTH = 1;\n const br = this._textareaEl.getBoundingClientRect();\n const x = ev.clientX;\n\n this._textareaPointerCursor =\n x >= br.left + br.width - SCROLLBAR_WIDTH - BORDER_WIDTH * 2;\n }\n\n private _handleScroll() {\n this._shadow = this._textareaEl.scrollTop > 0;\n }\n\n override render(): TemplateResult {\n return html`\n <div\n class=${classMap({\n shadow: true,\n visible: this._shadow,\n })}\n ></div>\n <textarea\n autocomplete=${ifDefined(this.autocomplete)}\n ?autofocus=${this.autofocus}\n ?disabled=${this.disabled}\n aria-label=${this.label}\n id=\"textarea\"\n class=${classMap({\n monospace: this.monospace,\n 'cursor-pointer': this._textareaPointerCursor,\n })}\n maxlength=${ifDefined(this.maxLength)}\n minlength=${ifDefined(this.minLength)}\n rows=${ifDefined(this.rows)}\n cols=${ifDefined(this.cols)}\n name=${ifDefined(this.name)}\n placeholder=${ifDefined(this.placeholder)}\n ?readonly=${this.readonly}\n .style=${stylePropertyMap({\n resize: this.resize,\n })}\n ?required=${this.required}\n spellcheck=${this.spellcheck}\n @change=${this._handleChange}\n @input=${this._handleInput}\n @mousemove=${this._handleMouseMove}\n @scroll=${this._handleScroll}\n .value=${this._value}\n ></textarea>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-textarea': VscodeTextarea;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-textarea.styles.js","sourceRoot":"","sources":["../../src/vscode-textarea/vscode-textarea.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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmIF;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-block;\n height:
|
|
1
|
+
{"version":3,"file":"vscode-textarea.styles.js","sourceRoot":"","sources":["../../src/vscode-textarea/vscode-textarea.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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmIF;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-block;\n height: auto;\n position: relative;\n width: 320px;\n }\n\n :host([cols]) {\n width: auto;\n }\n\n :host([rows]) {\n height: auto;\n }\n\n .shadow {\n box-shadow: var(--vscode-scrollbar-shadow, #000000) 0 6px 6px -6px inset;\n display: none;\n inset: 0 0 auto 0;\n height: 6px;\n pointer-events: none;\n position: absolute;\n width: 100%;\n }\n\n .shadow.visible {\n display: block;\n }\n\n textarea {\n background-color: var(--vscode-settings-textInputBackground, #313131);\n border-color: var(--vscode-settings-textInputBorder, transparent);\n border-radius: 2px;\n border-style: solid;\n border-width: 1px;\n box-sizing: border-box;\n color: var(--vscode-settings-textInputForeground, #cccccc);\n display: block;\n font-family: var(--vscode-font-family, sans-serif);\n font-size: var(--vscode-font-size, 13px);\n font-weight: var(--vscode-font-weight, normal);\n height: 100%;\n width: 100%;\n }\n\n :host([cols]) textarea {\n width: auto;\n }\n\n :host([rows]) textarea {\n height: auto;\n }\n\n :host([invalid]) textarea,\n :host(:invalid) textarea {\n background-color: var(--vscode-inputValidation-errorBackground, #5a1d1d);\n border-color: var(--vscode-inputValidation-errorBorder, #be1100);\n }\n\n textarea.monospace {\n background-color: var(--vscode-editor-background, #1f1f1f);\n color: var(--vscode-editor-foreground, #cccccc);\n font-family: var(--vscode-editor-font-family, monospace);\n font-size: var(--vscode-editor-font-size, 14px);\n font-weight: var(--vscode-editor-font-weight, normal);\n }\n\n .textarea.monospace::placeholder {\n color: var(\n --vscode-editor-inlineValuesForeground,\n rgba(255, 255, 255, 0.5)\n );\n }\n\n textarea.cursor-pointer {\n cursor: pointer;\n }\n\n textarea:focus {\n border-color: var(--vscode-focusBorder, #0078d4);\n outline: none;\n }\n\n textarea::placeholder {\n color: var(--vscode-input-placeholderForeground, #989898);\n opacity: 1;\n }\n\n textarea::-webkit-scrollbar-track {\n background-color: transparent;\n }\n\n textarea::-webkit-scrollbar {\n width: 14px;\n }\n\n textarea::-webkit-scrollbar-thumb {\n background-color: transparent;\n }\n\n textarea:hover::-webkit-scrollbar-thumb {\n background-color: var(\n --vscode-scrollbarSlider-background,\n rgba(121, 121, 121, 0.4)\n );\n }\n\n textarea::-webkit-scrollbar-thumb:hover {\n background-color: var(\n --vscode-scrollbarSlider-hoverBackground,\n rgba(100, 100, 100, 0.7)\n );\n }\n\n textarea::-webkit-scrollbar-thumb:active {\n background-color: var(\n --vscode-scrollbarSlider-activeBackground,\n rgba(191, 191, 191, 0.4)\n );\n }\n\n textarea::-webkit-scrollbar-corner {\n background-color: transparent;\n }\n\n textarea::-webkit-resizer {\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAACJJREFUeJxjYMAOZuIQZ5j5//9/rJJESczEKYGsG6cEXgAAsEEefMxkua4AAAAASUVORK5CYII=');\n background-repeat: no-repeat;\n background-position: right bottom;\n }\n `,\n];\n\nexport default styles;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-textfield.d.ts","sourceRoot":"","sources":["../../src/vscode-textfield/vscode-textfield.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,cAAc,EAAC,MAAM,KAAK,CAAC;AAGrD,OAAO,EAAgB,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAC,qBAAqB,EAAC,MAAM,sCAAsC,CAAC;AAE3E,KAAK,SAAS,GACV,OAAO,GACP,MAAM,GACN,gBAAgB,GAChB,OAAO,GACP,MAAM,GACN,OAAO,GACP,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,KAAK,GACL,MAAM,GACN,MAAM,GACN,KAAK,GACL,MAAM,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBACa,eACX,SAAQ,UACR,YAAW,qBAAqB;IAEhC,OAAgB,MAAM,+BAAU;IAEhC,gBAAgB;IAChB,MAAM,CAAC,cAAc,UAAQ;IAE7B,gBAAgB;IAChB,OAAgB,iBAAiB,EAAE,cAAc,CAG/C;IAGF,YAAY,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS,CAAa;IAG1C,SAAS,UAAS;IAG3B,YAAY,SAAM;IAGlB,QAAQ,UAAS;IAGjB,OAAO,UAAS;IAEhB;;;OAGG;IAEH,OAAO,UAAS;IAEhB;;;;OAIG;IAEH,KAAK,SAAM;IAGX,GAAG,EAAE,MAAM,GAAG,SAAS,CAAa;IAGpC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAa;IAG1C,GAAG,EAAE,MAAM,GAAG,SAAS,CAAa;IAGpC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAa;IAG1C,QAAQ,UAAS;IAGjB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IAErC;;;OAGG;IAEH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAa;IAGxC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAa;IAG5C,QAAQ,UAAS;IAGjB,QAAQ,UAAS;IAGjB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IAErC;;;OAGG;IACH,IACI,IAAI,CAAC,GAAG,EAAE,SAAS,EAqBtB;IACD,IAAI,IAAI,IAAI,SAAS,CAEpB;IAED,IACI,KAAK,CAAC,GAAG,EAAE,MAAM,EASpB;IACD,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,IAAI,SAAS,CAAC,GAAG,EAAE,MAAM,EAExB;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED;;OAEG;IACH,IAAI,SAAS,CAAC,GAAG,EAAE,MAAM,EAExB;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED,IAAI,IAAI,IAAI,eAAe,GAAG,IAAI,CAEjC;IAED,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAED,IAAI,iBAAiB,WAEpB;IAED,IAAI,YAAY,YAEf;IAED;;;;;;OAMG;IACH,aAAa,IAAI,OAAO;IAKxB,cAAc;IAKd,IAAI,cAAc,IAAI,gBAAgB,CAErC;;IAOQ,iBAAiB,IAAI,IAAI;IAUzB,wBAAwB,CAC/B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,IAAI;IAoBP,gBAAgB;IAChB,iBAAiB,IAAI,IAAI;IAKzB,gBAAgB;IAChB,wBAAwB,CACtB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,GAAG,cAAc,GAChC,IAAI;IAKP,OAAO,CAAC,QAAQ,CAAoB;IAGpC,OAAO,CAAC,MAAM,CAAM;IAGpB,OAAO,CAAC,KAAK,CAAqB;IAElC,OAAO,CAAC,UAAU,CAAmB;IAErC,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,QAAQ;
|
|
1
|
+
{"version":3,"file":"vscode-textfield.d.ts","sourceRoot":"","sources":["../../src/vscode-textfield/vscode-textfield.ts"],"names":[],"mappings":"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"}
|
|
@@ -212,21 +212,15 @@ let VscodeTextfield = class VscodeTextfield extends VscElement {
|
|
|
212
212
|
this._internals.setValidity(this._inputEl.validity, this._inputEl.validationMessage, this._inputEl);
|
|
213
213
|
}
|
|
214
214
|
}
|
|
215
|
-
_onInput(
|
|
215
|
+
_onInput() {
|
|
216
216
|
this._dataChanged();
|
|
217
217
|
this._setValidityFromInput();
|
|
218
218
|
// native input event dispatched automatically
|
|
219
|
-
/** @deprecated */
|
|
220
|
-
this.dispatchEvent(new CustomEvent('vsc-input', { detail: { data: ev.data, originalEvent: ev } }));
|
|
221
219
|
}
|
|
222
|
-
_onChange(
|
|
220
|
+
_onChange() {
|
|
223
221
|
this._dataChanged();
|
|
224
222
|
this._setValidityFromInput();
|
|
225
223
|
this.dispatchEvent(new Event('change'));
|
|
226
|
-
/** @deprecated */
|
|
227
|
-
this.dispatchEvent(new CustomEvent('vsc-change', {
|
|
228
|
-
detail: { data: this.value, originalEvent: ev },
|
|
229
|
-
}));
|
|
230
224
|
}
|
|
231
225
|
_onFocus() {
|
|
232
226
|
this.focused = true;
|
|
@@ -241,33 +235,35 @@ let VscodeTextfield = class VscodeTextfield extends VscElement {
|
|
|
241
235
|
}
|
|
242
236
|
render() {
|
|
243
237
|
return html `
|
|
244
|
-
<
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
238
|
+
<div class="root">
|
|
239
|
+
<slot name="content-before"></slot>
|
|
240
|
+
<input
|
|
241
|
+
id="input"
|
|
242
|
+
type=${this.type}
|
|
243
|
+
?autofocus=${this.autofocus}
|
|
244
|
+
autocomplete=${ifDefined(this.autocomplete)}
|
|
245
|
+
aria-label=${this.label}
|
|
246
|
+
?disabled=${this.disabled}
|
|
247
|
+
max=${ifDefined(this.max)}
|
|
248
|
+
maxlength=${ifDefined(this.maxLength)}
|
|
249
|
+
min=${ifDefined(this.min)}
|
|
250
|
+
minlength=${ifDefined(this.minLength)}
|
|
251
|
+
?multiple=${this.multiple}
|
|
252
|
+
name=${ifDefined(this.name)}
|
|
253
|
+
pattern=${ifDefined(this.pattern)}
|
|
254
|
+
placeholder=${ifDefined(this.placeholder)}
|
|
255
|
+
?readonly=${this.readonly}
|
|
256
|
+
?required=${this.required}
|
|
257
|
+
step=${ifDefined(this.step)}
|
|
258
|
+
.value=${this._value}
|
|
259
|
+
@blur=${this._onBlur}
|
|
260
|
+
@change=${this._onChange}
|
|
261
|
+
@focus=${this._onFocus}
|
|
262
|
+
@input=${this._onInput}
|
|
263
|
+
@keydown=${this._onKeyDown}
|
|
264
|
+
>
|
|
265
|
+
<slot name="content-after"></slot>
|
|
266
|
+
</div>
|
|
271
267
|
`;
|
|
272
268
|
}
|
|
273
269
|
};
|
|
@@ -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 {property, query, state} from 'lit/decorators.js';\nimport {ifDefined} from 'lit/directives/if-defined.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport styles from './vscode-textfield.styles.js';\nimport {AssociatedFormControl} from '../includes/AssociatedFormControl.js';\n\ntype InputType =\n | 'color'\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'file'\n | 'month'\n | 'number'\n | 'password'\n | 'search'\n | 'tel'\n | 'text'\n | 'time'\n | 'url'\n | 'week';\n\n/**\n * A simple inline textfield\n *\n * When participating in a form, it supports the `:invalid` pseudo class. Otherwise the error styles\n * can be applied through the `invalid` property.\n *\n * @tag vscode-textfield\n *\n * @slot content-before - A slot before the editable area but inside of the component. It is used to place icons.\n * @slot content-after - A slot after the editable area but inside of the component. It is used to place icons.\n *\n * @fires {InputEvent} input\n * @fires {Event} change\n *\n * @cssprop [--vscode-settings-textInputBackground=#313131]\n * @cssprop [--vscode-settings-textInputBorder=var(--vscode-settings-textInputBackground, #3c3c3c)]\n * @cssprop [--vscode-settings-textInputForeground=#cccccc]\n * @cssprop [--vscode-settings-textInputBackground=#313131]\n * @cssprop [--vscode-focusBorder=#0078d4]\n * @cssprop [--vscode-font-family=sans-serif] - A sans-serif font type depends on the host OS.\n * @cssprop [--vscode-font-size=13px]\n * @cssprop [--vscode-font-weight=normal]\n * @cssprop [--vscode-inputValidation-errorBorder=#be1100]\n * @cssprop [--vscode-inputValidation-errorBackground=#5a1d1d]\n * @cssprop [--vscode-input-placeholderForeground=#989898]\n * @cssprop [--vscode-button-background=#0078d4]\n * @cssprop [--vscode-button-foreground=#ffffff]\n * @cssprop [--vscode-button-hoverBackground=#026ec1]\n */\n@customElement('vscode-textfield')\nexport class VscodeTextfield\n extends VscElement\n implements AssociatedFormControl\n{\n static override styles = styles;\n\n /** @internal */\n static formAssociated = true;\n\n /** @internal */\n static override shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n @property()\n autocomplete: 'on' | 'off' | undefined = undefined;\n\n @property({type: Boolean, reflect: true})\n override autofocus = false;\n\n @property({attribute: 'default-value'})\n defaultValue = '';\n\n @property({type: Boolean, reflect: true})\n disabled = false;\n\n @property({type: Boolean, reflect: true})\n focused = false;\n\n /**\n * Set error styles on the component. This is only intended to apply styles when custom error\n * validation is implemented. To check whether the component is valid, use the checkValidity method.\n */\n @property({type: Boolean, reflect: true})\n invalid = false;\n\n /**\n * @internal\n * Set `aria-label` for the inner input element. Should not be set,\n * vscode-label will do it automatically.\n */\n @property({attribute: false})\n label = '';\n\n @property({type: Number})\n max: number | undefined = undefined;\n\n @property({type: Number})\n maxLength: number | undefined = undefined;\n\n @property({type: Number})\n min: number | undefined = undefined;\n\n @property({type: Number})\n minLength: number | undefined = undefined;\n\n @property({type: Boolean, reflect: true})\n multiple = false;\n\n @property({reflect: true})\n name: string | undefined = undefined;\n\n /**\n * Specifies a regular expression the form control's value should match.\n * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/pattern)\n */\n @property()\n pattern: string | undefined = undefined;\n\n @property()\n placeholder: string | undefined = undefined;\n\n @property({type: Boolean, reflect: true})\n readonly = false;\n\n @property({type: Boolean, reflect: true})\n required = false;\n\n @property({type: Number})\n step: number | undefined = undefined;\n\n /**\n * Same as the `type` of the native `<input>` element but only a subset of types are supported.\n * The supported ones are: `color`,`date`,`datetime-local`,`email`,`file`,`month`,`number`,`password`,`search`,`tel`,`text`,`time`,`url`,`week`\n */\n @property({reflect: true})\n set type(val: InputType) {\n const validTypes: InputType[] = [\n 'color',\n 'date',\n 'datetime-local',\n 'email',\n 'file',\n 'month',\n 'number',\n 'password',\n 'search',\n 'tel',\n 'text',\n 'time',\n 'url',\n 'week',\n ];\n\n this._type = (\n validTypes.includes(val as InputType) ? val : 'text'\n ) as InputType;\n }\n get type(): InputType {\n return this._type;\n }\n\n @property()\n set value(val: string) {\n if (this.type !== 'file') {\n this._value = val;\n this._internals.setFormValue(val);\n }\n\n this.updateComplete.then(() => {\n this._setValidityFromInput();\n });\n }\n get value(): string {\n return this._value;\n }\n\n /**\n * Lowercase alias to minLength\n */\n set minlength(val: number) {\n this.minLength = val;\n }\n\n get minlength(): number | undefined {\n return this.minLength;\n }\n\n /**\n * Lowercase alias to maxLength\n */\n set maxlength(val: number) {\n this.maxLength = val;\n }\n\n get maxlength(): number | undefined {\n return this.maxLength;\n }\n\n get form(): HTMLFormElement | null {\n return this._internals.form;\n }\n\n get validity(): ValidityState {\n return this._internals.validity;\n }\n\n get validationMessage() {\n return this._internals.validationMessage;\n }\n\n get willValidate() {\n return this._internals.willValidate;\n }\n\n /**\n * Check the component's validity state when built-in validation is used.\n * Built-in validation is triggered when any validation-related attribute is set. Validation-related\n * attributes are: `max, maxlength, min, minlength, pattern, required, step`.\n * See this [the MDN reference](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/checkValidity) for more details.\n * @returns {boolean}\n */\n checkValidity(): boolean {\n this._setValidityFromInput();\n return this._internals.checkValidity();\n }\n\n reportValidity() {\n this._setValidityFromInput();\n return this._internals.reportValidity();\n }\n\n get wrappedElement(): HTMLInputElement {\n return this._inputEl;\n }\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this.updateComplete.then(() => {\n this._inputEl.checkValidity();\n this._setValidityFromInput();\n this._internals.setFormValue(this._inputEl.value);\n });\n }\n\n override attributeChangedCallback(\n name: string,\n old: string | null,\n value: string | null\n ): void {\n super.attributeChangedCallback(name, old, value);\n\n const validationRelatedAttributes = [\n 'max',\n 'maxlength',\n 'min',\n 'minlength',\n 'pattern',\n 'required',\n 'step',\n ];\n\n if (validationRelatedAttributes.includes(name)) {\n this.updateComplete.then(() => {\n this._setValidityFromInput();\n });\n }\n }\n\n /** @internal */\n formResetCallback(): void {\n this.value = this.defaultValue;\n this.requestUpdate();\n }\n\n /** @internal */\n formStateRestoreCallback(\n state: string,\n _mode: 'restore' | 'autocomplete'\n ): void {\n this.value = state;\n }\n\n @query('#input')\n private _inputEl!: HTMLInputElement;\n\n @state()\n private _value = '';\n\n @state()\n private _type: InputType = 'text';\n\n private _internals: ElementInternals;\n\n private _dataChanged() {\n this._value = this._inputEl.value;\n\n if (this.type === 'file' && this._inputEl.files) {\n for (const f of this._inputEl.files) {\n this._internals.setFormValue(f);\n }\n } else {\n this._internals.setFormValue(this._inputEl.value);\n }\n }\n\n private _setValidityFromInput() {\n if (this._inputEl) {\n this._internals.setValidity(\n this._inputEl.validity,\n this._inputEl.validationMessage,\n this._inputEl\n );\n }\n }\n\n private _onInput(ev: InputEvent) {\n this._dataChanged();\n this._setValidityFromInput();\n\n // native input event dispatched automatically\n /** @deprecated */\n this.dispatchEvent(\n new CustomEvent('vsc-input', {detail: {data: ev.data, originalEvent: ev}})\n );\n }\n\n private _onChange(ev: Event) {\n this._dataChanged();\n this._setValidityFromInput();\n this.dispatchEvent(new Event('change'));\n /** @deprecated */\n this.dispatchEvent(\n new CustomEvent<{data: string; originalEvent: Event}>('vsc-change', {\n detail: {data: this.value, originalEvent: ev},\n })\n );\n }\n\n private _onFocus() {\n this.focused = true;\n }\n\n private _onBlur() {\n this.focused = false;\n }\n\n private _onKeyDown(ev: KeyboardEvent) {\n if (ev.key === 'Enter' && this._internals.form) {\n this._internals.form?.requestSubmit();\n }\n }\n\n override render(): TemplateResult {\n return html`\n <slot name=\"content-before\"></slot>\n <input\n id=\"input\"\n type=${this.type}\n ?autofocus=${this.autofocus}\n autocomplete=${ifDefined(this.autocomplete)}\n aria-label=${this.label}\n ?disabled=${this.disabled}\n max=${ifDefined(this.max)}\n maxlength=${ifDefined(this.maxLength)}\n min=${ifDefined(this.min)}\n minlength=${ifDefined(this.minLength)}\n ?multiple=${this.multiple}\n name=${ifDefined(this.name)}\n pattern=${ifDefined(this.pattern)}\n placeholder=${ifDefined(this.placeholder)}\n ?readonly=${this.readonly}\n ?required=${this.required}\n step=${ifDefined(this.step)}\n .value=${this._value}\n @blur=${this._onBlur}\n @change=${this._onChange}\n @focus=${this._onFocus}\n @input=${this._onInput}\n @keydown=${this._onKeyDown}\n >\n <slot name=\"content-after\"></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-textfield': VscodeTextfield;\n }\n}\n"]}
|
|
1
|
+
{"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() {\n this._dataChanged();\n this._setValidityFromInput();\n // native input event dispatched automatically\n }\n\n private _onChange() {\n this._dataChanged();\n this._setValidityFromInput();\n this.dispatchEvent(new Event('change'));\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 <div class=\"root\">\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 </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-textfield': VscodeTextfield;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-textfield.styles.d.ts","sourceRoot":"","sources":["../../src/vscode-textfield/vscode-textfield.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,cAAc,EAAY,MAAM,KAAK,CAAC;AAMnD,QAAA,MAAM,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"vscode-textfield.styles.d.ts","sourceRoot":"","sources":["../../src/vscode-textfield/vscode-textfield.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,cAAc,EAAY,MAAM,KAAK,CAAC;AAMnD,QAAA,MAAM,MAAM,EAAE,cA2Gb,CAAC;AAEF,eAAe,MAAM,CAAC"}
|