@carbon/web-components 2.1.0-rc.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +253 -0
- package/dist/16-59ea1634.js +50 -0
- package/dist/{form-f6607c5c.js → 16-b74b58a2.js} +6 -6
- package/dist/breadcrumb.min.js +1 -1
- package/dist/breadcrumb.rtl.min.js +1 -1
- package/dist/button-499b2921.js +114 -0
- package/dist/button-fcaef03a.js +114 -0
- package/dist/{button-set-49c4279d.js → button-set-0af6a6b1.js} +6 -6
- package/dist/{button-set-5ee221b2.js → button-set-2756dc35.js} +6 -6
- package/dist/{button-skeleton-f9f83011.js → button-skeleton-b0f60298.js} +6 -6
- package/dist/{button-skeleton-b2facaf2.js → button-skeleton-e9a7f2ed.js} +7 -7
- package/dist/button.min.js +1 -1
- package/dist/button.rtl.min.js +1 -1
- package/dist/checkbox-303e6505.js +86 -0
- package/dist/checkbox-d6a26a92.js +86 -0
- package/dist/checkbox.min.js +29 -2
- package/dist/checkbox.rtl.min.js +29 -2
- package/dist/code-snippet.min.js +2 -2
- package/dist/code-snippet.rtl.min.js +2 -2
- package/dist/combo-box.min.js +3 -3
- package/dist/combo-box.rtl.min.js +3 -3
- package/dist/content-switcher-item-5777a5d1.js +84 -0
- package/dist/content-switcher-item-ef4cad2b.js +84 -0
- package/dist/content-switcher.min.js +1 -1
- package/dist/content-switcher.rtl.min.js +1 -1
- package/dist/copy-button-161c5421.js +63 -0
- package/dist/copy-button-e1f89efb.js +63 -0
- package/dist/copy-button.min.js +1 -1
- package/dist/copy-button.rtl.min.js +1 -1
- package/dist/data-table.min.js +45 -31
- package/dist/data-table.rtl.min.js +45 -31
- package/dist/date-picker.min.js +8 -8
- package/dist/date-picker.rtl.min.js +8 -8
- package/dist/dropdown-item-007c3332.js +128 -0
- package/dist/dropdown-item-1f7abedf.js +128 -0
- package/dist/dropdown.min.js +2 -2
- package/dist/dropdown.rtl.min.js +2 -2
- package/dist/file-uploader.min.js +1 -1
- package/dist/file-uploader.rtl.min.js +1 -1
- package/dist/icon-button-74f99649.js +71 -0
- package/dist/icon-button-88446de4.js +71 -0
- package/dist/icon-button.min.js +1 -1
- package/dist/icon-button.rtl.min.js +1 -1
- package/dist/modal.min.js +2 -2
- package/dist/modal.rtl.min.js +2 -2
- package/dist/multi-select.min.js +6 -6
- package/dist/multi-select.rtl.min.js +9 -9
- package/dist/notification.min.js +4 -4
- package/dist/notification.rtl.min.js +4 -4
- package/dist/number-input.min.js +2 -2
- package/dist/number-input.rtl.min.js +2 -2
- package/dist/overflow-menu.min.js +2 -2
- package/dist/overflow-menu.rtl.min.js +2 -2
- package/dist/pagination.min.js +1 -1
- package/dist/pagination.rtl.min.js +1 -1
- package/dist/popover-content-08984bac.js +61 -0
- package/dist/popover-content-123b4e47.js +61 -0
- package/dist/popover.min.js +1 -1
- package/dist/popover.rtl.min.js +1 -1
- package/dist/progress-indicator.min.js +1 -1
- package/dist/progress-indicator.rtl.min.js +1 -1
- package/dist/radio-button.min.js +6 -6
- package/dist/radio-button.rtl.min.js +6 -6
- package/dist/search-8226bf13.js +79 -0
- package/dist/search-fb6dc5b4.js +79 -0
- package/dist/search.min.js +1 -1
- package/dist/search.rtl.min.js +1 -1
- package/dist/select.min.js +6 -6
- package/dist/select.rtl.min.js +6 -6
- package/dist/skip-to-content.min.js +2 -2
- package/dist/skip-to-content.rtl.min.js +2 -2
- package/dist/slider.min.js +6 -6
- package/dist/slider.rtl.min.js +6 -6
- package/dist/slug.min.js +7 -7
- package/dist/slug.rtl.min.js +7 -7
- package/dist/tabs.min.js +2 -2
- package/dist/tabs.rtl.min.js +2 -2
- package/dist/tag.min.js +6 -10
- package/dist/tag.rtl.min.js +6 -10
- package/dist/{text-input-6d08528b.js → text-input-2c753e9d.js} +5 -5
- package/dist/{text-input-4616af44.js → text-input-f5060011.js} +5 -5
- package/dist/text-input.min.js +2 -2
- package/dist/text-input.rtl.min.js +2 -2
- package/dist/textarea.min.js +1 -1
- package/dist/textarea.rtl.min.js +1 -1
- package/dist/tile.min.js +1 -1
- package/dist/tile.rtl.min.js +1 -1
- package/dist/toggle-tip.min.js +1 -1
- package/dist/toggle-tip.rtl.min.js +1 -1
- package/dist/toggle.min.js +3 -3
- package/dist/toggle.rtl.min.js +3 -3
- package/dist/toggletip-7783180a.js +90 -0
- package/dist/toggletip-f36bb856.js +90 -0
- package/dist/tooltip-content-6a832657.js +52 -0
- package/dist/tooltip-content-d8d76f13.js +52 -0
- package/dist/tooltip.min.js +1 -1
- package/dist/tooltip.rtl.min.js +1 -1
- package/dist/ui-shell.min.js +1 -1
- package/dist/ui-shell.rtl.min.js +1 -1
- package/es/components/breadcrumb/breadcrumb.css.js +1 -1
- package/es/components/breadcrumb/breadcrumb.rtl.css.js +1 -1
- package/es/components/button/button.css.js +1 -1
- package/es/components/button/button.rtl.css.js +1 -1
- package/es/components/checkbox/checkbox-group.d.ts +84 -0
- package/es/components/checkbox/checkbox-group.js +337 -0
- package/es/components/checkbox/checkbox-group.js.map +1 -0
- package/es/components/checkbox/checkbox.css.js +1 -1
- package/es/components/checkbox/checkbox.d.ts +33 -0
- package/es/components/checkbox/checkbox.js +143 -6
- package/es/components/checkbox/checkbox.js.map +1 -1
- package/es/components/checkbox/checkbox.rtl.css.js +1 -1
- package/es/components/checkbox/index.d.ts +1 -0
- package/es/components/checkbox/index.js +1 -0
- package/es/components/checkbox/index.js.map +1 -1
- package/es/components/code-snippet/code-snippet.css.js +1 -1
- package/es/components/code-snippet/code-snippet.rtl.css.js +1 -1
- package/es/components/combo-box/combo-box.css.js +1 -1
- package/es/components/combo-box/combo-box.rtl.css.js +1 -1
- package/es/components/content-switcher/content-switcher.css.js +1 -1
- package/es/components/content-switcher/content-switcher.rtl.css.js +1 -1
- package/es/components/copy-button/copy-button.css.js +1 -1
- package/es/components/copy-button/copy-button.rtl.css.js +1 -1
- package/es/components/data-table/data-table.css.js +1 -1
- package/es/components/data-table/data-table.rtl.css.js +1 -1
- package/es/components/data-table/table-header-cell.d.ts +12 -0
- package/es/components/data-table/table-header-cell.js +78 -21
- package/es/components/data-table/table-header-cell.js.map +1 -1
- package/es/components/data-table/table-row.d.ts +12 -0
- package/es/components/data-table/table-row.js +65 -16
- package/es/components/data-table/table-row.js.map +1 -1
- package/es/components/data-table/table.d.ts +4 -0
- package/es/components/data-table/table.js +24 -0
- package/es/components/data-table/table.js.map +1 -1
- package/es/components/dropdown/dropdown.css.js +1 -1
- package/es/components/dropdown/dropdown.rtl.css.js +1 -1
- package/es/components/file-uploader/file-uploader.css.js +1 -1
- package/es/components/file-uploader/file-uploader.rtl.css.js +1 -1
- package/es/components/icon-button/icon-button.css.js +1 -1
- package/es/components/icon-button/icon-button.rtl.css.js +1 -1
- package/es/components/modal/modal.css.js +1 -1
- package/es/components/modal/modal.rtl.css.js +1 -1
- package/es/components/multi-select/multi-select.css.js +1 -1
- package/es/components/multi-select/multi-select.rtl.css.js +1 -1
- package/es/components/notification/actionable-notification.css.js +1 -1
- package/es/components/notification/actionable-notification.rtl.css.js +1 -1
- package/es/components/notification/inline-notification.css.js +1 -1
- package/es/components/notification/inline-notification.rtl.css.js +1 -1
- package/es/components/notification/toast-notification.css.js +1 -1
- package/es/components/notification/toast-notification.rtl.css.js +1 -1
- package/es/components/number-input/number-input.css.js +1 -1
- package/es/components/number-input/number-input.rtl.css.js +1 -1
- package/es/components/overflow-menu/overflow-menu.css.js +1 -1
- package/es/components/overflow-menu/overflow-menu.rtl.css.js +1 -1
- package/es/components/pagination/pagination.css.js +1 -1
- package/es/components/pagination/pagination.rtl.css.js +1 -1
- package/es/components/popover/popover.css.js +1 -1
- package/es/components/popover/popover.rtl.css.js +1 -1
- package/es/components/progress-indicator/progress-indicator.css.js +1 -1
- package/es/components/progress-indicator/progress-indicator.rtl.css.js +1 -1
- package/es/components/skip-to-content/skip-to-content.css.js +1 -1
- package/es/components/skip-to-content/skip-to-content.rtl.css.js +1 -1
- package/es/components/slider/slider.css.js +1 -1
- package/es/components/slider/slider.rtl.css.js +1 -1
- package/es/components/slug/slug.css.js +1 -1
- package/es/components/slug/slug.rtl.css.js +1 -1
- package/es/components/tabs/tabs.css.js +1 -1
- package/es/components/tabs/tabs.rtl.css.js +1 -1
- package/es/components/tag/tag.css.js +1 -1
- package/es/components/tag/tag.d.ts +6 -4
- package/es/components/tag/tag.js +31 -21
- package/es/components/tag/tag.js.map +1 -1
- package/es/components/tag/tag.rtl.css.js +1 -1
- package/es/components/tile/tile.css.js +1 -1
- package/es/components/tile/tile.rtl.css.js +1 -1
- package/es/components/toggle-tip/toggletip.css.js +1 -1
- package/es/components/toggle-tip/toggletip.rtl.css.js +1 -1
- package/es/components/tooltip/tooltip.css.js +1 -1
- package/es/components/tooltip/tooltip.rtl.css.js +1 -1
- package/es/components/ui-shell/header.css.js +1 -1
- package/es/components/ui-shell/header.rtl.css.js +1 -1
- package/es/components-react/checkbox/checkbox-group.d.ts +15 -0
- package/es/components-react/checkbox/checkbox-group.js +20 -0
- package/lib/components-react-node/checkbox/checkbox-group.js +30 -0
- package/package.json +2 -2
- package/scss/components/checkbox/checkbox.scss +37 -0
- package/scss/components/data-table/_table-core.scss +74 -0
- package/scss/components/data-table/_table-selection.scss +13 -0
- package/scss/components/data-table/_table-sizes.scss +0 -7
- package/scss/components/data-table/_table-sort.scss +7 -0
- package/scss/components/data-table/data-table.scss +1 -0
- package/scss/components/slug/slug.scss +201 -0
- package/scss/components/tag/tag.scss +4 -0
- package/dist/16-01ebcb7f.js +0 -50
- package/dist/16-1664e172.js +0 -50
- package/dist/16-228e7358.js +0 -50
- package/dist/16-36ae18bf.js +0 -50
- package/dist/16-46b03826.js +0 -50
- package/dist/16-60b422c4.js +0 -50
- package/dist/16-6791071b.js +0 -50
- package/dist/16-758bd5d3.js +0 -50
- package/dist/16-99afca88.js +0 -50
- package/dist/16-9f0fa955.js +0 -50
- package/dist/16-a89c399c.js +0 -50
- package/dist/16-ae0e9a56.js +0 -50
- package/dist/16-c56d8c15.js +0 -50
- package/dist/16-d814df5b.js +0 -50
- package/dist/16-d9457893.js +0 -50
- package/dist/16-f1e0111b.js +0 -50
- package/dist/16-f62d4131.js +0 -50
- package/dist/16-fd11e4ec.js +0 -50
- package/dist/20-1dd5ae57.js +0 -50
- package/dist/20-d7cf1679.js +0 -50
- package/dist/button-3dafe360.js +0 -114
- package/dist/button-582a2f3a.js +0 -114
- package/dist/button-8d4316cb.js +0 -114
- package/dist/button-e33e1c4a.js +0 -114
- package/dist/button-set-04f29086.js +0 -50
- package/dist/button-set-c9335535.js +0 -50
- package/dist/button-skeleton-00620289.js +0 -70
- package/dist/button-skeleton-d68066fe.js +0 -70
- package/dist/checkbox-1ca3f18c.js +0 -72
- package/dist/checkbox-1e621c4d.js +0 -72
- package/dist/checkbox-440be135.js +0 -72
- package/dist/checkbox-fa74151f.js +0 -72
- package/dist/class-map-ff7e8fde.js +0 -55
- package/dist/content-switcher-item-55b2adca.js +0 -84
- package/dist/content-switcher-item-6d9b81cf.js +0 -84
- package/dist/content-switcher-item-bee4ce7e.js +0 -84
- package/dist/content-switcher-item-f758c238.js +0 -84
- package/dist/copy-button-0404162f.js +0 -63
- package/dist/copy-button-1d23e1bd.js +0 -63
- package/dist/copy-button-cf261260.js +0 -63
- package/dist/copy-button-d35b2079.js +0 -63
- package/dist/dropdown-item-2ae1dc7f.js +0 -128
- package/dist/dropdown-item-64bf0a4f.js +0 -128
- package/dist/dropdown-item-7273edb2.js +0 -128
- package/dist/dropdown-item-cdd1a116.js +0 -128
- package/dist/floating-menu-26d746d4.js +0 -58
- package/dist/focus-4a59e420.js +0 -58
- package/dist/form-54a62766.js +0 -50
- package/dist/host-listener-0e75581e.js +0 -58
- package/dist/icon-button-32eafa9f.js +0 -71
- package/dist/icon-button-334ed010.js +0 -71
- package/dist/icon-button-6974bc9a.js +0 -71
- package/dist/icon-button-8f6cac1e.js +0 -71
- package/dist/if-defined-2063a6b2.js +0 -55
- package/dist/if-non-empty-3cac5484.js +0 -58
- package/dist/link-42b684df.js +0 -74
- package/dist/loading-638b469c.js +0 -50
- package/dist/loading-dadfb60c.js +0 -50
- package/dist/loading-icon-5f6382df.js +0 -82
- package/dist/objectSpread2-8208d45c.js +0 -50
- package/dist/popover-content-091b39e0.js +0 -61
- package/dist/popover-content-9e3bbe49.js +0 -61
- package/dist/popover-content-b376ac06.js +0 -61
- package/dist/popover-content-f183f37a.js +0 -61
- package/dist/radio-group-manager-f79f750e.js +0 -58
- package/dist/search-28dbefa9.js +0 -79
- package/dist/search-45d09092.js +0 -79
- package/dist/search-63dc2971.js +0 -79
- package/dist/search-f633f8c0.js +0 -79
- package/dist/select-item-355b65a2.js +0 -50
- package/dist/settings-a675998f.js +0 -80
- package/dist/skeleton-text-5cfb8d17.js +0 -58
- package/dist/skeleton-text-bb615714.js +0 -58
- package/dist/spread-6bfe3826.js +0 -58
- package/dist/text-input-08a8a922.js +0 -119
- package/dist/text-input-45ea7bf7.js +0 -119
- package/dist/toggletip-0aa429db.js +0 -90
- package/dist/toggletip-0c43069a.js +0 -90
- package/dist/toggletip-6a368ecf.js +0 -90
- package/dist/toggletip-f3e84381.js +0 -90
- package/dist/tooltip-content-2470a2af.js +0 -52
- package/dist/tooltip-content-267c3eb7.js +0 -52
- package/dist/tooltip-content-3096d302.js +0 -52
- package/dist/tooltip-content-a38f2e85.js +0 -52
|
@@ -354,10 +354,18 @@ declare class CDSTableHeaderCell extends CDSTableHeaderCell_base {
|
|
|
354
354
|
*
|
|
355
355
|
*/
|
|
356
356
|
private _handleSlotChange;
|
|
357
|
+
/**
|
|
358
|
+
* Handles `slotchange` event.
|
|
359
|
+
*/
|
|
360
|
+
protected _handleSlugSlotChange({ target }: Event): void;
|
|
357
361
|
/**
|
|
358
362
|
* @returns The next sort direction.
|
|
359
363
|
*/
|
|
360
364
|
private _getNextSort;
|
|
365
|
+
/**
|
|
366
|
+
* `true` if there is a slug.
|
|
367
|
+
*/
|
|
368
|
+
protected _hasSlug: boolean;
|
|
361
369
|
/**
|
|
362
370
|
* `true` if the table has expandable rows
|
|
363
371
|
*/
|
|
@@ -391,6 +399,10 @@ declare class CDSTableHeaderCell extends CDSTableHeaderCell_base {
|
|
|
391
399
|
connectedCallback(): void;
|
|
392
400
|
updated(changedProperties: any): void;
|
|
393
401
|
render(): import("lit-html").TemplateResult<1>;
|
|
402
|
+
/**
|
|
403
|
+
* A selector that will return the slug item.
|
|
404
|
+
*/
|
|
405
|
+
static get slugItem(): string;
|
|
394
406
|
/**
|
|
395
407
|
* The name of the custom event fired before a new sort direction is set upon a user gesture.
|
|
396
408
|
* Cancellation of this event stops the user-initiated change in sort direction.
|
|
@@ -16,6 +16,7 @@ let _ = t => t,
|
|
|
16
16
|
|
|
17
17
|
import { LitElement, html } from 'lit';
|
|
18
18
|
import { property } from 'lit/decorators.js';
|
|
19
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
19
20
|
import ArrowsVertical32 from "../../icons/arrows--vertical/32";
|
|
20
21
|
import ArrowDown32 from "../../icons/arrow--down/32";
|
|
21
22
|
import { prefix } from '../../globals/settings';
|
|
@@ -50,21 +51,23 @@ let CDSTableHeaderCell = _decorate([customElement(`${prefix}-table-header-cell`)
|
|
|
50
51
|
* Handles `click` event on the sort button.
|
|
51
52
|
*
|
|
52
53
|
*/
|
|
53
|
-
function _handleClickSortButton() {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
54
|
+
function _handleClickSortButton(event) {
|
|
55
|
+
if (!event.target.matches(this.constructor.slugItem)) {
|
|
56
|
+
const nextSortDirection = this._getNextSort();
|
|
57
|
+
const init = {
|
|
58
|
+
bubbles: true,
|
|
59
|
+
cancelable: true,
|
|
60
|
+
composed: true,
|
|
61
|
+
detail: {
|
|
62
|
+
oldSortDirection: this.sortDirection,
|
|
63
|
+
sortDirection: nextSortDirection
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
const constructor = this.constructor;
|
|
67
|
+
if (this.dispatchEvent(new CustomEvent(constructor.eventBeforeSort, init))) {
|
|
68
|
+
this.sortActive = true;
|
|
69
|
+
this.sortDirection = nextSortDirection;
|
|
62
70
|
}
|
|
63
|
-
};
|
|
64
|
-
const constructor = this.constructor;
|
|
65
|
-
if (this.dispatchEvent(new CustomEvent(constructor.eventBeforeSort, init))) {
|
|
66
|
-
this.sortActive = true;
|
|
67
|
-
this.sortDirection = nextSortDirection;
|
|
68
71
|
}
|
|
69
72
|
}
|
|
70
73
|
|
|
@@ -79,6 +82,23 @@ let CDSTableHeaderCell = _decorate([customElement(`${prefix}-table-header-cell`)
|
|
|
79
82
|
this.requestUpdate();
|
|
80
83
|
}
|
|
81
84
|
|
|
85
|
+
/**
|
|
86
|
+
* Handles `slotchange` event.
|
|
87
|
+
*/
|
|
88
|
+
}, {
|
|
89
|
+
kind: "method",
|
|
90
|
+
key: "_handleSlugSlotChange",
|
|
91
|
+
value: function _handleSlugSlotChange({
|
|
92
|
+
target
|
|
93
|
+
}) {
|
|
94
|
+
const hasContent = target.assignedNodes().filter(elem => elem.matches !== undefined ? elem.matches(this.constructor.slugItem) : false);
|
|
95
|
+
if (hasContent.length > 0) {
|
|
96
|
+
this._hasSlug = Boolean(hasContent);
|
|
97
|
+
hasContent[0].setAttribute('size', 'mini');
|
|
98
|
+
}
|
|
99
|
+
this.requestUpdate();
|
|
100
|
+
}
|
|
101
|
+
|
|
82
102
|
/**
|
|
83
103
|
* @returns The next sort direction.
|
|
84
104
|
*/
|
|
@@ -106,8 +126,14 @@ let CDSTableHeaderCell = _decorate([customElement(`${prefix}-table-header-cell`)
|
|
|
106
126
|
}
|
|
107
127
|
|
|
108
128
|
/**
|
|
109
|
-
* `true` if
|
|
129
|
+
* `true` if there is a slug.
|
|
110
130
|
*/
|
|
131
|
+
}, {
|
|
132
|
+
kind: "field",
|
|
133
|
+
key: "_hasSlug",
|
|
134
|
+
value() {
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
111
137
|
}, {
|
|
112
138
|
kind: "field",
|
|
113
139
|
decorators: [property({
|
|
@@ -172,6 +198,9 @@ let CDSTableHeaderCell = _decorate([customElement(`${prefix}-table-header-cell`)
|
|
|
172
198
|
kind: "method",
|
|
173
199
|
key: "connectedCallback",
|
|
174
200
|
value:
|
|
201
|
+
/**
|
|
202
|
+
* `true` if the table has expandable rows
|
|
203
|
+
*/
|
|
175
204
|
/**
|
|
176
205
|
* `true` if this table has selectable rows
|
|
177
206
|
*/
|
|
@@ -208,6 +237,11 @@ let CDSTableHeaderCell = _decorate([customElement(`${prefix}-table-header-cell`)
|
|
|
208
237
|
if (this.isSortable && !changedProperties.has('sortDirection')) {
|
|
209
238
|
this.sortDirection = TABLE_SORT_DIRECTION.NONE;
|
|
210
239
|
}
|
|
240
|
+
if (this._hasSlug) {
|
|
241
|
+
this.setAttribute('slug', '');
|
|
242
|
+
} else {
|
|
243
|
+
this.removeAttribute('slug');
|
|
244
|
+
}
|
|
211
245
|
}
|
|
212
246
|
}, {
|
|
213
247
|
kind: "method",
|
|
@@ -216,6 +250,10 @@ let CDSTableHeaderCell = _decorate([customElement(`${prefix}-table-header-cell`)
|
|
|
216
250
|
const {
|
|
217
251
|
sortDirection
|
|
218
252
|
} = this;
|
|
253
|
+
const labelClasses = classMap({
|
|
254
|
+
[`${prefix}--table-header-label`]: true,
|
|
255
|
+
[`${prefix}--table-header-label--slug`]: this._hasSlug
|
|
256
|
+
});
|
|
219
257
|
if (sortDirection) {
|
|
220
258
|
const sortIcon = sortDirection === TABLE_SORT_DIRECTION.NONE ? ArrowsVertical32({
|
|
221
259
|
part: 'sort-icon',
|
|
@@ -230,14 +268,33 @@ let CDSTableHeaderCell = _decorate([customElement(`${prefix}-table-header-cell`)
|
|
|
230
268
|
class="${0}--table-sort"
|
|
231
269
|
title="${0}"
|
|
232
270
|
@click=${0}>
|
|
233
|
-
<span
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
271
|
+
<span class="${0}--table-sort__flex">
|
|
272
|
+
<span part="label-text" class="${0}--table-header-label"
|
|
273
|
+
><slot @slotchange=${0}></slot
|
|
274
|
+
></span>
|
|
275
|
+
<slot
|
|
276
|
+
name="slug"
|
|
277
|
+
@slotchange="${0}"></slot>
|
|
278
|
+
${0}
|
|
279
|
+
</span>
|
|
237
280
|
</button>
|
|
238
|
-
`), prefix, this.textContent, this._handleClickSortButton, prefix, this._handleSlotChange, sortIcon);
|
|
281
|
+
`), prefix, this.textContent, this._handleClickSortButton, prefix, prefix, this._handleSlotChange, this._handleSlugSlotChange, sortIcon);
|
|
239
282
|
}
|
|
240
|
-
return html(_t2 || (_t2 = _
|
|
283
|
+
return html(_t2 || (_t2 = _`<span part="label-text" class="${0}">
|
|
284
|
+
<slot></slot
|
|
285
|
+
><slot name="slug" @slotchange="${0}"></slot
|
|
286
|
+
></span> `), labelClasses, this._handleSlugSlotChange);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* A selector that will return the slug item.
|
|
291
|
+
*/
|
|
292
|
+
}, {
|
|
293
|
+
kind: "get",
|
|
294
|
+
static: true,
|
|
295
|
+
key: "slugItem",
|
|
296
|
+
value: function slugItem() {
|
|
297
|
+
return `${prefix}-slug`;
|
|
241
298
|
}
|
|
242
299
|
|
|
243
300
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-header-cell.js","names":["LitElement","html","property","ArrowsVertical32","ArrowDown32","prefix","FocusMixin","TABLE_SORT_CYCLE","TABLE_SORT_CYCLES","TABLE_SORT_DIRECTION","styles","carbonElement","customElement","CDSTableHeaderCell","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","key","value","_handleClickSortButton","nextSortDirection","_getNextSort","init","bubbles","cancelable","composed","detail","oldSortDirection","sortDirection","dispatchEvent","CustomEvent","eventBeforeSort","sortActive","_handleSlotChange","requestUpdate","sortCycle","TRI_STATES_FROM_ASCENDING","TypeError","directions","index","indexOf","NONE","RangeError","length","decorators","type","Boolean","reflect","attribute","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","updated","changedProperties","isSortable","has","render","sortIcon","part","class","_t","_","textContent","_t2","static","_objectSpread","shadowRootOptions","delegatesFocus"],"sources":["components/data-table/table-header-cell.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport ArrowsVertical32 from '@carbon/icons/lib/arrows--vertical/32';\nimport ArrowDown32 from '@carbon/icons/lib/arrow--down/32';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport {\n TABLE_SORT_CYCLE,\n TABLE_SORT_CYCLES,\n TABLE_SORT_DIRECTION,\n} from './defs';\nimport styles from './data-table.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { TABLE_SORT_CYCLE, TABLE_SORT_CYCLES, TABLE_SORT_DIRECTION };\n\n/**\n * Data table header cell.\n *\n * @element cds-table-header-cell\n * @fires cds-table-header-cell-sort\n * The custom event fired before a new sort direction is set upon a user gesture.\n * Cancellation of this event stops the user-initiated change in sort direction.\n */\n@customElement(`${prefix}-table-header-cell`)\nclass CDSTableHeaderCell extends FocusMixin(LitElement) {\n /**\n * Handles `click` event on the sort button.\n *\n */\n private _handleClickSortButton() {\n const nextSortDirection = this._getNextSort();\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n oldSortDirection: this.sortDirection,\n sortDirection: nextSortDirection,\n },\n };\n const constructor = this.constructor as typeof CDSTableHeaderCell;\n if (\n this.dispatchEvent(new CustomEvent(constructor.eventBeforeSort, init))\n ) {\n this.sortActive = true;\n this.sortDirection = nextSortDirection;\n }\n }\n\n /**\n * Handles `slotchange` event.\n *\n */\n private _handleSlotChange() {\n this.requestUpdate();\n }\n\n /**\n * @returns The next sort direction.\n */\n private _getNextSort() {\n const {\n sortCycle = TABLE_SORT_CYCLE.TRI_STATES_FROM_ASCENDING,\n sortDirection,\n } = this;\n if (!sortDirection) {\n throw new TypeError(\n 'Table sort direction is not defined. ' +\n 'Likely that `_getNextSort()` is called with non-sorted table column, which should not happen in regular condition.'\n );\n }\n const directions = (this.constructor as typeof CDSTableHeaderCell)\n .TABLE_SORT_CYCLES[sortCycle];\n const index = directions.indexOf(sortDirection as TABLE_SORT_DIRECTION);\n if (index < 0) {\n if (sortDirection === TABLE_SORT_DIRECTION.NONE) {\n // If the current sort direction is `none` in bi-state sort cycle, returns the first one in the cycle\n return directions[0];\n }\n throw new RangeError(\n `The given sort state (${sortDirection}) is not found in the given table sort cycle: ${sortCycle}`\n );\n }\n return directions[(index + 1) % directions.length];\n }\n\n /**\n * `true` if the table has expandable rows\n */\n @property({ type: Boolean, reflect: true, attribute: 'is-sortable' })\n isExpandable = false;\n\n /**\n * `true` if this table has selectable rows\n */\n @property({ type: Boolean, reflect: true, attribute: 'is-sortable' })\n isSelectable = false;\n /**\n * `true` if this table header column should be sortable\n */\n @property({ type: Boolean, reflect: true, attribute: 'is-sortable' })\n isSortable = false;\n\n /**\n * `true` if this table header cell is of a primary sorting column.\n */\n @property({ type: Boolean, reflect: true, attribute: 'sort-active' })\n sortActive = false;\n\n /**\n * The table sort cycle in use.\n */\n @property({ reflect: true, attribute: 'sort-cycle' })\n sortCycle?: TABLE_SORT_CYCLE;\n\n /**\n * The table sort direction.\n * If present, this table header cell will have a sorting UI. Choose between `ascending` or `descending`.\n */\n @property({ reflect: true, attribute: 'sort-direction' })\n sortDirection?: TABLE_SORT_DIRECTION;\n\n /**\n * TODO: Uncomment when Carbon fully implements sticky header\n * Specify whether the header should be sticky.\n * Still experimental: may not work with every combination of table props\n */\n // @property({ type: Boolean, reflect: true, attribute: 'sticky-header' })\n // stickyHeader = false;\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'columnheader');\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n if (this.isSortable && !changedProperties.has('sortDirection')) {\n this.sortDirection = TABLE_SORT_DIRECTION.NONE;\n }\n }\n\n render() {\n const { sortDirection } = this;\n if (sortDirection) {\n const sortIcon =\n sortDirection === TABLE_SORT_DIRECTION.NONE\n ? ArrowsVertical32({\n part: 'sort-icon',\n class: `${prefix}--table-sort__icon-unsorted`,\n })\n : ArrowDown32({\n part: 'sort-icon',\n class: `${prefix}--table-sort__icon`,\n });\n return html`\n <button\n part=\"sort-button\"\n class=\"${prefix}--table-sort\"\n title=\"${this.textContent}\"\n @click=${this._handleClickSortButton}>\n <span part=\"label-text\" class=\"${prefix}--table-header-label\"\n ><slot @slotchange=${this._handleSlotChange}></slot\n ></span>\n ${sortIcon}\n </button>\n `;\n }\n return html` <slot></slot> `;\n }\n\n /**\n * The name of the custom event fired before a new sort direction is set upon a user gesture.\n * Cancellation of this event stops the user-initiated change in sort direction.\n */\n static get eventBeforeSort() {\n return `${prefix}-table-header-cell-sort`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n\n /**\n * Mapping of table sort cycles to table sort states.\n */\n static TABLE_SORT_CYCLES = TABLE_SORT_CYCLES;\n}\n\nexport default CDSTableHeaderCell;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table-header-cell.js","names":["LitElement","html","property","classMap","ArrowsVertical32","ArrowDown32","prefix","FocusMixin","TABLE_SORT_CYCLE","TABLE_SORT_CYCLES","TABLE_SORT_DIRECTION","styles","carbonElement","customElement","CDSTableHeaderCell","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","key","value","_handleClickSortButton","event","target","matches","slugItem","nextSortDirection","_getNextSort","init","bubbles","cancelable","composed","detail","oldSortDirection","sortDirection","dispatchEvent","CustomEvent","eventBeforeSort","sortActive","_handleSlotChange","requestUpdate","_handleSlugSlotChange","hasContent","assignedNodes","filter","elem","undefined","length","_hasSlug","Boolean","setAttribute","sortCycle","TRI_STATES_FROM_ASCENDING","TypeError","directions","index","indexOf","NONE","RangeError","decorators","type","reflect","attribute","connectedCallback","hasAttribute","_get","_getPrototypeOf","prototype","call","updated","changedProperties","isSortable","has","removeAttribute","render","labelClasses","sortIcon","part","class","_t","_","textContent","_t2","static","_objectSpread","shadowRootOptions","delegatesFocus"],"sources":["components/data-table/table-header-cell.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport ArrowsVertical32 from '@carbon/icons/lib/arrows--vertical/32';\nimport ArrowDown32 from '@carbon/icons/lib/arrow--down/32';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport {\n TABLE_SORT_CYCLE,\n TABLE_SORT_CYCLES,\n TABLE_SORT_DIRECTION,\n} from './defs';\nimport styles from './data-table.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { TABLE_SORT_CYCLE, TABLE_SORT_CYCLES, TABLE_SORT_DIRECTION };\n\n/**\n * Data table header cell.\n *\n * @element cds-table-header-cell\n * @fires cds-table-header-cell-sort\n * The custom event fired before a new sort direction is set upon a user gesture.\n * Cancellation of this event stops the user-initiated change in sort direction.\n */\n@customElement(`${prefix}-table-header-cell`)\nclass CDSTableHeaderCell extends FocusMixin(LitElement) {\n /**\n * Handles `click` event on the sort button.\n *\n */\n private _handleClickSortButton(event) {\n if (\n !(event.target as HTMLElement).matches(\n (this.constructor as typeof CDSTableHeaderCell).slugItem\n )\n ) {\n const nextSortDirection = this._getNextSort();\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n oldSortDirection: this.sortDirection,\n sortDirection: nextSortDirection,\n },\n };\n const constructor = this.constructor as typeof CDSTableHeaderCell;\n if (\n this.dispatchEvent(new CustomEvent(constructor.eventBeforeSort, init))\n ) {\n this.sortActive = true;\n this.sortDirection = nextSortDirection;\n }\n }\n }\n\n /**\n * Handles `slotchange` event.\n *\n */\n private _handleSlotChange() {\n this.requestUpdate();\n }\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleSlugSlotChange({ target }: Event) {\n const hasContent = (target as HTMLSlotElement)\n .assignedNodes()\n .filter((elem) =>\n (elem as HTMLElement).matches !== undefined\n ? (elem as HTMLElement).matches(\n (this.constructor as typeof CDSTableHeaderCell).slugItem\n )\n : false\n );\n if (hasContent.length > 0) {\n this._hasSlug = Boolean(hasContent);\n (hasContent[0] as HTMLElement).setAttribute('size', 'mini');\n }\n this.requestUpdate();\n }\n\n /**\n * @returns The next sort direction.\n */\n private _getNextSort() {\n const {\n sortCycle = TABLE_SORT_CYCLE.TRI_STATES_FROM_ASCENDING,\n sortDirection,\n } = this;\n if (!sortDirection) {\n throw new TypeError(\n 'Table sort direction is not defined. ' +\n 'Likely that `_getNextSort()` is called with non-sorted table column, which should not happen in regular condition.'\n );\n }\n const directions = (this.constructor as typeof CDSTableHeaderCell)\n .TABLE_SORT_CYCLES[sortCycle];\n const index = directions.indexOf(sortDirection as TABLE_SORT_DIRECTION);\n if (index < 0) {\n if (sortDirection === TABLE_SORT_DIRECTION.NONE) {\n // If the current sort direction is `none` in bi-state sort cycle, returns the first one in the cycle\n return directions[0];\n }\n throw new RangeError(\n `The given sort state (${sortDirection}) is not found in the given table sort cycle: ${sortCycle}`\n );\n }\n return directions[(index + 1) % directions.length];\n }\n\n /**\n * `true` if there is a slug.\n */\n protected _hasSlug = false;\n\n /**\n * `true` if the table has expandable rows\n */\n @property({ type: Boolean, reflect: true, attribute: 'is-sortable' })\n isExpandable = false;\n\n /**\n * `true` if this table has selectable rows\n */\n @property({ type: Boolean, reflect: true, attribute: 'is-sortable' })\n isSelectable = false;\n /**\n * `true` if this table header column should be sortable\n */\n @property({ type: Boolean, reflect: true, attribute: 'is-sortable' })\n isSortable = false;\n\n /**\n * `true` if this table header cell is of a primary sorting column.\n */\n @property({ type: Boolean, reflect: true, attribute: 'sort-active' })\n sortActive = false;\n\n /**\n * The table sort cycle in use.\n */\n @property({ reflect: true, attribute: 'sort-cycle' })\n sortCycle?: TABLE_SORT_CYCLE;\n\n /**\n * The table sort direction.\n * If present, this table header cell will have a sorting UI. Choose between `ascending` or `descending`.\n */\n @property({ reflect: true, attribute: 'sort-direction' })\n sortDirection?: TABLE_SORT_DIRECTION;\n\n /**\n * TODO: Uncomment when Carbon fully implements sticky header\n * Specify whether the header should be sticky.\n * Still experimental: may not work with every combination of table props\n */\n // @property({ type: Boolean, reflect: true, attribute: 'sticky-header' })\n // stickyHeader = false;\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'columnheader');\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n if (this.isSortable && !changedProperties.has('sortDirection')) {\n this.sortDirection = TABLE_SORT_DIRECTION.NONE;\n }\n if (this._hasSlug) {\n this.setAttribute('slug', '');\n } else {\n this.removeAttribute('slug');\n }\n }\n\n render() {\n const { sortDirection } = this;\n const labelClasses = classMap({\n [`${prefix}--table-header-label`]: true,\n [`${prefix}--table-header-label--slug`]: this._hasSlug,\n });\n if (sortDirection) {\n const sortIcon =\n sortDirection === TABLE_SORT_DIRECTION.NONE\n ? ArrowsVertical32({\n part: 'sort-icon',\n class: `${prefix}--table-sort__icon-unsorted`,\n })\n : ArrowDown32({\n part: 'sort-icon',\n class: `${prefix}--table-sort__icon`,\n });\n return html`\n <button\n part=\"sort-button\"\n class=\"${prefix}--table-sort\"\n title=\"${this.textContent}\"\n @click=${this._handleClickSortButton}>\n <span class=\"${prefix}--table-sort__flex\">\n <span part=\"label-text\" class=\"${prefix}--table-header-label\"\n ><slot @slotchange=${this._handleSlotChange}></slot\n ></span>\n <slot\n name=\"slug\"\n @slotchange=\"${this._handleSlugSlotChange}\"></slot>\n ${sortIcon}\n </span>\n </button>\n `;\n }\n return html`<span part=\"label-text\" class=\"${labelClasses}\">\n <slot></slot\n ><slot name=\"slug\" @slotchange=\"${this._handleSlugSlotChange}\"></slot\n ></span> `;\n }\n\n /**\n * A selector that will return the slug item.\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n /**\n * The name of the custom event fired before a new sort direction is set upon a user gesture.\n * Cancellation of this event stops the user-initiated change in sort direction.\n */\n static get eventBeforeSort() {\n return `${prefix}-table-header-cell-sort`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n\n /**\n * Mapping of table sort cycles to table sort states.\n */\n static TABLE_SORT_CYCLES = TABLE_SORT_CYCLES;\n}\n\nexport default CDSTableHeaderCell;\n"],"mappings":"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"}
|
|
@@ -679,6 +679,10 @@ declare const CDSTableRow_base: {
|
|
|
679
679
|
* Cancellation of this event stops the user-initiated change in selection.
|
|
680
680
|
*/
|
|
681
681
|
declare class CDSTableRow extends CDSTableRow_base {
|
|
682
|
+
/**
|
|
683
|
+
* `true` if there is a slug.
|
|
684
|
+
*/
|
|
685
|
+
protected _hasSlug: boolean;
|
|
682
686
|
/**
|
|
683
687
|
* Handles `click` event on the radio button.
|
|
684
688
|
*
|
|
@@ -708,6 +712,10 @@ declare class CDSTableRow extends CDSTableRow_base {
|
|
|
708
712
|
*/
|
|
709
713
|
_handleUserInitiatedToggleExpando(expanded?: boolean): void;
|
|
710
714
|
protected _renderExpandButton(): import("lit-html").TemplateResult<1>;
|
|
715
|
+
/**
|
|
716
|
+
* Handles `slotchange` event.
|
|
717
|
+
*/
|
|
718
|
+
protected _handleSlotChange({ target }: Event): void;
|
|
711
719
|
/**
|
|
712
720
|
* @returns The first set of table cells.
|
|
713
721
|
*/
|
|
@@ -819,6 +827,10 @@ declare class CDSTableRow extends CDSTableRow_base {
|
|
|
819
827
|
* A selector that will return the corresponding expanded row.
|
|
820
828
|
*/
|
|
821
829
|
static get selectorExpandedRow(): string;
|
|
830
|
+
/**
|
|
831
|
+
* A selector that will return the slug item.
|
|
832
|
+
*/
|
|
833
|
+
static get slugItem(): string;
|
|
822
834
|
/**
|
|
823
835
|
* The name of the custom event fired before the expanded state this row is being toggled upon a user gesture.
|
|
824
836
|
* Cancellation of this event stops the user-initiated action of toggling the expanded state.
|
|
@@ -45,10 +45,20 @@ let CDSTableRow = _decorate([customElement(`${prefix}-table-row`)], function (_i
|
|
|
45
45
|
return {
|
|
46
46
|
F: CDSTableRow,
|
|
47
47
|
d: [{
|
|
48
|
+
kind: "field",
|
|
49
|
+
key: "_hasSlug",
|
|
50
|
+
value() {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}, {
|
|
48
54
|
kind: "method",
|
|
49
55
|
decorators: [HostListener('eventRadioChange')],
|
|
50
56
|
key: "_handleClickSelectionRadio",
|
|
51
57
|
value:
|
|
58
|
+
/**
|
|
59
|
+
* `true` if there is a slug.
|
|
60
|
+
*/
|
|
61
|
+
|
|
52
62
|
/**
|
|
53
63
|
* Handles `click` event on the radio button.
|
|
54
64
|
*
|
|
@@ -187,17 +197,37 @@ let CDSTableRow = _decorate([customElement(`${prefix}-table-row`)], function (_i
|
|
|
187
197
|
} = this;
|
|
188
198
|
return html(_t || (_t = _`
|
|
189
199
|
<div class="${0}--table-expand">
|
|
190
|
-
<
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
200
|
+
<div>
|
|
201
|
+
<slot name="slug" @slotchange="${0}"></slot>
|
|
202
|
+
<button
|
|
203
|
+
class="${0}--table-expand__button"
|
|
204
|
+
@click="${0}">
|
|
205
|
+
${0}
|
|
206
|
+
</button>
|
|
207
|
+
</div>
|
|
195
208
|
</div>
|
|
196
|
-
`), prefix, prefix, handleClickExpando, ChevronRight16({
|
|
209
|
+
`), prefix, this._handleSlotChange, prefix, handleClickExpando, ChevronRight16({
|
|
197
210
|
class: `${prefix}--table-expand__svg`
|
|
198
211
|
}));
|
|
199
212
|
}
|
|
200
213
|
|
|
214
|
+
/**
|
|
215
|
+
* Handles `slotchange` event.
|
|
216
|
+
*/
|
|
217
|
+
}, {
|
|
218
|
+
kind: "method",
|
|
219
|
+
key: "_handleSlotChange",
|
|
220
|
+
value: function _handleSlotChange({
|
|
221
|
+
target
|
|
222
|
+
}) {
|
|
223
|
+
const hasContent = target.assignedNodes().filter(elem => elem.matches !== undefined ? elem.matches(this.constructor.slugItem) : false);
|
|
224
|
+
if (hasContent.length > 0) {
|
|
225
|
+
this._hasSlug = Boolean(hasContent);
|
|
226
|
+
hasContent[0].setAttribute('size', 'mini');
|
|
227
|
+
}
|
|
228
|
+
this.requestUpdate();
|
|
229
|
+
}
|
|
230
|
+
|
|
201
231
|
/**
|
|
202
232
|
* @returns The first set of table cells.
|
|
203
233
|
*/
|
|
@@ -216,17 +246,20 @@ let CDSTableRow = _decorate([customElement(`${prefix}-table-row`)], function (_i
|
|
|
216
246
|
} = this;
|
|
217
247
|
return !selectionName ? undefined : html(_t2 || (_t2 = _`
|
|
218
248
|
<div class="${0}--table-column-checkbox">
|
|
219
|
-
|
|
249
|
+
<div>
|
|
250
|
+
<slot name="slug" @slotchange="${0}"></slot>
|
|
251
|
+
${0}
|
|
252
|
+
</div>
|
|
220
253
|
</div>
|
|
221
|
-
`), prefix, radio ? html(_t3 || (_t3 = _`<cds-radio-button data-table></cds-radio-button>`)) : html(_t4 || (_t4 = _`<cds-checkbox
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
254
|
+
`), prefix, this._handleSlotChange, radio ? html(_t3 || (_t3 = _`<cds-radio-button data-table></cds-radio-button>`)) : html(_t4 || (_t4 = _`<cds-checkbox
|
|
255
|
+
hide-label
|
|
256
|
+
?hide-checkbox="${0}"
|
|
257
|
+
label-text="${0}"
|
|
258
|
+
name=${0}
|
|
259
|
+
data-table
|
|
260
|
+
?disabled=${0}
|
|
261
|
+
?checked=${0}
|
|
262
|
+
value=${0}></cds-checkbox> `), hideCheckbox, selectionLabel, selectionName, disabled, selected, selectionValue));
|
|
230
263
|
}
|
|
231
264
|
|
|
232
265
|
/**
|
|
@@ -483,6 +516,11 @@ let CDSTableRow = _decorate([customElement(`${prefix}-table-row`)], function (_i
|
|
|
483
516
|
nextElementSibling.highlighted = highlighted;
|
|
484
517
|
}
|
|
485
518
|
}
|
|
519
|
+
if (this._hasSlug) {
|
|
520
|
+
this.setAttribute('slug', '');
|
|
521
|
+
} else {
|
|
522
|
+
this.removeAttribute('slug');
|
|
523
|
+
}
|
|
486
524
|
}
|
|
487
525
|
}, {
|
|
488
526
|
kind: "method",
|
|
@@ -566,6 +604,17 @@ let CDSTableRow = _decorate([customElement(`${prefix}-table-row`)], function (_i
|
|
|
566
604
|
return `${prefix}-table-expanded-row`;
|
|
567
605
|
}
|
|
568
606
|
|
|
607
|
+
/**
|
|
608
|
+
* A selector that will return the slug item.
|
|
609
|
+
*/
|
|
610
|
+
}, {
|
|
611
|
+
kind: "get",
|
|
612
|
+
static: true,
|
|
613
|
+
key: "slugItem",
|
|
614
|
+
value: function slugItem() {
|
|
615
|
+
return `${prefix}-slug`;
|
|
616
|
+
}
|
|
617
|
+
|
|
569
618
|
/**
|
|
570
619
|
* The name of the custom event fired before the expanded state this row is being toggled upon a user gesture.
|
|
571
620
|
* Cancellation of this event stops the user-initiated action of toggling the expanded state.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-row.js","names":["LitElement","html","property","prefix","ChevronRight16","carbonElement","customElement","FocusMixin","styles","HostListener","HostListenerMixin","CDSTableRow","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","decorators","key","value","_handleClickSelectionRadio","event","detail","selected","checked","init","bubbles","cancelable","composed","dispatchEvent","CustomEvent","eventBeforeChangeSelection","_this$nextElementSibl","selectorExpandedRow","nextElementSibling","matches","_handleClickSelectionCheckbox","_this$nextElementSibl2","_handleClickExpando","_handleUserInitiatedToggleExpando","_handleMouseOverOut","selectorTableCellOverflowMenu","highlighted","type","overflowMenuOnHover","overflowMenu","querySelector","parentCell","parentElement","expanded","eventBeforeExpandoToggle","eventExpandoToggle","_renderExpandButton","handleClickExpando","_t","_","class","_renderFirstCells","disabled","hideCheckbox","radio","selectionLabel","selectionName","selectionValue","undefined","_t2","_t3","_t4","Boolean","reflect","attribute","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","updated","changedProperties","has","render","_this$closest","closest","selectorTable","_t5","expandable","static","eventRadioChange","eventCheckboxChange"],"sources":["components/data-table/table-row.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport ChevronRight16 from '@carbon/icons/lib/chevron--right/16';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './data-table.scss';\n\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport CDSTableExpandedRow from './table-expanded-row';\nimport CDSTableCell from './table-cell';\n\n/**\n * Data table row.\n *\n * @element cds-table-row\n * @csspart selection-container The container of the checkbox.\n * @csspart selection The checkbox.\n * @fires cds-table-row-change-selection\n * The custom event fired before this row is selected/unselected upon a user gesture.\n * Cancellation of this event stops the user-initiated change in selection.\n */\n@customElement(`${prefix}-table-row`)\nclass CDSTableRow extends HostListenerMixin(FocusMixin(LitElement)) {\n /**\n * Handles `click` event on the radio button.\n *\n * @param event The event.\n */\n @HostListener('eventRadioChange')\n // @ts-ignore\n private _handleClickSelectionRadio(event: CustomEvent) {\n const { detail } = event;\n const selected = detail.checked;\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n selected,\n },\n };\n const constructor = this.constructor as typeof CDSTableRow;\n if (\n this.dispatchEvent(\n new CustomEvent(constructor.eventBeforeChangeSelection, init)\n )\n ) {\n this.selected = selected;\n const { selectorExpandedRow } = this.constructor as typeof CDSTableRow;\n\n if (this.nextElementSibling?.matches(selectorExpandedRow)) {\n (this.nextElementSibling as CDSTableExpandedRow).selected = selected;\n }\n }\n }\n\n /**\n * Handles `click` event on the check box.\n *\n * @param event The event.\n */\n @HostListener('eventCheckboxChange')\n // @ts-ignore\n private _handleClickSelectionCheckbox(event: CustomEvent) {\n const { detail } = event;\n const selected = detail.checked;\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n selected,\n },\n };\n const constructor = this.constructor as typeof CDSTableRow;\n if (\n this.dispatchEvent(\n new CustomEvent(constructor.eventBeforeChangeSelection, init)\n )\n ) {\n this.selected = selected;\n const { selectorExpandedRow } = this.constructor as typeof CDSTableRow;\n\n if (this.nextElementSibling?.matches(selectorExpandedRow)) {\n (this.nextElementSibling as CDSTableExpandedRow).selected = selected;\n }\n }\n }\n\n /**\n * Handles `click` event on the expando button.\n */\n private _handleClickExpando() {\n this._handleUserInitiatedToggleExpando();\n }\n\n /**\n * Handles `mouseover`/`mouseout` event handler on this element.\n *\n * @param event The event.\n */\n @HostListener('mouseover')\n @HostListener('mouseout')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleMouseOverOut(event: MouseEvent) {\n const { selectorExpandedRow, selectorTableCellOverflowMenu } = this\n .constructor as typeof CDSTableRow;\n const { nextElementSibling } = this;\n if (nextElementSibling?.matches(selectorExpandedRow)) {\n (nextElementSibling as CDSTableExpandedRow).highlighted =\n event.type === 'mouseover';\n }\n if (this.overflowMenuOnHover) {\n const overflowMenu = this.querySelector(selectorTableCellOverflowMenu);\n const parentCell = overflowMenu?.parentElement;\n\n if (event.type === 'mouseout') {\n (parentCell as CDSTableCell).overflowMenuOnHover = true;\n } else {\n (parentCell as CDSTableCell).overflowMenuOnHover = false;\n }\n }\n }\n\n /**\n * Handles user-initiated toggle request of the expando button in this table row.\n *\n * @param expanded The new expanded state.\n */\n _handleUserInitiatedToggleExpando(expanded = !this.expanded) {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n expanded,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSTableRow).eventBeforeExpandoToggle,\n init\n )\n )\n ) {\n this.expanded = expanded;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSTableRow).eventExpandoToggle,\n init\n )\n );\n }\n }\n\n protected _renderExpandButton() {\n const { _handleClickExpando: handleClickExpando } = this;\n return html`\n <div class=\"${prefix}--table-expand\">\n <button\n class=\"${prefix}--table-expand__button\"\n @click=\"${handleClickExpando}\">\n ${ChevronRight16({ class: `${prefix}--table-expand__svg` })}\n </button>\n </div>\n `;\n }\n\n /**\n * @returns The first set of table cells.\n */\n protected _renderFirstCells() {\n const {\n disabled,\n hideCheckbox,\n radio,\n selected,\n selectionLabel,\n selectionName,\n selectionValue,\n } = this;\n return !selectionName\n ? undefined\n : html`\n <div class=\"${prefix}--table-column-checkbox\">\n ${radio\n ? html`<cds-radio-button data-table></cds-radio-button>`\n : html`<cds-checkbox\n hide-label\n ?hide-checkbox=\"${hideCheckbox}\"\n label-text=\"${selectionLabel}\"\n name=${selectionName}\n data-table\n ?disabled=${disabled}\n ?checked=${selected}\n value=${selectionValue}></cds-checkbox> `}\n </div>\n `;\n }\n\n /**\n * `true` if this table should support batch expansion\n */\n @property({ type: Boolean, reflect: true, attribute: 'batch-expansion' })\n batchExpansion = false;\n\n /**\n * `true` if this table row should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` if this table row is placed at an even position in parent `<cds-table-body>`.\n * `<cds-table-body>` sets this property, _only_ in zebra stripe mode.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n even = false;\n\n /**\n * `true` if this table row can be expanded to show content underneath\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n expandable = false;\n\n /**\n * `true` when the table row expanded is showing\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n expanded = false;\n\n /**\n * `true` if this table row should be filtered out.\n */\n @property({ type: Boolean, reflect: true })\n filtered = false;\n\n /**\n * Specify whether the checkbox should be present in the DOM,\n * but invisible and uninteractable.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-checkbox' })\n hideCheckbox = false;\n\n /**\n * `true` if the table row should be highlighted.\n */\n @property({ type: Boolean, reflect: true })\n highlighted = false;\n\n /**\n * `true` if this table row is placed at an odd position in parent `<cds-table-body>`.\n * `<cds-table-body>` sets this property, _only_ in zebra stripe mode.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n odd = false;\n\n /**\n * Specify whether the overflow menu (if it exists) should be shown always, or only on hover\n */\n @property({\n type: Boolean,\n reflect: true,\n attribute: 'overflow-menu-on-hover',\n })\n overflowMenuOnHover = false;\n\n /**\n * Specify whether the control should be a radio button or inline checkbox\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n radio = false;\n\n /**\n * `true` if this table row should be selected.\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * The `aria-label` attribute for the `<label>` for selection.\n */\n @property({ attribute: 'selection-label' })\n selectionLabel = '';\n\n /**\n * The `name` attribute for the `<input>` for selection.\n * If present, this table row will be a selectable one.\n */\n @property({ attribute: 'selection-name' })\n selectionName = '';\n\n /**\n * The `value` attribute for the `<input>` for selection.\n */\n @property({ attribute: 'selection-value' })\n selectionValue = '';\n\n /**\n * TODO: Uncomment when Carbon fully implements sticky header\n * Specify whether the header should be sticky.\n * Still experimental: may not work with every combination of table props\n */\n // @property({ type: Boolean, reflect: true, attribute: 'sticky-header' })\n // stickyHeader = false;\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'row');\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n if (changedProperties.has('expanded')) {\n const { selectorExpandedRow } = this.constructor as typeof CDSTableRow;\n const { expanded, nextElementSibling } = this;\n if (nextElementSibling?.matches(selectorExpandedRow)) {\n (nextElementSibling as CDSTableExpandedRow).expanded = expanded;\n }\n }\n\n if (changedProperties.has('highlighted')) {\n const { selectorExpandedRow } = this.constructor as typeof CDSTableRow;\n const { highlighted, nextElementSibling } = this;\n if (nextElementSibling?.matches(selectorExpandedRow)) {\n (nextElementSibling as CDSTableExpandedRow).highlighted = highlighted;\n }\n }\n }\n\n render() {\n if (this.selectionName) {\n this.closest(\n (this.constructor as typeof CDSTableRow).selectorTable\n )?.setAttribute('is-selectable', '');\n }\n return html`\n ${this.expandable ? this._renderExpandButton() : ''}\n ${this._renderFirstCells()}\n <slot></slot>\n `;\n }\n\n /**\n * The name of the custom event fired after this radio button changes its checked state.\n */\n static get eventRadioChange() {\n return `${prefix}-radio-button-changed`;\n }\n\n /**\n * The name of the custom event fired after this radio button changes its checked state.\n */\n static get eventCheckboxChange() {\n return `${prefix}-checkbox-changed`;\n }\n\n /**\n * The name of the custom event fired before this row is selected/unselected upon a user gesture.\n * Cancellation of this event stops the user-initiated change in selection.\n */\n static get eventBeforeChangeSelection() {\n return `${prefix}-table-row-change-selection`;\n }\n\n /**\n * A selector that will return the parent table\n */\n static get selectorTable() {\n return `${prefix}-table`;\n }\n\n /**\n * The CSS selector to find the overflow menu on the table cell\n */\n static get selectorTableCellOverflowMenu() {\n return `${prefix}-table-cell ${prefix}-overflow-menu`;\n }\n\n /**\n * A selector that will return the corresponding expanded row.\n */\n static get selectorExpandedRow() {\n return `${prefix}-table-expanded-row`;\n }\n\n /**\n * The name of the custom event fired before the expanded state this row is being toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated action of toggling the expanded state.\n */\n static get eventBeforeExpandoToggle() {\n return `${prefix}-table-row-expando-beingtoggled`;\n }\n\n /**\n * The name of the custom event fired after the expanded state this row is toggled upon a user gesture.\n */\n static get eventExpandoToggle() {\n return `${prefix}-table-row-expando-toggled`;\n }\n\n static styles = styles;\n}\n\nexport default CDSTableRow;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table-row.js","names":["LitElement","html","property","prefix","ChevronRight16","carbonElement","customElement","FocusMixin","styles","HostListener","HostListenerMixin","CDSTableRow","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","decorators","_handleClickSelectionRadio","event","detail","selected","checked","init","bubbles","cancelable","composed","dispatchEvent","CustomEvent","eventBeforeChangeSelection","_this$nextElementSibl","selectorExpandedRow","nextElementSibling","matches","_handleClickSelectionCheckbox","_this$nextElementSibl2","_handleClickExpando","_handleUserInitiatedToggleExpando","_handleMouseOverOut","selectorTableCellOverflowMenu","highlighted","type","overflowMenuOnHover","overflowMenu","querySelector","parentCell","parentElement","expanded","eventBeforeExpandoToggle","eventExpandoToggle","_renderExpandButton","handleClickExpando","_t","_","_handleSlotChange","class","target","hasContent","assignedNodes","filter","elem","undefined","slugItem","length","_hasSlug","Boolean","setAttribute","requestUpdate","_renderFirstCells","disabled","hideCheckbox","radio","selectionLabel","selectionName","selectionValue","_t2","_t3","_t4","reflect","attribute","connectedCallback","hasAttribute","_get","_getPrototypeOf","prototype","call","updated","changedProperties","has","removeAttribute","render","_this$closest","closest","selectorTable","_t5","expandable","static","eventRadioChange","eventCheckboxChange"],"sources":["components/data-table/table-row.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport ChevronRight16 from '@carbon/icons/lib/chevron--right/16';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './data-table.scss';\n\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport CDSTableExpandedRow from './table-expanded-row';\nimport CDSTableCell from './table-cell';\n\n/**\n * Data table row.\n *\n * @element cds-table-row\n * @csspart selection-container The container of the checkbox.\n * @csspart selection The checkbox.\n * @fires cds-table-row-change-selection\n * The custom event fired before this row is selected/unselected upon a user gesture.\n * Cancellation of this event stops the user-initiated change in selection.\n */\n@customElement(`${prefix}-table-row`)\nclass CDSTableRow extends HostListenerMixin(FocusMixin(LitElement)) {\n /**\n * `true` if there is a slug.\n */\n protected _hasSlug = false;\n\n /**\n * Handles `click` event on the radio button.\n *\n * @param event The event.\n */\n @HostListener('eventRadioChange')\n // @ts-ignore\n private _handleClickSelectionRadio(event: CustomEvent) {\n const { detail } = event;\n const selected = detail.checked;\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n selected,\n },\n };\n const constructor = this.constructor as typeof CDSTableRow;\n if (\n this.dispatchEvent(\n new CustomEvent(constructor.eventBeforeChangeSelection, init)\n )\n ) {\n this.selected = selected;\n const { selectorExpandedRow } = this.constructor as typeof CDSTableRow;\n\n if (this.nextElementSibling?.matches(selectorExpandedRow)) {\n (this.nextElementSibling as CDSTableExpandedRow).selected = selected;\n }\n }\n }\n\n /**\n * Handles `click` event on the check box.\n *\n * @param event The event.\n */\n @HostListener('eventCheckboxChange')\n // @ts-ignore\n private _handleClickSelectionCheckbox(event: CustomEvent) {\n const { detail } = event;\n const selected = detail.checked;\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n selected,\n },\n };\n const constructor = this.constructor as typeof CDSTableRow;\n if (\n this.dispatchEvent(\n new CustomEvent(constructor.eventBeforeChangeSelection, init)\n )\n ) {\n this.selected = selected;\n const { selectorExpandedRow } = this.constructor as typeof CDSTableRow;\n\n if (this.nextElementSibling?.matches(selectorExpandedRow)) {\n (this.nextElementSibling as CDSTableExpandedRow).selected = selected;\n }\n }\n }\n\n /**\n * Handles `click` event on the expando button.\n */\n private _handleClickExpando() {\n this._handleUserInitiatedToggleExpando();\n }\n\n /**\n * Handles `mouseover`/`mouseout` event handler on this element.\n *\n * @param event The event.\n */\n @HostListener('mouseover')\n @HostListener('mouseout')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleMouseOverOut(event: MouseEvent) {\n const { selectorExpandedRow, selectorTableCellOverflowMenu } = this\n .constructor as typeof CDSTableRow;\n const { nextElementSibling } = this;\n if (nextElementSibling?.matches(selectorExpandedRow)) {\n (nextElementSibling as CDSTableExpandedRow).highlighted =\n event.type === 'mouseover';\n }\n if (this.overflowMenuOnHover) {\n const overflowMenu = this.querySelector(selectorTableCellOverflowMenu);\n const parentCell = overflowMenu?.parentElement;\n\n if (event.type === 'mouseout') {\n (parentCell as CDSTableCell).overflowMenuOnHover = true;\n } else {\n (parentCell as CDSTableCell).overflowMenuOnHover = false;\n }\n }\n }\n\n /**\n * Handles user-initiated toggle request of the expando button in this table row.\n *\n * @param expanded The new expanded state.\n */\n _handleUserInitiatedToggleExpando(expanded = !this.expanded) {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n expanded,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSTableRow).eventBeforeExpandoToggle,\n init\n )\n )\n ) {\n this.expanded = expanded;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSTableRow).eventExpandoToggle,\n init\n )\n );\n }\n }\n\n protected _renderExpandButton() {\n const { _handleClickExpando: handleClickExpando } = this;\n return html`\n <div class=\"${prefix}--table-expand\">\n <div>\n <slot name=\"slug\" @slotchange=\"${this._handleSlotChange}\"></slot>\n <button\n class=\"${prefix}--table-expand__button\"\n @click=\"${handleClickExpando}\">\n ${ChevronRight16({ class: `${prefix}--table-expand__svg` })}\n </button>\n </div>\n </div>\n `;\n }\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleSlotChange({ target }: Event) {\n const hasContent = (target as HTMLSlotElement)\n .assignedNodes()\n .filter((elem) =>\n (elem as HTMLElement).matches !== undefined\n ? (elem as HTMLElement).matches(\n (this.constructor as typeof CDSTableRow).slugItem\n )\n : false\n );\n if (hasContent.length > 0) {\n this._hasSlug = Boolean(hasContent);\n (hasContent[0] as HTMLElement).setAttribute('size', 'mini');\n }\n this.requestUpdate();\n }\n\n /**\n * @returns The first set of table cells.\n */\n protected _renderFirstCells() {\n const {\n disabled,\n hideCheckbox,\n radio,\n selected,\n selectionLabel,\n selectionName,\n selectionValue,\n } = this;\n return !selectionName\n ? undefined\n : html`\n <div class=\"${prefix}--table-column-checkbox\">\n <div>\n <slot name=\"slug\" @slotchange=\"${this._handleSlotChange}\"></slot>\n ${radio\n ? html`<cds-radio-button data-table></cds-radio-button>`\n : html`<cds-checkbox\n hide-label\n ?hide-checkbox=\"${hideCheckbox}\"\n label-text=\"${selectionLabel}\"\n name=${selectionName}\n data-table\n ?disabled=${disabled}\n ?checked=${selected}\n value=${selectionValue}></cds-checkbox> `}\n </div>\n </div>\n `;\n }\n\n /**\n * `true` if this table should support batch expansion\n */\n @property({ type: Boolean, reflect: true, attribute: 'batch-expansion' })\n batchExpansion = false;\n\n /**\n * `true` if this table row should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` if this table row is placed at an even position in parent `<cds-table-body>`.\n * `<cds-table-body>` sets this property, _only_ in zebra stripe mode.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n even = false;\n\n /**\n * `true` if this table row can be expanded to show content underneath\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n expandable = false;\n\n /**\n * `true` when the table row expanded is showing\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n expanded = false;\n\n /**\n * `true` if this table row should be filtered out.\n */\n @property({ type: Boolean, reflect: true })\n filtered = false;\n\n /**\n * Specify whether the checkbox should be present in the DOM,\n * but invisible and uninteractable.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-checkbox' })\n hideCheckbox = false;\n\n /**\n * `true` if the table row should be highlighted.\n */\n @property({ type: Boolean, reflect: true })\n highlighted = false;\n\n /**\n * `true` if this table row is placed at an odd position in parent `<cds-table-body>`.\n * `<cds-table-body>` sets this property, _only_ in zebra stripe mode.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n odd = false;\n\n /**\n * Specify whether the overflow menu (if it exists) should be shown always, or only on hover\n */\n @property({\n type: Boolean,\n reflect: true,\n attribute: 'overflow-menu-on-hover',\n })\n overflowMenuOnHover = false;\n\n /**\n * Specify whether the control should be a radio button or inline checkbox\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n radio = false;\n\n /**\n * `true` if this table row should be selected.\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * The `aria-label` attribute for the `<label>` for selection.\n */\n @property({ attribute: 'selection-label' })\n selectionLabel = '';\n\n /**\n * The `name` attribute for the `<input>` for selection.\n * If present, this table row will be a selectable one.\n */\n @property({ attribute: 'selection-name' })\n selectionName = '';\n\n /**\n * The `value` attribute for the `<input>` for selection.\n */\n @property({ attribute: 'selection-value' })\n selectionValue = '';\n\n /**\n * TODO: Uncomment when Carbon fully implements sticky header\n * Specify whether the header should be sticky.\n * Still experimental: may not work with every combination of table props\n */\n // @property({ type: Boolean, reflect: true, attribute: 'sticky-header' })\n // stickyHeader = false;\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'row');\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n if (changedProperties.has('expanded')) {\n const { selectorExpandedRow } = this.constructor as typeof CDSTableRow;\n const { expanded, nextElementSibling } = this;\n if (nextElementSibling?.matches(selectorExpandedRow)) {\n (nextElementSibling as CDSTableExpandedRow).expanded = expanded;\n }\n }\n\n if (changedProperties.has('highlighted')) {\n const { selectorExpandedRow } = this.constructor as typeof CDSTableRow;\n const { highlighted, nextElementSibling } = this;\n if (nextElementSibling?.matches(selectorExpandedRow)) {\n (nextElementSibling as CDSTableExpandedRow).highlighted = highlighted;\n }\n }\n\n if (this._hasSlug) {\n this.setAttribute('slug', '');\n } else {\n this.removeAttribute('slug');\n }\n }\n\n render() {\n if (this.selectionName) {\n this.closest(\n (this.constructor as typeof CDSTableRow).selectorTable\n )?.setAttribute('is-selectable', '');\n }\n return html`\n ${this.expandable ? this._renderExpandButton() : ''}\n ${this._renderFirstCells()}\n <slot></slot>\n `;\n }\n\n /**\n * The name of the custom event fired after this radio button changes its checked state.\n */\n static get eventRadioChange() {\n return `${prefix}-radio-button-changed`;\n }\n\n /**\n * The name of the custom event fired after this radio button changes its checked state.\n */\n static get eventCheckboxChange() {\n return `${prefix}-checkbox-changed`;\n }\n\n /**\n * The name of the custom event fired before this row is selected/unselected upon a user gesture.\n * Cancellation of this event stops the user-initiated change in selection.\n */\n static get eventBeforeChangeSelection() {\n return `${prefix}-table-row-change-selection`;\n }\n\n /**\n * A selector that will return the parent table\n */\n static get selectorTable() {\n return `${prefix}-table`;\n }\n\n /**\n * The CSS selector to find the overflow menu on the table cell\n */\n static get selectorTableCellOverflowMenu() {\n return `${prefix}-table-cell ${prefix}-overflow-menu`;\n }\n\n /**\n * A selector that will return the corresponding expanded row.\n */\n static get selectorExpandedRow() {\n return `${prefix}-table-expanded-row`;\n }\n\n /**\n * A selector that will return the slug item.\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n /**\n * The name of the custom event fired before the expanded state this row is being toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated action of toggling the expanded state.\n */\n static get eventBeforeExpandoToggle() {\n return `${prefix}-table-row-expando-beingtoggled`;\n }\n\n /**\n * The name of the custom event fired after the expanded state this row is toggled upon a user gesture.\n */\n static get eventExpandoToggle() {\n return `${prefix}-table-row-expando-toggled`;\n }\n\n static styles = styles;\n}\n\nexport default CDSTableRow;\n"],"mappings":"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"}
|
|
@@ -465,6 +465,10 @@ declare class CDSTable extends CDSTable_base {
|
|
|
465
465
|
*/
|
|
466
466
|
useZebraStyles: boolean;
|
|
467
467
|
withHeader: any;
|
|
468
|
+
/**
|
|
469
|
+
* true if slugs are added in the rows
|
|
470
|
+
*/
|
|
471
|
+
withRowSlugs: boolean;
|
|
468
472
|
private _handleSlotChange;
|
|
469
473
|
private _handleFilterRows;
|
|
470
474
|
/**
|
|
@@ -307,6 +307,16 @@ let CDSTable = _decorate([customElement(`${prefix}-table`)], function (_initiali
|
|
|
307
307
|
})],
|
|
308
308
|
key: "withHeader",
|
|
309
309
|
value: void 0
|
|
310
|
+
}, {
|
|
311
|
+
kind: "field",
|
|
312
|
+
decorators: [property({
|
|
313
|
+
type: Boolean,
|
|
314
|
+
attribute: 'with-row-slugs'
|
|
315
|
+
})],
|
|
316
|
+
key: "withRowSlugs",
|
|
317
|
+
value() {
|
|
318
|
+
return false;
|
|
319
|
+
}
|
|
310
320
|
}, {
|
|
311
321
|
kind: "method",
|
|
312
322
|
key: "_handleSlotChange",
|
|
@@ -353,6 +363,9 @@ let CDSTable = _decorate([customElement(`${prefix}-table`)], function (_initiali
|
|
|
353
363
|
/**
|
|
354
364
|
* true to add useZebraStyles striping.
|
|
355
365
|
*/
|
|
366
|
+
/**
|
|
367
|
+
* true if slugs are added in the rows
|
|
368
|
+
*/
|
|
356
369
|
function _handleSlotChange({
|
|
357
370
|
target
|
|
358
371
|
}) {
|
|
@@ -797,6 +810,17 @@ let CDSTable = _decorate([customElement(`${prefix}-table`)], function (_initiali
|
|
|
797
810
|
const tableBody = this.querySelector(this.constructor.selectorTableBody);
|
|
798
811
|
tableBody.useZebraStyles = this.useZebraStyles;
|
|
799
812
|
}
|
|
813
|
+
if (this.withRowSlugs) {
|
|
814
|
+
this._tableHeaderRow.setAttribute('rows-with-slug', '');
|
|
815
|
+
this._tableRows.forEach(row => {
|
|
816
|
+
row.setAttribute('rows-with-slug', '');
|
|
817
|
+
});
|
|
818
|
+
} else {
|
|
819
|
+
this._tableHeaderRow.removeAttribute('rows-with-slug');
|
|
820
|
+
this._tableRows.forEach(row => {
|
|
821
|
+
row.removeAttribute('rows-with-slug');
|
|
822
|
+
});
|
|
823
|
+
}
|
|
800
824
|
}
|
|
801
825
|
|
|
802
826
|
/* eslint-disable no-constant-condition */
|