@vscode-elements/elements 1.15.0 → 1.16.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 (39) hide show
  1. package/custom-elements.json +151 -4
  2. package/dist/bundled.js +234 -156
  3. package/dist/includes/VscElement.js +1 -1
  4. package/dist/includes/VscElement.js.map +1 -1
  5. package/dist/main.d.ts +1 -0
  6. package/dist/main.d.ts.map +1 -1
  7. package/dist/main.js +1 -0
  8. package/dist/main.js.map +1 -1
  9. package/dist/vscode-button/vscode-button.d.ts +1 -0
  10. package/dist/vscode-button/vscode-button.d.ts.map +1 -1
  11. package/dist/vscode-button/vscode-button.js +6 -0
  12. package/dist/vscode-button/vscode-button.js.map +1 -1
  13. package/dist/vscode-button/vscode-button.styles.d.ts.map +1 -1
  14. package/dist/vscode-button/vscode-button.styles.js +59 -7
  15. package/dist/vscode-button/vscode-button.styles.js.map +1 -1
  16. package/dist/vscode-button-group/index.d.ts +2 -0
  17. package/dist/vscode-button-group/index.d.ts.map +1 -0
  18. package/dist/vscode-button-group/index.js +2 -0
  19. package/dist/vscode-button-group/index.js.map +1 -0
  20. package/dist/vscode-button-group/vscode-button-group.d.ts +29 -0
  21. package/dist/vscode-button-group/vscode-button-group.d.ts.map +1 -0
  22. package/dist/vscode-button-group/vscode-button-group.js +38 -0
  23. package/dist/vscode-button-group/vscode-button-group.js.map +1 -0
  24. package/dist/vscode-button-group/vscode-button-group.styles.d.ts +4 -0
  25. package/dist/vscode-button-group/vscode-button-group.styles.d.ts.map +1 -0
  26. package/dist/vscode-button-group/vscode-button-group.styles.js +33 -0
  27. package/dist/vscode-button-group/vscode-button-group.styles.js.map +1 -0
  28. package/dist/vscode-context-menu/vscode-context-menu.d.ts +1 -1
  29. package/dist/vscode-context-menu/vscode-context-menu.d.ts.map +1 -1
  30. package/dist/vscode-context-menu/vscode-context-menu.js.map +1 -1
  31. package/dist/vscode-split-layout/vscode-split-layout.d.ts +3 -1
  32. package/dist/vscode-split-layout/vscode-split-layout.d.ts.map +1 -1
  33. package/dist/vscode-split-layout/vscode-split-layout.js +3 -1
  34. package/dist/vscode-split-layout/vscode-split-layout.js.map +1 -1
  35. package/dist/vscode-split-layout/vscode-split-layout.styles.js +3 -3
  36. package/dist/vscode-split-layout/vscode-split-layout.styles.js.map +1 -1
  37. package/package.json +3 -3
  38. package/vscode.css-custom-data.json +18 -1
  39. package/vscode.html-custom-data.json +8 -1
@@ -1,5 +1,5 @@
1
1
  import { LitElement } from 'lit';
2
- const VERSION = '1.15.0';
2
+ const VERSION = '1.16.0';
3
3
  const CONFIG_KEY = '__vscodeElements_disableRegistryWarning__';
