@vscode-elements/elements 2.0.0-pre.2 → 2.0.0-pre.4

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 (120) hide show
  1. package/custom-elements.json +4772 -4593
  2. package/dist/bundled.js +417 -347
  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/vscode-badge/vscode-badge.js +1 -1
  14. package/dist/vscode-badge/vscode-badge.js.map +1 -1
  15. package/dist/vscode-badge/vscode-badge.styles.d.ts.map +1 -1
  16. package/dist/vscode-badge/vscode-badge.styles.js +8 -4
  17. package/dist/vscode-badge/vscode-badge.styles.js.map +1 -1
  18. package/dist/vscode-button/vscode-button.d.ts +0 -2
  19. package/dist/vscode-button/vscode-button.d.ts.map +1 -1
  20. package/dist/vscode-button/vscode-button.js +10 -24
  21. package/dist/vscode-button/vscode-button.js.map +1 -1
  22. package/dist/vscode-button/vscode-button.styles.d.ts.map +1 -1
  23. package/dist/vscode-button/vscode-button.styles.js +31 -18
  24. package/dist/vscode-button/vscode-button.styles.js.map +1 -1
  25. package/dist/vscode-button-group/vscode-button-group.d.ts.map +1 -1
  26. package/dist/vscode-button-group/vscode-button-group.js +2 -3
  27. package/dist/vscode-button-group/vscode-button-group.js.map +1 -1
  28. package/dist/vscode-button-group/vscode-button-group.styles.d.ts.map +1 -1
  29. package/dist/vscode-button-group/vscode-button-group.styles.js +17 -13
  30. package/dist/vscode-button-group/vscode-button-group.styles.js.map +1 -1
  31. package/dist/vscode-checkbox/vscode-checkbox.d.ts.map +1 -1
  32. package/dist/vscode-checkbox/vscode-checkbox.js +0 -10
  33. package/dist/vscode-checkbox/vscode-checkbox.js.map +1 -1
  34. package/dist/vscode-context-menu/vscode-context-menu.d.ts +0 -1
  35. package/dist/vscode-context-menu/vscode-context-menu.d.ts.map +1 -1
  36. package/dist/vscode-context-menu/vscode-context-menu.js +0 -18
  37. package/dist/vscode-context-menu/vscode-context-menu.js.map +1 -1
  38. package/dist/vscode-context-menu/vscode-context-menu.styles.js +4 -4
  39. package/dist/vscode-context-menu/vscode-context-menu.styles.js.map +1 -1
  40. package/dist/vscode-context-menu-item/vscode-context-menu-item.styles.js +4 -4
  41. package/dist/vscode-context-menu-item/vscode-context-menu-item.styles.js.map +1 -1
  42. package/dist/vscode-divider/vscode-divider.js +1 -1
  43. package/dist/vscode-divider/vscode-divider.js.map +1 -1
  44. package/dist/vscode-divider/vscode-divider.styles.d.ts.map +1 -1
  45. package/dist/vscode-divider/vscode-divider.styles.js +5 -2
  46. package/dist/vscode-divider/vscode-divider.styles.js.map +1 -1
  47. package/dist/vscode-form-container/vscode-form-container.d.ts +0 -5
  48. package/dist/vscode-form-container/vscode-form-container.d.ts.map +1 -1
  49. package/dist/vscode-form-container/vscode-form-container.js +0 -63
  50. package/dist/vscode-form-container/vscode-form-container.js.map +1 -1
  51. package/dist/vscode-label/vscode-label.styles.js +6 -6
  52. package/dist/vscode-label/vscode-label.styles.js.map +1 -1
  53. package/dist/vscode-multi-select/vscode-multi-select.d.ts.map +1 -1
  54. package/dist/vscode-multi-select/vscode-multi-select.js +0 -7
  55. package/dist/vscode-multi-select/vscode-multi-select.js.map +1 -1
  56. package/dist/vscode-progress-ring/vscode-progress-ring.styles.d.ts.map +1 -1
  57. package/dist/vscode-progress-ring/vscode-progress-ring.styles.js +0 -1
  58. package/dist/vscode-progress-ring/vscode-progress-ring.styles.js.map +1 -1
  59. package/dist/vscode-radio/vscode-radio.d.ts +0 -1
  60. package/dist/vscode-radio/vscode-radio.d.ts.map +1 -1
  61. package/dist/vscode-radio/vscode-radio.js +0 -14
  62. package/dist/vscode-radio/vscode-radio.js.map +1 -1
  63. package/dist/vscode-scrollable/vscode-scrollable.d.ts +0 -1
  64. package/dist/vscode-scrollable/vscode-scrollable.d.ts.map +1 -1
  65. package/dist/vscode-scrollable/vscode-scrollable.js +0 -1
  66. package/dist/vscode-scrollable/vscode-scrollable.js.map +1 -1
  67. package/dist/vscode-single-select/vscode-single-select.d.ts +0 -1
  68. package/dist/vscode-single-select/vscode-single-select.d.ts.map +1 -1
  69. package/dist/vscode-single-select/vscode-single-select.js +0 -10
  70. package/dist/vscode-single-select/vscode-single-select.js.map +1 -1
  71. package/dist/vscode-tab-header/vscode-tab-header.styles.d.ts.map +1 -1
  72. package/dist/vscode-tab-header/vscode-tab-header.styles.js +12 -5
  73. package/dist/vscode-tab-header/vscode-tab-header.styles.js.map +1 -1
  74. package/dist/vscode-tabs/vscode-tabs.d.ts +0 -2
  75. package/dist/vscode-tabs/vscode-tabs.d.ts.map +1 -1
  76. package/dist/vscode-tabs/vscode-tabs.js +7 -13
  77. package/dist/vscode-tabs/vscode-tabs.js.map +1 -1
  78. package/dist/vscode-tabs/vscode-tabs.styles.d.ts.map +1 -1
  79. package/dist/vscode-tabs/vscode-tabs.styles.js +5 -0
  80. package/dist/vscode-tabs/vscode-tabs.styles.js.map +1 -1
  81. package/dist/vscode-textarea/vscode-textarea.d.ts.map +1 -1
  82. package/dist/vscode-textarea/vscode-textarea.js +2 -10
  83. package/dist/vscode-textarea/vscode-textarea.js.map +1 -1
  84. package/dist/vscode-textarea/vscode-textarea.styles.js +1 -1
  85. package/dist/vscode-textarea/vscode-textarea.styles.js.map +1 -1
  86. package/dist/vscode-textfield/vscode-textfield.d.ts.map +1 -1
  87. package/dist/vscode-textfield/vscode-textfield.js +31 -35
  88. package/dist/vscode-textfield/vscode-textfield.js.map +1 -1
  89. package/dist/vscode-textfield/vscode-textfield.styles.d.ts.map +1 -1
  90. package/dist/vscode-textfield/vscode-textfield.styles.js +8 -3
  91. package/dist/vscode-textfield/vscode-textfield.styles.js.map +1 -1
  92. package/dist/vscode-toolbar-container/vscode-toolbar-container.js +1 -1
  93. package/dist/vscode-toolbar-container/vscode-toolbar-container.js.map +1 -1
  94. package/dist/vscode-toolbar-container/vscode-toolbar-container.styles.d.ts.map +1 -1
  95. package/dist/vscode-toolbar-container/vscode-toolbar-container.styles.js +4 -0
  96. package/dist/vscode-toolbar-container/vscode-toolbar-container.styles.js.map +1 -1
  97. package/dist/vscode-tree/helpers.d.ts +4 -6
  98. package/dist/vscode-tree/helpers.d.ts.map +1 -1
  99. package/dist/vscode-tree/helpers.js +45 -68
  100. package/dist/vscode-tree/helpers.js.map +1 -1
  101. package/dist/vscode-tree/tree-context.d.ts +5 -5
  102. package/dist/vscode-tree/tree-context.d.ts.map +1 -1
  103. package/dist/vscode-tree/tree-context.js.map +1 -1
  104. package/dist/vscode-tree/vscode-tree.d.ts +63 -7
  105. package/dist/vscode-tree/vscode-tree.d.ts.map +1 -1
  106. package/dist/vscode-tree/vscode-tree.js +112 -62
  107. package/dist/vscode-tree/vscode-tree.js.map +1 -1
  108. package/dist/vscode-tree/vscode-tree.styles.d.ts.map +1 -1
  109. package/dist/vscode-tree/vscode-tree.styles.js +39 -3
  110. package/dist/vscode-tree/vscode-tree.styles.js.map +1 -1
  111. package/dist/vscode-tree-item/vscode-tree-item.d.ts +5 -0
  112. package/dist/vscode-tree-item/vscode-tree-item.d.ts.map +1 -1
  113. package/dist/vscode-tree-item/vscode-tree-item.js +78 -37
  114. package/dist/vscode-tree-item/vscode-tree-item.js.map +1 -1
  115. package/dist/vscode-tree-item/vscode-tree-item.styles.d.ts.map +1 -1
  116. package/dist/vscode-tree-item/vscode-tree-item.styles.js +34 -51
  117. package/dist/vscode-tree-item/vscode-tree-item.styles.js.map +1 -1
  118. package/package.json +3 -3
  119. package/vscode.css-custom-data.json +41 -42
  120. package/vscode.html-custom-data.json +164 -147
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-button-group.d.ts","sourceRoot":"","sources":["../../src/vscode-button-group/vscode-button-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AAEzC,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAGrD;;;;;;;;;;;;;;;;GAgBG;AACH,qBACa,iBAAkB,SAAQ,UAAU;IAC/C,OAAgB,MAAM,+BAAU;IAEvB,MAAM,IAAI,cAAc;CAGlC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,iBAAiB,CAAC;KAC1C;CACF"}
1
+ {"version":3,"file":"vscode-button-group.d.ts","sourceRoot":"","sources":["../../src/vscode-button-group/vscode-button-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AACzC,OAAO,EAAgB,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAGpE;;;;;;;;;;;;;;;;GAgBG;AACH,qBACa,iBAAkB,SAAQ,UAAU;IAC/C,OAAgB,MAAM,+BAAU;IAEvB,MAAM,IAAI,cAAc;CAGlC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,iBAAiB,CAAC;KAC1C;CACF"}
@@ -5,8 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { html } from 'lit';
8
- import { customElement } from 'lit/decorators.js';
9
- import { VscElement } from '../includes/VscElement.js';
8
+ import { customElement, VscElement } from '../includes/VscElement.js';
10
9
  import styles from './vscode-button-group.styles.js';
11
10
  /**
12
11
  * Shows a split button, including several components in a single button. Commonly used to show a button with a dropdown to the right.
@@ -27,7 +26,7 @@ import styles from './vscode-button-group.styles.js';
27
26
  */
28
27
  let VscodeButtonGroup = class VscodeButtonGroup extends VscElement {
29
28
  render() {
30
- return html ` <slot></slot> `;
29
+ return html `<div class="root"><slot></slot></div>`;
31
30
  }
32
31
  };
33
32
  VscodeButtonGroup.styles = styles;
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-button-group.js","sourceRoot":"","sources":["../../src/vscode-button-group/vscode-button-group.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACrD,OAAO,MAAM,MAAM,iCAAiC,CAAC;AAErD;;;;;;;;;;;;;;;;GAgBG;AAEI,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,UAAU;IAGtC,MAAM;QACb,OAAO,IAAI,CAAA,iBAAiB,CAAC;IAC/B,CAAC;;AAJe,wBAAM,GAAG,MAAM,AAAT,CAAU;AADrB,iBAAiB;IAD7B,aAAa,CAAC,qBAAqB,CAAC;GACxB,iBAAiB,CAM7B","sourcesContent":["import {html, TemplateResult} from 'lit';\nimport {customElement} from 'lit/decorators.js';\nimport {VscElement} from '../includes/VscElement.js';\nimport styles from './vscode-button-group.styles.js';\n\n/**\n * Shows a split button, including several components in a single button. Commonly used to show a button with a dropdown to the right.\n *\n * @tag vscode-button-group\n *\n * @cssprop [--vscode-button-background=#0078d4]\n * @cssprop [--vscode-button-foreground=#ffffff]\n * @cssprop [--vscode-button-border=var(--vscode-button-background, rgba(255, 255, 255, 0.07))]\n * @cssprop [--vscode-button-hoverBackground=#026ec1]\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-button-secondaryForeground=#cccccc]\n * @cssprop [--vscode-button-secondaryBackground=#313131]\n * @cssprop [--vscode-button-secondaryHoverBackground=#3c3c3c]\n * @cssprop [--vscode-focusBorder=#0078d4]\n */\n@customElement('vscode-button-group')\nexport class VscodeButtonGroup extends VscElement {\n static override styles = styles;\n\n override render(): TemplateResult {\n return html` <slot></slot> `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-button-group': VscodeButtonGroup;\n }\n}\n"]}
1
+ {"version":3,"file":"vscode-button-group.js","sourceRoot":"","sources":["../../src/vscode-button-group/vscode-button-group.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACpE,OAAO,MAAM,MAAM,iCAAiC,CAAC;AAErD;;;;;;;;;;;;;;;;GAgBG;AAEI,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,UAAU;IAGtC,MAAM;QACb,OAAO,IAAI,CAAA,uCAAuC,CAAC;IACrD,CAAC;;AAJe,wBAAM,GAAG,MAAM,AAAT,CAAU;AADrB,iBAAiB;IAD7B,aAAa,CAAC,qBAAqB,CAAC;GACxB,iBAAiB,CAM7B","sourcesContent":["import {html, TemplateResult} from 'lit';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport styles from './vscode-button-group.styles.js';\n\n/**\n * Shows a split button, including several components in a single button. Commonly used to show a button with a dropdown to the right.\n *\n * @tag vscode-button-group\n *\n * @cssprop [--vscode-button-background=#0078d4]\n * @cssprop [--vscode-button-foreground=#ffffff]\n * @cssprop [--vscode-button-border=var(--vscode-button-background, rgba(255, 255, 255, 0.07))]\n * @cssprop [--vscode-button-hoverBackground=#026ec1]\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-button-secondaryForeground=#cccccc]\n * @cssprop [--vscode-button-secondaryBackground=#313131]\n * @cssprop [--vscode-button-secondaryHoverBackground=#3c3c3c]\n * @cssprop [--vscode-focusBorder=#0078d4]\n */\n@customElement('vscode-button-group')\nexport class VscodeButtonGroup extends VscElement {\n static override styles = styles;\n\n override render(): TemplateResult {\n return html`<div class=\"root\"><slot></slot></div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-button-group': VscodeButtonGroup;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-button-group.styles.d.ts","sourceRoot":"","sources":["../../src/vscode-button-group/vscode-button-group.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,cAAc,EAAC,MAAM,KAAK,CAAC;AAIxC,QAAA,MAAM,MAAM,EAAE,cA8Bb,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"vscode-button-group.styles.d.ts","sourceRoot":"","sources":["../../src/vscode-button-group/vscode-button-group.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,cAAc,EAAC,MAAM,KAAK,CAAC;AAIxC,QAAA,MAAM,MAAM,EAAE,cAkCb,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -4,31 +4,35 @@ const styles = [
4
4
  defaultStyles,
5
5
  css `
6
6
  :host {
7
- display: inline-flex;
7
+ display: inline-block;
8
+ }
9
+
10
+ .root {
8
11
  align-items: stretch;
9
- padding: 0;
10
- border: none;
11
- overflow: hidden;
12
+ display: flex;
13
+ width: 100%;
12
14
  }
13
15
 
14
16
  ::slotted(vscode-button:not(:first-child)) {
15
- border-top-left-radius: 0;
16
- border-bottom-left-radius: 0;
17
- border-left-width: 0;
17
+ --vsc-border-left-width: 0;
18
+ --vsc-border-left-radius: 0;
19
+ --vsc-border-left-width: 0;
18
20
  }
19
21
 
20
22
  ::slotted(vscode-button:not(:last-child)) {
21
- --divider-display: block;
22
- --wrapper-width: calc(100% - 1px);
23
-
24
- border-top-right-radius: 0;
25
- border-bottom-right-radius: 0;
26
- border-right-width: 0;
23
+ --vsc-divider-display: block;
24
+ --vsc-border-right-width: 0;
25
+ --vsc-border-right-radius: 0;
26
+ --vsc-border-right-width: 0;
27
27
  }
28
28
 
29
29
  ::slotted(vscode-button:focus) {
30
30
  z-index: 1;
31
31
  }
32
+
33
+ ::slotted(vscode-button:not(:empty)) {
34
+ width: 100%;
35
+ }
32
36
  `,
33
37
  ];
34
38
  export default styles;
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-button-group.styles.js","sourceRoot":"","sources":["../../src/vscode-button-group/vscode-button-group.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAiB,MAAM,KAAK,CAAC;AAExC,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAE1D,MAAM,MAAM,GAAmB;IAC7B,aAAa;IACb,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BF;CACF,CAAC;AAEF,eAAe,MAAM,CAAC","sourcesContent":["import {css, CSSResultGroup} from 'lit';\n\nimport defaultStyles from '../includes/default.styles.js';\n\nconst styles: CSSResultGroup = [\n defaultStyles,\n css`\n :host {\n display: inline-flex;\n align-items: stretch;\n padding: 0;\n border: none;\n overflow: hidden;\n }\n\n ::slotted(vscode-button:not(:first-child)) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-left-width: 0;\n }\n\n ::slotted(vscode-button:not(:last-child)) {\n --divider-display: block;\n --wrapper-width: calc(100% - 1px);\n\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-right-width: 0;\n }\n\n ::slotted(vscode-button:focus) {\n z-index: 1;\n }\n `,\n];\n\nexport default styles;\n"]}
1
+ {"version":3,"file":"vscode-button-group.styles.js","sourceRoot":"","sources":["../../src/vscode-button-group/vscode-button-group.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAiB,MAAM,KAAK,CAAC;AAExC,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAE1D,MAAM,MAAM,GAAmB;IAC7B,aAAa;IACb,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BF;CACF,CAAC;AAEF,eAAe,MAAM,CAAC","sourcesContent":["import {css, CSSResultGroup} from 'lit';\n\nimport defaultStyles from '../includes/default.styles.js';\n\nconst styles: CSSResultGroup = [\n defaultStyles,\n css`\n :host {\n display: inline-block;\n }\n\n .root {\n align-items: stretch;\n display: flex;\n width: 100%;\n }\n\n ::slotted(vscode-button:not(:first-child)) {\n --vsc-border-left-width: 0;\n --vsc-border-left-radius: 0;\n --vsc-border-left-width: 0;\n }\n\n ::slotted(vscode-button:not(:last-child)) {\n --vsc-divider-display: block;\n --vsc-border-right-width: 0;\n --vsc-border-right-radius: 0;\n --vsc-border-right-width: 0;\n }\n\n ::slotted(vscode-button:focus) {\n z-index: 1;\n }\n\n ::slotted(vscode-button:not(:empty)) {\n width: 100%;\n }\n `,\n];\n\nexport default styles;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-checkbox.d.ts","sourceRoot":"","sources":["../../src/vscode-checkbox/vscode-checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,gBAAgB,EAAE,cAAc,EAAC,MAAM,KAAK,CAAC;AAIhF,OAAO,EAAC,oBAAoB,EAAC,MAAM,wDAAwD,CAAC;AAG5F,OAAO,EAAC,qBAAqB,EAAC,MAAM,sCAAsC,CAAC;;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBACa,cACX,SAAQ,mBACR,YAAW,qBAAqB;IAEhC,OAAgB,MAAM,+BAAU;IAEhC,gBAAgB;IAChB,MAAM,CAAC,cAAc,UAAQ;IAE7B,gBAAgB;IAChB,OAAgB,iBAAiB,EAAE,cAAc,CAG/C;IAEF;;;;OAIG;IAEM,SAAS,UAAS;IAE3B,IACI,OAAO,CAAC,MAAM,EAAE,OAAO,EAI1B;IACD,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,OAAO,CAAC,QAAQ,CAAS;IAEzB;;OAEG;IAEH,cAAc,UAAS;IAGvB,OAAO,UAAS;IAGhB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IAErC;;;;;;OAMG;IAEH,KAAK,SAAM;IAGX,QAAQ,UAAS;IAGjB,aAAa,UAAS;IAEtB,IACI,QAAQ,CAAC,MAAM,EAAE,OAAO,EAI3B;IACD,IAAI,QAAQ,IALS,OAAO,CAO3B;IACD,OAAO,CAAC,SAAS,CAAS;IAE1B,IAAI,IAAI,IAAI,eAAe,GAAG,IAAI,CAEjC;IAED,gBAAgB;IAEhB,IAAI,SAAc;IAElB,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;;;OAKG;IACH,aAAa,IAAI,OAAO;IAIxB;;;;;;OAMG;IACH,cAAc,IAAI,OAAO;;IAShB,iBAAiB,IAAI,IAAI;IAWzB,oBAAoB,IAAI,IAAI;IAI5B,MAAM,CAEb,iBAAiB,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GACnE,IAAI;IAQP,gBAAgB;IAChB,iBAAiB,IAAI,IAAI;IAIzB,gBAAgB;IAChB,wBAAwB,CACtB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,GAAG,cAAc,GAChC,IAAI;IAOP,OAAO,CAAC,QAAQ,CAAoB;IAEpC,OAAO,CAAC,UAAU,CAAmB;IAOrC,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,YAAY,CAQlB;IAEF,OAAO,CAAC,cAAc,CAYpB;IAEF,OAAO,CAAC,eAAe;IAcd,MAAM,IAAI,cAAc;CAiDlC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,cAAc,CAAC;KACnC;CACF"}
1
+ {"version":3,"file":"vscode-checkbox.d.ts","sourceRoot":"","sources":["../../src/vscode-checkbox/vscode-checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,gBAAgB,EAAE,cAAc,EAAC,MAAM,KAAK,CAAC;AAIhF,OAAO,EAAC,oBAAoB,EAAC,MAAM,wDAAwD,CAAC;AAG5F,OAAO,EAAC,qBAAqB,EAAC,MAAM,sCAAsC,CAAC;;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBACa,cACX,SAAQ,mBACR,YAAW,qBAAqB;IAEhC,OAAgB,MAAM,+BAAU;IAEhC,gBAAgB;IAChB,MAAM,CAAC,cAAc,UAAQ;IAE7B,gBAAgB;IAChB,OAAgB,iBAAiB,EAAE,cAAc,CAG/C;IAEF;;;;OAIG;IAEM,SAAS,UAAS;IAE3B,IACI,OAAO,CAAC,MAAM,EAAE,OAAO,EAI1B;IACD,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,OAAO,CAAC,QAAQ,CAAS;IAEzB;;OAEG;IAEH,cAAc,UAAS;IAGvB,OAAO,UAAS;IAGhB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IAErC;;;;;;OAMG;IAEH,KAAK,SAAM;IAGX,QAAQ,UAAS;IAGjB,aAAa,UAAS;IAEtB,IACI,QAAQ,CAAC,MAAM,EAAE,OAAO,EAI3B;IACD,IAAI,QAAQ,IALS,OAAO,CAO3B;IACD,OAAO,CAAC,SAAS,CAAS;IAE1B,IAAI,IAAI,IAAI,eAAe,GAAG,IAAI,CAEjC;IAED,gBAAgB;IAEhB,IAAI,SAAc;IAElB,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;;;OAKG;IACH,aAAa,IAAI,OAAO;IAIxB;;;;;;OAMG;IACH,cAAc,IAAI,OAAO;;IAShB,iBAAiB,IAAI,IAAI;IAWzB,oBAAoB,IAAI,IAAI;IAI5B,MAAM,CAEb,iBAAiB,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GACnE,IAAI;IAQP,gBAAgB;IAChB,iBAAiB,IAAI,IAAI;IAIzB,gBAAgB;IAChB,wBAAwB,CACtB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,GAAG,cAAc,GAChC,IAAI;IAOP,OAAO,CAAC,QAAQ,CAAoB;IAEpC,OAAO,CAAC,UAAU,CAAmB;IAOrC,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,YAAY,CAQlB;IAEF,OAAO,CAAC,cAAc,CAYpB;IAEF,OAAO,CAAC,eAAe;IAcd,MAAM,IAAI,cAAc;CAiDlC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,cAAc,CAAC;KACnC;CACF"}
@@ -184,16 +184,6 @@ let VscodeCheckbox = class VscodeCheckbox extends LabelledCheckboxOrRadioMixin(F
184
184
  this._setActualFormValue();
185
185
  this._manageRequired();
186
186
  this.dispatchEvent(new Event('change', { bubbles: true }));
187
- /** @deprecated */
188
- this.dispatchEvent(new CustomEvent('vsc-change', {
189
- detail: {
190
- checked: this.checked,
191
- label: this.label,
192
- value: this.value,
193
- },
194
- bubbles: true,
195
- composed: true,
196
- }));
197
187
  }
198
188
  _manageRequired() {
199
189
  if (!this.checked && this.required) {
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-checkbox.js","sourceRoot":"","sources":["../../src/vscode-checkbox/vscode-checkbox.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, LitElement, nothing, PropertyValueMap, TemplateResult} from 'lit';\nimport {property, query} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {customElement} from '../includes/VscElement.js';\nimport {FormButtonWidgetBase} from '../includes/form-button-widget/FormButtonWidgetBase.js';\nimport {LabelledCheckboxOrRadioMixin} from '../includes/form-button-widget/LabelledCheckboxOrRadio.js';\nimport styles from './vscode-checkbox.styles.js';\nimport {AssociatedFormControl} from '../includes/AssociatedFormControl.js';\n\n/**\n * Allows users to select one or more options from a set. When participating in a form, it supports\n * the `:invalid` pseudo class. Otherwise the error styles can be applied through the `invalid`\n * property.\n *\n * @tag vscode-checkbox\n *\n * @attr name - Name which is used as a variable name in the data of the form-container.\n * @attr label - Attribute pair of the `label` property.\n * @prop label - Label text. It is only applied if component's innerHTML doesn't contain any text.\n *\n * @fires {Event} change - Dispatched when checked state is changed. The event is bubbled, so it can be listened on a parent element like the `CheckboxGroup`.\n * @fires {Event} invalid - Dispatched when the element is invalid and `checkValidity()` has been called or the form containing this element is submitted.\n *\n * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/invalid_event)\n *\n * @cssprop [--vscode-font-family=sans-serif]\n * @cssprop [--vscode-font-size=13px]\n * @cssprop [--vscode-font-weight=normal]\n * @cssprop [--vscode-foreground=#cccccc]\n * @cssprop [--vscode-settings-checkboxBackground=#313131]\n * @cssprop [--vscode-settings-checkboxBorder=#3c3c3c]\n * @cssprop [--vscode-settings-checkboxForeground=#cccccc]\n * @cssprop [--vscode-focusBorder=#0078d4]\n * @cssprop [--vscode-inputValidation-errorBackground=#5a1d1d]\n * @cssprop [--vscode-inputValidation-errorBorder=#be1100]\n */\n@customElement('vscode-checkbox')\nexport class VscodeCheckbox\n extends LabelledCheckboxOrRadioMixin(FormButtonWidgetBase)\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 /**\n * Automatically focus on the element when the page loads.\n *\n * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus)\n */\n @property({type: Boolean, reflect: true})\n override autofocus = false;\n\n @property({type: Boolean, reflect: true})\n set checked(newVal: boolean) {\n this._checked = newVal;\n this._manageRequired();\n this.requestUpdate();\n }\n get checked(): boolean {\n return this._checked;\n }\n\n private _checked = false;\n\n /**\n * The element's initial checked state, which will be restored when the containing form is reset.\n */\n @property({type: Boolean, reflect: true, attribute: 'default-checked'})\n defaultChecked = false;\n\n @property({type: Boolean, reflect: true})\n invalid = false;\n\n @property({reflect: true})\n name: string | undefined = undefined;\n\n /**\n * Associate a value to the checkbox. According to the native checkbox [specification](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#value_2), If the component participates in a form:\n *\n * - If it is unchecked, the value will not be submitted.\n * - If it is checked but the value is not set, `on` will be submitted.\n * - If it is checked and value is set, the value will be submitted.\n */\n @property()\n value = '';\n\n @property({type: Boolean, reflect: true})\n disabled = false;\n\n @property({type: Boolean, reflect: true})\n indeterminate = false;\n\n @property({type: Boolean, reflect: true})\n set required(newVal: boolean) {\n this._required = newVal;\n this._manageRequired();\n this.requestUpdate();\n }\n get required() {\n return this._required;\n }\n private _required = false;\n\n get form(): HTMLFormElement | null {\n return this._internals.form;\n }\n\n /** @internal */\n @property()\n type = 'checkbox';\n\n get validity(): ValidityState {\n return this._internals.validity;\n }\n\n get validationMessage(): string {\n return this._internals.validationMessage;\n }\n\n get willValidate(): boolean {\n return this._internals.willValidate;\n }\n\n /**\n * Returns `true` if the element's value is valid; otherwise, it returns `false`.\n * If the element's value is invalid, an invalid event is triggered on the element.\n *\n * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/checkValidity)\n */\n checkValidity(): boolean {\n return this._internals.checkValidity();\n }\n\n /**\n * Returns `true` if the element's value is valid; otherwise, it returns `false`.\n * If the element's value is invalid, an invalid event is triggered on the element, and the\n * browser displays an error message to the user.\n *\n * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/reportValidity)\n */\n reportValidity(): boolean {\n return this._internals.reportValidity();\n }\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this.addEventListener('keydown', this._handleKeyDown);\n\n this.updateComplete.then(() => {\n this._manageRequired();\n this._setActualFormValue();\n });\n }\n\n override disconnectedCallback(): void {\n this.removeEventListener('keydown', this._handleKeyDown);\n }\n\n override update(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>\n ): void {\n super.update(changedProperties);\n\n if (changedProperties.has('checked')) {\n this.ariaChecked = this.checked ? 'true' : 'false';\n }\n }\n\n /** @internal */\n formResetCallback(): void {\n this.checked = this.defaultChecked;\n }\n\n /** @internal */\n formStateRestoreCallback(\n state: string,\n _mode: 'restore' | 'autocomplete'\n ): void {\n if (state) {\n this.checked = true;\n }\n }\n\n @query('#input')\n private _inputEl!: HTMLInputElement;\n\n private _internals: ElementInternals;\n\n // Sets the value of the control according to the native checkbox behavior.\n // - If the checkbox is unchecked, the value will be null, so the control will\n // excluded from the form.\n // - If the control is checked but the value is not set, the value will be \"on\".\n // - If the control is checked and value is set, the value won't be changed.\n private _setActualFormValue() {\n let actualValue: string | null = '';\n\n if (this.checked) {\n actualValue = !this.value ? 'on' : this.value;\n } else {\n actualValue = null;\n }\n\n this._internals.setFormValue(actualValue);\n }\n\n private _toggleState() {\n this.checked = !this.checked;\n this.indeterminate = false;\n this._setActualFormValue();\n this._manageRequired();\n this.dispatchEvent(new Event('change', {bubbles: true}));\n /** @deprecated */\n this.dispatchEvent(\n new CustomEvent('vsc-change', {\n detail: {\n checked: this.checked,\n label: this.label,\n value: this.value,\n },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n private _handleClick = (ev: MouseEvent): void => {\n ev.preventDefault();\n\n if (this.disabled) {\n return;\n }\n\n this._toggleState();\n };\n\n private _handleKeyDown = (ev: KeyboardEvent): void => {\n if (!this.disabled && (ev.key === 'Enter' || ev.key === ' ')) {\n ev.preventDefault();\n\n if (ev.key === ' ') {\n this._toggleState();\n }\n\n if (ev.key === 'Enter') {\n this._internals.form?.requestSubmit();\n }\n }\n };\n\n private _manageRequired() {\n if (!this.checked && this.required) {\n this._internals.setValidity(\n {\n valueMissing: true,\n },\n 'Please check this box if you want to proceed.',\n this._inputEl ?? undefined\n );\n } else {\n this._internals.setValidity({});\n }\n }\n\n override render(): TemplateResult {\n const iconClasses = classMap({\n icon: true,\n checked: this.checked,\n indeterminate: this.indeterminate,\n });\n const labelInnerClasses = classMap({\n 'label-inner': true,\n });\n\n const icon = html`<svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n class=\"check-icon\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M14.431 3.323l-8.47 10-.79-.036-3.35-4.77.818-.574 2.978 4.24 8.051-9.506.764.646z\"\n />\n </svg>`;\n const check = this.checked && !this.indeterminate ? icon : nothing;\n const indeterminate = this.indeterminate\n ? html`<span class=\"indeterminate-icon\"></span>`\n : nothing;\n\n return html`\n <div class=\"wrapper\">\n <input\n ?autofocus=${this.autofocus}\n id=\"input\"\n class=\"checkbox\"\n type=\"checkbox\"\n ?checked=${this.checked}\n value=${this.value}\n >\n <div class=${iconClasses}>${indeterminate}${check}</div>\n <label for=\"input\" class=\"label\" @click=${this._handleClick}>\n <span class=${labelInnerClasses}>\n ${this._renderLabelAttribute()}\n <slot @slotchange=${this._handleSlotChange}></slot>\n </span>\n </label>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-checkbox': VscodeCheckbox;\n }\n}\n"]}
1
+ {"version":3,"file":"vscode-checkbox.js","sourceRoot":"","sources":["../../src/vscode-checkbox/vscode-checkbox.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, LitElement, nothing, PropertyValueMap, TemplateResult} from 'lit';\nimport {property, query} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {customElement} from '../includes/VscElement.js';\nimport {FormButtonWidgetBase} from '../includes/form-button-widget/FormButtonWidgetBase.js';\nimport {LabelledCheckboxOrRadioMixin} from '../includes/form-button-widget/LabelledCheckboxOrRadio.js';\nimport styles from './vscode-checkbox.styles.js';\nimport {AssociatedFormControl} from '../includes/AssociatedFormControl.js';\n\n/**\n * Allows users to select one or more options from a set. When participating in a form, it supports\n * the `:invalid` pseudo class. Otherwise the error styles can be applied through the `invalid`\n * property.\n *\n * @tag vscode-checkbox\n *\n * @attr name - Name which is used as a variable name in the data of the form-container.\n * @attr label - Attribute pair of the `label` property.\n * @prop label - Label text. It is only applied if component's innerHTML doesn't contain any text.\n *\n * @fires {Event} change - Dispatched when checked state is changed. The event is bubbled, so it can be listened on a parent element like the `CheckboxGroup`.\n * @fires {Event} invalid - Dispatched when the element is invalid and `checkValidity()` has been called or the form containing this element is submitted.\n *\n * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/invalid_event)\n *\n * @cssprop [--vscode-font-family=sans-serif]\n * @cssprop [--vscode-font-size=13px]\n * @cssprop [--vscode-font-weight=normal]\n * @cssprop [--vscode-foreground=#cccccc]\n * @cssprop [--vscode-settings-checkboxBackground=#313131]\n * @cssprop [--vscode-settings-checkboxBorder=#3c3c3c]\n * @cssprop [--vscode-settings-checkboxForeground=#cccccc]\n * @cssprop [--vscode-focusBorder=#0078d4]\n * @cssprop [--vscode-inputValidation-errorBackground=#5a1d1d]\n * @cssprop [--vscode-inputValidation-errorBorder=#be1100]\n */\n@customElement('vscode-checkbox')\nexport class VscodeCheckbox\n extends LabelledCheckboxOrRadioMixin(FormButtonWidgetBase)\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 /**\n * Automatically focus on the element when the page loads.\n *\n * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus)\n */\n @property({type: Boolean, reflect: true})\n override autofocus = false;\n\n @property({type: Boolean, reflect: true})\n set checked(newVal: boolean) {\n this._checked = newVal;\n this._manageRequired();\n this.requestUpdate();\n }\n get checked(): boolean {\n return this._checked;\n }\n\n private _checked = false;\n\n /**\n * The element's initial checked state, which will be restored when the containing form is reset.\n */\n @property({type: Boolean, reflect: true, attribute: 'default-checked'})\n defaultChecked = false;\n\n @property({type: Boolean, reflect: true})\n invalid = false;\n\n @property({reflect: true})\n name: string | undefined = undefined;\n\n /**\n * Associate a value to the checkbox. According to the native checkbox [specification](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#value_2), If the component participates in a form:\n *\n * - If it is unchecked, the value will not be submitted.\n * - If it is checked but the value is not set, `on` will be submitted.\n * - If it is checked and value is set, the value will be submitted.\n */\n @property()\n value = '';\n\n @property({type: Boolean, reflect: true})\n disabled = false;\n\n @property({type: Boolean, reflect: true})\n indeterminate = false;\n\n @property({type: Boolean, reflect: true})\n set required(newVal: boolean) {\n this._required = newVal;\n this._manageRequired();\n this.requestUpdate();\n }\n get required() {\n return this._required;\n }\n private _required = false;\n\n get form(): HTMLFormElement | null {\n return this._internals.form;\n }\n\n /** @internal */\n @property()\n type = 'checkbox';\n\n get validity(): ValidityState {\n return this._internals.validity;\n }\n\n get validationMessage(): string {\n return this._internals.validationMessage;\n }\n\n get willValidate(): boolean {\n return this._internals.willValidate;\n }\n\n /**\n * Returns `true` if the element's value is valid; otherwise, it returns `false`.\n * If the element's value is invalid, an invalid event is triggered on the element.\n *\n * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/checkValidity)\n */\n checkValidity(): boolean {\n return this._internals.checkValidity();\n }\n\n /**\n * Returns `true` if the element's value is valid; otherwise, it returns `false`.\n * If the element's value is invalid, an invalid event is triggered on the element, and the\n * browser displays an error message to the user.\n *\n * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/reportValidity)\n */\n reportValidity(): boolean {\n return this._internals.reportValidity();\n }\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this.addEventListener('keydown', this._handleKeyDown);\n\n this.updateComplete.then(() => {\n this._manageRequired();\n this._setActualFormValue();\n });\n }\n\n override disconnectedCallback(): void {\n this.removeEventListener('keydown', this._handleKeyDown);\n }\n\n override update(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>\n ): void {\n super.update(changedProperties);\n\n if (changedProperties.has('checked')) {\n this.ariaChecked = this.checked ? 'true' : 'false';\n }\n }\n\n /** @internal */\n formResetCallback(): void {\n this.checked = this.defaultChecked;\n }\n\n /** @internal */\n formStateRestoreCallback(\n state: string,\n _mode: 'restore' | 'autocomplete'\n ): void {\n if (state) {\n this.checked = true;\n }\n }\n\n @query('#input')\n private _inputEl!: HTMLInputElement;\n\n private _internals: ElementInternals;\n\n // Sets the value of the control according to the native checkbox behavior.\n // - If the checkbox is unchecked, the value will be null, so the control will\n // excluded from the form.\n // - If the control is checked but the value is not set, the value will be \"on\".\n // - If the control is checked and value is set, the value won't be changed.\n private _setActualFormValue() {\n let actualValue: string | null = '';\n\n if (this.checked) {\n actualValue = !this.value ? 'on' : this.value;\n } else {\n actualValue = null;\n }\n\n this._internals.setFormValue(actualValue);\n }\n\n private _toggleState() {\n this.checked = !this.checked;\n this.indeterminate = false;\n this._setActualFormValue();\n this._manageRequired();\n this.dispatchEvent(new Event('change', {bubbles: true}));\n }\n\n private _handleClick = (ev: MouseEvent): void => {\n ev.preventDefault();\n\n if (this.disabled) {\n return;\n }\n\n this._toggleState();\n };\n\n private _handleKeyDown = (ev: KeyboardEvent): void => {\n if (!this.disabled && (ev.key === 'Enter' || ev.key === ' ')) {\n ev.preventDefault();\n\n if (ev.key === ' ') {\n this._toggleState();\n }\n\n if (ev.key === 'Enter') {\n this._internals.form?.requestSubmit();\n }\n }\n };\n\n private _manageRequired() {\n if (!this.checked && this.required) {\n this._internals.setValidity(\n {\n valueMissing: true,\n },\n 'Please check this box if you want to proceed.',\n this._inputEl ?? undefined\n );\n } else {\n this._internals.setValidity({});\n }\n }\n\n override render(): TemplateResult {\n const iconClasses = classMap({\n icon: true,\n checked: this.checked,\n indeterminate: this.indeterminate,\n });\n const labelInnerClasses = classMap({\n 'label-inner': true,\n });\n\n const icon = html`<svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n class=\"check-icon\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M14.431 3.323l-8.47 10-.79-.036-3.35-4.77.818-.574 2.978 4.24 8.051-9.506.764.646z\"\n />\n </svg>`;\n const check = this.checked && !this.indeterminate ? icon : nothing;\n const indeterminate = this.indeterminate\n ? html`<span class=\"indeterminate-icon\"></span>`\n : nothing;\n\n return html`\n <div class=\"wrapper\">\n <input\n ?autofocus=${this.autofocus}\n id=\"input\"\n class=\"checkbox\"\n type=\"checkbox\"\n ?checked=${this.checked}\n value=${this.value}\n >\n <div class=${iconClasses}>${indeterminate}${check}</div>\n <label for=\"input\" class=\"label\" @click=${this._handleClick}>\n <span class=${labelInnerClasses}>\n ${this._renderLabelAttribute()}\n <slot @slotchange=${this._handleSlotChange}></slot>\n </span>\n </label>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-checkbox': VscodeCheckbox;\n }\n}\n"]}
@@ -53,7 +53,6 @@ export declare class VscodeContextMenu extends VscElement {
53
53
  private _handleArrowDown;
54
54
  private _handleEscape;
55
55
  private _dispatchSelectEvent;
56
- private _dispatchLegacySelectEvent;
57
56
  private _handleEnter;
58
57
  private _onItemClick;
59
58
  private _onItemMouseOver;
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-context-menu.d.ts","sourceRoot":"","sources":["../../src/vscode-context-menu/vscode-context-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAC,MAAM,KAAK,CAAC;AAElD,OAAO,EAAgB,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAKpE,OAAO,sCAAsC,CAAC;AAG9C,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,yBAAyB,GAAG,WAAW,CAAC;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,qBACa,iBAAkB,SAAQ,UAAU;IAC/C,OAAgB,MAAM,+BAAU;IAEhC,IACI,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,EAY5B;IACD,IAAI,IAAI,IAAI,YAAY,EAAE,CAEzB;IAED;;OAEG;IAEH,YAAY,UAAS;IAErB,IACI,IAAI,CAAC,IAAI,EAAE,OAAO,EAiBrB;IACD,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,gBAAgB;IAEP,QAAQ,SAAK;;IAkBtB,OAAO,CAAC,2BAA2B,CAAM;IAGzC,OAAO,CAAC,KAAK,CAAS;IAGtB,OAAO,CAAC,UAAU,CAAkB;IAEpC,OAAO,CAAC,KAAK,CAAsB;IAEnC,OAAO,CAAC,qBAAqB,CAAgB;IAE7C,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,oBAAoB,CAAmC;IAE/D,OAAO,CAAC,UAAU;IA6BlB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,0BAA0B;IAoBlC,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,eAAe;IAId,MAAM,IAAI,cAAc;CAwClC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,iBAAiB,CAAC;KAC1C;IAED,UAAU,2BAA2B;QACnC,yBAAyB,EAAE,yBAAyB,CAAC;KACtD;CACF"}
1
+ {"version":3,"file":"vscode-context-menu.d.ts","sourceRoot":"","sources":["../../src/vscode-context-menu/vscode-context-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAC,MAAM,KAAK,CAAC;AAElD,OAAO,EAAgB,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAEpE,OAAO,sCAAsC,CAAC;AAG9C,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,yBAAyB,GAAG,WAAW,CAAC;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,qBACa,iBAAkB,SAAQ,UAAU;IAC/C,OAAgB,MAAM,+BAAU;IAEhC,IACI,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,EAY5B;IACD,IAAI,IAAI,IAAI,YAAY,EAAE,CAEzB;IAED;;OAEG;IAEH,YAAY,UAAS;IAErB,IACI,IAAI,CAAC,IAAI,EAAE,OAAO,EAiBrB;IACD,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,gBAAgB;IAEP,QAAQ,SAAK;;IAkBtB,OAAO,CAAC,2BAA2B,CAAM;IAGzC,OAAO,CAAC,KAAK,CAAS;IAGtB,OAAO,CAAC,UAAU,CAAkB;IAEpC,OAAO,CAAC,KAAK,CAAsB;IAEnC,OAAO,CAAC,qBAAqB,CAAgB;IAE7C,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,oBAAoB,CAAmC;IAE/D,OAAO,CAAC,UAAU;IA6BlB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,eAAe;IAId,MAAM,IAAI,cAAc;CAwClC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,iBAAiB,CAAC;KAC1C;IAED,UAAU,2BAA2B;QACnC,yBAAyB,EAAE,yBAAyB,CAAC;KACtD;CACF"}
@@ -141,22 +141,6 @@ let VscodeContextMenu = class VscodeContextMenu extends VscElement {
141
141
  },
142
142
  }));
143
143
  }
144
- _dispatchLegacySelectEvent(selectedOption) {
145
- const { keybinding, label, value, separator, tabindex } = selectedOption;
146
- const detail = {
147
- keybinding,
148
- label,
149
- value,
150
- separator,
151
- tabindex,
152
- };
153
- /** @deprecated - Renamed to `vsc-context-menu-select` */
154
- this.dispatchEvent(new CustomEvent('vsc-select', {
155
- detail,
156
- bubbles: true,
157
- composed: true,
158
- }));
159
- }
160
144
  _handleEnter() {
161
145
  if (this._selectedClickableItemIndex === -1) {
162
146
  return;
@@ -164,7 +148,6 @@ let VscodeContextMenu = class VscodeContextMenu extends VscElement {
164
148
  const realItemIndex = this._clickableItemIndexes[this._selectedClickableItemIndex];
165
149
  const options = this._wrapperEl.querySelectorAll('vscode-context-menu-item');
166
150
  const selectedOption = options[realItemIndex];
167
- this._dispatchLegacySelectEvent(selectedOption);
168
151
  this._dispatchSelectEvent(selectedOption);
169
152
  if (!this.preventClose) {
170
153
  this.show = false;
@@ -173,7 +156,6 @@ let VscodeContextMenu = class VscodeContextMenu extends VscElement {
173
156
  }
174
157
  _onItemClick(event) {
175
158
  const et = event.currentTarget;
176
- this._dispatchLegacySelectEvent(et);
177
159
  this._dispatchSelectEvent(et);
178
160
  if (!this.preventClose) {
179
161
  this.show = false;
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-context-menu.js","sourceRoot":"","sources":["../../src/vscode-context-menu/vscode-context-menu.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, nothing, TemplateResult} from 'lit';\nimport {property, query, state} from 'lit/decorators.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport type {\n VscClickEventDetail,\n VscodeContextMenuItem,\n} from '../vscode-context-menu-item/vscode-context-menu-item.js';\nimport '../vscode-context-menu-item/index.js';\nimport styles from './vscode-context-menu.styles.js';\n\ninterface MenuItemData {\n label?: string;\n keybinding?: string;\n value?: string;\n separator?: boolean;\n tabindex?: number;\n}\n\nexport type VscContextMenuSelectEvent = CustomEvent<{\n keybinding: string;\n label: string;\n value: string;\n separator: boolean;\n tabindex: number;\n}>;\n\n/**\n * @tag vscode-context-menu\n *\n * @fires {VscMenuSelectEvent} vsc-menu-select - Emitted when a menu item is clicked\n *\n * @cssprop [--vscode-font-family=sans-serif]\n * @cssprop [--vscode-font-size=13px]\n * @cssprop [--vscode-font-weight=normal]\n * @cssprop [--vscode-menu-background=#1f1f1f]\n * @cssprop [--vscode-menu-border=#454545]\n * @cssprop [--vscode-menu-foreground=#cccccc]\n * @cssprop [--vscode-widget-shadow=rgba(0, 0, 0, 0.36)]\n */\n@customElement('vscode-context-menu')\nexport class VscodeContextMenu extends VscElement {\n static override styles = styles;\n\n @property({type: Array, attribute: false})\n set data(data: MenuItemData[]) {\n this._data = data;\n\n const indexes: number[] = [];\n\n data.forEach((v, i) => {\n if (!v.separator) {\n indexes.push(i);\n }\n });\n\n this._clickableItemIndexes = indexes;\n }\n get data(): MenuItemData[] {\n return this._data;\n }\n\n /**\n * By default, the menu closes when an item is clicked. This attribute prevents the menu from closing.\n */\n @property({type: Boolean, reflect: true, attribute: 'prevent-close'})\n preventClose = false;\n\n @property({type: Boolean, reflect: true})\n set show(show: boolean) {\n this._show = show;\n this._selectedClickableItemIndex = -1;\n\n if (show) {\n this.updateComplete.then(() => {\n if (this._wrapperEl) {\n this._wrapperEl.focus();\n }\n\n requestAnimationFrame(() => {\n document.addEventListener('click', this._onClickOutsideBound, {\n once: true,\n });\n });\n });\n }\n }\n get show(): boolean {\n return this._show;\n }\n\n /** @internal */\n @property({type: Number, reflect: true})\n override tabIndex = 0;\n\n constructor() {\n super();\n this.addEventListener('keydown', this._onKeyDown);\n }\n\n /* connectedCallback(): void {\n super.connectedCallback();\n document.addEventListener('click', this._onClickOutsideBound);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n document.removeEventListener('click', this._onClickOutsideBound);\n } */\n\n @state()\n private _selectedClickableItemIndex = -1;\n\n @state()\n private _show = false;\n\n @query('.context-menu')\n private _wrapperEl!: HTMLDivElement;\n\n private _data: MenuItemData[] = [];\n\n private _clickableItemIndexes: number[] = [];\n\n private _onClickOutside(ev: MouseEvent) {\n if (!ev.composedPath().includes(this)) {\n this.show = false;\n }\n }\n\n private _onClickOutsideBound = this._onClickOutside.bind(this);\n\n private _onKeyDown(ev: KeyboardEvent) {\n const {key} = ev;\n\n if (\n key === 'ArrowUp' ||\n key === 'ArrowDown' ||\n key === 'Escape' ||\n key === 'Enter'\n ) {\n ev.preventDefault();\n }\n\n switch (key) {\n case 'ArrowUp':\n this._handleArrowUp();\n break;\n case 'ArrowDown':\n this._handleArrowDown();\n break;\n case 'Escape':\n this._handleEscape();\n break;\n case 'Enter':\n this._handleEnter();\n break;\n default:\n }\n }\n\n private _handleArrowUp() {\n if (this._selectedClickableItemIndex === 0) {\n this._selectedClickableItemIndex = this._clickableItemIndexes.length - 1;\n } else {\n this._selectedClickableItemIndex -= 1;\n }\n }\n\n private _handleArrowDown() {\n if (\n this._selectedClickableItemIndex + 1 <\n this._clickableItemIndexes.length\n ) {\n this._selectedClickableItemIndex += 1;\n } else {\n this._selectedClickableItemIndex = 0;\n }\n }\n\n private _handleEscape() {\n this.show = false;\n document.removeEventListener('click', this._onClickOutsideBound);\n }\n\n private _dispatchSelectEvent(selectedOption: VscodeContextMenuItem) {\n const {keybinding, label, value, separator, tabindex} = selectedOption;\n\n this.dispatchEvent(\n new CustomEvent('vsc-context-menu-select', {\n detail: {\n keybinding,\n label,\n separator,\n tabindex,\n value,\n },\n }) as VscContextMenuSelectEvent\n );\n }\n\n private _dispatchLegacySelectEvent(selectedOption: VscodeContextMenuItem) {\n const {keybinding, label, value, separator, tabindex} = selectedOption;\n const detail: VscClickEventDetail = {\n keybinding,\n label,\n value,\n separator,\n tabindex,\n };\n\n /** @deprecated - Renamed to `vsc-context-menu-select` */\n this.dispatchEvent(\n new CustomEvent('vsc-select', {\n detail,\n bubbles: true,\n composed: true,\n })\n );\n }\n\n private _handleEnter() {\n if (this._selectedClickableItemIndex === -1) {\n return;\n }\n\n const realItemIndex =\n this._clickableItemIndexes[this._selectedClickableItemIndex];\n const options = this._wrapperEl.querySelectorAll(\n 'vscode-context-menu-item'\n );\n const selectedOption = options[realItemIndex];\n\n this._dispatchLegacySelectEvent(selectedOption);\n this._dispatchSelectEvent(selectedOption);\n\n if (!this.preventClose) {\n this.show = false;\n document.removeEventListener('click', this._onClickOutsideBound);\n }\n }\n\n private _onItemClick(event: CustomEvent) {\n const et = event.currentTarget as VscodeContextMenuItem;\n\n this._dispatchLegacySelectEvent(et);\n this._dispatchSelectEvent(et);\n\n if (!this.preventClose) {\n this.show = false;\n }\n }\n\n private _onItemMouseOver(event: MouseEvent) {\n const el = event.target as HTMLElement;\n const index = el.dataset.index ? +el.dataset.index : -1;\n const found = this._clickableItemIndexes.findIndex(\n (item) => item === index\n );\n\n if (found !== -1) {\n this._selectedClickableItemIndex = found;\n }\n }\n\n private _onItemMouseOut() {\n this._selectedClickableItemIndex = -1;\n }\n\n override render(): TemplateResult {\n if (!this._show) {\n return html`${nothing}`;\n }\n\n const selectedIndex =\n this._clickableItemIndexes[this._selectedClickableItemIndex];\n\n return html`\n <div class=\"context-menu\" tabindex=\"0\">\n ${this.data\n ? this.data.map(\n (\n {\n label = '',\n keybinding = '',\n value = '',\n separator = false,\n tabindex = 0,\n },\n index\n ) => html`\n <vscode-context-menu-item\n label=${label}\n keybinding=${keybinding}\n value=${value}\n ?separator=${separator}\n ?selected=${index === selectedIndex}\n tabindex=${tabindex}\n @vsc-click=${this._onItemClick}\n @mouseover=${this._onItemMouseOver}\n @mouseout=${this._onItemMouseOut}\n data-index=${index}\n ></vscode-context-menu-item>\n `\n )\n : html`<slot></slot>`}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-context-menu': VscodeContextMenu;\n }\n\n interface GlobalEventHandlersEventMap {\n 'vsc-context-menu-select': VscContextMenuSelectEvent;\n }\n}\n"]}
1
+ {"version":3,"file":"vscode-context-menu.js","sourceRoot":"","sources":["../../src/vscode-context-menu/vscode-context-menu.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAE,OAAO,EAAiB,MAAM,KAAK,CAAC;AAClD,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAEpE,OAAO,sCAAsC,CAAC;AAC9C,OAAO,MAAM,MAAM,iCAAiC,CAAC;AAkBrD;;;;;;;;;;;;GAYG;AAEI,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,UAAU;IAI/C,IAAI,IAAI,CAAC,IAAoB;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACpB,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC;IACvC,CAAC;IACD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IASD,IAAI,IAAI,CAAC,IAAa;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC,CAAC;QAEtC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC5B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC1B,CAAC;gBAED,qBAAqB,CAAC,GAAG,EAAE;oBACzB,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE;wBAC5D,IAAI,EAAE,IAAI;qBACX,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAMD;QACE,KAAK,EAAE,CAAC;QAlCV;;WAEG;QAEH,iBAAY,GAAG,KAAK,CAAC;QAyBrB,gBAAgB;QAEP,aAAQ,GAAG,CAAC,CAAC;QAOtB;;;;;;;;YAQI;QAGI,gCAA2B,GAAG,CAAC,CAAC,CAAC;QAGjC,UAAK,GAAG,KAAK,CAAC;QAKd,UAAK,GAAmB,EAAE,CAAC;QAE3B,0BAAqB,GAAa,EAAE,CAAC;QAQrC,yBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAhC7D,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAyBO,eAAe,CAAC,EAAc;QACpC,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;IAIO,UAAU,CAAC,EAAiB;QAClC,MAAM,EAAC,GAAG,EAAC,GAAG,EAAE,CAAC;QAEjB,IACE,GAAG,KAAK,SAAS;YACjB,GAAG,KAAK,WAAW;YACnB,GAAG,KAAK,QAAQ;YAChB,GAAG,KAAK,OAAO,EACf,CAAC;YACD,EAAE,CAAC,cAAc,EAAE,CAAC;QACtB,CAAC;QAED,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,SAAS;gBACZ,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,MAAM;YACR,QAAQ;QACV,CAAC;IACH,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,2BAA2B,KAAK,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,2BAA2B,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,IACE,IAAI,CAAC,2BAA2B,GAAG,CAAC;YACpC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EACjC,CAAC;YACD,IAAI,CAAC,2BAA2B,IAAI,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACnE,CAAC;IAEO,oBAAoB,CAAC,cAAqC;QAChE,MAAM,EAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAC,GAAG,cAAc,CAAC;QAEvE,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,yBAAyB,EAAE;YACzC,MAAM,EAAE;gBACN,UAAU;gBACV,KAAK;gBACL,SAAS;gBACT,QAAQ;gBACR,KAAK;aACN;SACF,CAA8B,CAChC,CAAC;IACJ,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,2BAA2B,KAAK,CAAC,CAAC,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GACjB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAC9C,0BAA0B,CAC3B,CAAC;QACF,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QAE9C,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;QAE1C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,KAAkB;QACrC,MAAM,EAAE,GAAG,KAAK,CAAC,aAAsC,CAAC;QAExD,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAE9B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,KAAiB;QACxC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAqB,CAAC;QACvC,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAChD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CACzB,CAAC;QAEF,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;QAC3C,CAAC;IACH,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC;IAEQ,MAAM;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,IAAI,CAAA,GAAG,OAAO,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,aAAa,GACjB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAE/D,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,IAAI;YACT,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,CACE,EACE,KAAK,GAAG,EAAE,EACV,UAAU,GAAG,EAAE,EACf,KAAK,GAAG,EAAE,EACV,SAAS,GAAG,KAAK,EACjB,QAAQ,GAAG,CAAC,GACb,EACD,KAAK,EACL,EAAE,CAAC,IAAI,CAAA;;0BAEG,KAAK;+BACA,UAAU;0BACf,KAAK;+BACA,SAAS;8BACV,KAAK,KAAK,aAAa;6BACxB,QAAQ;+BACN,IAAI,CAAC,YAAY;+BACjB,IAAI,CAAC,gBAAgB;8BACtB,IAAI,CAAC,eAAe;+BACnB,KAAK;;eAErB,CACF;YACH,CAAC,CAAC,IAAI,CAAA,eAAe;;KAE1B,CAAC;IACJ,CAAC;;AAnPe,wBAAM,GAAG,MAAM,AAAT,CAAU;AAGhC;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC;6CAazC;AASD;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAC,CAAC;uDAChD;AAGrB;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;6CAkBxC;AAOQ;IADR,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;mDAClB;AAkBd;IADP,KAAK,EAAE;sEACiC;AAGjC;IADP,KAAK,EAAE;gDACc;AAGd;IADP,KAAK,CAAC,eAAe,CAAC;qDACa;AA5EzB,iBAAiB;IAD7B,aAAa,CAAC,qBAAqB,CAAC;GACxB,iBAAiB,CAqP7B","sourcesContent":["import {html, nothing, TemplateResult} from 'lit';\nimport {property, query, state} from 'lit/decorators.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport type {VscodeContextMenuItem} from '../vscode-context-menu-item/vscode-context-menu-item.js';\nimport '../vscode-context-menu-item/index.js';\nimport styles from './vscode-context-menu.styles.js';\n\ninterface MenuItemData {\n label?: string;\n keybinding?: string;\n value?: string;\n separator?: boolean;\n tabindex?: number;\n}\n\nexport type VscContextMenuSelectEvent = CustomEvent<{\n keybinding: string;\n label: string;\n value: string;\n separator: boolean;\n tabindex: number;\n}>;\n\n/**\n * @tag vscode-context-menu\n *\n * @fires {VscMenuSelectEvent} vsc-menu-select - Emitted when a menu item is clicked\n *\n * @cssprop [--vscode-font-family=sans-serif]\n * @cssprop [--vscode-font-size=13px]\n * @cssprop [--vscode-font-weight=normal]\n * @cssprop [--vscode-menu-background=#1f1f1f]\n * @cssprop [--vscode-menu-border=#454545]\n * @cssprop [--vscode-menu-foreground=#cccccc]\n * @cssprop [--vscode-widget-shadow=rgba(0, 0, 0, 0.36)]\n */\n@customElement('vscode-context-menu')\nexport class VscodeContextMenu extends VscElement {\n static override styles = styles;\n\n @property({type: Array, attribute: false})\n set data(data: MenuItemData[]) {\n this._data = data;\n\n const indexes: number[] = [];\n\n data.forEach((v, i) => {\n if (!v.separator) {\n indexes.push(i);\n }\n });\n\n this._clickableItemIndexes = indexes;\n }\n get data(): MenuItemData[] {\n return this._data;\n }\n\n /**\n * By default, the menu closes when an item is clicked. This attribute prevents the menu from closing.\n */\n @property({type: Boolean, reflect: true, attribute: 'prevent-close'})\n preventClose = false;\n\n @property({type: Boolean, reflect: true})\n set show(show: boolean) {\n this._show = show;\n this._selectedClickableItemIndex = -1;\n\n if (show) {\n this.updateComplete.then(() => {\n if (this._wrapperEl) {\n this._wrapperEl.focus();\n }\n\n requestAnimationFrame(() => {\n document.addEventListener('click', this._onClickOutsideBound, {\n once: true,\n });\n });\n });\n }\n }\n get show(): boolean {\n return this._show;\n }\n\n /** @internal */\n @property({type: Number, reflect: true})\n override tabIndex = 0;\n\n constructor() {\n super();\n this.addEventListener('keydown', this._onKeyDown);\n }\n\n /* connectedCallback(): void {\n super.connectedCallback();\n document.addEventListener('click', this._onClickOutsideBound);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n document.removeEventListener('click', this._onClickOutsideBound);\n } */\n\n @state()\n private _selectedClickableItemIndex = -1;\n\n @state()\n private _show = false;\n\n @query('.context-menu')\n private _wrapperEl!: HTMLDivElement;\n\n private _data: MenuItemData[] = [];\n\n private _clickableItemIndexes: number[] = [];\n\n private _onClickOutside(ev: MouseEvent) {\n if (!ev.composedPath().includes(this)) {\n this.show = false;\n }\n }\n\n private _onClickOutsideBound = this._onClickOutside.bind(this);\n\n private _onKeyDown(ev: KeyboardEvent) {\n const {key} = ev;\n\n if (\n key === 'ArrowUp' ||\n key === 'ArrowDown' ||\n key === 'Escape' ||\n key === 'Enter'\n ) {\n ev.preventDefault();\n }\n\n switch (key) {\n case 'ArrowUp':\n this._handleArrowUp();\n break;\n case 'ArrowDown':\n this._handleArrowDown();\n break;\n case 'Escape':\n this._handleEscape();\n break;\n case 'Enter':\n this._handleEnter();\n break;\n default:\n }\n }\n\n private _handleArrowUp() {\n if (this._selectedClickableItemIndex === 0) {\n this._selectedClickableItemIndex = this._clickableItemIndexes.length - 1;\n } else {\n this._selectedClickableItemIndex -= 1;\n }\n }\n\n private _handleArrowDown() {\n if (\n this._selectedClickableItemIndex + 1 <\n this._clickableItemIndexes.length\n ) {\n this._selectedClickableItemIndex += 1;\n } else {\n this._selectedClickableItemIndex = 0;\n }\n }\n\n private _handleEscape() {\n this.show = false;\n document.removeEventListener('click', this._onClickOutsideBound);\n }\n\n private _dispatchSelectEvent(selectedOption: VscodeContextMenuItem) {\n const {keybinding, label, value, separator, tabindex} = selectedOption;\n\n this.dispatchEvent(\n new CustomEvent('vsc-context-menu-select', {\n detail: {\n keybinding,\n label,\n separator,\n tabindex,\n value,\n },\n }) as VscContextMenuSelectEvent\n );\n }\n\n private _handleEnter() {\n if (this._selectedClickableItemIndex === -1) {\n return;\n }\n\n const realItemIndex =\n this._clickableItemIndexes[this._selectedClickableItemIndex];\n const options = this._wrapperEl.querySelectorAll(\n 'vscode-context-menu-item'\n );\n const selectedOption = options[realItemIndex];\n\n this._dispatchSelectEvent(selectedOption);\n\n if (!this.preventClose) {\n this.show = false;\n document.removeEventListener('click', this._onClickOutsideBound);\n }\n }\n\n private _onItemClick(event: CustomEvent) {\n const et = event.currentTarget as VscodeContextMenuItem;\n\n this._dispatchSelectEvent(et);\n\n if (!this.preventClose) {\n this.show = false;\n }\n }\n\n private _onItemMouseOver(event: MouseEvent) {\n const el = event.target as HTMLElement;\n const index = el.dataset.index ? +el.dataset.index : -1;\n const found = this._clickableItemIndexes.findIndex(\n (item) => item === index\n );\n\n if (found !== -1) {\n this._selectedClickableItemIndex = found;\n }\n }\n\n private _onItemMouseOut() {\n this._selectedClickableItemIndex = -1;\n }\n\n override render(): TemplateResult {\n if (!this._show) {\n return html`${nothing}`;\n }\n\n const selectedIndex =\n this._clickableItemIndexes[this._selectedClickableItemIndex];\n\n return html`\n <div class=\"context-menu\" tabindex=\"0\">\n ${this.data\n ? this.data.map(\n (\n {\n label = '',\n keybinding = '',\n value = '',\n separator = false,\n tabindex = 0,\n },\n index\n ) => html`\n <vscode-context-menu-item\n label=${label}\n keybinding=${keybinding}\n value=${value}\n ?separator=${separator}\n ?selected=${index === selectedIndex}\n tabindex=${tabindex}\n @vsc-click=${this._onItemClick}\n @mouseover=${this._onItemMouseOver}\n @mouseout=${this._onItemMouseOut}\n data-index=${index}\n ></vscode-context-menu-item>\n `\n )\n : html`<slot></slot>`}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-context-menu': VscodeContextMenu;\n }\n\n interface GlobalEventHandlersEventMap {\n 'vsc-context-menu-select': VscContextMenuSelectEvent;\n }\n}\n"]}
@@ -5,10 +5,6 @@ const styles = [
5
5
  css `
6
6
  :host {
7
7
  display: block;
8
- font-family: var(--vscode-font-family, sans-serif);
9
- font-size: var(--vscode-font-size, 13px);
10
- font-weight: var(--vscode-font-weight, normal);
11
- line-height: 1.4em;
12
8
  position: relative;
13
9
  }
14
10
 
@@ -20,6 +16,10 @@ const styles = [
20
16
  border-width: 1px;
21
17
  box-shadow: 0 2px 8px var(--vscode-widget-shadow, rgba(0, 0, 0, 0.36));
22
18
  color: var(--vscode-menu-foreground, #cccccc);
19
+ font-family: var(--vscode-font-family, sans-serif);
20
+ font-size: var(--vscode-font-size, 13px);
21
+ font-weight: var(--vscode-font-weight, normal);
22
+ line-height: 1.4em;
23
23
  padding: 4px 0;
24
24
  white-space: nowrap;
25
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-context-menu.styles.js","sourceRoot":"","sources":["../../src/vscode-context-menu/vscode-context-menu.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;;;;;;;;;;;;;;;;;;;;;;;;;GAyBF;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 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 line-height: 1.4em;\n position: relative;\n }\n\n .context-menu {\n background-color: var(--vscode-menu-background, #1f1f1f);\n border-color: var(--vscode-menu-border, #454545);\n border-radius: 5px;\n border-style: solid;\n border-width: 1px;\n box-shadow: 0 2px 8px var(--vscode-widget-shadow, rgba(0, 0, 0, 0.36));\n color: var(--vscode-menu-foreground, #cccccc);\n padding: 4px 0;\n white-space: nowrap;\n }\n\n .context-menu:focus {\n outline: 0;\n }\n `,\n];\n\nexport default styles;\n"]}
1
+ {"version":3,"file":"vscode-context-menu.styles.js","sourceRoot":"","sources":["../../src/vscode-context-menu/vscode-context-menu.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;;;;;;;;;;;;;;;;;;;;;;;;;GAyBF;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 position: relative;\n }\n\n .context-menu {\n background-color: var(--vscode-menu-background, #1f1f1f);\n border-color: var(--vscode-menu-border, #454545);\n border-radius: 5px;\n border-style: solid;\n border-width: 1px;\n box-shadow: 0 2px 8px var(--vscode-widget-shadow, rgba(0, 0, 0, 0.36));\n color: var(--vscode-menu-foreground, #cccccc);\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 line-height: 1.4em;\n padding: 4px 0;\n white-space: nowrap;\n }\n\n .context-menu:focus {\n outline: 0;\n }\n `,\n];\n\nexport default styles;\n"]}
@@ -5,10 +5,6 @@ const styles = [
5
5
  css `
6
6
  :host {
7
7
  display: block;
8
- font-family: var(--vscode-font-family, sans-serif);
9
- font-size: var(--vscode-font-size, 13px);
10
- font-weight: var(--vscode-font-weight, normal);
11
- line-height: 1.4em;
12
8
  outline: none;
13
9
  position: relative;
14
10
  }
@@ -17,6 +13,10 @@ const styles = [
17
13
  background-color: var(--vscode-menu-background, #1f1f1f);
18
14
  color: var(--vscode-menu-foreground, #cccccc);
19
15
  display: flex;
16
+ font-family: var(--vscode-font-family, sans-serif);
17
+ font-size: var(--vscode-font-size, 13px);
18
+ font-weight: var(--vscode-font-weight, normal);
19
+ line-height: 1.4em;
20
20
  user-select: none;
21
21
  white-space: nowrap;
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-context-menu-item.styles.js","sourceRoot":"","sources":["../../src/vscode-context-menu-item/vscode-context-menu-item.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAiB,MAAM,KAAK,CAAC;AACxC,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAE1D,MAAM,MAAM,GAAmB;IAC7B,aAAa;IACb,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEF;CACF,CAAC;AAEF,eAAe,MAAM,CAAC","sourcesContent":["import {css, CSSResultGroup} from 'lit';\nimport defaultStyles from '../includes/default.styles.js';\n\nconst styles: CSSResultGroup = [\n defaultStyles,\n css`\n :host {\n display: 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 line-height: 1.4em;\n outline: none;\n position: relative;\n }\n\n .context-menu-item {\n background-color: var(--vscode-menu-background, #1f1f1f);\n color: var(--vscode-menu-foreground, #cccccc);\n display: flex;\n user-select: none;\n white-space: nowrap;\n }\n\n .ruler {\n border-bottom: 1px solid var(--vscode-menu-separatorBackground, #454545);\n display: block;\n margin: 0 0 4px;\n padding-top: 4px;\n width: 100%;\n }\n\n .context-menu-item a {\n align-items: center;\n border-color: transparent;\n border-radius: 3px;\n border-style: solid;\n border-width: 1px;\n box-sizing: border-box;\n color: var(--vscode-menu-foreground, #cccccc);\n cursor: pointer;\n display: flex;\n flex: 1 1 auto;\n height: 2em;\n margin-left: 4px;\n margin-right: 4px;\n outline: none;\n position: relative;\n text-decoration: inherit;\n }\n\n :host([selected]) .context-menu-item a {\n background-color: var(--vscode-menu-selectionBackground, #0078d4);\n border-color: var(--vscode-menu-selectionBorder, transparent);\n color: var(--vscode-menu-selectionForeground, #ffffff);\n }\n\n .label {\n background: none;\n display: flex;\n flex: 1 1 auto;\n font-size: 12px;\n line-height: 1;\n padding: 0 22px;\n text-decoration: none;\n }\n\n .keybinding {\n display: block;\n flex: 2 1 auto;\n line-height: 1;\n padding: 0 22px;\n text-align: right;\n }\n `,\n];\n\nexport default styles;\n"]}
1
+ {"version":3,"file":"vscode-context-menu-item.styles.js","sourceRoot":"","sources":["../../src/vscode-context-menu-item/vscode-context-menu-item.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAiB,MAAM,KAAK,CAAC;AACxC,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAE1D,MAAM,MAAM,GAAmB;IAC7B,aAAa;IACb,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEF;CACF,CAAC;AAEF,eAAe,MAAM,CAAC","sourcesContent":["import {css, CSSResultGroup} from 'lit';\nimport defaultStyles from '../includes/default.styles.js';\n\nconst styles: CSSResultGroup = [\n defaultStyles,\n css`\n :host {\n display: block;\n outline: none;\n position: relative;\n }\n\n .context-menu-item {\n background-color: var(--vscode-menu-background, #1f1f1f);\n color: var(--vscode-menu-foreground, #cccccc);\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 line-height: 1.4em;\n user-select: none;\n white-space: nowrap;\n }\n\n .ruler {\n border-bottom: 1px solid var(--vscode-menu-separatorBackground, #454545);\n display: block;\n margin: 0 0 4px;\n padding-top: 4px;\n width: 100%;\n }\n\n .context-menu-item a {\n align-items: center;\n border-color: transparent;\n border-radius: 3px;\n border-style: solid;\n border-width: 1px;\n box-sizing: border-box;\n color: var(--vscode-menu-foreground, #cccccc);\n cursor: pointer;\n display: flex;\n flex: 1 1 auto;\n height: 2em;\n margin-left: 4px;\n margin-right: 4px;\n outline: none;\n position: relative;\n text-decoration: inherit;\n }\n\n :host([selected]) .context-menu-item a {\n background-color: var(--vscode-menu-selectionBackground, #0078d4);\n border-color: var(--vscode-menu-selectionBorder, transparent);\n color: var(--vscode-menu-selectionForeground, #ffffff);\n }\n\n .label {\n background: none;\n display: flex;\n flex: 1 1 auto;\n font-size: 12px;\n line-height: 1;\n padding: 0 22px;\n text-decoration: none;\n }\n\n .keybinding {\n display: block;\n flex: 2 1 auto;\n line-height: 1;\n padding: 0 22px;\n text-align: right;\n }\n `,\n];\n\nexport default styles;\n"]}
@@ -19,7 +19,7 @@ let VscodeDivider = class VscodeDivider extends VscElement {
19
19
  this.role = 'separator';
20
20
  }
21
21
  render() {
22
- return html ``;
22
+ return html `<div></div>`;
23
23
  }
24
24
  };
25
25
  VscodeDivider.styles = styles;
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-divider.js","sourceRoot":"","sources":["../../src/vscode-divider/vscode-divider.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAiB,IAAI,EAAC,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACpE,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAEhD;;;;GAIG;AAEI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,UAAU;IAAtC;;QAII,SAAI,GAAiC,WAAW,CAAC;IAK5D,CAAC;IAHU,MAAM;QACb,OAAO,IAAI,CAAA,EAAE,CAAC;IAChB,CAAC;;AAPe,oBAAM,GAAG,MAAM,AAAT,CAAU;AAGvB;IADR,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;2CACgC;AAJ/C,aAAa;IADzB,aAAa,CAAC,gBAAgB,CAAC;GACnB,aAAa,CASzB","sourcesContent":["import {TemplateResult, html} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport styles from './vscode-divider.styles.js';\n\n/**\n * @tag vscode-divider\n *\n * @cssprop [--vscode-foreground=#cccccc]\n */\n@customElement('vscode-divider')\nexport class VscodeDivider extends VscElement {\n static override styles = styles;\n\n @property({reflect: true})\n override role: 'separator' | 'presentation' = 'separator';\n\n override render(): TemplateResult {\n return html``;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-divider': VscodeDivider;\n }\n}\n"]}
1
+ {"version":3,"file":"vscode-divider.js","sourceRoot":"","sources":["../../src/vscode-divider/vscode-divider.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAiB,IAAI,EAAC,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACpE,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAEhD;;;;GAIG;AAEI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,UAAU;IAAtC;;QAII,SAAI,GAAiC,WAAW,CAAC;IAK5D,CAAC;IAHU,MAAM;QACb,OAAO,IAAI,CAAA,aAAa,CAAC;IAC3B,CAAC;;AAPe,oBAAM,GAAG,MAAM,AAAT,CAAU;AAGvB;IADR,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;2CACgC;AAJ/C,aAAa;IADzB,aAAa,CAAC,gBAAgB,CAAC;GACnB,aAAa,CASzB","sourcesContent":["import {TemplateResult, html} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport styles from './vscode-divider.styles.js';\n\n/**\n * @tag vscode-divider\n *\n * @cssprop [--vscode-foreground=#cccccc]\n */\n@customElement('vscode-divider')\nexport class VscodeDivider extends VscElement {\n static override styles = styles;\n\n @property({reflect: true})\n override role: 'separator' | 'presentation' = 'separator';\n\n override render(): TemplateResult {\n return html`<div></div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-divider': VscodeDivider;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-divider.styles.d.ts","sourceRoot":"","sources":["../../src/vscode-divider/vscode-divider.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,cAAc,EAAC,MAAM,KAAK,CAAC;AAGxC,QAAA,MAAM,MAAM,EAAE,cAYb,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"vscode-divider.styles.d.ts","sourceRoot":"","sources":["../../src/vscode-divider/vscode-divider.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,cAAc,EAAC,MAAM,KAAK,CAAC;AAGxC,QAAA,MAAM,MAAM,EAAE,cAeb,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -4,11 +4,14 @@ const styles = [
4
4
  defaultStyles,
5
5
  css `
6
6
  :host {
7
- background-color: var(--vscode-foreground, #cccccc);
8
7
  display: block;
9
- height: 1px;
10
8
  margin-bottom: 10px;
11
9
  margin-top: 10px;
10
+ }
11
+
12
+ div {
13
+ background-color: var(--vscode-foreground, #cccccc);
14
+ height: 1px;
12
15
  opacity: 0.4;
13
16
  }
14
17
  `,
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-divider.styles.js","sourceRoot":"","sources":["../../src/vscode-divider/vscode-divider.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;;;;;;;;;GASF;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 background-color: var(--vscode-foreground, #cccccc);\n display: block;\n height: 1px;\n margin-bottom: 10px;\n margin-top: 10px;\n opacity: 0.4;\n }\n `,\n];\n\nexport default styles;\n"]}
1
+ {"version":3,"file":"vscode-divider.styles.js","sourceRoot":"","sources":["../../src/vscode-divider/vscode-divider.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;;;;;;;;;;;;GAYF;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 margin-bottom: 10px;\n margin-top: 10px;\n }\n\n div {\n background-color: var(--vscode-foreground, #cccccc);\n height: 1px;\n opacity: 0.4;\n }\n `,\n];\n\nexport default styles;\n"]}
@@ -8,17 +8,12 @@ export declare class VscodeFormContainer extends VscElement {
8
8
  set responsive(isResponsive: boolean);
9
9
  get responsive(): boolean;
10
10
  breakpoint: number;
11
- /** @deprecated - Use the native `<form>` element instead. */
12
- get data(): {
13
- [key: string]: string | string[];
14
- };
15
11
  private _resizeObserver;
16
12
  private _wrapperElement;
17
13
  private _assignedFormGroups;
18
14
  private _responsive;
19
15
  private _firstUpdateComplete;
20
16
  private _currentFormGroupLayout;
21
- private _collectFormData;
22
17
  private _toggleCompactLayout;
23
18
  private _resizeObserverCallback;
24
19
  private _resizeObserverCallbackBound;
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-form-container.d.ts","sourceRoot":"","sources":["../../src/vscode-form-container/vscode-form-container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AAEzC,OAAO,EAAgB,UAAU,EAAC,MAAM,2BAA2B,CAAC;AA8CpE;;GAEG;AACH,qBACa,mBAAoB,SAAQ,UAAU;IACjD,OAAgB,MAAM,+BAAU;IAEhC,IACI,UAAU,CAAC,YAAY,EAAE,OAAO,EAUnC;IACD,IAAI,UAAU,IAAI,OAAO,CAExB;IAGD,UAAU,SAAO;IAEjB,6DAA6D;IAC7D,IACI,IAAI,IAAI;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAC,CAE7C;IAED,OAAO,CAAC,eAAe,CAAyB;IAGhD,OAAO,CAAC,eAAe,CAAW;IAGlC,OAAO,CAAC,mBAAmB,CAAqB;IAEhD,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,oBAAoB,CAAS;IAErC,OAAO,CAAC,uBAAuB,CAAmB;IAElD,OAAO,CAAC,gBAAgB;IA+CxB,OAAO,CAAC,oBAAoB;IAqC5B,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,4BAA4B,CACM;IAE1C,OAAO,CAAC,yBAAyB;IAOjC,OAAO,CAAC,yBAAyB;IAKxB,YAAY,IAAI,IAAI;IAQpB,MAAM,IAAI,cAAc;CAOlC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,uBAAuB,EAAE,mBAAmB,CAAC;KAC9C;CACF"}
1
+ {"version":3,"file":"vscode-form-container.d.ts","sourceRoot":"","sources":["../../src/vscode-form-container/vscode-form-container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AAEzC,OAAO,EAAgB,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAapE;;GAEG;AACH,qBACa,mBAAoB,SAAQ,UAAU;IACjD,OAAgB,MAAM,+BAAU;IAEhC,IACI,UAAU,CAAC,YAAY,EAAE,OAAO,EAUnC;IACD,IAAI,UAAU,IAAI,OAAO,CAExB;IAGD,UAAU,SAAO;IAEjB,OAAO,CAAC,eAAe,CAAyB;IAGhD,OAAO,CAAC,eAAe,CAAW;IAGlC,OAAO,CAAC,mBAAmB,CAAqB;IAEhD,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,oBAAoB,CAAS;IAErC,OAAO,CAAC,uBAAuB,CAAmB;IAElD,OAAO,CAAC,oBAAoB;IAqC5B,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,4BAA4B,CACM;IAE1C,OAAO,CAAC,yBAAyB;IAOjC,OAAO,CAAC,yBAAyB;IAKxB,YAAY,IAAI,IAAI;IAQpB,MAAM,IAAI,cAAc;CAOlC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,uBAAuB,EAAE,mBAAmB,CAAC;KAC9C;CACF"}
@@ -13,21 +13,6 @@ var FormGroupLayout;
13
13
  FormGroupLayout["HORIZONTAL"] = "horizontal";
14
14
  FormGroupLayout["VERTICAL"] = "vertical";
15
15
  })(FormGroupLayout || (FormGroupLayout = {}));
16
- const isTextInput = (el) => {
17
- return ['vscode-textfield', 'vscode-textarea'].includes(el.tagName.toLocaleLowerCase());
18
- };
19
- const isSingleSelect = (el) => {
20
- return el.tagName.toLocaleLowerCase() === 'vscode-single-select';
21
- };
22
- const isMultiSelect = (el) => {
23
- return el.tagName.toLocaleLowerCase() === 'vscode-multi-select';
24
- };
25
- const isCheckbox = (el) => {
26
- return el.tagName.toLocaleLowerCase() === 'vscode-checkbox';
27
- };
28
- const isRadio = (el) => {
29
- return el.tagName.toLocaleLowerCase() === 'vscode-radio';
30
- };
31
16
  /**
32
17
  * @tag vscode-form-container
33
18
  */
@@ -53,51 +38,6 @@ let VscodeFormContainer = class VscodeFormContainer extends VscElement {
53
38
  get responsive() {
54
39
  return this._responsive;
55
40
  }
56
- /** @deprecated - Use the native `<form>` element instead. */
57
- get data() {
58
- return this._collectFormData();
59
- }
60
- _collectFormData() {
61
- const query = [
62
- 'vscode-textfield',
63
- 'vscode-textarea',
64
- 'vscode-single-select',
65
- 'vscode-multi-select',
66
- 'vscode-checkbox',
67
- 'vscode-radio',
68
- ].join(',');
69
- const vscFormWidgets = this.querySelectorAll(query);
70
- const data = {};
71
- vscFormWidgets.forEach((widget) => {
72
- if (!widget.hasAttribute('name')) {
73
- return;
74
- }
75
- const name = widget.getAttribute('name');
76
- if (!name) {
77
- return;
78
- }
79
- if (isCheckbox(widget) && widget.checked) {
80
- data[name] = Array.isArray(data[name])
81
- ? [...data[name], widget.value]
82
- : [widget.value];
83
- }
84
- else if (isMultiSelect(widget)) {
85
- data[name] = widget.value;
86
- }
87
- else if (isCheckbox(widget) && !widget.checked) {
88
- data[name] = Array.isArray(data[name]) ? data[name] : [];
89
- }
90
- else if ((isRadio(widget) && widget.checked) ||
91
- isTextInput(widget) ||
92
- isSingleSelect(widget)) {
93
- data[name] = widget.value;
94
- }
95
- else if (isRadio(widget) && !widget.checked) {
96
- data[name] = data[name] ? data[name] : '';
97
- }
98
- });
99
- return data;
100
- }
101
41
  _toggleCompactLayout(layout) {
102
42
  this._assignedFormGroups.forEach((group) => {
103
43
  if (!group.dataset.originalVariant) {
@@ -168,9 +108,6 @@ __decorate([
168
108
  __decorate([
169
109
  property({ type: Number })
170
110
  ], VscodeFormContainer.prototype, "breakpoint", void 0);
171
- __decorate([
172
- property({ type: Object })
173
- ], VscodeFormContainer.prototype, "data", null);
174
111
  __decorate([
175
112
  query('.wrapper')
176
113
  ], VscodeFormContainer.prototype, "_wrapperElement", void 0);