@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.
Files changed (162) hide show
  1. package/custom-elements.json +1038 -855
  2. package/dist/bundled.js +388 -292
  3. package/dist/includes/VscElement.d.ts.map +1 -1
  4. package/dist/includes/VscElement.js +2 -5
  5. package/dist/includes/VscElement.js.map +1 -1
  6. package/dist/includes/form-button-widget/base.styles.d.ts.map +1 -1
  7. package/dist/includes/form-button-widget/base.styles.js +8 -9
  8. package/dist/includes/form-button-widget/base.styles.js.map +1 -1
  9. package/dist/includes/test-helpers.d.ts +11 -0
  10. package/dist/includes/test-helpers.d.ts.map +1 -1
  11. package/dist/includes/test-helpers.js +36 -0
  12. package/dist/includes/test-helpers.js.map +1 -1
  13. package/dist/includes/vscode-select/styles.d.ts.map +1 -1
  14. package/dist/includes/vscode-select/styles.js +4 -3
  15. package/dist/includes/vscode-select/styles.js.map +1 -1
  16. package/dist/vscode-badge/vscode-badge.js +1 -1
  17. package/dist/vscode-badge/vscode-badge.js.map +1 -1
  18. package/dist/vscode-badge/vscode-badge.styles.d.ts.map +1 -1
  19. package/dist/vscode-badge/vscode-badge.styles.js +8 -4
  20. package/dist/vscode-badge/vscode-badge.styles.js.map +1 -1
  21. package/dist/vscode-button/vscode-button.d.ts +0 -2
  22. package/dist/vscode-button/vscode-button.d.ts.map +1 -1
  23. package/dist/vscode-button/vscode-button.js +10 -24
  24. package/dist/vscode-button/vscode-button.js.map +1 -1
  25. package/dist/vscode-button/vscode-button.styles.d.ts.map +1 -1
  26. package/dist/vscode-button/vscode-button.styles.js +31 -18
  27. package/dist/vscode-button/vscode-button.styles.js.map +1 -1
  28. package/dist/vscode-button-group/vscode-button-group.d.ts.map +1 -1
  29. package/dist/vscode-button-group/vscode-button-group.js +2 -3
  30. package/dist/vscode-button-group/vscode-button-group.js.map +1 -1
  31. package/dist/vscode-button-group/vscode-button-group.styles.d.ts.map +1 -1
  32. package/dist/vscode-button-group/vscode-button-group.styles.js +17 -13
  33. package/dist/vscode-button-group/vscode-button-group.styles.js.map +1 -1
  34. package/dist/vscode-checkbox/vscode-checkbox.d.ts.map +1 -1
  35. package/dist/vscode-checkbox/vscode-checkbox.js +0 -10
  36. package/dist/vscode-checkbox/vscode-checkbox.js.map +1 -1
  37. package/dist/vscode-collapsible/vscode-collapsible.d.ts +11 -2
  38. package/dist/vscode-collapsible/vscode-collapsible.d.ts.map +1 -1
  39. package/dist/vscode-collapsible/vscode-collapsible.js +16 -4
  40. package/dist/vscode-collapsible/vscode-collapsible.js.map +1 -1
  41. package/dist/vscode-context-menu/vscode-context-menu.d.ts +0 -1
  42. package/dist/vscode-context-menu/vscode-context-menu.d.ts.map +1 -1
  43. package/dist/vscode-context-menu/vscode-context-menu.js +0 -18
  44. package/dist/vscode-context-menu/vscode-context-menu.js.map +1 -1
  45. package/dist/vscode-context-menu/vscode-context-menu.styles.js +4 -4
  46. package/dist/vscode-context-menu/vscode-context-menu.styles.js.map +1 -1
  47. package/dist/vscode-context-menu-item/vscode-context-menu-item.styles.js +4 -4
  48. package/dist/vscode-context-menu-item/vscode-context-menu-item.styles.js.map +1 -1
  49. package/dist/vscode-divider/vscode-divider.js +1 -1
  50. package/dist/vscode-divider/vscode-divider.js.map +1 -1
  51. package/dist/vscode-divider/vscode-divider.styles.d.ts.map +1 -1
  52. package/dist/vscode-divider/vscode-divider.styles.js +5 -2
  53. package/dist/vscode-divider/vscode-divider.styles.js.map +1 -1
  54. package/dist/vscode-form-container/vscode-form-container.d.ts +0 -5
  55. package/dist/vscode-form-container/vscode-form-container.d.ts.map +1 -1
  56. package/dist/vscode-form-container/vscode-form-container.js +0 -63
  57. package/dist/vscode-form-container/vscode-form-container.js.map +1 -1
  58. package/dist/vscode-label/vscode-label.styles.js +6 -6
  59. package/dist/vscode-label/vscode-label.styles.js.map +1 -1
  60. package/dist/vscode-multi-select/vscode-multi-select.d.ts.map +1 -1
  61. package/dist/vscode-multi-select/vscode-multi-select.js +0 -7
  62. package/dist/vscode-multi-select/vscode-multi-select.js.map +1 -1
  63. package/dist/vscode-progress-ring/vscode-progress-ring.styles.d.ts.map +1 -1
  64. package/dist/vscode-progress-ring/vscode-progress-ring.styles.js +0 -1
  65. package/dist/vscode-progress-ring/vscode-progress-ring.styles.js.map +1 -1
  66. package/dist/vscode-radio/vscode-radio.d.ts +0 -1
  67. package/dist/vscode-radio/vscode-radio.d.ts.map +1 -1
  68. package/dist/vscode-radio/vscode-radio.js +0 -14
  69. package/dist/vscode-radio/vscode-radio.js.map +1 -1
  70. package/dist/vscode-scrollable/vscode-scrollable.d.ts +0 -1
  71. package/dist/vscode-scrollable/vscode-scrollable.d.ts.map +1 -1
  72. package/dist/vscode-scrollable/vscode-scrollable.js +7 -9
  73. package/dist/vscode-scrollable/vscode-scrollable.js.map +1 -1
  74. package/dist/vscode-single-select/vscode-single-select.d.ts +0 -1
  75. package/dist/vscode-single-select/vscode-single-select.d.ts.map +1 -1
  76. package/dist/vscode-single-select/vscode-single-select.js +0 -10
  77. package/dist/vscode-single-select/vscode-single-select.js.map +1 -1
  78. package/dist/vscode-tab-header/vscode-tab-header.d.ts +5 -6
  79. package/dist/vscode-tab-header/vscode-tab-header.d.ts.map +1 -1
  80. package/dist/vscode-tab-header/vscode-tab-header.js +5 -6
  81. package/dist/vscode-tab-header/vscode-tab-header.js.map +1 -1
  82. package/dist/vscode-tab-header/vscode-tab-header.styles.d.ts.map +1 -1
  83. package/dist/vscode-tab-header/vscode-tab-header.styles.js +19 -12
  84. package/dist/vscode-tab-header/vscode-tab-header.styles.js.map +1 -1
  85. package/dist/vscode-tab-panel/vscode-tab-panel.d.ts +2 -2
  86. package/dist/vscode-tab-panel/vscode-tab-panel.js +2 -2
  87. package/dist/vscode-tab-panel/vscode-tab-panel.js.map +1 -1
  88. package/dist/vscode-tab-panel/vscode-tab-panel.styles.js +2 -2
  89. package/dist/vscode-tab-panel/vscode-tab-panel.styles.js.map +1 -1
  90. package/dist/vscode-table/vscode-table.d.ts +3 -7
  91. package/dist/vscode-table/vscode-table.d.ts.map +1 -1
  92. package/dist/vscode-table/vscode-table.js +3 -7
  93. package/dist/vscode-table/vscode-table.js.map +1 -1
  94. package/dist/vscode-table/vscode-table.styles.d.ts.map +1 -1
  95. package/dist/vscode-table/vscode-table.styles.js +17 -5
  96. package/dist/vscode-table/vscode-table.styles.js.map +1 -1
  97. package/dist/vscode-table-body/vscode-table-body.d.ts +0 -2
  98. package/dist/vscode-table-body/vscode-table-body.d.ts.map +1 -1
  99. package/dist/vscode-table-body/vscode-table-body.js +0 -2
  100. package/dist/vscode-table-body/vscode-table-body.js.map +1 -1
  101. package/dist/vscode-table-cell/vscode-table-cell.d.ts +4 -4
  102. package/dist/vscode-table-cell/vscode-table-cell.js +4 -4
  103. package/dist/vscode-table-cell/vscode-table-cell.js.map +1 -1
  104. package/dist/vscode-table-cell/vscode-table-cell.styles.d.ts.map +1 -1
  105. package/dist/vscode-table-cell/vscode-table-cell.styles.js +7 -4
  106. package/dist/vscode-table-cell/vscode-table-cell.styles.js.map +1 -1
  107. package/dist/vscode-table-header/vscode-table-header.d.ts +1 -1
  108. package/dist/vscode-table-header/vscode-table-header.js +1 -1
  109. package/dist/vscode-table-header/vscode-table-header.js.map +1 -1
  110. package/dist/vscode-table-header/vscode-table-header.styles.d.ts.map +1 -1
  111. package/dist/vscode-table-header/vscode-table-header.styles.js +4 -1
  112. package/dist/vscode-table-header/vscode-table-header.styles.js.map +1 -1
  113. package/dist/vscode-table-header-cell/vscode-table-header-cell.d.ts +3 -3
  114. package/dist/vscode-table-header-cell/vscode-table-header-cell.js +3 -3
  115. package/dist/vscode-table-header-cell/vscode-table-header-cell.js.map +1 -1
  116. package/dist/vscode-table-header-cell/vscode-table-header-cell.styles.js +3 -3
  117. package/dist/vscode-table-header-cell/vscode-table-header-cell.styles.js.map +1 -1
  118. package/dist/vscode-table-row/vscode-table-row.d.ts +1 -1
  119. package/dist/vscode-table-row/vscode-table-row.js +1 -1
  120. package/dist/vscode-table-row/vscode-table-row.js.map +1 -1
  121. package/dist/vscode-table-row/vscode-table-row.styles.d.ts.map +1 -1
  122. package/dist/vscode-table-row/vscode-table-row.styles.js +4 -1
  123. package/dist/vscode-table-row/vscode-table-row.styles.js.map +1 -1
  124. package/dist/vscode-tabs/vscode-tabs.d.ts +5 -7
  125. package/dist/vscode-tabs/vscode-tabs.d.ts.map +1 -1
  126. package/dist/vscode-tabs/vscode-tabs.js +12 -18
  127. package/dist/vscode-tabs/vscode-tabs.js.map +1 -1
  128. package/dist/vscode-tabs/vscode-tabs.styles.d.ts.map +1 -1
  129. package/dist/vscode-tabs/vscode-tabs.styles.js +10 -5
  130. package/dist/vscode-tabs/vscode-tabs.styles.js.map +1 -1
  131. package/dist/vscode-textarea/vscode-textarea.d.ts.map +1 -1
  132. package/dist/vscode-textarea/vscode-textarea.js +2 -10
  133. package/dist/vscode-textarea/vscode-textarea.js.map +1 -1
  134. package/dist/vscode-textarea/vscode-textarea.styles.js +1 -1
  135. package/dist/vscode-textarea/vscode-textarea.styles.js.map +1 -1
  136. package/dist/vscode-textfield/vscode-textfield.d.ts.map +1 -1
  137. package/dist/vscode-textfield/vscode-textfield.js +31 -35
  138. package/dist/vscode-textfield/vscode-textfield.js.map +1 -1
  139. package/dist/vscode-textfield/vscode-textfield.styles.d.ts.map +1 -1
  140. package/dist/vscode-textfield/vscode-textfield.styles.js +8 -3
  141. package/dist/vscode-textfield/vscode-textfield.styles.js.map +1 -1
  142. package/dist/vscode-toolbar-container/vscode-toolbar-container.js +1 -1
  143. package/dist/vscode-toolbar-container/vscode-toolbar-container.js.map +1 -1
  144. package/dist/vscode-toolbar-container/vscode-toolbar-container.styles.d.ts.map +1 -1
  145. package/dist/vscode-toolbar-container/vscode-toolbar-container.styles.js +4 -0
  146. package/dist/vscode-toolbar-container/vscode-toolbar-container.styles.js.map +1 -1
  147. package/dist/vscode-tree/vscode-tree.d.ts +18 -17
  148. package/dist/vscode-tree/vscode-tree.d.ts.map +1 -1
  149. package/dist/vscode-tree/vscode-tree.js +32 -36
  150. package/dist/vscode-tree/vscode-tree.js.map +1 -1
  151. package/dist/vscode-tree/vscode-tree.styles.d.ts.map +1 -1
  152. package/dist/vscode-tree/vscode-tree.styles.js +13 -6
  153. package/dist/vscode-tree/vscode-tree.styles.js.map +1 -1
  154. package/dist/vscode-tree-item/vscode-tree-item.d.ts.map +1 -1
  155. package/dist/vscode-tree-item/vscode-tree-item.js +2 -2
  156. package/dist/vscode-tree-item/vscode-tree-item.js.map +1 -1
  157. package/dist/vscode-tree-item/vscode-tree-item.styles.d.ts.map +1 -1
  158. package/dist/vscode-tree-item/vscode-tree-item.styles.js +25 -10
  159. package/dist/vscode-tree-item/vscode-tree-item.styles.js.map +1 -1
  160. package/package.json +1 -1
  161. package/vscode.css-custom-data.json +35 -31
  162. 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,cAWb,CAAC;AAEF,eAAe,MAAM,CAAC"}
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(--vscode-editorGroup-border);
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;;;;;;;;GAQF;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(--vscode-editorGroup-border);\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"]}
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;IAEd,gBAAgB;IAEP,IAAI,SAAa;IAG1B,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;IAqB5B,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;CAalC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;IAED,UAAU,2BAA2B;QACnC,iBAAiB,EAAE,kBAAkB,CAAC;KACvC;CACF"}
1
+ {"version":3,"file":"vscode-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
- <slot name="header" @slotchange=${this._onHeaderSlotChange}></slot>
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,cAmCb,CAAC;AAEF,eAAe,MAAM,CAAC"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCF;CACF,CAAC;AAEF,eAAe,MAAM,CAAC","sourcesContent":["import {css, CSSResultGroup} from 'lit';\nimport defaultStyles from '../includes/default.styles.js';\n\nconst styles: CSSResultGroup = [\n defaultStyles,\n css`\n :host {\n display: block;\n }\n\n .header {\n align-items: center;\n display: flex;\n font-family: var(--vscode-font-family);\n font-size: var(--vscode-font-size);\n font-weight: var(--vscode-font-weight);\n width: 100%;\n }\n\n .header {\n border-bottom-color: var(--vscode-settings-headerBorder);\n border-bottom-style: solid;\n border-bottom-width: 1px;\n }\n\n .header.panel {\n background-color: var(--vscode-panel-background);\n border-bottom-width: 0;\n box-sizing: border-box;\n padding-left: 8px;\n padding-right: 8px;\n }\n\n slot[name='addons'] {\n display: block;\n margin-left: auto;\n }\n `,\n];\n\nexport default styles;\n"]}
1
+ {"version":3,"file":"vscode-tabs.styles.js","sourceRoot":"","sources":["../../src/vscode-tabs/vscode-tabs.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAiB,MAAM,KAAK,CAAC;AACxC,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAE1D,MAAM,MAAM,GAAmB;IAC7B,aAAa;IACb,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCF;CACF,CAAC;AAEF,eAAe,MAAM,CAAC","sourcesContent":["import {css, CSSResultGroup} from 'lit';\nimport defaultStyles from '../includes/default.styles.js';\n\nconst styles: CSSResultGroup = [\n defaultStyles,\n css`\n :host {\n display: block;\n }\n\n .header {\n align-items: center;\n display: flex;\n font-family: var(--vscode-font-family, sans-serif);\n font-size: var(--vscode-font-size, 13px);\n font-weight: var(--vscode-font-weight, normal);\n width: 100%;\n }\n\n .header {\n border-bottom-color: var(--vscode-settings-headerBorder, #2b2b2b);\n border-bottom-style: solid;\n border-bottom-width: 1px;\n }\n\n .header.panel {\n background-color: var(--vscode-panel-background, #181818);\n border-bottom-width: 0;\n box-sizing: border-box;\n padding-left: 8px;\n padding-right: 8px;\n }\n\n .tablist {\n display: flex;\n margin-bottom: -1px;\n }\n\n slot[name='addons'] {\n display: block;\n margin-left: auto;\n }\n `,\n];\n\nexport default styles;\n"]}
@@ -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;IAYrB,OAAO,CAAC,YAAY;IAWpB,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"}
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(ev) {
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(ev) {
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":"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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() {\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"]}
@@ -5,7 +5,7 @@ const styles = [
5
5
  css `
6
6
  :host {
7
7
  display: inline-block;
8
- height: 40px;
8
+ height: auto;
9
9
  position: relative;
10
10
  width: 320px;
11
11
  }
@@ -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: 40px;\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
+ {"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":"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"}
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(ev) {
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(ev) {
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
- <slot name="content-before"></slot>
245
- <input
246
- id="input"
247
- type=${this.type}
248
- ?autofocus=${this.autofocus}
249
- autocomplete=${ifDefined(this.autocomplete)}
250
- aria-label=${this.label}
251
- ?disabled=${this.disabled}
252
- max=${ifDefined(this.max)}
253
- maxlength=${ifDefined(this.maxLength)}
254
- min=${ifDefined(this.min)}
255
- minlength=${ifDefined(this.minLength)}
256
- ?multiple=${this.multiple}
257
- name=${ifDefined(this.name)}
258
- pattern=${ifDefined(this.pattern)}
259
- placeholder=${ifDefined(this.placeholder)}
260
- ?readonly=${this.readonly}
261
- ?required=${this.required}
262
- step=${ifDefined(this.step)}
263
- .value=${this._value}
264
- @blur=${this._onBlur}
265
- @change=${this._onChange}
266
- @focus=${this._onFocus}
267
- @input=${this._onInput}
268
- @keydown=${this._onKeyDown}
269
- >
270
- <slot name="content-after"></slot>
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":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAC;AACrD,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACpE,OAAO,MAAM,MAAM,8BAA8B,CAAC;AAmBlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEI,IAAM,eAAe,GAArB,MAAM,eACX,SAAQ,UAAU;IAiFlB;;;OAGG;IAEH,IAAI,IAAI,CAAC,GAAc;QACrB,MAAM,UAAU,GAAgB;YAC9B,OAAO;YACP,MAAM;YACN,gBAAgB;YAChB,OAAO;YACP,MAAM;YACN,OAAO;YACP,QAAQ;YACR,UAAU;YACV,QAAQ;YACR,KAAK;YACL,MAAM;YACN,MAAM;YACN,KAAK;YACL,MAAM;SACP,CAAC;QAEF,IAAI,CAAC,KAAK,GAAG,CACX,UAAU,CAAC,QAAQ,CAAC,GAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CACxC,CAAC;IACjB,CAAC;IACD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAGD,IAAI,KAAK,CAAC,GAAW;QACnB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;YAClB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,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;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC9B,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;;;;;;OAMG;IACH,aAAa;QACX,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QA5KV,iBAAY,GAA6B,SAAS,CAAC;QAG1C,cAAS,GAAG,KAAK,CAAC;QAG3B,iBAAY,GAAG,EAAE,CAAC;QAGlB,aAAQ,GAAG,KAAK,CAAC;QAGjB,YAAO,GAAG,KAAK,CAAC;QAEhB;;;WAGG;QAEH,YAAO,GAAG,KAAK,CAAC;QAEhB;;;;WAIG;QAEH,UAAK,GAAG,EAAE,CAAC;QAGX,QAAG,GAAuB,SAAS,CAAC;QAGpC,cAAS,GAAuB,SAAS,CAAC;QAG1C,QAAG,GAAuB,SAAS,CAAC;QAGpC,cAAS,GAAuB,SAAS,CAAC;QAG1C,aAAQ,GAAG,KAAK,CAAC;QAGjB,SAAI,GAAuB,SAAS,CAAC;QAErC;;;WAGG;QAEH,YAAO,GAAuB,SAAS,CAAC;QAGxC,gBAAW,GAAuB,SAAS,CAAC;QAG5C,aAAQ,GAAG,KAAK,CAAC;QAGjB,aAAQ,GAAG,KAAK,CAAC;QAGjB,SAAI,GAAuB,SAAS,CAAC;QAoK7B,WAAM,GAAG,EAAE,CAAC;QAGZ,UAAK,GAAc,MAAM,CAAC;QA1DhC,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,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC9B,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;IAEQ,wBAAwB,CAC/B,IAAY,EACZ,GAAkB,EAClB,KAAoB;QAEpB,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAEjD,MAAM,2BAA2B,GAAG;YAClC,KAAK;YACL,WAAW;YACX,KAAK;YACL,WAAW;YACX,SAAS;YACT,UAAU;YACV,MAAM;SACP,CAAC;QAEF,IAAI,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,iBAAiB;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,gBAAgB;IAChB,wBAAwB,CACtB,KAAa,EACb,KAAiC;QAEjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAaO,YAAY;QAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAElC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YAChD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACpC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAEO,qBAAqB;QAC3B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,CAAC,WAAW,CACzB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EACtB,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAC/B,IAAI,CAAC,QAAQ,CACd,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,QAAQ;QACd,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,8CAA8C;IAChD,CAAC;IAEO,SAAS;QACf,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,QAAQ;QACd,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAEO,OAAO;QACb,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAEO,UAAU,CAAC,EAAiB;QAClC,IAAI,EAAE,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC;QACxC,CAAC;IACH,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAA;;;;;iBAKE,IAAI,CAAC,IAAI;uBACH,IAAI,CAAC,SAAS;yBACZ,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;uBAC9B,IAAI,CAAC,KAAK;sBACX,IAAI,CAAC,QAAQ;gBACnB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;sBACb,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC/B,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;sBACb,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;sBACzB,IAAI,CAAC,QAAQ;iBAClB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;oBACjB,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;wBACnB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;sBAC7B,IAAI,CAAC,QAAQ;sBACb,IAAI,CAAC,QAAQ;iBAClB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;mBAClB,IAAI,CAAC,MAAM;kBACZ,IAAI,CAAC,OAAO;oBACV,IAAI,CAAC,SAAS;mBACf,IAAI,CAAC,QAAQ;mBACb,IAAI,CAAC,QAAQ;qBACX,IAAI,CAAC,UAAU;;;;KAI/B,CAAC;IACJ,CAAC;;AAvUe,sBAAM,GAAG,MAAM,AAAT,CAAU;AAEhC,gBAAgB;AACT,8BAAc,GAAG,IAAI,AAAP,CAAQ;AAE7B,gBAAgB;AACA,iCAAiB,GAAmB;IAClD,GAAG,UAAU,CAAC,iBAAiB;IAC/B,cAAc,EAAE,IAAI;CACrB,AAHgC,CAG/B;AAGF;IADC,QAAQ,EAAE;qDACwC;AAG1C;IADR,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;kDACd;AAG3B;IADC,QAAQ,CAAC,EAAC,SAAS,EAAE,eAAe,EAAC,CAAC;qDACrB;AAGlB;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;iDACxB;AAGjB;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;gDACzB;AAOhB;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;gDACzB;AAQhB;IADC,QAAQ,CAAC,EAAC,SAAS,EAAE,KAAK,EAAC,CAAC;8CAClB;AAGX;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;4CACW;AAGpC;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;kDACiB;AAG1C;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;4CACW;AAGpC;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;kDACiB;AAG1C;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;iDACxB;AAGjB;IADC,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;6CACW;AAOrC;IADC,QAAQ,EAAE;gDAC6B;AAGxC;IADC,QAAQ,EAAE;oDACiC;AAG5C;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;iDACxB;AAGjB;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;iDACxB;AAGjB;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;6CACY;AAOrC;IADC,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;2CAsBzB;AAMD;IADC,QAAQ,EAAE;4CAUV;AAsHO;IADP,KAAK,CAAC,QAAQ,CAAC;iDACoB;AAG5B;IADP,KAAK,EAAE;+CACY;AAGZ;IADP,KAAK,EAAE;8CAC0B;AAvPvB,eAAe;IAD3B,aAAa,CAAC,kBAAkB,CAAC;GACrB,eAAe,CA4U3B","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,cAsGb,CAAC;AAEF,eAAe,MAAM,CAAC"}
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"}