4
4
  export class VscElement extends LitElement {
5
5
  /** VSCode Elements version */
@@ -1 +1 @@
1
- {"version":3,"file":"VscElement.js","sourceRoot":"","sources":["../../src/includes/VscElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,KAAK,CAAC;AAE/B,MAAM,OAAO,GAAG,QAAQ,CAAC;AACzB,MAAM,UAAU,GAAG,2CAA2C,CAAC;AAE/D,MAAM,OAAO,UAAW,SAAQ,UAAU;IACxC,8BAA8B;IAC9B,IAAI,OAAO;QACT,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AASD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,EAAE;IAC/C,OAAO,CAAC,aAAiC,EAAE,EAAE;QAC3C,MAAM,kBAAkB,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEvD,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,aAAyC,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,cAAc,GAAI,EAAiB,EAAE,OAAO,CAAC;QACnD,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CACV,OAAO,EACP,mEAAmE,CACpE,CAAC;YACF,OAAO;gBACL,mEAAmE,CAAC;QACxE,CAAC;aAAM,IAAI,cAAc,KAAK,OAAO,EAAE,CAAC;YACtC,OAAO;gBACL,mEAAmE,CAAC;YACtE,OAAO,IAAI,oBAAoB,OAAO,8BAA8B,cAAc,IAAI,CAAC;QACzF,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,gEAAgE,CAAC;QACrE,CAAC;QAED,OAAO,CAAC,IAAI,CACV,qBAAqB,OAAO,IAAI,OAAO,0CAA0C,UAAU,UAAU,CACtG,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import {LitElement} from 'lit';\n\nconst VERSION = '1.15.0';\nconst CONFIG_KEY = '__vscodeElements_disableRegistryWarning__';\n\nexport class VscElement extends LitElement {\n /** VSCode Elements version */\n get version(): string {\n return VERSION;\n }\n}\n\ntype CustomElementClass = Omit<typeof HTMLElement, 'new'>;\n\nexport type Constructor<T> = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n new (...args: any[]): T;\n};\n\n/**\n * Own implementation of Lit's customElement decorator.\n */\nexport const customElement = (tagName: string) => {\n return (classOrTarget: CustomElementClass) => {\n const customElementClass = customElements.get(tagName);\n\n if (!customElementClass) {\n customElements.define(tagName, classOrTarget as CustomElementConstructor);\n return;\n }\n\n if (CONFIG_KEY in window) {\n return;\n }\n\n const el = document.createElement(tagName);\n const anotherVersion = (el as VscElement)?.version;\n let message = '';\n\n if (!anotherVersion) {\n console.warn(\n tagName,\n 'is already registered by an unknown custom element handler class.'\n );\n message +=\n 'is already registered by an unknown custom element handler class.';\n } else if (anotherVersion !== VERSION) {\n message +=\n 'is already registered by a different version of VSCode Elements. ';\n message += `This version is \"${VERSION}\", while the other one is \"${anotherVersion}\".`;\n } else {\n message +=\n 'is already registered by the same version of VSCode Elements. ';\n }\n\n console.warn(\n `[VSCode Elements] ${tagName} ${message}\\nTo suppress this warning, set window.${CONFIG_KEY} to true`\n );\n };\n};\n"]}
1
+ {"version":3,"file":"VscElement.js","sourceRoot":"","sources":["../../src/includes/VscElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,KAAK,CAAC;AAE/B,MAAM,OAAO,GAAG,QAAQ,CAAC;AACzB,MAAM,UAAU,GAAG,2CAA2C,CAAC;AAE/D,MAAM,OAAO,UAAW,SAAQ,UAAU;IACxC,8BAA8B;IAC9B,IAAI,OAAO;QACT,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AASD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,EAAE;IAC/C,OAAO,CAAC,aAAiC,EAAE,EAAE;QAC3C,MAAM,kBAAkB,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEvD,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,aAAyC,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,cAAc,GAAI,EAAiB,EAAE,OAAO,CAAC;QACnD,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CACV,OAAO,EACP,mEAAmE,CACpE,CAAC;YACF,OAAO;gBACL,mEAAmE,CAAC;QACxE,CAAC;aAAM,IAAI,cAAc,KAAK,OAAO,EAAE,CAAC;YACtC,OAAO;gBACL,mEAAmE,CAAC;YACtE,OAAO,IAAI,oBAAoB,OAAO,8BAA8B,cAAc,IAAI,CAAC;QACzF,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,gEAAgE,CAAC;QACrE,CAAC;QAED,OAAO,CAAC,IAAI,CACV,qBAAqB,OAAO,IAAI,OAAO,0CAA0C,UAAU,UAAU,CACtG,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import {LitElement} from 'lit';\n\nconst VERSION = '1.16.0';\nconst CONFIG_KEY = '__vscodeElements_disableRegistryWarning__';\n\nexport class VscElement extends LitElement {\n /** VSCode Elements version */\n get version(): string {\n return VERSION;\n }\n}\n\ntype CustomElementClass = Omit<typeof HTMLElement, 'new'>;\n\nexport type Constructor<T> = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n new (...args: any[]): T;\n};\n\n/**\n * Own implementation of Lit's customElement decorator.\n */\nexport const customElement = (tagName: string) => {\n return (classOrTarget: CustomElementClass) => {\n const customElementClass = customElements.get(tagName);\n\n if (!customElementClass) {\n customElements.define(tagName, classOrTarget as CustomElementConstructor);\n return;\n }\n\n if (CONFIG_KEY in window) {\n return;\n }\n\n const el = document.createElement(tagName);\n const anotherVersion = (el as VscElement)?.version;\n let message = '';\n\n if (!anotherVersion) {\n console.warn(\n tagName,\n 'is already registered by an unknown custom element handler class.'\n );\n message +=\n 'is already registered by an unknown custom element handler class.';\n } else if (anotherVersion !== VERSION) {\n message +=\n 'is already registered by a different version of VSCode Elements. ';\n message += `This version is \"${VERSION}\", while the other one is \"${anotherVersion}\".`;\n } else {\n message +=\n 'is already registered by the same version of VSCode Elements. ';\n }\n\n console.warn(\n `[VSCode Elements] ${tagName} ${message}\\nTo suppress this warning, set window.${CONFIG_KEY} to true`\n );\n };\n};\n"]}
package/dist/main.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export { VscodeBadge } from './vscode-badge/index.js';
2
2
  export { VscodeButton } from './vscode-button/index.js';
3
+ export { VscodeButtonGroup } from './vscode-button-group/index.js';
3
4
  export { VscodeCheckbox } from './vscode-checkbox/index.js';
4
5
  export { VscodeCheckboxGroup } from './vscode-checkbox-group/index.js';
5
6
  export { VscodeCollapsible } from './vscode-collapsible/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAC,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAC,qBAAqB,EAAC,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,qBAAqB,EAAC,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAC,sBAAsB,EAAC,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAC,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAC,qBAAqB,EAAC,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,qBAAqB,EAAC,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAC,sBAAsB,EAAC,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC"}
package/dist/main.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export { VscodeBadge } from './vscode-badge/index.js';
2
2
  export { VscodeButton } from './vscode-button/index.js';
3
+ export { VscodeButtonGroup } from './vscode-button-group/index.js';
3
4
  export { VscodeCheckbox } from './vscode-checkbox/index.js';
4
5
  export { VscodeCheckboxGroup } from './vscode-checkbox-group/index.js';
5
6
  export { VscodeCollapsible } from './vscode-collapsible/index.js';
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAC,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAC,qBAAqB,EAAC,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,qBAAqB,EAAC,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAC,sBAAsB,EAAC,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC","sourcesContent":["export {VscodeBadge} from './vscode-badge/index.js';\nexport {VscodeButton} from './vscode-button/index.js';\nexport {VscodeCheckbox} from './vscode-checkbox/index.js';\nexport {VscodeCheckboxGroup} from './vscode-checkbox-group/index.js';\nexport {VscodeCollapsible} from './vscode-collapsible/index.js';\nexport {VscodeContextMenuItem} from './vscode-context-menu-item/index.js';\nexport {VscodeContextMenu} from './vscode-context-menu/index.js';\nexport {VscodeDivider} from './vscode-divider/index.js';\nexport {VscodeFormContainer} from './vscode-form-container/index.js';\nexport {VscodeFormGroup} from './vscode-form-group/index.js';\nexport {VscodeFormHelper} from './vscode-form-helper/index.js';\nexport {VscodeIcon} from './vscode-icon/index.js';\nexport {VscodeLabel} from './vscode-label/index.js';\nexport {VscodeMultiSelect} from './vscode-multi-select/index.js';\nexport {VscodeOption} from './vscode-option/index.js';\nexport {VscodeProgressRing} from './vscode-progress-ring/index.js';\nexport {VscodeRadio} from './vscode-radio/index.js';\nexport {VscodeRadioGroup} from './vscode-radio-group/index.js';\nexport {VscodeSingleSelect} from './vscode-single-select/index.js';\nexport {VscodeScrollable} from './vscode-scrollable/index.js';\nexport {VscodeSplitLayout} from './vscode-split-layout/index.js';\nexport {VscodeTabHeader} from './vscode-tab-header/index.js';\nexport {VscodeTabPanel} from './vscode-tab-panel/index.js';\nexport {VscodeTableBody} from './vscode-table-body/index.js';\nexport {VscodeTableCell} from './vscode-table-cell/index.js';\nexport {VscodeTableHeader} from './vscode-table-header/index.js';\nexport {VscodeTableHeaderCell} from './vscode-table-header-cell/index.js';\nexport {VscodeTableRow} from './vscode-table-row/index.js';\nexport {VscodeTable} from './vscode-table/index.js';\nexport {VscodeTabs} from './vscode-tabs/index.js';\nexport {VscodeTextarea} from './vscode-textarea/index.js';\nexport {VscodeTextfield} from './vscode-textfield/index.js';\nexport {VscodeToolbarButton} from './vscode-toolbar-button/index.js';\nexport {VscodeToolbarContainer} from './vscode-toolbar-container/index.js';\nexport {VscodeTree} from './vscode-tree/index.js';\n"]}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAC,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAC,qBAAqB,EAAC,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,qBAAqB,EAAC,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAC,sBAAsB,EAAC,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC","sourcesContent":["export {VscodeBadge} from './vscode-badge/index.js';\nexport {VscodeButton} from './vscode-button/index.js';\nexport {VscodeButtonGroup} from './vscode-button-group/index.js';\nexport {VscodeCheckbox} from './vscode-checkbox/index.js';\nexport {VscodeCheckboxGroup} from './vscode-checkbox-group/index.js';\nexport {VscodeCollapsible} from './vscode-collapsible/index.js';\nexport {VscodeContextMenuItem} from './vscode-context-menu-item/index.js';\nexport {VscodeContextMenu} from './vscode-context-menu/index.js';\nexport {VscodeDivider} from './vscode-divider/index.js';\nexport {VscodeFormContainer} from './vscode-form-container/index.js';\nexport {VscodeFormGroup} from './vscode-form-group/index.js';\nexport {VscodeFormHelper} from './vscode-form-helper/index.js';\nexport {VscodeIcon} from './vscode-icon/index.js';\nexport {VscodeLabel} from './vscode-label/index.js';\nexport {VscodeMultiSelect} from './vscode-multi-select/index.js';\nexport {VscodeOption} from './vscode-option/index.js';\nexport {VscodeProgressRing} from './vscode-progress-ring/index.js';\nexport {VscodeRadio} from './vscode-radio/index.js';\nexport {VscodeRadioGroup} from './vscode-radio-group/index.js';\nexport {VscodeSingleSelect} from './vscode-single-select/index.js';\nexport {VscodeScrollable} from './vscode-scrollable/index.js';\nexport {VscodeSplitLayout} from './vscode-split-layout/index.js';\nexport {VscodeTabHeader} from './vscode-tab-header/index.js';\nexport {VscodeTabPanel} from './vscode-tab-panel/index.js';\nexport {VscodeTableBody} from './vscode-table-body/index.js';\nexport {VscodeTableCell} from './vscode-table-cell/index.js';\nexport {VscodeTableHeader} from './vscode-table-header/index.js';\nexport {VscodeTableHeaderCell} from './vscode-table-header-cell/index.js';\nexport {VscodeTableRow} from './vscode-table-row/index.js';\nexport {VscodeTable} from './vscode-table/index.js';\nexport {VscodeTabs} from './vscode-tabs/index.js';\nexport {VscodeTextarea} from './vscode-textarea/index.js';\nexport {VscodeTextfield} from './vscode-textfield/index.js';\nexport {VscodeToolbarButton} from './vscode-toolbar-button/index.js';\nexport {VscodeToolbarContainer} from './vscode-toolbar-container/index.js';\nexport {VscodeTree} from './vscode-tree/index.js';\n"]}
@@ -60,6 +60,7 @@ export declare class VscodeButton extends VscElement {
60
60
  iconAfterSpinDuration?: number;
61
61
  focused: boolean;
62
62
  name: string | undefined;
63
+ iconOnly: boolean;
63
64
  type: 'submit' | 'reset' | 'button';
64
65
  value: string;
65
66
  private _prevTabindex;
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-button.d.ts","sourceRoot":"","sources":["../../src/vscode-button/vscode-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,gBAAgB,EAAE,cAAc,EAAC,MAAM,KAAK,CAAC;AAGpE,OAAO,EAAgB,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACpE,OAAO,yBAAyB,CAAC;AAIjC;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBACa,YAAa,SAAQ,UAAU;IAC1C,OAAgB,MAAM,+BAAU;IAEhC,gBAAgB;IAChB,MAAM,CAAC,cAAc,UAAQ;IAGpB,SAAS,UAAS;IAE3B,gBAAgB;IAEP,QAAQ,SAAK;IAEtB;;OAEG;IAEH,SAAS,UAAS;IAElB,gBAAgB;IAEP,IAAI,SAAY;IAGzB,QAAQ,UAAS;IAEjB;;OAEG;IAEH,IAAI,SAAM;IAEV;;OAEG;IAEH,QAAQ,CAAC,sBAAS;IAElB;;OAEG;IAEH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IAEH,SAAS,SAAM;IAEf;;OAEG;IAEH,aAAa,UAAS;IAEtB;;OAEG;IAMH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAG/B,OAAO,UAAS;IAGhB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IAGrC,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAY;IAG/C,KAAK,SAAM;IAEX,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,UAAU,CAAmB;IAErC,IAAI,IAAI,IAAI,eAAe,GAAG,IAAI,CAEjC;;IASQ,iBAAiB,IAAI,IAAI;IAkBzB,oBAAoB,IAAI,IAAI;IAM5B,MAAM,CAEb,iBAAiB,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GACnE,IAAI;IAqBP,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,cAAc;IA+BtB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,WAAW,CAEjB;IAEO,MAAM,IAAI,cAAc;CAmClC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,YAAY,CAAC;KAC/B;CACF"}
1
+ {"version":3,"file":"vscode-button.d.ts","sourceRoot":"","sources":["../../src/vscode-button/vscode-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,gBAAgB,EAAE,cAAc,EAAC,MAAM,KAAK,CAAC;AAGpE,OAAO,EAAgB,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACpE,OAAO,yBAAyB,CAAC;AAIjC;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBACa,YAAa,SAAQ,UAAU;IAC1C,OAAgB,MAAM,+BAAU;IAEhC,gBAAgB;IAChB,MAAM,CAAC,cAAc,UAAQ;IAGpB,SAAS,UAAS;IAE3B,gBAAgB;IAEP,QAAQ,SAAK;IAEtB;;OAEG;IAEH,SAAS,UAAS;IAElB,gBAAgB;IAEP,IAAI,SAAY;IAGzB,QAAQ,UAAS;IAEjB;;OAEG;IAEH,IAAI,SAAM;IAEV;;OAEG;IAEH,QAAQ,CAAC,sBAAS;IAElB;;OAEG;IAEH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IAEH,SAAS,SAAM;IAEf;;OAEG;IAEH,aAAa,UAAS;IAEtB;;OAEG;IAMH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAG/B,OAAO,UAAS;IAGhB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IAGrC,QAAQ,UAAS;IAGjB,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAY;IAG/C,KAAK,SAAM;IAEX,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,UAAU,CAAmB;IAErC,IAAI,IAAI,IAAI,eAAe,GAAG,IAAI,CAEjC;;IASQ,iBAAiB,IAAI,IAAI;IAkBzB,oBAAoB,IAAI,IAAI;IAM5B,MAAM,CAEb,iBAAiB,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GACnE,IAAI;IAqBP,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,cAAc;IA+BtB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,WAAW,CAEjB;IAEO,MAAM,IAAI,cAAc;CAqClC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,YAAY,CAAC;KAC/B;CACF"}
@@ -64,6 +64,7 @@ let VscodeButton = class VscodeButton extends VscElement {
64
64
  this.iconAfterSpin = false;
65
65
  this.focused = false;
66
66
  this.name = undefined;
67
+ this.iconOnly = false;
67
68
  this.type = 'button';
68
69
  this.value = '';
69
70
  this._prevTabindex = 0;
@@ -166,6 +167,7 @@ let VscodeButton = class VscodeButton extends VscElement {
166
167
  wrapper: true,
167
168
  'has-icon-before': hasIcon,
168
169
  'has-icon-after': hasIconAfter,
170
+ 'icon-only': this.iconOnly,
169
171
  };
170
172
  const iconElem = hasIcon
171
173
  ? html `<vscode-icon
@@ -189,6 +191,7 @@ let VscodeButton = class VscodeButton extends VscElement {
189
191
  <slot></slot>
190
192
  ${iconAfterElem}
191
193
  </span>
194
+ <div class="divider"><div></div></div>
192
195
  `;
193
196
  }
194
197
  };
@@ -238,6 +241,9 @@ __decorate([
238
241
  __decorate([
239
242
  property({ type: String, reflect: true })
240
243
  ], VscodeButton.prototype, "name", void 0);
244
+ __decorate([
245
+ property({ type: Boolean, reflect: true, attribute: 'icon-only' })
246
+ ], VscodeButton.prototype, "iconOnly", void 0);
241
247
  __decorate([
242
248
  property({ reflect: true })
243
249
  ], VscodeButton.prototype, "type", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-button.js","sourceRoot":"","sources":["../../src/vscode-button/vscode-button.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, nothing, PropertyValueMap, TemplateResult} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport '../vscode-icon/index.js';\nimport styles from './vscode-button.styles.js';\nimport {ifDefined} from 'lit/directives/if-defined.js';\n\n/**\n * Clickable element that are used to trigger actions.\n *\n * @tag vscode-button\n *\n * @fires vsc-click Dispatched only when button is not in disabled state.\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')\nexport class VscodeButton extends VscElement {\n static override styles = styles;\n\n /** @internal */\n static formAssociated = true;\n\n @property({type: Boolean, reflect: true})\n override autofocus = false;\n\n /** @internal */\n @property({type: Number, reflect: true})\n override tabIndex = 0;\n\n /**\n * Button has a less prominent style.\n */\n @property({type: Boolean, reflect: true})\n secondary = false;\n\n /** @internal */\n @property({reflect: true})\n override role = 'button';\n\n @property({type: Boolean, reflect: true})\n disabled = false;\n\n /**\n * A [Codicon](https://microsoft.github.io/vscode-codicons/dist/codicon.html) before the label\n */\n @property()\n icon = '';\n\n /**\n * Spin property for the icon\n */\n @property({type: Boolean, reflect: true, attribute: 'icon-spin'})\n iconSpin? = false;\n\n /**\n * Duration property for the icon\n */\n @property({type: Number, reflect: true, attribute: 'icon-spin-duration'})\n iconSpinDuration?: number;\n\n /**\n * A [Codicon](https://microsoft.github.io/vscode-codicons/dist/codicon.html) after the label\n */\n @property({attribute: 'icon-after'})\n iconAfter = '';\n\n /**\n * Spin property for the after icon\n */\n @property({type: Boolean, reflect: true, attribute: 'icon-after-spin'})\n iconAfterSpin = false;\n\n /**\n * Duration property for the after icon\n */\n @property({\n type: Number,\n reflect: true,\n attribute: 'icon-after-spin-duration',\n })\n iconAfterSpinDuration?: number;\n\n @property({type: Boolean, reflect: true})\n focused = false;\n\n @property({type: String, reflect: true})\n name: string | undefined = undefined;\n\n @property({reflect: true})\n type: 'submit' | 'reset' | 'button' = 'button';\n\n @property()\n value = '';\n\n private _prevTabindex = 0;\n private _internals: ElementInternals;\n\n get form(): HTMLFormElement | null {\n return this._internals.form;\n }\n\n constructor() {\n super();\n this.addEventListener('keydown', this._handleKeyDown.bind(this));\n this.addEventListener('click', this._handleClick.bind(this));\n this._internals = this.attachInternals();\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n if (this.autofocus) {\n if (this.tabIndex < 0) {\n this.tabIndex = 0;\n }\n\n this.updateComplete.then(() => {\n this.focus();\n this.requestUpdate();\n });\n }\n\n this.addEventListener('focus', this._handleFocus);\n this.addEventListener('blur', this._handleBlur);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('focus', this._handleFocus);\n this.removeEventListener('blur', this._handleBlur);\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('value')) {\n this._internals.setFormValue(this.value);\n }\n\n if (changedProperties.has('disabled')) {\n if (this.disabled) {\n // Save the original tabIndex, which may have been modified by the user.\n this._prevTabindex = this.tabIndex;\n // It's a native property, we don't care about re-rendering.\n // eslint-disable-next-line lit/no-property-change-update\n this.tabIndex = -1;\n } else {\n // eslint-disable-next-line lit/no-property-change-update\n this.tabIndex = this._prevTabindex;\n }\n }\n }\n\n private _executeAction() {\n if (this.type === 'submit' && this._internals.form) {\n this._internals.form.requestSubmit();\n }\n\n if (this.type === 'reset' && this._internals.form) {\n this._internals.form.reset();\n }\n }\n\n private _handleKeyDown(event: KeyboardEvent) {\n if (\n (event.key === 'Enter' || event.key === ' ') &&\n !this.hasAttribute('disabled')\n ) {\n /**\n * @deprecated\n * Please use the standard `click` event.\n */\n this.dispatchEvent(\n new CustomEvent<{\n originalEvent: MouseEvent;\n }>('vsc-click', {\n detail: {\n originalEvent: new MouseEvent('click'),\n },\n })\n );\n\n const syntheticClick = new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n }) as Event & {synthetic?: boolean};\n\n syntheticClick.synthetic = true;\n this.dispatchEvent(syntheticClick);\n\n this._executeAction();\n }\n }\n\n private _handleClick(event: MouseEvent) {\n if ((event as MouseEvent & {synthetic?: boolean}).synthetic) {\n return;\n }\n if (!this.hasAttribute('disabled')) {\n this.dispatchEvent(\n new CustomEvent<{\n originalEvent: MouseEvent;\n }>('vsc-click', {\n detail: {\n originalEvent: event,\n },\n })\n );\n\n this._executeAction();\n }\n }\n\n private _handleFocus = () => {\n this.focused = true;\n };\n\n private _handleBlur = () => {\n this.focused = false;\n };\n\n override render(): TemplateResult {\n const hasIcon = this.icon !== '';\n const hasIconAfter = this.iconAfter !== '';\n const wrapperClasses = {\n wrapper: true,\n 'has-icon-before': hasIcon,\n 'has-icon-after': hasIconAfter,\n };\n\n const iconElem = hasIcon\n ? html`<vscode-icon\n name=${this.icon}\n ?spin=${this.iconSpin}\n spin-duration=${ifDefined(this.iconSpinDuration)}\n class=\"icon\"\n ></vscode-icon>`\n : nothing;\n\n const iconAfterElem = hasIconAfter\n ? html`<vscode-icon\n name=${this.iconAfter}\n ?spin=${this.iconAfterSpin}\n spin-duration=${ifDefined(this.iconAfterSpinDuration)}\n class=\"icon-after\"\n ></vscode-icon>`\n : nothing;\n\n return html`\n <span class=${classMap(wrapperClasses)}>\n ${iconElem}\n <slot></slot>\n ${iconAfterElem}\n </span>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-button': VscodeButton;\n }\n}\n"]}
1
+ {"version":3,"file":"vscode-button.js","sourceRoot":"","sources":["../../src/vscode-button/vscode-button.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, nothing, PropertyValueMap, TemplateResult} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport '../vscode-icon/index.js';\nimport styles from './vscode-button.styles.js';\nimport {ifDefined} from 'lit/directives/if-defined.js';\n\n/**\n * Clickable element that are used to trigger actions.\n *\n * @tag vscode-button\n *\n * @fires vsc-click Dispatched only when button is not in disabled state.\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')\nexport class VscodeButton extends VscElement {\n static override styles = styles;\n\n /** @internal */\n static formAssociated = true;\n\n @property({type: Boolean, reflect: true})\n override autofocus = false;\n\n /** @internal */\n @property({type: Number, reflect: true})\n override tabIndex = 0;\n\n /**\n * Button has a less prominent style.\n */\n @property({type: Boolean, reflect: true})\n secondary = false;\n\n /** @internal */\n @property({reflect: true})\n override role = 'button';\n\n @property({type: Boolean, reflect: true})\n disabled = false;\n\n /**\n * A [Codicon](https://microsoft.github.io/vscode-codicons/dist/codicon.html) before the label\n */\n @property()\n icon = '';\n\n /**\n * Spin property for the icon\n */\n @property({type: Boolean, reflect: true, attribute: 'icon-spin'})\n iconSpin? = false;\n\n /**\n * Duration property for the icon\n */\n @property({type: Number, reflect: true, attribute: 'icon-spin-duration'})\n iconSpinDuration?: number;\n\n /**\n * A [Codicon](https://microsoft.github.io/vscode-codicons/dist/codicon.html) after the label\n */\n @property({attribute: 'icon-after'})\n iconAfter = '';\n\n /**\n * Spin property for the after icon\n */\n @property({type: Boolean, reflect: true, attribute: 'icon-after-spin'})\n iconAfterSpin = false;\n\n /**\n * Duration property for the after icon\n */\n @property({\n type: Number,\n reflect: true,\n attribute: 'icon-after-spin-duration',\n })\n iconAfterSpinDuration?: number;\n\n @property({type: Boolean, reflect: true})\n focused = false;\n\n @property({type: String, reflect: true})\n name: string | undefined = undefined;\n\n @property({type: Boolean, reflect: true, attribute: 'icon-only'})\n iconOnly = false;\n\n @property({reflect: true})\n type: 'submit' | 'reset' | 'button' = 'button';\n\n @property()\n value = '';\n\n private _prevTabindex = 0;\n private _internals: ElementInternals;\n\n get form(): HTMLFormElement | null {\n return this._internals.form;\n }\n\n constructor() {\n super();\n this.addEventListener('keydown', this._handleKeyDown.bind(this));\n this.addEventListener('click', this._handleClick.bind(this));\n this._internals = this.attachInternals();\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n if (this.autofocus) {\n if (this.tabIndex < 0) {\n this.tabIndex = 0;\n }\n\n this.updateComplete.then(() => {\n this.focus();\n this.requestUpdate();\n });\n }\n\n this.addEventListener('focus', this._handleFocus);\n this.addEventListener('blur', this._handleBlur);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('focus', this._handleFocus);\n this.removeEventListener('blur', this._handleBlur);\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('value')) {\n this._internals.setFormValue(this.value);\n }\n\n if (changedProperties.has('disabled')) {\n if (this.disabled) {\n // Save the original tabIndex, which may have been modified by the user.\n this._prevTabindex = this.tabIndex;\n // It's a native property, we don't care about re-rendering.\n // eslint-disable-next-line lit/no-property-change-update\n this.tabIndex = -1;\n } else {\n // eslint-disable-next-line lit/no-property-change-update\n this.tabIndex = this._prevTabindex;\n }\n }\n }\n\n private _executeAction() {\n if (this.type === 'submit' && this._internals.form) {\n this._internals.form.requestSubmit();\n }\n\n if (this.type === 'reset' && this._internals.form) {\n this._internals.form.reset();\n }\n }\n\n private _handleKeyDown(event: KeyboardEvent) {\n if (\n (event.key === 'Enter' || event.key === ' ') &&\n !this.hasAttribute('disabled')\n ) {\n /**\n * @deprecated\n * Please use the standard `click` event.\n */\n this.dispatchEvent(\n new CustomEvent<{\n originalEvent: MouseEvent;\n }>('vsc-click', {\n detail: {\n originalEvent: new MouseEvent('click'),\n },\n })\n );\n\n const syntheticClick = new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n }) as Event & {synthetic?: boolean};\n\n syntheticClick.synthetic = true;\n this.dispatchEvent(syntheticClick);\n\n this._executeAction();\n }\n }\n\n private _handleClick(event: MouseEvent) {\n if ((event as MouseEvent & {synthetic?: boolean}).synthetic) {\n return;\n }\n if (!this.hasAttribute('disabled')) {\n this.dispatchEvent(\n new CustomEvent<{\n originalEvent: MouseEvent;\n }>('vsc-click', {\n detail: {\n originalEvent: event,\n },\n })\n );\n\n this._executeAction();\n }\n }\n\n private _handleFocus = () => {\n this.focused = true;\n };\n\n private _handleBlur = () => {\n this.focused = false;\n };\n\n override render(): TemplateResult {\n const hasIcon = this.icon !== '';\n const hasIconAfter = this.iconAfter !== '';\n const wrapperClasses = {\n wrapper: true,\n 'has-icon-before': hasIcon,\n 'has-icon-after': hasIconAfter,\n 'icon-only': this.iconOnly,\n };\n\n const iconElem = hasIcon\n ? html`<vscode-icon\n name=${this.icon}\n ?spin=${this.iconSpin}\n spin-duration=${ifDefined(this.iconSpinDuration)}\n class=\"icon\"\n ></vscode-icon>`\n : nothing;\n\n const iconAfterElem = hasIconAfter\n ? html`<vscode-icon\n name=${this.iconAfter}\n ?spin=${this.iconAfterSpin}\n spin-duration=${ifDefined(this.iconAfterSpinDuration)}\n class=\"icon-after\"\n ></vscode-icon>`\n : nothing;\n\n return html`\n <span class=${classMap(wrapperClasses)}>\n ${iconElem}\n <slot></slot>\n ${iconAfterElem}\n </span>\n <div class=\"divider\"><div></div></div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-button': VscodeButton;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-button.styles.d.ts","sourceRoot":"","sources":["../../src/vscode-button/vscode-button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,cAAc,EAAY,MAAM,KAAK,CAAC;AAMnD,QAAA,MAAM,MAAM,EAAE,cAsHb,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"vscode-button.styles.d.ts","sourceRoot":"","sources":["../../src/vscode-button/vscode-button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,cAAc,EAAY,MAAM,KAAK,CAAC;AAMnD,QAAA,MAAM,MAAM,EAAE,cA0Kb,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -13,13 +13,13 @@ const styles = [
13
13
  border-width: 1px;
14
14
  color: var(--vscode-button-foreground, #ffffff);
15
15
  cursor: pointer;
16
- display: inline-block;
16
+ display: inline-flex;
17
17
  font-family: var(--vscode-font-family, ${defaultFontStack});
18
18
  font-size: var(--vscode-font-size, 13px);
19
19
  font-weight: var(--vscode-font-weight, normal);
20
20
  line-height: 22px;
21
21
  overflow: hidden;
22
- padding: 1px 13px;
22
+ padding: 0;
23
23
  user-select: none;
24
24
  white-space: nowrap;
25
25
  }
@@ -60,7 +60,7 @@ const styles = [
60
60
  outline: none;
61
61
  }
62
62
 
63
- :host(:focus) {
63
+ :host(:focus-visible) {
64
64
  background-color: var(--vscode-button-hoverBackground, #026ec1);
65
65
  outline: 1px solid var(--vscode-focusBorder, #0078d4);
66
66
  outline-offset: 2px;
@@ -89,6 +89,10 @@ const styles = [
89
89
  margin-left: 0;
90
90
  }
91
91
 
92
+ ::slotted(*:last-child) {
93
+ margin-right: 0;
94
+ }
95
+
92
96
  ::slotted(vscode-icon) {
93
97
  color: inherit;
94
98
  }
@@ -100,6 +104,15 @@ const styles = [
100
104
  justify-content: center;
101
105
  position: relative;
102
106
  width: 100%;
107
+ height: 100%;
108
+ padding: 1px 13px;
109
+ }
110
+
111
+ :host(:empty) .wrapper,
112
+ :host([icon-only]) .wrapper {
113
+ min-height: 24px;
114
+ min-width: 16px;
115
+ padding: 1px 5px;
103
116
  }
104
117
 
105
118
  slot {
@@ -108,17 +121,56 @@ const styles = [
108
121
  height: 100%;
109
122
  }
110
123
 
111
- .icon {
124
+ .icon,
125
+ .icon-after {
112
126
  color: inherit;
113
127
  display: block;
128
+ }
129
+
130
+ :host(:not(:empty)) .icon {
114
131
  margin-right: 3px;
115
132
  }
116
133
 
117
- .icon-after {
118
- color: inherit;
119
- display: block;
134
+ :host(:not(:empty)) .icon-after,
135
+ :host([icon]) .icon-after {
120
136
  margin-left: 3px;
121
137
  }
138
+
139
+ .divider {
140
+ display: var(--divider-display, none);
141
+ background-color: transparent;
142
+ padding: 4px 0;
143
+ box-sizing: border-box;
144
+ }
145
+
146
+ :host(:hover) .divider,
147
+ :host(:focus-visible) .divider {
148
+ background-color: var(--vscode-button-hoverBackground, #026ec1);
149
+ }
150
+
151
+ :host([secondary]) .divider {
152
+ background-color: var(--vscode-button-secondaryBackground, #313131);
153
+ }
154
+
155
+ :host([secondary]:hover) .divider,
156
+ :host([secondary]:focus-visible) .divider {
157
+ background-color: var(--vscode-button-secondaryHoverBackground, #3c3c3c);
158
+ }
159
+
160
+ .divider > div {
161
+ background-color: var(
162
+ --vscode-button-separator,
163
+ rgba(255, 255, 255, 0.4)
164
+ );
165
+ height: 100%;
166
+ width: 1px;
167
+ margin: 0;
168
+ }
169
+
170
+ :host([secondary]) .divider > div {
171
+ background-color: var(--vscode-button-secondaryForeground, #cccccc);
172
+ opacity: 0.4;
173
+ }
122
174
  `,
123
175
  ];
124
176
  export default styles;
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-button.styles.js","sourceRoot":"","sources":["../../src/vscode-button/vscode-button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAkB,SAAS,EAAC,MAAM,KAAK,CAAC;AACnD,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAC;AAE3D,MAAM,gBAAgB,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAE1D,MAAM,MAAM,GAAmB;IAC7B,aAAa;IACb,GAAG,CAAA;;;;;;;;;;+CAU0C,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyG5D;CACF,CAAC;AAEF,eAAe,MAAM,CAAC","sourcesContent":["import {css, CSSResultGroup, unsafeCSS} from 'lit';\nimport defaultStyles from '../includes/default.styles.js';\nimport {getDefaultFontStack} from '../includes/helpers.js';\n\nconst defaultFontStack = unsafeCSS(getDefaultFontStack());\n\nconst styles: CSSResultGroup = [\n defaultStyles,\n css`\n :host {\n background-color: var(--vscode-button-background, #0078d4);\n border-color: var(--vscode-button-border, transparent);\n border-style: solid;\n border-radius: 2px;\n border-width: 1px;\n color: var(--vscode-button-foreground, #ffffff);\n cursor: pointer;\n display: inline-block;\n font-family: var(--vscode-font-family, ${defaultFontStack});\n font-size: var(--vscode-font-size, 13px);\n font-weight: var(--vscode-font-weight, normal);\n line-height: 22px;\n overflow: hidden;\n padding: 1px 13px;\n user-select: none;\n white-space: nowrap;\n }\n\n :host([secondary]) {\n color: var(--vscode-button-secondaryForeground, #cccccc);\n background-color: var(--vscode-button-secondaryBackground, #313131);\n border-color: var(\n --vscode-button-border,\n var(--vscode-button-secondaryBackground, rgba(255, 255, 255, 0.07))\n );\n }\n\n :host([disabled]) {\n cursor: default;\n opacity: 0.4;\n pointer-events: none;\n }\n\n :host(:hover) {\n background-color: var(--vscode-button-hoverBackground, #026ec1);\n }\n\n :host([disabled]:hover) {\n background-color: var(--vscode-button-background, #0078d4);\n }\n\n :host([secondary]:hover) {\n background-color: var(--vscode-button-secondaryHoverBackground, #3c3c3c);\n }\n\n :host([secondary][disabled]:hover) {\n background-color: var(--vscode-button-secondaryBackground, #313131);\n }\n\n :host(:focus),\n :host(:active) {\n outline: none;\n }\n\n :host(:focus) {\n background-color: var(--vscode-button-hoverBackground, #026ec1);\n outline: 1px solid var(--vscode-focusBorder, #0078d4);\n outline-offset: 2px;\n }\n\n :host([disabled]:focus) {\n background-color: var(--vscode-button-background, #0078d4);\n outline: 0;\n }\n\n :host([secondary]:focus) {\n background-color: var(--vscode-button-secondaryHoverBackground, #3c3c3c);\n }\n\n :host([secondary][disabled]:focus) {\n background-color: var(--vscode-button-secondaryBackground, #313131);\n }\n\n ::slotted(*) {\n display: inline-block;\n margin-left: 4px;\n margin-right: 4px;\n }\n\n ::slotted(*:first-child) {\n margin-left: 0;\n }\n\n ::slotted(vscode-icon) {\n color: inherit;\n }\n\n .wrapper {\n align-items: center;\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n position: relative;\n width: 100%;\n }\n\n slot {\n align-items: center;\n display: flex;\n height: 100%;\n }\n\n .icon {\n color: inherit;\n display: block;\n margin-right: 3px;\n }\n\n .icon-after {\n color: inherit;\n display: block;\n margin-left: 3px;\n }\n `,\n];\n\nexport default styles;\n"]}
1
+ {"version":3,"file":"vscode-button.styles.js","sourceRoot":"","sources":["../../src/vscode-button/vscode-button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAkB,SAAS,EAAC,MAAM,KAAK,CAAC;AACnD,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAC;AAE3D,MAAM,gBAAgB,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAE1D,MAAM,MAAM,GAAmB;IAC7B,aAAa;IACb,GAAG,CAAA;;;;;;;;;;+CAU0C,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6J5D;CACF,CAAC;AAEF,eAAe,MAAM,CAAC","sourcesContent":["import {css, CSSResultGroup, unsafeCSS} from 'lit';\nimport defaultStyles from '../includes/default.styles.js';\nimport {getDefaultFontStack} from '../includes/helpers.js';\n\nconst defaultFontStack = unsafeCSS(getDefaultFontStack());\n\nconst styles: CSSResultGroup = [\n defaultStyles,\n css`\n :host {\n background-color: var(--vscode-button-background, #0078d4);\n border-color: var(--vscode-button-border, transparent);\n border-style: solid;\n border-radius: 2px;\n border-width: 1px;\n color: var(--vscode-button-foreground, #ffffff);\n cursor: pointer;\n display: inline-flex;\n font-family: var(--vscode-font-family, ${defaultFontStack});\n font-size: var(--vscode-font-size, 13px);\n font-weight: var(--vscode-font-weight, normal);\n line-height: 22px;\n overflow: hidden;\n padding: 0;\n user-select: none;\n white-space: nowrap;\n }\n\n :host([secondary]) {\n color: var(--vscode-button-secondaryForeground, #cccccc);\n background-color: var(--vscode-button-secondaryBackground, #313131);\n border-color: var(\n --vscode-button-border,\n var(--vscode-button-secondaryBackground, rgba(255, 255, 255, 0.07))\n );\n }\n\n :host([disabled]) {\n cursor: default;\n opacity: 0.4;\n pointer-events: none;\n }\n\n :host(:hover) {\n background-color: var(--vscode-button-hoverBackground, #026ec1);\n }\n\n :host([disabled]:hover) {\n background-color: var(--vscode-button-background, #0078d4);\n }\n\n :host([secondary]:hover) {\n background-color: var(--vscode-button-secondaryHoverBackground, #3c3c3c);\n }\n\n :host([secondary][disabled]:hover) {\n background-color: var(--vscode-button-secondaryBackground, #313131);\n }\n\n :host(:focus),\n :host(:active) {\n outline: none;\n }\n\n :host(:focus-visible) {\n background-color: var(--vscode-button-hoverBackground, #026ec1);\n outline: 1px solid var(--vscode-focusBorder, #0078d4);\n outline-offset: 2px;\n }\n\n :host([disabled]:focus) {\n background-color: var(--vscode-button-background, #0078d4);\n outline: 0;\n }\n\n :host([secondary]:focus) {\n background-color: var(--vscode-button-secondaryHoverBackground, #3c3c3c);\n }\n\n :host([secondary][disabled]:focus) {\n background-color: var(--vscode-button-secondaryBackground, #313131);\n }\n\n ::slotted(*) {\n display: inline-block;\n margin-left: 4px;\n margin-right: 4px;\n }\n\n ::slotted(*:first-child) {\n margin-left: 0;\n }\n\n ::slotted(*:last-child) {\n margin-right: 0;\n }\n\n ::slotted(vscode-icon) {\n color: inherit;\n }\n\n .wrapper {\n align-items: center;\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n position: relative;\n width: 100%;\n height: 100%;\n padding: 1px 13px;\n }\n\n :host(:empty) .wrapper,\n :host([icon-only]) .wrapper {\n min-height: 24px;\n min-width: 16px;\n padding: 1px 5px;\n }\n\n slot {\n align-items: center;\n display: flex;\n height: 100%;\n }\n\n .icon,\n .icon-after {\n color: inherit;\n display: block;\n }\n\n :host(:not(:empty)) .icon {\n margin-right: 3px;\n }\n\n :host(:not(:empty)) .icon-after,\n :host([icon]) .icon-after {\n margin-left: 3px;\n }\n\n .divider {\n display: var(--divider-display, none);\n background-color: transparent;\n padding: 4px 0;\n box-sizing: border-box;\n }\n\n :host(:hover) .divider,\n :host(:focus-visible) .divider {\n background-color: var(--vscode-button-hoverBackground, #026ec1);\n }\n\n :host([secondary]) .divider {\n background-color: var(--vscode-button-secondaryBackground, #313131);\n }\n\n :host([secondary]:hover) .divider,\n :host([secondary]:focus-visible) .divider {\n background-color: var(--vscode-button-secondaryHoverBackground, #3c3c3c);\n }\n\n .divider > div {\n background-color: var(\n --vscode-button-separator,\n rgba(255, 255, 255, 0.4)\n );\n height: 100%;\n width: 1px;\n margin: 0;\n }\n\n :host([secondary]) .divider > div {\n background-color: var(--vscode-button-secondaryForeground, #cccccc);\n opacity: 0.4;\n }\n `,\n];\n\nexport default styles;\n"]}
@@ -0,0 +1,2 @@
1
+ export { VscodeButtonGroup } from './vscode-button-group.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vscode-button-group/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { VscodeButtonGroup } from './vscode-button-group.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vscode-button-group/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC","sourcesContent":["export {VscodeButtonGroup} from './vscode-button-group.js';\n"]}
@@ -0,0 +1,29 @@
1
+ import { TemplateResult } from 'lit';
2
+ import { VscElement } from '../includes/VscElement.js';
3
+ /**
4
+ * Shows a split button, including several components in a single button. Commonly used to show a button with a dropdown to the right.
5
+ *
6
+ * @tag vscode-button-group
7
+ *
8
+ * @cssprop [--vscode-button-background=#0078d4]
9
+ * @cssprop [--vscode-button-foreground=#ffffff]
10
+ * @cssprop [--vscode-button-border=var(--vscode-button-background, rgba(255, 255, 255, 0.07))]
11
+ * @cssprop [--vscode-button-hoverBackground=#026ec1]
12
+ * @cssprop [--vscode-font-family=sans-serif] - A sans-serif font type depends on the host OS.
13
+ * @cssprop [--vscode-font-size=13px]
14
+ * @cssprop [--vscode-font-weight=normal]
15
+ * @cssprop [--vscode-button-secondaryForeground=#cccccc]
16
+ * @cssprop [--vscode-button-secondaryBackground=#313131]
17
+ * @cssprop [--vscode-button-secondaryHoverBackground=#3c3c3c]
18
+ * @cssprop [--vscode-focusBorder=#0078d4]
19
+ */
20
+ export declare class VscodeButtonGroup extends VscElement {
21
+ static styles: import("lit").CSSResultGroup;
22
+ render(): TemplateResult;
23
+ }
24
+ declare global {
25
+ interface HTMLElementTagNameMap {
26
+ 'vscode-button-group': VscodeButtonGroup;
27
+ }
28
+ }
29
+ //# sourceMappingURL=vscode-button-group.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,38 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { html } from 'lit';
8
+ import { customElement } from 'lit/decorators.js';
9
+ import { VscElement } from '../includes/VscElement.js';
10
+ import styles from './vscode-button-group.styles.js';
11
+ /**
12
+ * Shows a split button, including several components in a single button. Commonly used to show a button with a dropdown to the right.
13
+ *
14
+ * @tag vscode-button-group
15
+ *
16
+ * @cssprop [--vscode-button-background=#0078d4]
17
+ * @cssprop [--vscode-button-foreground=#ffffff]
18
+ * @cssprop [--vscode-button-border=var(--vscode-button-background, rgba(255, 255, 255, 0.07))]
19
+ * @cssprop [--vscode-button-hoverBackground=#026ec1]
20
+ * @cssprop [--vscode-font-family=sans-serif] - A sans-serif font type depends on the host OS.
21
+ * @cssprop [--vscode-font-size=13px]
22
+ * @cssprop [--vscode-font-weight=normal]
23
+ * @cssprop [--vscode-button-secondaryForeground=#cccccc]
24
+ * @cssprop [--vscode-button-secondaryBackground=#313131]
25
+ * @cssprop [--vscode-button-secondaryHoverBackground=#3c3c3c]
26
+ * @cssprop [--vscode-focusBorder=#0078d4]
27
+ */
28
+ let VscodeButtonGroup = class VscodeButtonGroup extends VscElement {
29
+ render() {
30
+ return html ` <slot></slot> `;
31
+ }
32
+ };
33
+ VscodeButtonGroup.styles = styles;
34
+ VscodeButtonGroup = __decorate([
35
+ customElement('vscode-button-group')
36
+ ], VscodeButtonGroup);
37
+ export { VscodeButtonGroup };
38
+ //# sourceMappingURL=vscode-button-group.js.map
@@ -0,0 +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"]}
@@ -0,0 +1,4 @@
1
+ import { CSSResultGroup } from 'lit';
2
+ declare const styles: CSSResultGroup;
3
+ export default styles;
4
+ //# sourceMappingURL=vscode-button-group.styles.d.ts.map
@@ -0,0 +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,cA4Bb,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { css } from 'lit';
2
+ import defaultStyles from '../includes/default.styles.js';
3
+ const styles = [
4
+ defaultStyles,
5
+ css `
6
+ :host {
7
+ display: inline-flex;
8
+ align-items: stretch;
9
+ padding: 0;
10
+ border: none;
11
+ }
12
+
13
+ ::slotted(vscode-button:not(:first-child)) {
14
+ border-top-left-radius: 0;
15
+ border-bottom-left-radius: 0;
16
+ border-left-width: 0;
17
+ }
18
+
19
+ ::slotted(vscode-button:not(:last-child)) {
20
+ --divider-display: block;
21
+
22
+ border-top-right-radius: 0;
23
+ border-bottom-right-radius: 0;
24
+ border-right-width: 0;
25
+ }
26
+
27
+ ::slotted(vscode-button:focus) {
28
+ z-index: 1;
29
+ }
30
+ `,
31
+ ];
32
+ export default styles;
33
+ //# sourceMappingURL=vscode-button-group.styles.js.map
@@ -0,0 +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;;;;;;;;;;;;;;;;;;;;;;;;;GAyBF;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 }\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\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"]}
@@ -2,7 +2,7 @@ import { TemplateResult } from 'lit';
2
2
  import { VscElement } from '../includes/VscElement.js';
3
3
  import '../vscode-context-menu-item/index.js';
4
4
  interface MenuItemData {
5
- label: string;
5
+ label?: string;
6
6
  keybinding?: string;
7
7
  value?: string;
8
8
  separator?: boolean;
@@ -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;IAEpB,KAAK,EAAE,MAAM,CAAC;IACd,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;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 +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 // TODO: make optional\n label: string;\n keybinding?: string;\n value?: string;\n separator?: boolean;\n tabindex?: number;\n}\n\nexport type VscContextMenuSelectEvent = CustomEvent<{\n keybinding: string;\n label: string;\n value: string;\n separator: boolean;\n tabindex: number;\n}>;\n\n/**\n * @tag vscode-context-menu\n *\n * @fires {VscMenuSelectEvent} vsc-menu-select - Emitted when a menu item is clicked\n *\n * @cssprop [--vscode-font-family=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":"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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"]}
@@ -18,7 +18,9 @@ export type VscSplitLayoutChangeEvent = CustomEvent<{
18
18
  *
19
19
  * @prop {'start' | 'end' | 'none'} fixedPane
20
20
  *
21
- * @cssprop [--hover-border=var(--vscode-sash-hoverBorder)]
21
+ * @cssprop [--separator-border=#454545]
22
+ * @cssprop [--vscode-editorWidget-border=#454545]
23
+ * @cssprop [--vscode-sash-hoverBorder=#0078d4]
22
24
  */
23
25
  export declare class VscodeSplitLayout extends VscElement {
24
26
  static styles: import("lit").CSSResultGroup;
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-split-layout.d.ts","sourceRoot":"","sources":["../../src/vscode-split-layout/vscode-split-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAE,cAAc,EAAC,MAAM,KAAK,CAAC;AAGzD,OAAO,EAAgB,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAOpE,KAAK,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC;AACxC,KAAK,WAAW,GAAG,YAAY,GAAG,UAAU,CAAC;AAC7C,KAAK,aAAa,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAE9C,eAAO,MAAM,UAAU,GACrB,KAAK,MAAM,KACV;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAsBpC,CAAC;AAGF,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,EAAE,KAAK,MAAM,WAEvD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,EAAE,KAAK,MAAM,WAEvD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,WAAW,CAAC;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,qBACa,iBAAkB,SAAQ,UAAU;IAC/C,OAAgB,MAAM,+BAAU;IAEhC;;OAEG;IACH,IACI,KAAK,CAAC,MAAM,EAAE,WAAW,EAM5B;IACD,IAAI,KAAK,IAAI,WAAW,CAEvB;IACD,OAAO,CAAC,MAAM,CAA2B;IAEzC;;;OAGG;IAEH,eAAe,UAAS;IAExB;;;OAGG;IAEH,UAAU,SAAK;IAEf;;;OAGG;IAEH,qBAAqB,EAAE,MAAM,CAA4B;IAEzD;;;;OAIG;IACH,IACI,cAAc,CAAC,MAAM,EAAE,MAAM,EAGhC;IACD,IAAI,cAAc,IAAI,MAAM,GAAG,SAAS,CAEvC;IACD,OAAO,CAAC,kBAAkB,CAAC,CAAS;IAEpC;;OAEG;IACH,IACI,SAAS,CAAC,MAAM,EAAE,aAAa,EAGlC;IACD,IAAI,SAAS,IAAI,aAAa,CAE7B;IACD,OAAO,CAAC,UAAU,CAAyB;IAG3C,OAAO,CAAC,eAAe,CAAK;IAG5B,OAAO,CAAC,aAAa,CAAS;IAG9B,OAAO,CAAC,MAAM,CAAS;IAGvB,OAAO,CAAC,KAAK,CAAS;IAGtB,OAAO,CAAC,UAAU,CAAkB;IAGpC,OAAO,CAAC,SAAS,CAAkB;IAGnC,OAAO,CAAC,qBAAqB,CAAiB;IAG9C,OAAO,CAAC,mBAAmB,CAAiB;IAE5C,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,cAAc,CAAa;;IAQnC;;OAEG;IACH,mBAAmB;IAmBV,iBAAiB,IAAI,IAAI;cAIf,YAAY,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAgBzE,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,aAAa,CAanB;IAEF,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,cAAc,CAwBpB;IAEF,OAAO,CAAC,gBAAgB,CAmBtB;IAEF,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,iBAAiB;IAahB,MAAM,IAAI,cAAc;CAiFlC;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-split-layout.d.ts","sourceRoot":"","sources":["../../src/vscode-split-layout/vscode-split-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAE,cAAc,EAAC,MAAM,KAAK,CAAC;AAGzD,OAAO,EAAgB,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAOpE,KAAK,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC;AACxC,KAAK,WAAW,GAAG,YAAY,GAAG,UAAU,CAAC;AAC7C,KAAK,aAAa,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAE9C,eAAO,MAAM,UAAU,GACrB,KAAK,MAAM,KACV;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAsBpC,CAAC;AAGF,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,EAAE,KAAK,MAAM,WAEvD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,EAAE,KAAK,MAAM,WAEvD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,WAAW,CAAC;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,qBACa,iBAAkB,SAAQ,UAAU;IAC/C,OAAgB,MAAM,+BAAU;IAEhC;;OAEG;IACH,IACI,KAAK,CAAC,MAAM,EAAE,WAAW,EAM5B;IACD,IAAI,KAAK,IAAI,WAAW,CAEvB;IACD,OAAO,CAAC,MAAM,CAA2B;IAEzC;;;OAGG;IAEH,eAAe,UAAS;IAExB;;;OAGG;IAEH,UAAU,SAAK;IAEf;;;OAGG;IAEH,qBAAqB,EAAE,MAAM,CAA4B;IAEzD;;;;OAIG;IACH,IACI,cAAc,CAAC,MAAM,EAAE,MAAM,EAGhC;IACD,IAAI,cAAc,IAAI,MAAM,GAAG,SAAS,CAEvC;IACD,OAAO,CAAC,kBAAkB,CAAC,CAAS;IAEpC;;OAEG;IACH,IACI,SAAS,CAAC,MAAM,EAAE,aAAa,EAGlC;IACD,IAAI,SAAS,IAAI,aAAa,CAE7B;IACD,OAAO,CAAC,UAAU,CAAyB;IAG3C,OAAO,CAAC,eAAe,CAAK;IAG5B,OAAO,CAAC,aAAa,CAAS;IAG9B,OAAO,CAAC,MAAM,CAAS;IAGvB,OAAO,CAAC,KAAK,CAAS;IAGtB,OAAO,CAAC,UAAU,CAAkB;IAGpC,OAAO,CAAC,SAAS,CAAkB;IAGnC,OAAO,CAAC,qBAAqB,CAAiB;IAG9C,OAAO,CAAC,mBAAmB,CAAiB;IAE5C,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,cAAc,CAAa;;IAQnC;;OAEG;IACH,mBAAmB;IAmBV,iBAAiB,IAAI,IAAI;cAIf,YAAY,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAgBzE,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,aAAa,CAanB;IAEF,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,cAAc,CAwBpB;IAEF,OAAO,CAAC,gBAAgB,CAmBtB;IAEF,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,iBAAiB;IAahB,MAAM,IAAI,cAAc;CAiFlC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,iBAAiB,CAAC;KAC1C;IAED,UAAU,2BAA2B;QACnC,yBAAyB,EAAE,yBAAyB,CAAC;KACtD;CACF"}
@@ -46,7 +46,9 @@ export const percentToPx = (current, max) => {
46
46
  *
47
47
  * @prop {'start' | 'end' | 'none'} fixedPane
48
48
  *
49
- * @cssprop [--hover-border=var(--vscode-sash-hoverBorder)]
49
+ * @cssprop [--separator-border=#454545]
50
+ * @cssprop [--vscode-editorWidget-border=#454545]
51
+ * @cssprop [--vscode-sash-hoverBorder=#0078d4]
50
52
  */
51
53
  let VscodeSplitLayout = VscodeSplitLayout_1 = class VscodeSplitLayout extends VscElement {
52
54
  /**