@vscode-elements/elements 2.0.0-pre.1 → 2.0.0-pre.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/custom-elements.json +3512 -1943
- package/dist/bundled.js +1179 -947
- package/dist/includes/VscElement.d.ts +9 -1
- package/dist/includes/VscElement.d.ts.map +1 -1
- package/dist/includes/VscElement.js +38 -5
- package/dist/includes/VscElement.js.map +1 -1
- package/dist/includes/form-button-widget/LabelledCheckboxOrRadio.d.ts.map +1 -1
- package/dist/includes/form-button-widget/base.styles.js +8 -8
- package/dist/includes/form-button-widget/base.styles.js.map +1 -1
- package/dist/includes/uniqueId.d.ts.map +1 -1
- package/dist/includes/vscode-select/OptionListController.d.ts +61 -0
- package/dist/includes/vscode-select/OptionListController.d.ts.map +1 -0
- package/dist/includes/vscode-select/OptionListController.js +373 -0
- package/dist/includes/vscode-select/OptionListController.js.map +1 -0
- package/dist/includes/vscode-select/helpers.d.ts +4 -2
- package/dist/includes/vscode-select/helpers.d.ts.map +1 -1
- package/dist/includes/vscode-select/helpers.js +26 -0
- package/dist/includes/vscode-select/helpers.js.map +1 -1
- package/dist/includes/vscode-select/styles.d.ts.map +1 -1
- package/dist/includes/vscode-select/styles.js +137 -86
- package/dist/includes/vscode-select/styles.js.map +1 -1
- package/dist/includes/vscode-select/template-elements.d.ts +1 -0
- package/dist/includes/vscode-select/template-elements.d.ts.map +1 -1
- package/dist/includes/vscode-select/template-elements.js +14 -1
- package/dist/includes/vscode-select/template-elements.js.map +1 -1
- package/dist/includes/vscode-select/types.d.ts +11 -7
- package/dist/includes/vscode-select/types.d.ts.map +1 -1
- package/dist/includes/vscode-select/types.js.map +1 -1
- package/dist/includes/vscode-select/vscode-select-base.d.ts +42 -31
- package/dist/includes/vscode-select/vscode-select-base.d.ts.map +1 -1
- package/dist/includes/vscode-select/vscode-select-base.js +379 -245
- package/dist/includes/vscode-select/vscode-select-base.js.map +1 -1
- package/dist/main.d.ts +4 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +4 -0
- package/dist/main.js.map +1 -1
- package/dist/vscode-badge/vscode-badge.d.ts.map +1 -1
- package/dist/vscode-badge/vscode-badge.js +2 -2
- package/dist/vscode-badge/vscode-badge.js.map +1 -1
- package/dist/vscode-button/vscode-button.d.ts +1 -0
- package/dist/vscode-button/vscode-button.d.ts.map +1 -1
- package/dist/vscode-button/vscode-button.js +8 -2
- package/dist/vscode-button/vscode-button.js.map +1 -1
- package/dist/vscode-button/vscode-button.styles.d.ts.map +1 -1
- package/dist/vscode-button/vscode-button.styles.js +60 -11
- package/dist/vscode-button/vscode-button.styles.js.map +1 -1
- package/dist/vscode-button-group/index.d.ts +2 -0
- package/dist/vscode-button-group/index.d.ts.map +1 -0
- package/dist/vscode-button-group/index.js +2 -0
- package/dist/vscode-button-group/index.js.map +1 -0
- package/dist/vscode-button-group/vscode-button-group.d.ts +29 -0
- package/dist/vscode-button-group/vscode-button-group.d.ts.map +1 -0
- package/dist/vscode-button-group/vscode-button-group.js +38 -0
- package/dist/vscode-button-group/vscode-button-group.js.map +1 -0
- package/dist/vscode-button-group/vscode-button-group.styles.d.ts +4 -0
- package/dist/vscode-button-group/vscode-button-group.styles.d.ts.map +1 -0
- package/dist/vscode-button-group/vscode-button-group.styles.js +35 -0
- package/dist/vscode-button-group/vscode-button-group.styles.js.map +1 -0
- package/dist/vscode-checkbox/vscode-checkbox.d.ts +10 -10
- package/dist/vscode-checkbox/vscode-checkbox.d.ts.map +1 -1
- package/dist/vscode-checkbox/vscode-checkbox.js +12 -14
- package/dist/vscode-checkbox/vscode-checkbox.js.map +1 -1
- package/dist/vscode-checkbox/vscode-checkbox.styles.js +2 -2
- package/dist/vscode-checkbox/vscode-checkbox.styles.js.map +1 -1
- package/dist/vscode-checkbox-group/vscode-checkbox-group.d.ts.map +1 -1
- package/dist/vscode-checkbox-group/vscode-checkbox-group.js +2 -2
- package/dist/vscode-checkbox-group/vscode-checkbox-group.js.map +1 -1
- package/dist/vscode-collapsible/vscode-collapsible.d.ts +6 -6
- package/dist/vscode-collapsible/vscode-collapsible.d.ts.map +1 -1
- package/dist/vscode-collapsible/vscode-collapsible.js +8 -8
- package/dist/vscode-collapsible/vscode-collapsible.js.map +1 -1
- package/dist/vscode-collapsible/vscode-collapsible.styles.js +6 -6
- package/dist/vscode-collapsible/vscode-collapsible.styles.js.map +1 -1
- package/dist/vscode-context-menu/vscode-context-menu.d.ts +8 -8
- package/dist/vscode-context-menu/vscode-context-menu.d.ts.map +1 -1
- package/dist/vscode-context-menu/vscode-context-menu.js +9 -9
- package/dist/vscode-context-menu/vscode-context-menu.js.map +1 -1
- package/dist/vscode-context-menu/vscode-context-menu.styles.js +7 -7
- package/dist/vscode-context-menu/vscode-context-menu.styles.js.map +1 -1
- package/dist/vscode-context-menu-item/vscode-context-menu-item.d.ts +9 -9
- package/dist/vscode-context-menu-item/vscode-context-menu-item.d.ts.map +1 -1
- package/dist/vscode-context-menu-item/vscode-context-menu-item.js +11 -11
- package/dist/vscode-context-menu-item/vscode-context-menu-item.js.map +1 -1
- package/dist/vscode-context-menu-item/vscode-context-menu-item.styles.d.ts.map +1 -1
- package/dist/vscode-context-menu-item/vscode-context-menu-item.styles.js +10 -13
- package/dist/vscode-context-menu-item/vscode-context-menu-item.styles.js.map +1 -1
- package/dist/vscode-divider/vscode-divider.d.ts +2 -0
- package/dist/vscode-divider/vscode-divider.d.ts.map +1 -1
- package/dist/vscode-divider/vscode-divider.js +4 -2
- package/dist/vscode-divider/vscode-divider.js.map +1 -1
- package/dist/vscode-divider/vscode-divider.styles.js +1 -1
- package/dist/vscode-divider/vscode-divider.styles.js.map +1 -1
- package/dist/vscode-form-container/vscode-form-container.d.ts.map +1 -1
- package/dist/vscode-form-container/vscode-form-container.js +2 -2
- package/dist/vscode-form-container/vscode-form-container.js.map +1 -1
- package/dist/vscode-form-group/vscode-form-group.d.ts.map +1 -1
- package/dist/vscode-form-group/vscode-form-group.js +2 -2
- package/dist/vscode-form-group/vscode-form-group.js.map +1 -1
- package/dist/vscode-form-helper/vscode-form-helper.d.ts.map +1 -1
- package/dist/vscode-form-helper/vscode-form-helper.js +1 -2
- package/dist/vscode-form-helper/vscode-form-helper.js.map +1 -1
- package/dist/vscode-icon/vscode-icon.d.ts +4 -4
- package/dist/vscode-icon/vscode-icon.d.ts.map +1 -1
- package/dist/vscode-icon/vscode-icon.js +7 -6
- package/dist/vscode-icon/vscode-icon.js.map +1 -1
- package/dist/vscode-icon/vscode-icon.styles.d.ts.map +1 -1
- package/dist/vscode-icon/vscode-icon.styles.js +10 -4
- package/dist/vscode-icon/vscode-icon.styles.js.map +1 -1
- package/dist/vscode-label/vscode-label.d.ts +3 -3
- package/dist/vscode-label/vscode-label.d.ts.map +1 -1
- package/dist/vscode-label/vscode-label.js +14 -12
- package/dist/vscode-label/vscode-label.js.map +1 -1
- package/dist/vscode-label/vscode-label.styles.js +4 -4
- package/dist/vscode-label/vscode-label.styles.js.map +1 -1
- package/dist/vscode-multi-select/vscode-multi-select.d.ts +39 -26
- package/dist/vscode-multi-select/vscode-multi-select.d.ts.map +1 -1
- package/dist/vscode-multi-select/vscode-multi-select.js +184 -161
- package/dist/vscode-multi-select/vscode-multi-select.js.map +1 -1
- package/dist/vscode-option/vscode-option.d.ts.map +1 -1
- package/dist/vscode-option/vscode-option.js +2 -2
- package/dist/vscode-option/vscode-option.js.map +1 -1
- package/dist/vscode-progress-ring/vscode-progress-ring.d.ts +2 -0
- package/dist/vscode-progress-ring/vscode-progress-ring.d.ts.map +1 -1
- package/dist/vscode-progress-ring/vscode-progress-ring.js +4 -2
- package/dist/vscode-progress-ring/vscode-progress-ring.js.map +1 -1
- package/dist/vscode-progress-ring/vscode-progress-ring.styles.js +1 -1
- package/dist/vscode-progress-ring/vscode-progress-ring.styles.js.map +1 -1
- package/dist/vscode-radio/vscode-radio.d.ts +9 -8
- package/dist/vscode-radio/vscode-radio.d.ts.map +1 -1
- package/dist/vscode-radio/vscode-radio.js +11 -9
- package/dist/vscode-radio/vscode-radio.js.map +1 -1
- package/dist/vscode-radio/vscode-radio.styles.js +2 -2
- package/dist/vscode-radio/vscode-radio.styles.js.map +1 -1
- package/dist/vscode-radio-group/vscode-radio-group.d.ts.map +1 -1
- package/dist/vscode-radio-group/vscode-radio-group.js +2 -2
- package/dist/vscode-radio-group/vscode-radio-group.js.map +1 -1
- package/dist/vscode-scrollable/vscode-scrollable.d.ts +61 -17
- package/dist/vscode-scrollable/vscode-scrollable.d.ts.map +1 -1
- package/dist/vscode-scrollable/vscode-scrollable.js +193 -88
- package/dist/vscode-scrollable/vscode-scrollable.js.map +1 -1
- package/dist/vscode-scrollable/vscode-scrollable.styles.d.ts.map +1 -1
- package/dist/vscode-scrollable/vscode-scrollable.styles.js +17 -5
- package/dist/vscode-scrollable/vscode-scrollable.styles.js.map +1 -1
- package/dist/vscode-single-select/vscode-single-select.d.ts +39 -28
- package/dist/vscode-single-select/vscode-single-select.d.ts.map +1 -1
- package/dist/vscode-single-select/vscode-single-select.js +180 -125
- package/dist/vscode-single-select/vscode-single-select.js.map +1 -1
- package/dist/vscode-split-layout/vscode-split-layout.d.ts +3 -1
- package/dist/vscode-split-layout/vscode-split-layout.d.ts.map +1 -1
- package/dist/vscode-split-layout/vscode-split-layout.js +8 -3
- package/dist/vscode-split-layout/vscode-split-layout.js.map +1 -1
- package/dist/vscode-split-layout/vscode-split-layout.styles.js +3 -3
- package/dist/vscode-split-layout/vscode-split-layout.styles.js.map +1 -1
- package/dist/vscode-tab-header/vscode-tab-header.d.ts.map +1 -1
- package/dist/vscode-tab-header/vscode-tab-header.js +2 -2
- package/dist/vscode-tab-header/vscode-tab-header.js.map +1 -1
- package/dist/vscode-tab-panel/vscode-tab-panel.d.ts.map +1 -1
- package/dist/vscode-tab-panel/vscode-tab-panel.js +2 -2
- package/dist/vscode-tab-panel/vscode-tab-panel.js.map +1 -1
- package/dist/vscode-table/helpers.d.ts.map +1 -1
- package/dist/vscode-table/vscode-table.d.ts +1 -0
- package/dist/vscode-table/vscode-table.d.ts.map +1 -1
- package/dist/vscode-table/vscode-table.js +20 -16
- package/dist/vscode-table/vscode-table.js.map +1 -1
- package/dist/vscode-table-body/vscode-table-body.d.ts.map +1 -1
- package/dist/vscode-table-body/vscode-table-body.js +2 -2
- package/dist/vscode-table-body/vscode-table-body.js.map +1 -1
- package/dist/vscode-table-cell/vscode-table-cell.d.ts.map +1 -1
- package/dist/vscode-table-cell/vscode-table-cell.js +2 -2
- package/dist/vscode-table-cell/vscode-table-cell.js.map +1 -1
- package/dist/vscode-table-header/vscode-table-header.d.ts.map +1 -1
- package/dist/vscode-table-header/vscode-table-header.js +2 -2
- package/dist/vscode-table-header/vscode-table-header.js.map +1 -1
- package/dist/vscode-table-header-cell/vscode-table-header-cell.d.ts.map +1 -1
- package/dist/vscode-table-header-cell/vscode-table-header-cell.js +2 -2
- package/dist/vscode-table-header-cell/vscode-table-header-cell.js.map +1 -1
- package/dist/vscode-table-row/vscode-table-row.d.ts.map +1 -1
- package/dist/vscode-table-row/vscode-table-row.js +2 -2
- package/dist/vscode-table-row/vscode-table-row.js.map +1 -1
- package/dist/vscode-tabs/vscode-tabs.d.ts.map +1 -1
- package/dist/vscode-tabs/vscode-tabs.js +2 -2
- package/dist/vscode-tabs/vscode-tabs.js.map +1 -1
- package/dist/vscode-textarea/vscode-textarea.d.ts +18 -18
- package/dist/vscode-textarea/vscode-textarea.d.ts.map +1 -1
- package/dist/vscode-textarea/vscode-textarea.js +20 -20
- package/dist/vscode-textarea/vscode-textarea.js.map +1 -1
- package/dist/vscode-textarea/vscode-textarea.styles.d.ts.map +1 -1
- package/dist/vscode-textarea/vscode-textarea.styles.js +31 -22
- package/dist/vscode-textarea/vscode-textarea.styles.js.map +1 -1
- package/dist/vscode-textfield/vscode-textfield.d.ts.map +1 -1
- package/dist/vscode-textfield/vscode-textfield.js +2 -2
- package/dist/vscode-textfield/vscode-textfield.js.map +1 -1
- package/dist/vscode-toolbar-button/index.d.ts +2 -0
- package/dist/vscode-toolbar-button/index.d.ts.map +1 -0
- package/dist/vscode-toolbar-button/index.js +2 -0
- package/dist/vscode-toolbar-button/index.js.map +1 -0
- package/dist/vscode-toolbar-button/vscode-toolbar-button.d.ts +26 -0
- package/dist/vscode-toolbar-button/vscode-toolbar-button.d.ts.map +1 -0
- package/dist/vscode-toolbar-button/vscode-toolbar-button.js +83 -0
- package/dist/vscode-toolbar-button/vscode-toolbar-button.js.map +1 -0
- package/dist/vscode-toolbar-button/vscode-toolbar-button.styles.d.ts +4 -0
- package/dist/vscode-toolbar-button/vscode-toolbar-button.styles.d.ts.map +1 -0
- package/dist/vscode-toolbar-button/vscode-toolbar-button.styles.js +77 -0
- package/dist/vscode-toolbar-button/vscode-toolbar-button.styles.js.map +1 -0
- package/dist/vscode-toolbar-container/index.d.ts +2 -0
- package/dist/vscode-toolbar-container/index.d.ts.map +1 -0
- package/dist/vscode-toolbar-container/index.js +2 -0
- package/dist/vscode-toolbar-container/index.js.map +1 -0
- package/dist/vscode-toolbar-container/vscode-toolbar-container.d.ts +17 -0
- package/dist/vscode-toolbar-container/vscode-toolbar-container.d.ts.map +1 -0
- package/dist/vscode-toolbar-container/vscode-toolbar-container.js +25 -0
- package/dist/vscode-toolbar-container/vscode-toolbar-container.js.map +1 -0
- package/dist/vscode-toolbar-container/vscode-toolbar-container.styles.d.ts +4 -0
- package/dist/vscode-toolbar-container/vscode-toolbar-container.styles.d.ts.map +1 -0
- package/dist/vscode-toolbar-container/vscode-toolbar-container.styles.js +14 -0
- package/dist/vscode-toolbar-container/vscode-toolbar-container.styles.js.map +1 -0
- package/dist/vscode-tree/helpers.d.ts +9 -0
- package/dist/vscode-tree/helpers.d.ts.map +1 -0
- package/dist/vscode-tree/helpers.js +116 -0
- package/dist/vscode-tree/helpers.js.map +1 -0
- package/dist/vscode-tree/tree-context.d.ts +33 -0
- package/dist/vscode-tree/tree-context.d.ts.map +1 -0
- package/dist/vscode-tree/tree-context.js +4 -0
- package/dist/vscode-tree/tree-context.js.map +1 -0
- package/dist/vscode-tree/vscode-tree.d.ts +96 -144
- package/dist/vscode-tree/vscode-tree.d.ts.map +1 -1
- package/dist/vscode-tree/vscode-tree.js +324 -622
- package/dist/vscode-tree/vscode-tree.js.map +1 -1
- package/dist/vscode-tree/vscode-tree.styles.d.ts.map +1 -1
- package/dist/vscode-tree/vscode-tree.styles.js +31 -231
- package/dist/vscode-tree/vscode-tree.styles.js.map +1 -1
- package/dist/vscode-tree-item/index.d.ts +2 -0
- package/dist/vscode-tree-item/index.d.ts.map +1 -0
- package/dist/vscode-tree-item/index.js +2 -0
- package/dist/vscode-tree-item/index.js.map +1 -0
- package/dist/vscode-tree-item/vscode-tree-item.d.ts +50 -0
- package/dist/vscode-tree-item/vscode-tree-item.d.ts.map +1 -0
- package/dist/vscode-tree-item/vscode-tree-item.js +418 -0
- package/dist/vscode-tree-item/vscode-tree-item.js.map +1 -0
- package/dist/vscode-tree-item/vscode-tree-item.styles.d.ts +4 -0
- package/dist/vscode-tree-item/vscode-tree-item.styles.d.ts.map +1 -0
- package/dist/vscode-tree-item/vscode-tree-item.styles.js +140 -0
- package/dist/vscode-tree-item/vscode-tree-item.styles.js.map +1 -0
- package/package.json +40 -40
- package/vscode.css-custom-data.json +44 -55
- package/vscode.html-custom-data.json +154 -45
|
@@ -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;
|
|
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"}
|
|
@@ -6,9 +6,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
var VscodeSplitLayout_1;
|
|
8
8
|
import { html } from 'lit';
|
|
9
|
-
import {
|
|
9
|
+
import { property, query, queryAssignedElements, state } from 'lit/decorators.js';
|
|
10
10
|
import { classMap } from 'lit/directives/class-map.js';
|
|
11
|
-
import { VscElement } from '../includes/VscElement.js';
|
|
11
|
+
import { customElement, VscElement } from '../includes/VscElement.js';
|
|
12
12
|
import styles from './vscode-split-layout.styles.js';
|
|
13
13
|
import { stylePropertyMap } from '../includes/style-property-map.js';
|
|
14
14
|
const DEFAULT_INITIAL_POSITION = '50%';
|
|
@@ -46,13 +46,18 @@ export const percentToPx = (current, max) => {
|
|
|
46
46
|
*
|
|
47
47
|
* @prop {'start' | 'end' | 'none'} fixedPane
|
|
48
48
|
*
|
|
49
|
-
* @cssprop [--
|
|
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
|
/**
|
|
53
55
|
* Direction of the divider.
|
|
54
56
|
*/
|
|
55
57
|
set split(newVal) {
|
|
58
|
+
if (this._split === newVal) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
56
61
|
this._split = newVal;
|
|
57
62
|
this.resetHandlePosition();
|
|
58
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-split-layout.js","sourceRoot":"","sources":["../../src/vscode-split-layout/vscode-split-layout.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, PropertyValues, TemplateResult} from 'lit';\nimport {\n customElement,\n property,\n query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {VscElement} from '../includes/VscElement.js';\nimport styles from './vscode-split-layout.styles.js';\nimport {stylePropertyMap} from '../includes/style-property-map.js';\n\nconst DEFAULT_INITIAL_POSITION = '50%';\nconst DEFAULT_HANDLE_SIZE = 4;\n\ntype PositionUnit = 'pixel' | 'percent';\ntype Orientation = 'horizontal' | 'vertical';\ntype FixedPaneType = 'start' | 'end' | 'none';\n\nexport const parseValue = (\n raw: string\n): {value: number; unit: PositionUnit} => {\n if (!raw) {\n return {value: 0, unit: 'pixel'};\n }\n\n let unit: PositionUnit;\n let rawVal: number;\n\n if (raw.endsWith('%')) {\n unit = 'percent';\n rawVal = +raw.substring(0, raw.length - 1);\n } else if (raw.endsWith('px')) {\n unit = 'pixel';\n rawVal = +raw.substring(0, raw.length - 2);\n } else {\n unit = 'pixel';\n rawVal = +raw;\n }\n\n const value = isNaN(rawVal) ? 0 : rawVal;\n\n return {unit, value};\n};\n\n// Returns a percentage between 0 and 100\nexport const pxToPercent = (current: number, max: number) => {\n return max === 0 ? 0 : Math.min(100, (current / max) * 100);\n};\n\nexport const percentToPx = (current: number, max: number) => {\n return max * (current / 100);\n};\n\nexport type VscSplitLayoutChangeEvent = CustomEvent<{\n position: number;\n positionInPercentage: number;\n}>;\n\n/**\n * @tag vscode-split-layout\n *\n * @prop {'start' | 'end' | 'none'} fixedPane\n *\n * @cssprop [--hover-border=var(--vscode-sash-hoverBorder)]\n */\n@customElement('vscode-split-layout')\nexport class VscodeSplitLayout extends VscElement {\n static override styles = styles;\n\n /**\n * Direction of the divider.\n */\n @property({reflect: true})\n set split(newVal: Orientation) {\n this._split = newVal;\n this.resetHandlePosition();\n }\n get split(): Orientation {\n return this._split;\n }\n private _split: Orientation = 'vertical';\n\n /**\n * Controls whether the handle position should reset to the value set in the\n * `initialHandlePosition` when it is double-clicked.\n */\n @property({type: Boolean, reflect: true, attribute: 'reset-on-dbl-click'})\n resetOnDblClick = false;\n\n /**\n * Controls the draggable area size in pixels. it is intended to use the value\n * of `workbench.sash.size`.\n */\n @property({type: Number, reflect: true, attribute: 'handle-size'})\n handleSize = 4;\n\n /**\n * The handler position will reset to this position when it is double-clicked,\n * or the `resetHandlePosition()` is called.\n */\n @property({reflect: true, attribute: 'initial-handle-position'})\n initialHandlePosition: string = DEFAULT_INITIAL_POSITION;\n\n /**\n * Set the handle position programmatically. The value must include a unit,\n * either `%` or `px`. If no unit is specified, the value is interpreted as\n * `px`.\n */\n @property({attribute: 'handle-position'})\n set handlePosition(newVal: string) {\n this._rawHandlePosition = newVal;\n this._handlePositionPropChanged();\n }\n get handlePosition(): string | undefined {\n return this._rawHandlePosition;\n }\n private _rawHandlePosition?: string;\n\n /**\n * The size of the fixed pane will not change when the component is resized.\n */\n @property({attribute: 'fixed-pane'})\n set fixedPane(newVal: FixedPaneType) {\n this._fixedPane = newVal;\n this._fixedPanePropChanged();\n }\n get fixedPane(): FixedPaneType {\n return this._fixedPane;\n }\n private _fixedPane: FixedPaneType = 'none';\n\n @state()\n private _handlePosition = 0;\n\n @state()\n private _isDragActive = false;\n\n @state()\n private _hover = false;\n\n @state()\n private _hide = false;\n\n @query('.wrapper')\n private _wrapperEl!: HTMLDivElement;\n\n @query('.handle')\n private _handleEl!: HTMLDivElement;\n\n @queryAssignedElements({slot: 'start', selector: 'vscode-split-layout'})\n private _nestedLayoutsAtStart!: HTMLElement[];\n\n @queryAssignedElements({slot: 'end', selector: 'vscode-split-layout'})\n private _nestedLayoutsAtEnd!: HTMLElement[];\n\n private _boundRect: DOMRect = new DOMRect();\n private _handleOffset = 0;\n private _resizeObserver: ResizeObserver;\n private _wrapperObserved: boolean = false;\n private _fixedPaneSize: number = 0;\n\n constructor() {\n super();\n\n this._resizeObserver = new ResizeObserver(this._handleResize);\n }\n\n /**\n * Sets the handle position to the value specified in the `initialHandlePosition` property.\n */\n resetHandlePosition() {\n if (!this._wrapperEl) {\n this._handlePosition = 0;\n return;\n }\n\n const {width, height} = this._wrapperEl.getBoundingClientRect();\n const max = this.split === 'vertical' ? width : height;\n const {value, unit} = parseValue(\n this.initialHandlePosition ?? DEFAULT_INITIAL_POSITION\n );\n\n if (unit === 'percent') {\n this._handlePosition = percentToPx(value, max);\n } else {\n this._handlePosition = value;\n }\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n }\n\n protected override firstUpdated(_changedProperties: PropertyValues): void {\n if (this.fixedPane !== 'none') {\n this._resizeObserver.observe(this._wrapperEl);\n this._wrapperObserved = true;\n }\n\n this._boundRect = this._wrapperEl.getBoundingClientRect();\n\n const {value, unit} = this.handlePosition\n ? parseValue(this.handlePosition)\n : parseValue(this.initialHandlePosition);\n\n this._setPosition(value, unit);\n this._initFixedPane();\n }\n\n private _handlePositionPropChanged() {\n if (this.handlePosition && this._wrapperEl) {\n this._boundRect = this._wrapperEl.getBoundingClientRect();\n const {value, unit} = parseValue(this.handlePosition);\n this._setPosition(value, unit);\n }\n }\n\n private _fixedPanePropChanged() {\n if (!this._wrapperEl) {\n return;\n }\n\n this._initFixedPane();\n }\n\n private _initFixedPane() {\n if (this.fixedPane === 'none') {\n if (this._wrapperObserved) {\n this._resizeObserver.unobserve(this._wrapperEl);\n this._wrapperObserved = false;\n }\n } else {\n const {width, height} = this._boundRect;\n const max = this.split === 'vertical' ? width : height;\n\n this._fixedPaneSize =\n this.fixedPane === 'start'\n ? this._handlePosition\n : max - this._handlePosition;\n\n if (!this._wrapperObserved) {\n this._resizeObserver.observe(this._wrapperEl);\n this._wrapperObserved = true;\n }\n }\n }\n\n private _handleResize = (entries: ResizeObserverEntry[]) => {\n const rect = entries[0].contentRect;\n const {width, height} = rect;\n this._boundRect = rect;\n const max = this.split === 'vertical' ? width : height;\n\n if (this.fixedPane === 'start') {\n this._handlePosition = this._fixedPaneSize;\n }\n\n if (this.fixedPane === 'end') {\n this._handlePosition = max - this._fixedPaneSize;\n }\n };\n\n private _setPosition(value: number, unit: PositionUnit) {\n const {width, height} = this._boundRect;\n const max = this.split === 'vertical' ? width : height;\n\n this._handlePosition = unit === 'percent' ? percentToPx(value, max) : value;\n }\n\n private _handleMouseOver() {\n this._hover = true;\n this._hide = false;\n }\n\n private _handleMouseOut(event: MouseEvent) {\n if (event.buttons !== 1) {\n this._hover = false;\n this._hide = true;\n }\n }\n\n private _handleMouseDown(event: MouseEvent) {\n event.stopPropagation();\n event.preventDefault();\n\n this._boundRect = this._wrapperEl.getBoundingClientRect();\n const {left, top} = this._boundRect;\n const {left: handleLeft, top: handleTop} =\n this._handleEl.getBoundingClientRect();\n\n const mouseXLocal = event.clientX - left;\n const mouseYLocal = event.clientY - top;\n\n if (this.split === 'vertical') {\n this._handleOffset = mouseXLocal - (handleLeft - left);\n }\n\n if (this.split === 'horizontal') {\n this._handleOffset = mouseYLocal - (handleTop - top);\n }\n\n this._isDragActive = true;\n\n window.addEventListener('mouseup', this._handleMouseUp);\n window.addEventListener('mousemove', this._handleMouseMove);\n }\n\n private _handleMouseUp = (ev: MouseEvent) => {\n this._isDragActive = false;\n\n if (ev.target !== this) {\n this._hover = false;\n this._hide = true;\n }\n\n window.removeEventListener('mouseup', this._handleMouseUp);\n window.removeEventListener('mousemove', this._handleMouseMove);\n\n const {width, height} = this._boundRect;\n const max = this.split === 'vertical' ? width : height;\n const positionInPercentage = pxToPercent(this._handlePosition, max);\n\n this.dispatchEvent(\n new CustomEvent('vsc-split-layout-change', {\n detail: {\n position: this._handlePosition,\n positionInPercentage,\n },\n composed: true,\n }) as VscSplitLayoutChangeEvent\n );\n };\n\n private _handleMouseMove = (event: MouseEvent) => {\n const {clientX, clientY} = event;\n const {left, top, height, width} = this._boundRect;\n const vert = this.split === 'vertical';\n const maxPos = vert ? width : height;\n const mousePos = vert ? clientX - left : clientY - top;\n\n this._handlePosition = Math.max(\n 0,\n Math.min(mousePos - this._handleOffset + this.handleSize / 2, maxPos)\n );\n\n if (this.fixedPane === 'start') {\n this._fixedPaneSize = this._handlePosition;\n }\n\n if (this.fixedPane === 'end') {\n this._fixedPaneSize = maxPos - this._handlePosition;\n }\n };\n\n private _handleDblClick() {\n if (!this.resetOnDblClick) {\n return;\n }\n\n this.resetHandlePosition();\n }\n\n private _handleSlotChange() {\n const nestedLayouts = [\n ...this._nestedLayoutsAtStart,\n ...this._nestedLayoutsAtEnd,\n ];\n\n nestedLayouts.forEach((e) => {\n if (e instanceof VscodeSplitLayout) {\n e.resetHandlePosition();\n }\n });\n }\n\n override render(): TemplateResult {\n const {width, height} = this._boundRect;\n const maxPos = this.split === 'vertical' ? width : height;\n const handlePosCss =\n this.fixedPane !== 'none'\n ? `${this._handlePosition}px`\n : `${pxToPercent(this._handlePosition, maxPos)}%`;\n\n let startPaneSize = '';\n\n if (this.fixedPane === 'start') {\n startPaneSize = `0 0 ${this._fixedPaneSize}px`;\n } else {\n startPaneSize = `1 1 ${pxToPercent(this._handlePosition, maxPos)}%`;\n }\n\n let endPaneSize = '';\n\n if (this.fixedPane === 'end') {\n endPaneSize = `0 0 ${this._fixedPaneSize}px`;\n } else {\n endPaneSize = `1 1 ${pxToPercent(maxPos - this._handlePosition, maxPos)}%`;\n }\n\n const handleStylesPropObj: {[prop: string]: string} = {\n left: this.split === 'vertical' ? handlePosCss : '0',\n top: this.split === 'vertical' ? '0' : handlePosCss,\n };\n\n const handleSize = this.handleSize ?? DEFAULT_HANDLE_SIZE;\n\n if (this.split === 'vertical') {\n handleStylesPropObj.marginLeft = `${0 - handleSize / 2}px`;\n handleStylesPropObj.width = `${handleSize}px`;\n }\n\n if (this.split === 'horizontal') {\n handleStylesPropObj.height = `${handleSize}px`;\n handleStylesPropObj.marginTop = `${0 - handleSize / 2}px`;\n }\n\n const handleOverlayClasses = classMap({\n 'handle-overlay': true,\n active: this._isDragActive,\n 'split-vertical': this.split === 'vertical',\n 'split-horizontal': this.split === 'horizontal',\n });\n\n const handleClasses = classMap({\n handle: true,\n hover: this._hover,\n hide: this._hide,\n 'split-vertical': this.split === 'vertical',\n 'split-horizontal': this.split === 'horizontal',\n });\n\n const wrapperClasses = {\n wrapper: true,\n horizontal: this.split === 'horizontal',\n };\n\n return html`\n <div class=${classMap(wrapperClasses)}>\n <div class=\"start\" .style=${stylePropertyMap({flex: startPaneSize})}>\n <slot name=\"start\" @slotchange=${this._handleSlotChange}></slot>\n </div>\n <div class=\"end\" .style=${stylePropertyMap({flex: endPaneSize})}>\n <slot name=\"end\" @slotchange=${this._handleSlotChange}></slot>\n </div>\n <div class=${handleOverlayClasses}></div>\n <div\n class=${handleClasses}\n .style=${stylePropertyMap(handleStylesPropObj)}\n @mouseover=${this._handleMouseOver}\n @mouseout=${this._handleMouseOut}\n @mousedown=${this._handleMouseDown}\n @dblclick=${this._handleDblClick}\n ></div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-split-layout': VscodeSplitLayout;\n }\n\n interface GlobalEventHandlersEventMap {\n 'vsc-split-layout-change': VscSplitLayoutChangeEvent;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"vscode-split-layout.js","sourceRoot":"","sources":["../../src/vscode-split-layout/vscode-split-layout.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, PropertyValues, TemplateResult} from 'lit';\nimport {property, query, queryAssignedElements, state} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport styles from './vscode-split-layout.styles.js';\nimport {stylePropertyMap} from '../includes/style-property-map.js';\n\nconst DEFAULT_INITIAL_POSITION = '50%';\nconst DEFAULT_HANDLE_SIZE = 4;\n\ntype PositionUnit = 'pixel' | 'percent';\ntype Orientation = 'horizontal' | 'vertical';\ntype FixedPaneType = 'start' | 'end' | 'none';\n\nexport const parseValue = (\n raw: string\n): {value: number; unit: PositionUnit} => {\n if (!raw) {\n return {value: 0, unit: 'pixel'};\n }\n\n let unit: PositionUnit;\n let rawVal: number;\n\n if (raw.endsWith('%')) {\n unit = 'percent';\n rawVal = +raw.substring(0, raw.length - 1);\n } else if (raw.endsWith('px')) {\n unit = 'pixel';\n rawVal = +raw.substring(0, raw.length - 2);\n } else {\n unit = 'pixel';\n rawVal = +raw;\n }\n\n const value = isNaN(rawVal) ? 0 : rawVal;\n\n return {unit, value};\n};\n\n// Returns a percentage between 0 and 100\nexport const pxToPercent = (current: number, max: number) => {\n return max === 0 ? 0 : Math.min(100, (current / max) * 100);\n};\n\nexport const percentToPx = (current: number, max: number) => {\n return max * (current / 100);\n};\n\nexport type VscSplitLayoutChangeEvent = CustomEvent<{\n position: number;\n positionInPercentage: number;\n}>;\n\n/**\n * @tag vscode-split-layout\n *\n * @prop {'start' | 'end' | 'none'} fixedPane\n *\n * @cssprop [--separator-border=#454545]\n * @cssprop [--vscode-editorWidget-border=#454545]\n * @cssprop [--vscode-sash-hoverBorder=#0078d4]\n */\n@customElement('vscode-split-layout')\nexport class VscodeSplitLayout extends VscElement {\n static override styles = styles;\n\n /**\n * Direction of the divider.\n */\n @property({reflect: true})\n set split(newVal: Orientation) {\n if (this._split === newVal) {\n return;\n }\n this._split = newVal;\n this.resetHandlePosition();\n }\n get split(): Orientation {\n return this._split;\n }\n private _split: Orientation = 'vertical';\n\n /**\n * Controls whether the handle position should reset to the value set in the\n * `initialHandlePosition` when it is double-clicked.\n */\n @property({type: Boolean, reflect: true, attribute: 'reset-on-dbl-click'})\n resetOnDblClick = false;\n\n /**\n * Controls the draggable area size in pixels. it is intended to use the value\n * of `workbench.sash.size`.\n */\n @property({type: Number, reflect: true, attribute: 'handle-size'})\n handleSize = 4;\n\n /**\n * The handler position will reset to this position when it is double-clicked,\n * or the `resetHandlePosition()` is called.\n */\n @property({reflect: true, attribute: 'initial-handle-position'})\n initialHandlePosition: string = DEFAULT_INITIAL_POSITION;\n\n /**\n * Set the handle position programmatically. The value must include a unit,\n * either `%` or `px`. If no unit is specified, the value is interpreted as\n * `px`.\n */\n @property({attribute: 'handle-position'})\n set handlePosition(newVal: string) {\n this._rawHandlePosition = newVal;\n this._handlePositionPropChanged();\n }\n get handlePosition(): string | undefined {\n return this._rawHandlePosition;\n }\n private _rawHandlePosition?: string;\n\n /**\n * The size of the fixed pane will not change when the component is resized.\n */\n @property({attribute: 'fixed-pane'})\n set fixedPane(newVal: FixedPaneType) {\n this._fixedPane = newVal;\n this._fixedPanePropChanged();\n }\n get fixedPane(): FixedPaneType {\n return this._fixedPane;\n }\n private _fixedPane: FixedPaneType = 'none';\n\n @state()\n private _handlePosition = 0;\n\n @state()\n private _isDragActive = false;\n\n @state()\n private _hover = false;\n\n @state()\n private _hide = false;\n\n @query('.wrapper')\n private _wrapperEl!: HTMLDivElement;\n\n @query('.handle')\n private _handleEl!: HTMLDivElement;\n\n @queryAssignedElements({slot: 'start', selector: 'vscode-split-layout'})\n private _nestedLayoutsAtStart!: HTMLElement[];\n\n @queryAssignedElements({slot: 'end', selector: 'vscode-split-layout'})\n private _nestedLayoutsAtEnd!: HTMLElement[];\n\n private _boundRect: DOMRect = new DOMRect();\n private _handleOffset = 0;\n private _resizeObserver: ResizeObserver;\n private _wrapperObserved: boolean = false;\n private _fixedPaneSize: number = 0;\n\n constructor() {\n super();\n\n this._resizeObserver = new ResizeObserver(this._handleResize);\n }\n\n /**\n * Sets the handle position to the value specified in the `initialHandlePosition` property.\n */\n resetHandlePosition() {\n if (!this._wrapperEl) {\n this._handlePosition = 0;\n return;\n }\n\n const {width, height} = this._wrapperEl.getBoundingClientRect();\n const max = this.split === 'vertical' ? width : height;\n const {value, unit} = parseValue(\n this.initialHandlePosition ?? DEFAULT_INITIAL_POSITION\n );\n\n if (unit === 'percent') {\n this._handlePosition = percentToPx(value, max);\n } else {\n this._handlePosition = value;\n }\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n }\n\n protected override firstUpdated(_changedProperties: PropertyValues): void {\n if (this.fixedPane !== 'none') {\n this._resizeObserver.observe(this._wrapperEl);\n this._wrapperObserved = true;\n }\n\n this._boundRect = this._wrapperEl.getBoundingClientRect();\n\n const {value, unit} = this.handlePosition\n ? parseValue(this.handlePosition)\n : parseValue(this.initialHandlePosition);\n\n this._setPosition(value, unit);\n this._initFixedPane();\n }\n\n private _handlePositionPropChanged() {\n if (this.handlePosition && this._wrapperEl) {\n this._boundRect = this._wrapperEl.getBoundingClientRect();\n const {value, unit} = parseValue(this.handlePosition);\n this._setPosition(value, unit);\n }\n }\n\n private _fixedPanePropChanged() {\n if (!this._wrapperEl) {\n return;\n }\n\n this._initFixedPane();\n }\n\n private _initFixedPane() {\n if (this.fixedPane === 'none') {\n if (this._wrapperObserved) {\n this._resizeObserver.unobserve(this._wrapperEl);\n this._wrapperObserved = false;\n }\n } else {\n const {width, height} = this._boundRect;\n const max = this.split === 'vertical' ? width : height;\n\n this._fixedPaneSize =\n this.fixedPane === 'start'\n ? this._handlePosition\n : max - this._handlePosition;\n\n if (!this._wrapperObserved) {\n this._resizeObserver.observe(this._wrapperEl);\n this._wrapperObserved = true;\n }\n }\n }\n\n private _handleResize = (entries: ResizeObserverEntry[]) => {\n const rect = entries[0].contentRect;\n const {width, height} = rect;\n this._boundRect = rect;\n const max = this.split === 'vertical' ? width : height;\n\n if (this.fixedPane === 'start') {\n this._handlePosition = this._fixedPaneSize;\n }\n\n if (this.fixedPane === 'end') {\n this._handlePosition = max - this._fixedPaneSize;\n }\n };\n\n private _setPosition(value: number, unit: PositionUnit) {\n const {width, height} = this._boundRect;\n const max = this.split === 'vertical' ? width : height;\n\n this._handlePosition = unit === 'percent' ? percentToPx(value, max) : value;\n }\n\n private _handleMouseOver() {\n this._hover = true;\n this._hide = false;\n }\n\n private _handleMouseOut(event: MouseEvent) {\n if (event.buttons !== 1) {\n this._hover = false;\n this._hide = true;\n }\n }\n\n private _handleMouseDown(event: MouseEvent) {\n event.stopPropagation();\n event.preventDefault();\n\n this._boundRect = this._wrapperEl.getBoundingClientRect();\n const {left, top} = this._boundRect;\n const {left: handleLeft, top: handleTop} =\n this._handleEl.getBoundingClientRect();\n\n const mouseXLocal = event.clientX - left;\n const mouseYLocal = event.clientY - top;\n\n if (this.split === 'vertical') {\n this._handleOffset = mouseXLocal - (handleLeft - left);\n }\n\n if (this.split === 'horizontal') {\n this._handleOffset = mouseYLocal - (handleTop - top);\n }\n\n this._isDragActive = true;\n\n window.addEventListener('mouseup', this._handleMouseUp);\n window.addEventListener('mousemove', this._handleMouseMove);\n }\n\n private _handleMouseUp = (ev: MouseEvent) => {\n this._isDragActive = false;\n\n if (ev.target !== this) {\n this._hover = false;\n this._hide = true;\n }\n\n window.removeEventListener('mouseup', this._handleMouseUp);\n window.removeEventListener('mousemove', this._handleMouseMove);\n\n const {width, height} = this._boundRect;\n const max = this.split === 'vertical' ? width : height;\n const positionInPercentage = pxToPercent(this._handlePosition, max);\n\n this.dispatchEvent(\n new CustomEvent('vsc-split-layout-change', {\n detail: {\n position: this._handlePosition,\n positionInPercentage,\n },\n composed: true,\n }) as VscSplitLayoutChangeEvent\n );\n };\n\n private _handleMouseMove = (event: MouseEvent) => {\n const {clientX, clientY} = event;\n const {left, top, height, width} = this._boundRect;\n const vert = this.split === 'vertical';\n const maxPos = vert ? width : height;\n const mousePos = vert ? clientX - left : clientY - top;\n\n this._handlePosition = Math.max(\n 0,\n Math.min(mousePos - this._handleOffset + this.handleSize / 2, maxPos)\n );\n\n if (this.fixedPane === 'start') {\n this._fixedPaneSize = this._handlePosition;\n }\n\n if (this.fixedPane === 'end') {\n this._fixedPaneSize = maxPos - this._handlePosition;\n }\n };\n\n private _handleDblClick() {\n if (!this.resetOnDblClick) {\n return;\n }\n\n this.resetHandlePosition();\n }\n\n private _handleSlotChange() {\n const nestedLayouts = [\n ...this._nestedLayoutsAtStart,\n ...this._nestedLayoutsAtEnd,\n ];\n\n nestedLayouts.forEach((e) => {\n if (e instanceof VscodeSplitLayout) {\n e.resetHandlePosition();\n }\n });\n }\n\n override render(): TemplateResult {\n const {width, height} = this._boundRect;\n const maxPos = this.split === 'vertical' ? width : height;\n const handlePosCss =\n this.fixedPane !== 'none'\n ? `${this._handlePosition}px`\n : `${pxToPercent(this._handlePosition, maxPos)}%`;\n\n let startPaneSize = '';\n\n if (this.fixedPane === 'start') {\n startPaneSize = `0 0 ${this._fixedPaneSize}px`;\n } else {\n startPaneSize = `1 1 ${pxToPercent(this._handlePosition, maxPos)}%`;\n }\n\n let endPaneSize = '';\n\n if (this.fixedPane === 'end') {\n endPaneSize = `0 0 ${this._fixedPaneSize}px`;\n } else {\n endPaneSize = `1 1 ${pxToPercent(maxPos - this._handlePosition, maxPos)}%`;\n }\n\n const handleStylesPropObj: {[prop: string]: string} = {\n left: this.split === 'vertical' ? handlePosCss : '0',\n top: this.split === 'vertical' ? '0' : handlePosCss,\n };\n\n const handleSize = this.handleSize ?? DEFAULT_HANDLE_SIZE;\n\n if (this.split === 'vertical') {\n handleStylesPropObj.marginLeft = `${0 - handleSize / 2}px`;\n handleStylesPropObj.width = `${handleSize}px`;\n }\n\n if (this.split === 'horizontal') {\n handleStylesPropObj.height = `${handleSize}px`;\n handleStylesPropObj.marginTop = `${0 - handleSize / 2}px`;\n }\n\n const handleOverlayClasses = classMap({\n 'handle-overlay': true,\n active: this._isDragActive,\n 'split-vertical': this.split === 'vertical',\n 'split-horizontal': this.split === 'horizontal',\n });\n\n const handleClasses = classMap({\n handle: true,\n hover: this._hover,\n hide: this._hide,\n 'split-vertical': this.split === 'vertical',\n 'split-horizontal': this.split === 'horizontal',\n });\n\n const wrapperClasses = {\n wrapper: true,\n horizontal: this.split === 'horizontal',\n };\n\n return html`\n <div class=${classMap(wrapperClasses)}>\n <div class=\"start\" .style=${stylePropertyMap({flex: startPaneSize})}>\n <slot name=\"start\" @slotchange=${this._handleSlotChange}></slot>\n </div>\n <div class=\"end\" .style=${stylePropertyMap({flex: endPaneSize})}>\n <slot name=\"end\" @slotchange=${this._handleSlotChange}></slot>\n </div>\n <div class=${handleOverlayClasses}></div>\n <div\n class=${handleClasses}\n .style=${stylePropertyMap(handleStylesPropObj)}\n @mouseover=${this._handleMouseOver}\n @mouseout=${this._handleMouseOut}\n @mousedown=${this._handleMouseDown}\n @dblclick=${this._handleDblClick}\n ></div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-split-layout': VscodeSplitLayout;\n }\n\n interface GlobalEventHandlersEventMap {\n 'vsc-split-layout-change': VscSplitLayoutChangeEvent;\n }\n}\n"]}
|
|
@@ -4,9 +4,9 @@ const styles = [
|
|
|
4
4
|
defaultStyles,
|
|
5
5
|
css `
|
|
6
6
|
:host {
|
|
7
|
-
--separator-border: var(--vscode-editorWidget-border,
|
|
7
|
+
--separator-border: var(--vscode-editorWidget-border, #454545);
|
|
8
8
|
|
|
9
|
-
border: 1px solid var(--vscode-editorWidget-border);
|
|
9
|
+
border: 1px solid var(--vscode-editorWidget-border, #454545);
|
|
10
10
|
display: block;
|
|
11
11
|
overflow: hidden;
|
|
12
12
|
position: relative;
|
|
@@ -92,7 +92,7 @@ const styles = [
|
|
|
92
92
|
|
|
93
93
|
.handle.hover {
|
|
94
94
|
transition: background-color 0.1s ease-out 0.3s;
|
|
95
|
-
background-color: var(--vscode-sash-hoverBorder);
|
|
95
|
+
background-color: var(--vscode-sash-hoverBorder, #0078d4);
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
.handle.hide {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-split-layout.styles.js","sourceRoot":"","sources":["../../src/vscode-split-layout/vscode-split-layout.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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2GF;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 --separator-border: var(--vscode-editorWidget-border,
|
|
1
|
+
{"version":3,"file":"vscode-split-layout.styles.js","sourceRoot":"","sources":["../../src/vscode-split-layout/vscode-split-layout.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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2GF;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 --separator-border: var(--vscode-editorWidget-border, #454545);\n\n border: 1px solid var(--vscode-editorWidget-border, #454545);\n display: block;\n overflow: hidden;\n position: relative;\n }\n\n ::slotted(*) {\n height: 100%;\n width: 100%;\n }\n\n ::slotted(vscode-split-layout) {\n border: 0;\n }\n\n .wrapper {\n display: flex;\n height: 100%;\n width: 100%;\n }\n\n .wrapper.horizontal {\n flex-direction: column;\n }\n\n .start {\n box-sizing: border-box;\n flex: 1;\n min-height: 0;\n min-width: 0;\n }\n\n :host([split='vertical']) .start {\n border-right: 1px solid var(--separator-border);\n }\n\n :host([split='horizontal']) .start {\n border-bottom: 1px solid var(--separator-border);\n }\n\n .end {\n flex: 1;\n min-height: 0;\n min-width: 0;\n }\n\n :host([split='vertical']) .start,\n :host([split='vertical']) .end {\n height: 100%;\n }\n\n :host([split='horizontal']) .start,\n :host([split='horizontal']) .end {\n width: 100%;\n }\n\n .handle-overlay {\n display: none;\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n width: 100%;\n z-index: 1;\n }\n\n .handle-overlay.active {\n display: block;\n }\n\n .handle-overlay.split-vertical {\n cursor: ew-resize;\n }\n\n .handle-overlay.split-horizontal {\n cursor: ns-resize;\n }\n\n .handle {\n background-color: transparent;\n position: absolute;\n z-index: 2;\n }\n\n .handle.hover {\n transition: background-color 0.1s ease-out 0.3s;\n background-color: var(--vscode-sash-hoverBorder, #0078d4);\n }\n\n .handle.hide {\n background-color: transparent;\n transition: background-color 0.1s ease-out;\n }\n\n .handle.split-vertical {\n cursor: ew-resize;\n height: 100%;\n }\n\n .handle.split-horizontal {\n cursor: ns-resize;\n width: 100%;\n }\n `,\n];\n\nexport default styles;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-tab-header.d.ts","sourceRoot":"","sources":["../../src/vscode-tab-header/vscode-tab-header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AAGzC,OAAO,
|
|
1
|
+
{"version":3,"file":"vscode-tab-header.d.ts","sourceRoot":"","sources":["../../src/vscode-tab-header/vscode-tab-header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AAGzC,OAAO,EAAgB,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAGpE;;;;;;;;;GASG;AACH,qBACa,eAAgB,SAAQ,UAAU;IAC7C,OAAgB,MAAM,+BAAU;IAGhC,MAAM,UAAS;IAEf,gBAAgB;IAEhB,YAAY,SAAM;IAElB;;OAEG;IAEH,KAAK,UAAS;IAEd,gBAAgB;IAEP,IAAI,SAAS;IAEtB,gBAAgB;IAEhB,KAAK,SAAM;IAEF,wBAAwB,CAC/B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,IAAI;IAUE,MAAM,IAAI,cAAc;CAsBlC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,mBAAmB,EAAE,eAAe,CAAC;KACtC;CACF"}
|
|
@@ -5,9 +5,9 @@ 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 {
|
|
8
|
+
import { property } from 'lit/decorators.js';
|
|
9
9
|
import { classMap } from 'lit/directives/class-map.js';
|
|
10
|
-
import { VscElement } from '../includes/VscElement.js';
|
|
10
|
+
import { customElement, VscElement } from '../includes/VscElement.js';
|
|
11
11
|
import styles from './vscode-tab-header.styles.js';
|
|
12
12
|
/**
|
|
13
13
|
* @tag vscode-tab-header
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-tab-header.js","sourceRoot":"","sources":["../../src/vscode-tab-header/vscode-tab-header.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"vscode-tab-header.js","sourceRoot":"","sources":["../../src/vscode-tab-header/vscode-tab-header.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACpE,OAAO,MAAM,MAAM,+BAA+B,CAAC;AAEnD;;;;;;;;;GASG;AAEI,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,UAAU;IAAxC;;QAIL,WAAM,GAAG,KAAK,CAAC;QAEf,gBAAgB;QAEhB,iBAAY,GAAG,EAAE,CAAC;QAElB;;WAEG;QAEH,UAAK,GAAG,KAAK,CAAC;QAEd,gBAAgB;QAEP,SAAI,GAAG,KAAK,CAAC;QAEtB,gBAAgB;QAEhB,UAAK,GAAG,CAAC,CAAC,CAAC;IAsCb,CAAC;IApCU,wBAAwB,CAC/B,IAAY,EACZ,GAAkB,EAClB,KAAoB;QAEpB,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAEjD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC;YAC9B,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YAC9C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAA;;gBAEC,QAAQ,CAAC;YACf,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;;;;;;kBAMQ,QAAQ,CAAC;YACf,kBAAkB,EAAE,IAAI;YACxB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;;;KAGP,CAAC;IACJ,CAAC;;AA1De,sBAAM,GAAG,MAAM,AAAT,CAAU;AAGhC;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;+CAC1B;AAIf;IADC,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAC,CAAC;qDACpC;AAMlB;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;8CAC3B;AAIL;IADR,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;6CACJ;AAItB;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAC,CAAC;8CAClD;AAtBA,eAAe;IAD3B,aAAa,CAAC,mBAAmB,CAAC;GACtB,eAAe,CA4D3B","sourcesContent":["import {html, 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 styles from './vscode-tab-header.styles.js';\n\n/**\n * @tag vscode-tab-header\n *\n * @cssprop --vscode-foreground\n * @cssprop --vscode-panelTitle-inactiveForeground\n * @cssprop --vscode-panelTitle-activeForeground\n * @cssprop --vscode-panelTitle-activeBorder\n * @cssprop --vscode-focusBorder\n * @cssprop --vscode-settings-headerForeground\n */\n@customElement('vscode-tab-header')\nexport class VscodeTabHeader extends VscElement {\n static override styles = styles;\n\n @property({type: Boolean, reflect: true})\n active = false;\n\n /** @internal */\n @property({reflect: true, attribute: 'aria-controls'})\n ariaControls = '';\n\n /**\n * Panel-like look\n */\n @property({type: Boolean, reflect: true})\n panel = false;\n\n /** @internal */\n @property({reflect: true})\n override role = 'tab';\n\n /** @internal */\n @property({type: Number, reflect: true, attribute: 'tab-id'})\n tabId = -1;\n\n override attributeChangedCallback(\n name: string,\n old: string | null,\n value: string | null\n ): void {\n super.attributeChangedCallback(name, old, value);\n\n if (name === 'active') {\n const active = value !== null;\n this.ariaSelected = active ? 'true' : 'false';\n this.tabIndex = active ? 0 : -1;\n }\n }\n\n override render(): TemplateResult {\n return html`\n <div\n class=${classMap({\n wrapper: true,\n active: this.active,\n panel: this.panel,\n })}\n >\n <div class=\"before\"><slot name=\"content-before\"></slot></div>\n <div class=\"main\"><slot></slot></div>\n <div class=\"after\"><slot name=\"content-after\"></slot></div>\n <span\n class=${classMap({\n 'active-indicator': true,\n active: this.active,\n panel: this.panel,\n })}\n ></span>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-tab-header': VscodeTabHeader;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-tab-panel.d.ts","sourceRoot":"","sources":["../../src/vscode-tab-panel/vscode-tab-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AAEzC,OAAO,
|
|
1
|
+
{"version":3,"file":"vscode-tab-panel.d.ts","sourceRoot":"","sources":["../../src/vscode-tab-panel/vscode-tab-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AAEzC,OAAO,EAAgB,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAGpE;;;;;GAKG;AACH,qBACa,cAAe,SAAQ,UAAU;IAC5C,OAAgB,MAAM,+BAAU;IAGvB,MAAM,UAAS;IAExB,gBAAgB;IAEhB,cAAc,SAAM;IAEpB;;OAEG;IAEH,KAAK,UAAS;IAEd,gBAAgB;IAEP,IAAI,SAAc;IAE3B,gBAAgB;IAEP,QAAQ,SAAK;IAEb,MAAM,IAAI,cAAc;CAGlC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,cAAc,CAAC;KACpC;CACF"}
|
|
@@ -5,8 +5,8 @@ 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 {
|
|
9
|
-
import { VscElement } from '../includes/VscElement.js';
|
|
8
|
+
import { property } from 'lit/decorators.js';
|
|
9
|
+
import { customElement, VscElement } from '../includes/VscElement.js';
|
|
10
10
|
import styles from './vscode-tab-panel.styles.js';
|
|
11
11
|
/**
|
|
12
12
|
* @tag vscode-tab-panel
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-tab-panel.js","sourceRoot":"","sources":["../../src/vscode-tab-panel/vscode-tab-panel.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"vscode-tab-panel.js","sourceRoot":"","sources":["../../src/vscode-tab-panel/vscode-tab-panel.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACpE,OAAO,MAAM,MAAM,8BAA8B,CAAC;AAElD;;;;;GAKG;AAEI,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,UAAU;IAAvC;;QAII,WAAM,GAAG,KAAK,CAAC;QAExB,gBAAgB;QAEhB,mBAAc,GAAG,EAAE,CAAC;QAEpB;;WAEG;QAEH,UAAK,GAAG,KAAK,CAAC;QAEd,gBAAgB;QAEP,SAAI,GAAG,UAAU,CAAC;QAE3B,gBAAgB;QAEP,aAAQ,GAAG,CAAC,CAAC;IAKxB,CAAC;IAHU,MAAM;QACb,OAAO,IAAI,CAAA,iBAAiB,CAAC;IAC/B,CAAC;;AAzBe,qBAAM,GAAG,MAAM,AAAT,CAAU;AAGvB;IADR,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;8CACjB;AAIxB;IADC,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAC,CAAC;sDACpC;AAMpB;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;6CAC3B;AAIL;IADR,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;4CACC;AAIlB;IADR,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;gDAClB;AAtBX,cAAc;IAD1B,aAAa,CAAC,kBAAkB,CAAC;GACrB,cAAc,CA2B1B","sourcesContent":["import {html, TemplateResult} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport styles from './vscode-tab-panel.styles.js';\n\n/**\n * @tag vscode-tab-panel\n *\n * @cssprop --vscode-panel--background\n * @cssprop --vscode-focusBorder\n */\n@customElement('vscode-tab-panel')\nexport class VscodeTabPanel extends VscElement {\n static override styles = styles;\n\n @property({type: Boolean, reflect: true})\n override hidden = false;\n\n /** @internal */\n @property({reflect: true, attribute: 'aria-labelledby'})\n ariaLabelledby = '';\n\n /**\n * Panel-like look\n */\n @property({type: Boolean, reflect: true})\n panel = false;\n\n /** @internal */\n @property({reflect: true})\n override role = 'tabpanel';\n\n /** @internal */\n @property({type: Number, reflect: true})\n override tabIndex = 0;\n\n override render(): TemplateResult {\n return html` <slot></slot> `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-tab-panel': VscodeTabPanel;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/vscode-table/helpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/vscode-table/helpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,GAC/B,KAAK,MAAM,GAAG,MAAM,EACpB,MAAM,MAAM,KACX,MAAM,GAAG,IAcX,CAAC"}
|
|
@@ -120,6 +120,7 @@ export declare class VscodeTable extends VscElement {
|
|
|
120
120
|
* Get cached cells of first row
|
|
121
121
|
*/
|
|
122
122
|
private _getCellsOfFirstRow;
|
|
123
|
+
private _resizeTableBody;
|
|
123
124
|
private _initResizeObserver;
|
|
124
125
|
private _componentResizeObserverCallback;
|
|
125
126
|
private _headerResizeObserverCallback;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-table.d.ts","sourceRoot":"","sources":["../../src/vscode-table/vscode-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"vscode-table.d.ts","sourceRoot":"","sources":["../../src/vscode-table/vscode-table.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,9 @@ 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 {
|
|
8
|
+
import { property, query, queryAll, queryAssignedElements, state, } from 'lit/decorators.js';
|
|
9
9
|
import { classMap } from 'lit/directives/class-map.js';
|
|
10
|
-
import { VscElement } from '../includes/VscElement.js';
|
|
10
|
+
import { customElement, VscElement } from '../includes/VscElement.js';
|
|
11
11
|
import { stylePropertyMap } from '../includes/style-property-map.js';
|
|
12
12
|
import '../vscode-scrollable/index.js';
|
|
13
13
|
import { rawValueToPercentage } from './helpers.js';
|
|
@@ -100,25 +100,13 @@ let VscodeTable = class VscodeTable extends VscElement {
|
|
|
100
100
|
if (this.responsive) {
|
|
101
101
|
this._toggleCompactView();
|
|
102
102
|
}
|
|
103
|
+
this._resizeTableBody();
|
|
103
104
|
};
|
|
104
105
|
this._headerResizeObserverCallback = () => {
|
|
105
106
|
this._updateResizeHandlersSize();
|
|
106
107
|
};
|
|
107
108
|
this._bodyResizeObserverCallback = () => {
|
|
108
|
-
|
|
109
|
-
let tbodyHeight = 0;
|
|
110
|
-
const tableHeight = this.getBoundingClientRect().height;
|
|
111
|
-
if (this._assignedHeaderElements && this._assignedHeaderElements.length) {
|
|
112
|
-
headerHeight =
|
|
113
|
-
this._assignedHeaderElements[0].getBoundingClientRect().height;
|
|
114
|
-
}
|
|
115
|
-
if (this._assignedBodyElements && this._assignedBodyElements.length) {
|
|
116
|
-
tbodyHeight =
|
|
117
|
-
this._assignedBodyElements[0].getBoundingClientRect().height;
|
|
118
|
-
}
|
|
119
|
-
const overflownContentHeight = tbodyHeight - headerHeight - tableHeight;
|
|
120
|
-
this._scrollableElement.style.height =
|
|
121
|
-
overflownContentHeight > 0 ? `${tableHeight - headerHeight}px` : 'auto';
|
|
109
|
+
this._resizeTableBody();
|
|
122
110
|
};
|
|
123
111
|
this._onResizingMouseMove = (event) => {
|
|
124
112
|
event.stopPropagation();
|
|
@@ -214,6 +202,22 @@ let VscodeTable = class VscodeTable extends VscElement {
|
|
|
214
202
|
}
|
|
215
203
|
return this._cellsOfFirstRow;
|
|
216
204
|
}
|
|
205
|
+
_resizeTableBody() {
|
|
206
|
+
let headerHeight = 0;
|
|
207
|
+
let tbodyHeight = 0;
|
|
208
|
+
const tableHeight = this.getBoundingClientRect().height;
|
|
209
|
+
if (this._assignedHeaderElements && this._assignedHeaderElements.length) {
|
|
210
|
+
headerHeight =
|
|
211
|
+
this._assignedHeaderElements[0].getBoundingClientRect().height;
|
|
212
|
+
}
|
|
213
|
+
if (this._assignedBodyElements && this._assignedBodyElements.length) {
|
|
214
|
+
tbodyHeight =
|
|
215
|
+
this._assignedBodyElements[0].getBoundingClientRect().height;
|
|
216
|
+
}
|
|
217
|
+
const overflownContentHeight = tbodyHeight - headerHeight - tableHeight;
|
|
218
|
+
this._scrollableElement.style.height =
|
|
219
|
+
overflownContentHeight > 0 ? `${tableHeight - headerHeight}px` : 'auto';
|
|
220
|
+
}
|
|
217
221
|
_initResizeObserver() {
|
|
218
222
|
this._componentResizeObserver = new ResizeObserver(this._componentResizeObserverCallback);
|
|
219
223
|
this._componentResizeObserver.observe(this);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-table.js","sourceRoot":"","sources":["../../src/vscode-table/vscode-table.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, TemplateResult} from 'lit';\nimport {\n customElement,\n property,\n query,\n queryAll,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {VscElement} from '../includes/VscElement.js';\nimport {stylePropertyMap} from '../includes/style-property-map.js';\nimport '../vscode-scrollable/index.js';\nimport {VscodeScrollable} from '../vscode-scrollable/index.js';\nimport {VscodeTableBody} from '../vscode-table-body/index.js';\nimport {VscodeTableCell} from '../vscode-table-cell/index.js';\nimport {VscodeTableHeader} from '../vscode-table-header/index.js';\nimport {VscodeTableHeaderCell} from '../vscode-table-header-cell/index.js';\nimport {rawValueToPercentage} from './helpers.js';\nimport styles from './vscode-table.styles.js';\n\nconst COMPONENT_WIDTH_PERCENTAGE = 100;\n\n/**\n * @tag vscode-table\n *\n * @cssprop [--border=var(--vscode-editorGroup-border)]\n * @cssprop [--foreground=var(--vscode-foreground)]\n * @cssprop [--resize-hover-border=var(--vscode-sash-hoverBorder)]\n * @cssprop [--tinted-row-background=var(--vscode-keybindingTable-rowsBackground)]\n * @cssprop [--header-background=var(--vscode-keybindingTable-headerBackground)]\n * @cssprop [--font-size=var(--vscode-font-size)]\n * @cssprop [--font-family=var(--vscode-font-family)]\n */\n@customElement('vscode-table')\nexport class VscodeTable extends VscElement {\n static override styles = styles;\n\n /** @internal */\n @property({reflect: true})\n override role = 'table';\n\n @property({type: Boolean, reflect: true})\n resizable = false;\n\n @property({type: Boolean, reflect: true})\n responsive = false;\n\n /**\n * Both rows and columns are separated by borders.\n */\n @property({type: Boolean, reflect: true})\n bordered = false;\n\n /**\n * Columns are separated by borders.\n */\n @property({type: Boolean, reflect: true, attribute: 'bordered-columns'})\n borderedColumns = false;\n\n /**\n * Rows are separated by borders.\n */\n @property({type: Boolean, reflect: true, attribute: 'bordered-rows'})\n borderedRows = false;\n\n @property({type: Number})\n breakpoint = 300;\n\n /**\n * Initial column sizes in a JSON-encoded array.\n * Accepted values are:\n * - number\n * - string-type number (ex.: \"100\")\n * - px value (ex.: \"100px\")\n * - percentage value (ex.: \"50%\")\n * - percentage value (ex.: \"50%\")\n * - \"auto\" keyword\n */\n @property({type: Array})\n set columns(val: string[]) {\n this._columns = val;\n\n if (this.isConnected) {\n this._initDefaultColumnSizes();\n }\n }\n get columns(): string[] {\n return this._columns;\n }\n\n /**\n * Minimum column width. Valid values are:\n * - number\n * - string-type number (ex.: \"100\")\n * - px value (ex.: \"100px\")\n * - percentage value (ex.: \"50%\")\n * - percentage value (ex.: \"50%\")\n * - \"auto\" keyword\n */\n @property({attribute: 'min-column-width'})\n minColumnWidth = '50px';\n\n @property({type: Boolean, reflect: true, attribute: 'delayed-resizing'})\n delayedResizing = false;\n\n /**\n * @internal\n */\n @property({type: Boolean, reflect: true})\n compact = false;\n\n /**\n * Zebra stripes, even rows are tinted.\n */\n @property({type: Boolean, reflect: true})\n zebra = false;\n\n /**\n * Zebra stripes, odd rows are tinted.\n */\n @property({type: Boolean, reflect: true, attribute: 'zebra-odd'})\n zebraOdd = false;\n\n @query('slot[name=\"body\"]')\n private _bodySlot!: HTMLSlotElement;\n\n @query('.header')\n private _headerElement!: HTMLDivElement;\n\n @query('.scrollable')\n private _scrollableElement!: VscodeScrollable;\n\n @queryAll('.sash-visible')\n private _sashVisibleElements!: HTMLDivElement[];\n\n @queryAssignedElements({\n flatten: true,\n selector: 'vscode-table-header, vscode-table-body',\n })\n private _assignedElements!: NodeListOf<HTMLElement>;\n\n @queryAssignedElements({\n slot: 'header',\n flatten: true,\n selector: 'vscode-table-header',\n })\n private _assignedHeaderElements!: NodeListOf<VscodeTableHeader>;\n\n @queryAssignedElements({\n slot: 'body',\n flatten: true,\n selector: 'vscode-table-body',\n })\n private _assignedBodyElements!: NodeListOf<VscodeTableBody>;\n\n /**\n * Sash positions in percentage\n */\n @state()\n private _sashPositions: number[] = [];\n\n @state()\n private _isDragging = false;\n\n /**\n * Sash hover state flags, used in the render.\n */\n private _sashHovers: boolean[] = [];\n private _columns: string[] = [];\n private _componentResizeObserver?: ResizeObserver;\n private _headerResizeObserver?: ResizeObserver;\n private _bodyResizeObserver?: ResizeObserver;\n private _activeSashElementIndex = -1;\n private _activeSashCursorOffset = 0;\n private _componentX = 0;\n private _componentH = 0;\n private _componentW = 0;\n /**\n * Cached querySelectorAll result. Updated when the header slot changes.\n * It shouldn't be used directly, check the \"_getHeaderCells\" function.\n */\n private _headerCells: VscodeTableHeaderCell[] = [];\n /**\n * Cached querySelectorAll result. Updated when the body slot changes.\n * It shouldn't be used directly, check the \"_getCellsOfFirstRow\" function.\n */\n private _cellsOfFirstRow: VscodeTableCell[] = [];\n private _cellsToResize!: VscodeTableCell[];\n private _headerCellsToResize!: VscodeTableHeaderCell[];\n private _prevHeaderHeight = 0;\n private _prevComponentHeight = 0;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this._memoizeComponentDimensions();\n this._initDefaultColumnSizes();\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this._componentResizeObserver?.unobserve(this);\n this._componentResizeObserver?.disconnect();\n this._bodyResizeObserver?.disconnect();\n }\n\n private _px2Percent(px: number) {\n return (px / this._componentW) * 100;\n }\n\n private _percent2Px(percent: number) {\n return (this._componentW * percent) / 100;\n }\n\n private _memoizeComponentDimensions() {\n const cr = this.getBoundingClientRect();\n\n this._componentH = cr.height;\n this._componentW = cr.width;\n this._componentX = cr.x;\n }\n\n private _queryHeaderCells() {\n const headers = this._assignedHeaderElements;\n\n if (!(headers && headers[0])) {\n return [];\n }\n\n return Array.from(\n headers[0].querySelectorAll<VscodeTableHeaderCell>(\n 'vscode-table-header-cell'\n )\n );\n }\n\n /**\n * Get cached header cells\n */\n private _getHeaderCells() {\n if (!this._headerCells.length) {\n this._headerCells = this._queryHeaderCells();\n }\n\n return this._headerCells;\n }\n\n private _queryCellsOfFirstRow() {\n const assignedBodyElements = this._assignedBodyElements;\n\n if (!(assignedBodyElements && assignedBodyElements[0])) {\n return [];\n }\n\n return Array.from(\n assignedBodyElements[0].querySelectorAll<VscodeTableCell>(\n 'vscode-table-row:first-child vscode-table-cell'\n )\n );\n }\n\n /**\n * Get cached cells of first row\n */\n private _getCellsOfFirstRow() {\n if (!this._cellsOfFirstRow.length) {\n this._cellsOfFirstRow = this._queryCellsOfFirstRow();\n }\n\n return this._cellsOfFirstRow;\n }\n\n private _initResizeObserver() {\n this._componentResizeObserver = new ResizeObserver(\n this._componentResizeObserverCallback\n );\n this._componentResizeObserver.observe(this);\n\n this._headerResizeObserver = new ResizeObserver(\n this._headerResizeObserverCallback\n );\n this._headerResizeObserver.observe(this._headerElement);\n }\n\n private _componentResizeObserverCallback = () => {\n this._memoizeComponentDimensions();\n this._updateResizeHandlersSize();\n\n if (this.responsive) {\n this._toggleCompactView();\n }\n };\n\n private _headerResizeObserverCallback = () => {\n this._updateResizeHandlersSize();\n };\n\n private _bodyResizeObserverCallback = () => {\n let headerHeight = 0;\n let tbodyHeight = 0;\n const tableHeight = this.getBoundingClientRect().height;\n\n if (this._assignedHeaderElements && this._assignedHeaderElements.length) {\n headerHeight =\n this._assignedHeaderElements[0].getBoundingClientRect().height;\n }\n\n if (this._assignedBodyElements && this._assignedBodyElements.length) {\n tbodyHeight =\n this._assignedBodyElements[0].getBoundingClientRect().height;\n }\n\n const overflownContentHeight = tbodyHeight - headerHeight - tableHeight;\n\n this._scrollableElement.style.height =\n overflownContentHeight > 0 ? `${tableHeight - headerHeight}px` : 'auto';\n };\n\n private _calcColWidthPercentages(): number[] {\n const numCols = this._getHeaderCells().length;\n let cols: (string | number)[] = this.columns.slice(0, numCols);\n const numAutoCols =\n cols.filter((c) => c === 'auto').length + numCols - cols.length;\n let availablePercent = 100;\n\n cols = cols.map((col) => {\n const percentage = rawValueToPercentage(col, this._componentW);\n\n if (percentage === null) {\n return 'auto';\n }\n\n availablePercent -= percentage;\n\n return percentage;\n });\n\n if (cols.length < numCols) {\n for (let i = cols.length; i < numCols; i++) {\n cols.push('auto');\n }\n }\n\n cols = cols.map((col) => {\n if (col === 'auto') {\n return availablePercent / numAutoCols;\n }\n\n return col as number;\n });\n\n return cols as number[];\n }\n\n private _initHeaderCellSizes(colWidths: number[]) {\n this._getHeaderCells().forEach((cell, index) => {\n cell.style.width = `${colWidths[index]}%`;\n });\n }\n\n private _initBodyColumnSizes(colWidths: number[]) {\n this._getCellsOfFirstRow().forEach((cell, index) => {\n cell.style.width = `${colWidths[index]}%`;\n });\n }\n\n private _initSashes(colWidths: number[]) {\n const l = colWidths.length;\n let prevHandlerPos = 0;\n this._sashPositions = [];\n\n colWidths.forEach((collW, index) => {\n if (index < l - 1) {\n const pos = prevHandlerPos + collW;\n\n this._sashPositions.push(pos);\n prevHandlerPos = pos;\n }\n });\n }\n\n private _initDefaultColumnSizes() {\n const colWidths = this._calcColWidthPercentages();\n\n this._initHeaderCellSizes(colWidths);\n this._initBodyColumnSizes(colWidths);\n this._initSashes(colWidths);\n }\n\n private _updateResizeHandlersSize() {\n const headerCr = this._headerElement.getBoundingClientRect();\n\n if (\n headerCr.height === this._prevHeaderHeight &&\n this._componentH === this._prevComponentHeight\n ) {\n return;\n }\n\n this._prevHeaderHeight = headerCr.height;\n this._prevComponentHeight = this._componentH;\n\n const bodyHeight = this._componentH - headerCr.height;\n\n this._sashVisibleElements.forEach((el) => {\n el.style.height = `${bodyHeight}px`;\n el.style.top = `${headerCr.height}px`;\n });\n }\n\n private _applyCompactViewColumnLabels() {\n const headerCells = this._getHeaderCells();\n const labels = headerCells.map((c) => c.innerText);\n const rows = this.querySelectorAll('vscode-table-row');\n\n rows.forEach((r) => {\n const cells = r.querySelectorAll('vscode-table-cell');\n\n cells.forEach((c, i) => {\n c.columnLabel = labels[i];\n c.compact = true;\n });\n });\n }\n\n private _clearCompactViewColumnLabels() {\n this.querySelectorAll('vscode-table-cell').forEach((c) => {\n c.columnLabel = '';\n c.compact = false;\n });\n }\n\n private _toggleCompactView() {\n const cr = this.getBoundingClientRect();\n const nextCompactView = cr.width < this.breakpoint;\n\n if (this.compact !== nextCompactView) {\n this.compact = nextCompactView;\n\n if (nextCompactView) {\n this._applyCompactViewColumnLabels();\n } else {\n this._clearCompactViewColumnLabels();\n }\n }\n }\n\n private _onDefaultSlotChange() {\n this._assignedElements.forEach((el) => {\n if (el.tagName.toLowerCase() === 'vscode-table-header') {\n el.slot = 'header';\n return;\n }\n\n if (el.tagName.toLowerCase() === 'vscode-table-body') {\n el.slot = 'body';\n return;\n }\n });\n }\n\n private _onHeaderSlotChange() {\n this._headerCells = this._queryHeaderCells();\n }\n\n private _onBodySlotChange() {\n this._initDefaultColumnSizes();\n this._initResizeObserver();\n this._updateResizeHandlersSize();\n\n if (!this._bodyResizeObserver) {\n const tbody = this._assignedBodyElements[0] ?? null;\n\n if (tbody) {\n this._bodyResizeObserver = new ResizeObserver(\n this._bodyResizeObserverCallback\n );\n this._bodyResizeObserver.observe(tbody);\n }\n }\n }\n\n private _onSashMouseOver(event: MouseEvent) {\n if (this._isDragging) {\n return;\n }\n\n const target = event.currentTarget as HTMLDivElement;\n const index = Number(target.dataset.index);\n this._sashHovers[index] = true;\n this.requestUpdate();\n }\n\n private _onSashMouseOut(event: MouseEvent) {\n event.stopPropagation();\n\n if (this._isDragging) {\n return;\n }\n\n const target = event.currentTarget as HTMLDivElement;\n const index = Number(target.dataset.index);\n this._sashHovers[index] = false;\n this.requestUpdate();\n }\n\n private _onSashMouseDown(event: MouseEvent) {\n event.stopPropagation();\n\n const {pageX, currentTarget} = event;\n const el = currentTarget as HTMLDivElement;\n const index = Number(el.dataset.index);\n const cr = el.getBoundingClientRect();\n const elX = cr.x;\n\n this._isDragging = true;\n this._activeSashElementIndex = index;\n this._sashHovers[this._activeSashElementIndex] = true;\n this._activeSashCursorOffset = this._px2Percent(pageX - elX);\n\n const headerCells = this._getHeaderCells();\n this._headerCellsToResize = [];\n this._headerCellsToResize.push(headerCells[index]);\n\n if (headerCells[index + 1]) {\n this._headerCellsToResize[1] = headerCells[index + 1];\n }\n\n const tbody = this._bodySlot.assignedElements()[0];\n const cells = tbody.querySelectorAll<VscodeTableCell>(\n 'vscode-table-row:first-child > vscode-table-cell'\n );\n this._cellsToResize = [];\n this._cellsToResize.push(cells[index]);\n\n if (cells[index + 1]) {\n this._cellsToResize.push(cells[index + 1]);\n }\n\n document.addEventListener('mousemove', this._onResizingMouseMove);\n document.addEventListener('mouseup', this._onResizingMouseUp);\n }\n\n private _updateActiveSashPosition(mouseX: number) {\n const {prevSashPos, nextSashPos} = this._getSashPositions();\n let minColumnWidth = rawValueToPercentage(\n this.minColumnWidth,\n this._componentW\n );\n\n if (minColumnWidth === null) {\n minColumnWidth = 0;\n }\n\n const minX = prevSashPos ? prevSashPos + minColumnWidth : minColumnWidth;\n const maxX = nextSashPos\n ? nextSashPos - minColumnWidth\n : COMPONENT_WIDTH_PERCENTAGE - minColumnWidth;\n let newX = this._px2Percent(\n mouseX - this._componentX - this._percent2Px(this._activeSashCursorOffset)\n );\n\n newX = Math.max(newX, minX);\n newX = Math.min(newX, maxX);\n\n this._sashPositions[this._activeSashElementIndex] = newX;\n this.requestUpdate();\n }\n\n private _getSashPositions(): {\n sashPos: number;\n prevSashPos: number;\n nextSashPos: number;\n } {\n const sashPos = this._sashPositions[this._activeSashElementIndex];\n const prevSashPos =\n this._sashPositions[this._activeSashElementIndex - 1] || 0;\n const nextSashPos =\n this._sashPositions[this._activeSashElementIndex + 1] ||\n COMPONENT_WIDTH_PERCENTAGE;\n\n return {\n sashPos,\n prevSashPos,\n nextSashPos,\n };\n }\n\n private _resizeColumns(resizeBodyCells = true) {\n const {sashPos, prevSashPos, nextSashPos} = this._getSashPositions();\n\n const prevColW = sashPos - prevSashPos;\n const nextColW = nextSashPos - sashPos;\n const prevColCss = `${prevColW}%`;\n const nextColCss = `${nextColW}%`;\n\n this._headerCellsToResize[0].style.width = prevColCss;\n\n if (this._headerCellsToResize[1]) {\n this._headerCellsToResize[1].style.width = nextColCss;\n }\n\n if (resizeBodyCells) {\n this._cellsToResize[0].style.width = prevColCss;\n\n if (this._cellsToResize[1]) {\n this._cellsToResize[1].style.width = nextColCss;\n }\n }\n }\n\n private _onResizingMouseMove = (event: MouseEvent) => {\n event.stopPropagation();\n this._updateActiveSashPosition(event.pageX);\n\n if (!this.delayedResizing) {\n this._resizeColumns(true);\n } else {\n this._resizeColumns(false);\n }\n };\n\n private _onResizingMouseUp = (event: MouseEvent) => {\n this._resizeColumns(true);\n this._updateActiveSashPosition(event.pageX);\n this._sashHovers[this._activeSashElementIndex] = false;\n this._isDragging = false;\n this._activeSashElementIndex = -1;\n\n document.removeEventListener('mousemove', this._onResizingMouseMove);\n document.removeEventListener('mouseup', this._onResizingMouseUp);\n };\n\n override render(): TemplateResult {\n const sashes = this._sashPositions.map((val, index) => {\n const classes = classMap({\n sash: true,\n hover: this._sashHovers[index],\n resizable: this.resizable,\n });\n\n const left = `${val}%`;\n\n return this.resizable\n ? html`\n <div\n class=${classes}\n data-index=${index}\n .style=${stylePropertyMap({left})}\n @mousedown=${this._onSashMouseDown}\n @mouseover=${this._onSashMouseOver}\n @mouseout=${this._onSashMouseOut}\n >\n <div class=\"sash-visible\"></div>\n <div class=\"sash-clickable\"></div>\n </div>\n `\n : html`<div\n class=${classes}\n data-index=${index}\n .style=${stylePropertyMap({left})}\n >\n <div class=\"sash-visible\"></div>\n </div>`;\n });\n\n const wrapperClasses = classMap({\n wrapper: true,\n 'select-disabled': this._isDragging,\n 'resize-cursor': this._isDragging,\n 'compact-view': this.compact,\n });\n\n return html`\n <div class=${wrapperClasses}>\n <div class=\"header\">\n <slot name=\"caption\"></slot>\n <div class=\"header-slot-wrapper\">\n <slot name=\"header\" @slotchange=${this._onHeaderSlotChange}></slot>\n </div>\n </div>\n <vscode-scrollable class=\"scrollable\">\n <div>\n <slot name=\"body\" @slotchange=${this._onBodySlotChange}></slot>\n </div>\n </vscode-scrollable>\n ${sashes}\n <slot @slotchange=${this._onDefaultSlotChange}></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-table': VscodeTable;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"vscode-table.js","sourceRoot":"","sources":["../../src/vscode-table/vscode-table.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, TemplateResult} from 'lit';\nimport {\n property,\n query,\n queryAll,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport {stylePropertyMap} from '../includes/style-property-map.js';\nimport '../vscode-scrollable/index.js';\nimport {VscodeScrollable} from '../vscode-scrollable/index.js';\nimport {VscodeTableBody} from '../vscode-table-body/index.js';\nimport {VscodeTableCell} from '../vscode-table-cell/index.js';\nimport {VscodeTableHeader} from '../vscode-table-header/index.js';\nimport {VscodeTableHeaderCell} from '../vscode-table-header-cell/index.js';\nimport {rawValueToPercentage} from './helpers.js';\nimport styles from './vscode-table.styles.js';\n\nconst COMPONENT_WIDTH_PERCENTAGE = 100;\n\n/**\n * @tag vscode-table\n *\n * @cssprop [--border=var(--vscode-editorGroup-border)]\n * @cssprop [--foreground=var(--vscode-foreground)]\n * @cssprop [--resize-hover-border=var(--vscode-sash-hoverBorder)]\n * @cssprop [--tinted-row-background=var(--vscode-keybindingTable-rowsBackground)]\n * @cssprop [--header-background=var(--vscode-keybindingTable-headerBackground)]\n * @cssprop [--font-size=var(--vscode-font-size)]\n * @cssprop [--font-family=var(--vscode-font-family)]\n */\n@customElement('vscode-table')\nexport class VscodeTable extends VscElement {\n static override styles = styles;\n\n /** @internal */\n @property({reflect: true})\n override role = 'table';\n\n @property({type: Boolean, reflect: true})\n resizable = false;\n\n @property({type: Boolean, reflect: true})\n responsive = false;\n\n /**\n * Both rows and columns are separated by borders.\n */\n @property({type: Boolean, reflect: true})\n bordered = false;\n\n /**\n * Columns are separated by borders.\n */\n @property({type: Boolean, reflect: true, attribute: 'bordered-columns'})\n borderedColumns = false;\n\n /**\n * Rows are separated by borders.\n */\n @property({type: Boolean, reflect: true, attribute: 'bordered-rows'})\n borderedRows = false;\n\n @property({type: Number})\n breakpoint = 300;\n\n /**\n * Initial column sizes in a JSON-encoded array.\n * Accepted values are:\n * - number\n * - string-type number (ex.: \"100\")\n * - px value (ex.: \"100px\")\n * - percentage value (ex.: \"50%\")\n * - percentage value (ex.: \"50%\")\n * - \"auto\" keyword\n */\n @property({type: Array})\n set columns(val: string[]) {\n this._columns = val;\n\n if (this.isConnected) {\n this._initDefaultColumnSizes();\n }\n }\n get columns(): string[] {\n return this._columns;\n }\n\n /**\n * Minimum column width. Valid values are:\n * - number\n * - string-type number (ex.: \"100\")\n * - px value (ex.: \"100px\")\n * - percentage value (ex.: \"50%\")\n * - percentage value (ex.: \"50%\")\n * - \"auto\" keyword\n */\n @property({attribute: 'min-column-width'})\n minColumnWidth = '50px';\n\n @property({type: Boolean, reflect: true, attribute: 'delayed-resizing'})\n delayedResizing = false;\n\n /**\n * @internal\n */\n @property({type: Boolean, reflect: true})\n compact = false;\n\n /**\n * Zebra stripes, even rows are tinted.\n */\n @property({type: Boolean, reflect: true})\n zebra = false;\n\n /**\n * Zebra stripes, odd rows are tinted.\n */\n @property({type: Boolean, reflect: true, attribute: 'zebra-odd'})\n zebraOdd = false;\n\n @query('slot[name=\"body\"]')\n private _bodySlot!: HTMLSlotElement;\n\n @query('.header')\n private _headerElement!: HTMLDivElement;\n\n @query('.scrollable')\n private _scrollableElement!: VscodeScrollable;\n\n @queryAll('.sash-visible')\n private _sashVisibleElements!: HTMLDivElement[];\n\n @queryAssignedElements({\n flatten: true,\n selector: 'vscode-table-header, vscode-table-body',\n })\n private _assignedElements!: NodeListOf<HTMLElement>;\n\n @queryAssignedElements({\n slot: 'header',\n flatten: true,\n selector: 'vscode-table-header',\n })\n private _assignedHeaderElements!: NodeListOf<VscodeTableHeader>;\n\n @queryAssignedElements({\n slot: 'body',\n flatten: true,\n selector: 'vscode-table-body',\n })\n private _assignedBodyElements!: NodeListOf<VscodeTableBody>;\n\n /**\n * Sash positions in percentage\n */\n @state()\n private _sashPositions: number[] = [];\n\n @state()\n private _isDragging = false;\n\n /**\n * Sash hover state flags, used in the render.\n */\n private _sashHovers: boolean[] = [];\n private _columns: string[] = [];\n private _componentResizeObserver?: ResizeObserver;\n private _headerResizeObserver?: ResizeObserver;\n private _bodyResizeObserver?: ResizeObserver;\n private _activeSashElementIndex = -1;\n private _activeSashCursorOffset = 0;\n private _componentX = 0;\n private _componentH = 0;\n private _componentW = 0;\n /**\n * Cached querySelectorAll result. Updated when the header slot changes.\n * It shouldn't be used directly, check the \"_getHeaderCells\" function.\n */\n private _headerCells: VscodeTableHeaderCell[] = [];\n /**\n * Cached querySelectorAll result. Updated when the body slot changes.\n * It shouldn't be used directly, check the \"_getCellsOfFirstRow\" function.\n */\n private _cellsOfFirstRow: VscodeTableCell[] = [];\n private _cellsToResize!: VscodeTableCell[];\n private _headerCellsToResize!: VscodeTableHeaderCell[];\n private _prevHeaderHeight = 0;\n private _prevComponentHeight = 0;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this._memoizeComponentDimensions();\n this._initDefaultColumnSizes();\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this._componentResizeObserver?.unobserve(this);\n this._componentResizeObserver?.disconnect();\n this._bodyResizeObserver?.disconnect();\n }\n\n private _px2Percent(px: number) {\n return (px / this._componentW) * 100;\n }\n\n private _percent2Px(percent: number) {\n return (this._componentW * percent) / 100;\n }\n\n private _memoizeComponentDimensions() {\n const cr = this.getBoundingClientRect();\n\n this._componentH = cr.height;\n this._componentW = cr.width;\n this._componentX = cr.x;\n }\n\n private _queryHeaderCells() {\n const headers = this._assignedHeaderElements;\n\n if (!(headers && headers[0])) {\n return [];\n }\n\n return Array.from(\n headers[0].querySelectorAll<VscodeTableHeaderCell>(\n 'vscode-table-header-cell'\n )\n );\n }\n\n /**\n * Get cached header cells\n */\n private _getHeaderCells() {\n if (!this._headerCells.length) {\n this._headerCells = this._queryHeaderCells();\n }\n\n return this._headerCells;\n }\n\n private _queryCellsOfFirstRow() {\n const assignedBodyElements = this._assignedBodyElements;\n\n if (!(assignedBodyElements && assignedBodyElements[0])) {\n return [];\n }\n\n return Array.from(\n assignedBodyElements[0].querySelectorAll<VscodeTableCell>(\n 'vscode-table-row:first-child vscode-table-cell'\n )\n );\n }\n\n /**\n * Get cached cells of first row\n */\n private _getCellsOfFirstRow() {\n if (!this._cellsOfFirstRow.length) {\n this._cellsOfFirstRow = this._queryCellsOfFirstRow();\n }\n\n return this._cellsOfFirstRow;\n }\n\n private _resizeTableBody() {\n let headerHeight = 0;\n let tbodyHeight = 0;\n const tableHeight = this.getBoundingClientRect().height;\n\n if (this._assignedHeaderElements && this._assignedHeaderElements.length) {\n headerHeight =\n this._assignedHeaderElements[0].getBoundingClientRect().height;\n }\n\n if (this._assignedBodyElements && this._assignedBodyElements.length) {\n tbodyHeight =\n this._assignedBodyElements[0].getBoundingClientRect().height;\n }\n\n const overflownContentHeight = tbodyHeight - headerHeight - tableHeight;\n\n this._scrollableElement.style.height =\n overflownContentHeight > 0 ? `${tableHeight - headerHeight}px` : 'auto';\n }\n\n private _initResizeObserver() {\n this._componentResizeObserver = new ResizeObserver(\n this._componentResizeObserverCallback\n );\n this._componentResizeObserver.observe(this);\n\n this._headerResizeObserver = new ResizeObserver(\n this._headerResizeObserverCallback\n );\n this._headerResizeObserver.observe(this._headerElement);\n }\n\n private _componentResizeObserverCallback = () => {\n this._memoizeComponentDimensions();\n this._updateResizeHandlersSize();\n\n if (this.responsive) {\n this._toggleCompactView();\n }\n\n this._resizeTableBody();\n };\n\n private _headerResizeObserverCallback = () => {\n this._updateResizeHandlersSize();\n };\n\n private _bodyResizeObserverCallback = () => {\n this._resizeTableBody();\n };\n\n private _calcColWidthPercentages(): number[] {\n const numCols = this._getHeaderCells().length;\n let cols: (string | number)[] = this.columns.slice(0, numCols);\n const numAutoCols =\n cols.filter((c) => c === 'auto').length + numCols - cols.length;\n let availablePercent = 100;\n\n cols = cols.map((col) => {\n const percentage = rawValueToPercentage(col, this._componentW);\n\n if (percentage === null) {\n return 'auto';\n }\n\n availablePercent -= percentage;\n\n return percentage;\n });\n\n if (cols.length < numCols) {\n for (let i = cols.length; i < numCols; i++) {\n cols.push('auto');\n }\n }\n\n cols = cols.map((col) => {\n if (col === 'auto') {\n return availablePercent / numAutoCols;\n }\n\n return col as number;\n });\n\n return cols as number[];\n }\n\n private _initHeaderCellSizes(colWidths: number[]) {\n this._getHeaderCells().forEach((cell, index) => {\n cell.style.width = `${colWidths[index]}%`;\n });\n }\n\n private _initBodyColumnSizes(colWidths: number[]) {\n this._getCellsOfFirstRow().forEach((cell, index) => {\n cell.style.width = `${colWidths[index]}%`;\n });\n }\n\n private _initSashes(colWidths: number[]) {\n const l = colWidths.length;\n let prevHandlerPos = 0;\n this._sashPositions = [];\n\n colWidths.forEach((collW, index) => {\n if (index < l - 1) {\n const pos = prevHandlerPos + collW;\n\n this._sashPositions.push(pos);\n prevHandlerPos = pos;\n }\n });\n }\n\n private _initDefaultColumnSizes() {\n const colWidths = this._calcColWidthPercentages();\n\n this._initHeaderCellSizes(colWidths);\n this._initBodyColumnSizes(colWidths);\n this._initSashes(colWidths);\n }\n\n private _updateResizeHandlersSize() {\n const headerCr = this._headerElement.getBoundingClientRect();\n\n if (\n headerCr.height === this._prevHeaderHeight &&\n this._componentH === this._prevComponentHeight\n ) {\n return;\n }\n\n this._prevHeaderHeight = headerCr.height;\n this._prevComponentHeight = this._componentH;\n\n const bodyHeight = this._componentH - headerCr.height;\n\n this._sashVisibleElements.forEach((el) => {\n el.style.height = `${bodyHeight}px`;\n el.style.top = `${headerCr.height}px`;\n });\n }\n\n private _applyCompactViewColumnLabels() {\n const headerCells = this._getHeaderCells();\n const labels = headerCells.map((c) => c.innerText);\n const rows = this.querySelectorAll('vscode-table-row');\n\n rows.forEach((r) => {\n const cells = r.querySelectorAll('vscode-table-cell');\n\n cells.forEach((c, i) => {\n c.columnLabel = labels[i];\n c.compact = true;\n });\n });\n }\n\n private _clearCompactViewColumnLabels() {\n this.querySelectorAll('vscode-table-cell').forEach((c) => {\n c.columnLabel = '';\n c.compact = false;\n });\n }\n\n private _toggleCompactView() {\n const cr = this.getBoundingClientRect();\n const nextCompactView = cr.width < this.breakpoint;\n\n if (this.compact !== nextCompactView) {\n this.compact = nextCompactView;\n\n if (nextCompactView) {\n this._applyCompactViewColumnLabels();\n } else {\n this._clearCompactViewColumnLabels();\n }\n }\n }\n\n private _onDefaultSlotChange() {\n this._assignedElements.forEach((el) => {\n if (el.tagName.toLowerCase() === 'vscode-table-header') {\n el.slot = 'header';\n return;\n }\n\n if (el.tagName.toLowerCase() === 'vscode-table-body') {\n el.slot = 'body';\n return;\n }\n });\n }\n\n private _onHeaderSlotChange() {\n this._headerCells = this._queryHeaderCells();\n }\n\n private _onBodySlotChange() {\n this._initDefaultColumnSizes();\n this._initResizeObserver();\n this._updateResizeHandlersSize();\n\n if (!this._bodyResizeObserver) {\n const tbody = this._assignedBodyElements[0] ?? null;\n\n if (tbody) {\n this._bodyResizeObserver = new ResizeObserver(\n this._bodyResizeObserverCallback\n );\n this._bodyResizeObserver.observe(tbody);\n }\n }\n }\n\n private _onSashMouseOver(event: MouseEvent) {\n if (this._isDragging) {\n return;\n }\n\n const target = event.currentTarget as HTMLDivElement;\n const index = Number(target.dataset.index);\n this._sashHovers[index] = true;\n this.requestUpdate();\n }\n\n private _onSashMouseOut(event: MouseEvent) {\n event.stopPropagation();\n\n if (this._isDragging) {\n return;\n }\n\n const target = event.currentTarget as HTMLDivElement;\n const index = Number(target.dataset.index);\n this._sashHovers[index] = false;\n this.requestUpdate();\n }\n\n private _onSashMouseDown(event: MouseEvent) {\n event.stopPropagation();\n\n const {pageX, currentTarget} = event;\n const el = currentTarget as HTMLDivElement;\n const index = Number(el.dataset.index);\n const cr = el.getBoundingClientRect();\n const elX = cr.x;\n\n this._isDragging = true;\n this._activeSashElementIndex = index;\n this._sashHovers[this._activeSashElementIndex] = true;\n this._activeSashCursorOffset = this._px2Percent(pageX - elX);\n\n const headerCells = this._getHeaderCells();\n this._headerCellsToResize = [];\n this._headerCellsToResize.push(headerCells[index]);\n\n if (headerCells[index + 1]) {\n this._headerCellsToResize[1] = headerCells[index + 1];\n }\n\n const tbody = this._bodySlot.assignedElements()[0];\n const cells = tbody.querySelectorAll<VscodeTableCell>(\n 'vscode-table-row:first-child > vscode-table-cell'\n );\n this._cellsToResize = [];\n this._cellsToResize.push(cells[index]);\n\n if (cells[index + 1]) {\n this._cellsToResize.push(cells[index + 1]);\n }\n\n document.addEventListener('mousemove', this._onResizingMouseMove);\n document.addEventListener('mouseup', this._onResizingMouseUp);\n }\n\n private _updateActiveSashPosition(mouseX: number) {\n const {prevSashPos, nextSashPos} = this._getSashPositions();\n let minColumnWidth = rawValueToPercentage(\n this.minColumnWidth,\n this._componentW\n );\n\n if (minColumnWidth === null) {\n minColumnWidth = 0;\n }\n\n const minX = prevSashPos ? prevSashPos + minColumnWidth : minColumnWidth;\n const maxX = nextSashPos\n ? nextSashPos - minColumnWidth\n : COMPONENT_WIDTH_PERCENTAGE - minColumnWidth;\n let newX = this._px2Percent(\n mouseX - this._componentX - this._percent2Px(this._activeSashCursorOffset)\n );\n\n newX = Math.max(newX, minX);\n newX = Math.min(newX, maxX);\n\n this._sashPositions[this._activeSashElementIndex] = newX;\n this.requestUpdate();\n }\n\n private _getSashPositions(): {\n sashPos: number;\n prevSashPos: number;\n nextSashPos: number;\n } {\n const sashPos = this._sashPositions[this._activeSashElementIndex];\n const prevSashPos =\n this._sashPositions[this._activeSashElementIndex - 1] || 0;\n const nextSashPos =\n this._sashPositions[this._activeSashElementIndex + 1] ||\n COMPONENT_WIDTH_PERCENTAGE;\n\n return {\n sashPos,\n prevSashPos,\n nextSashPos,\n };\n }\n\n private _resizeColumns(resizeBodyCells = true) {\n const {sashPos, prevSashPos, nextSashPos} = this._getSashPositions();\n\n const prevColW = sashPos - prevSashPos;\n const nextColW = nextSashPos - sashPos;\n const prevColCss = `${prevColW}%`;\n const nextColCss = `${nextColW}%`;\n\n this._headerCellsToResize[0].style.width = prevColCss;\n\n if (this._headerCellsToResize[1]) {\n this._headerCellsToResize[1].style.width = nextColCss;\n }\n\n if (resizeBodyCells) {\n this._cellsToResize[0].style.width = prevColCss;\n\n if (this._cellsToResize[1]) {\n this._cellsToResize[1].style.width = nextColCss;\n }\n }\n }\n\n private _onResizingMouseMove = (event: MouseEvent) => {\n event.stopPropagation();\n this._updateActiveSashPosition(event.pageX);\n\n if (!this.delayedResizing) {\n this._resizeColumns(true);\n } else {\n this._resizeColumns(false);\n }\n };\n\n private _onResizingMouseUp = (event: MouseEvent) => {\n this._resizeColumns(true);\n this._updateActiveSashPosition(event.pageX);\n this._sashHovers[this._activeSashElementIndex] = false;\n this._isDragging = false;\n this._activeSashElementIndex = -1;\n\n document.removeEventListener('mousemove', this._onResizingMouseMove);\n document.removeEventListener('mouseup', this._onResizingMouseUp);\n };\n\n override render(): TemplateResult {\n const sashes = this._sashPositions.map((val, index) => {\n const classes = classMap({\n sash: true,\n hover: this._sashHovers[index],\n resizable: this.resizable,\n });\n\n const left = `${val}%`;\n\n return this.resizable\n ? html`\n <div\n class=${classes}\n data-index=${index}\n .style=${stylePropertyMap({left})}\n @mousedown=${this._onSashMouseDown}\n @mouseover=${this._onSashMouseOver}\n @mouseout=${this._onSashMouseOut}\n >\n <div class=\"sash-visible\"></div>\n <div class=\"sash-clickable\"></div>\n </div>\n `\n : html`<div\n class=${classes}\n data-index=${index}\n .style=${stylePropertyMap({left})}\n >\n <div class=\"sash-visible\"></div>\n </div>`;\n });\n\n const wrapperClasses = classMap({\n wrapper: true,\n 'select-disabled': this._isDragging,\n 'resize-cursor': this._isDragging,\n 'compact-view': this.compact,\n });\n\n return html`\n <div class=${wrapperClasses}>\n <div class=\"header\">\n <slot name=\"caption\"></slot>\n <div class=\"header-slot-wrapper\">\n <slot name=\"header\" @slotchange=${this._onHeaderSlotChange}></slot>\n </div>\n </div>\n <vscode-scrollable class=\"scrollable\">\n <div>\n <slot name=\"body\" @slotchange=${this._onBodySlotChange}></slot>\n </div>\n </vscode-scrollable>\n ${sashes}\n <slot @slotchange=${this._onDefaultSlotChange}></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-table': VscodeTable;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-table-body.d.ts","sourceRoot":"","sources":["../../src/vscode-table-body/vscode-table-body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AAEzC,OAAO,
|
|
1
|
+
{"version":3,"file":"vscode-table-body.d.ts","sourceRoot":"","sources":["../../src/vscode-table-body/vscode-table-body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;AAEzC,OAAO,EAAgB,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAGpE;;;;GAIG;AACH,qBACa,eAAgB,SAAQ,UAAU;IAC7C,OAAgB,MAAM,+BAAU;IAEhC,gBAAgB;IAEP,IAAI,SAAc;IAElB,MAAM,IAAI,cAAc;CAGlC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,mBAAmB,EAAE,eAAe,CAAC;KACtC;CACF"}
|
|
@@ -5,8 +5,8 @@ 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 {
|
|
9
|
-
import { VscElement } from '../includes/VscElement.js';
|
|
8
|
+
import { property } from 'lit/decorators.js';
|
|
9
|
+
import { customElement, VscElement } from '../includes/VscElement.js';
|
|
10
10
|
import styles from './vscode-table-body.styles.js';
|
|
11
11
|
/**
|
|
12
12
|
* @tag vscode-table-body
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-table-body.js","sourceRoot":"","sources":["../../src/vscode-table-body/vscode-table-body.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"vscode-table-body.js","sourceRoot":"","sources":["../../src/vscode-table-body/vscode-table-body.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACpE,OAAO,MAAM,MAAM,+BAA+B,CAAC;AAEnD;;;;GAIG;AAEI,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,UAAU;IAAxC;;QAGL,gBAAgB;QAEP,SAAI,GAAG,UAAU,CAAC;IAK7B,CAAC;IAHU,MAAM;QACb,OAAO,IAAI,CAAA,iBAAiB,CAAC;IAC/B,CAAC;;AARe,sBAAM,GAAG,MAAM,AAAT,CAAU;AAIvB;IADR,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;6CACC;AALhB,eAAe;IAD3B,aAAa,CAAC,mBAAmB,CAAC;GACtB,eAAe,CAU3B","sourcesContent":["import {html, TemplateResult} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport styles from './vscode-table-body.styles.js';\n\n/**\n * @tag vscode-table-body\n *\n * @cssprop --vscode-keybindingTable-rowsBackground\n */\n@customElement('vscode-table-body')\nexport class VscodeTableBody extends VscElement {\n static override styles = styles;\n\n /** @internal */\n @property({reflect: true})\n override role = 'rowgroup';\n\n override render(): TemplateResult {\n return html` <slot></slot> `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-table-body': VscodeTableBody;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-table-cell.d.ts","sourceRoot":"","sources":["../../src/vscode-table-cell/vscode-table-cell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAU,MAAM,KAAK,CAAC;AAElD,OAAO,
|
|
1
|
+
{"version":3,"file":"vscode-table-cell.d.ts","sourceRoot":"","sources":["../../src/vscode-table-cell/vscode-table-cell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAU,MAAM,KAAK,CAAC;AAElD,OAAO,EAAgB,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAGpE;;;;;;;GAOG;AACH,qBACa,eAAgB,SAAQ,UAAU;IAC7C,OAAgB,MAAM,+BAAU;IAEhC,gBAAgB;IAEP,IAAI,SAAU;IAEvB;;OAEG;IAEH,WAAW,SAAM;IAEjB;;OAEG;IAEH,OAAO,UAAS;IAEP,MAAM,IAAI,cAAc;CAclC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,mBAAmB,EAAE,eAAe,CAAC;KACtC;CACF"}
|