@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.
Files changed (276) hide show
  1. package/custom-elements.json +253 -0
  2. package/dist/16-59ea1634.js +50 -0
  3. package/dist/{form-f6607c5c.js → 16-b74b58a2.js} +6 -6
  4. package/dist/breadcrumb.min.js +1 -1
  5. package/dist/breadcrumb.rtl.min.js +1 -1
  6. package/dist/button-499b2921.js +114 -0
  7. package/dist/button-fcaef03a.js +114 -0
  8. package/dist/{button-set-49c4279d.js → button-set-0af6a6b1.js} +6 -6
  9. package/dist/{button-set-5ee221b2.js → button-set-2756dc35.js} +6 -6
  10. package/dist/{button-skeleton-f9f83011.js → button-skeleton-b0f60298.js} +6 -6
  11. package/dist/{button-skeleton-b2facaf2.js → button-skeleton-e9a7f2ed.js} +7 -7
  12. package/dist/button.min.js +1 -1
  13. package/dist/button.rtl.min.js +1 -1
  14. package/dist/checkbox-303e6505.js +86 -0
  15. package/dist/checkbox-d6a26a92.js +86 -0
  16. package/dist/checkbox.min.js +29 -2
  17. package/dist/checkbox.rtl.min.js +29 -2
  18. package/dist/code-snippet.min.js +2 -2
  19. package/dist/code-snippet.rtl.min.js +2 -2
  20. package/dist/combo-box.min.js +3 -3
  21. package/dist/combo-box.rtl.min.js +3 -3
  22. package/dist/content-switcher-item-5777a5d1.js +84 -0
  23. package/dist/content-switcher-item-ef4cad2b.js +84 -0
  24. package/dist/content-switcher.min.js +1 -1
  25. package/dist/content-switcher.rtl.min.js +1 -1
  26. package/dist/copy-button-161c5421.js +63 -0
  27. package/dist/copy-button-e1f89efb.js +63 -0
  28. package/dist/copy-button.min.js +1 -1
  29. package/dist/copy-button.rtl.min.js +1 -1
  30. package/dist/data-table.min.js +45 -31
  31. package/dist/data-table.rtl.min.js +45 -31
  32. package/dist/date-picker.min.js +8 -8
  33. package/dist/date-picker.rtl.min.js +8 -8
  34. package/dist/dropdown-item-007c3332.js +128 -0
  35. package/dist/dropdown-item-1f7abedf.js +128 -0
  36. package/dist/dropdown.min.js +2 -2
  37. package/dist/dropdown.rtl.min.js +2 -2
  38. package/dist/file-uploader.min.js +1 -1
  39. package/dist/file-uploader.rtl.min.js +1 -1
  40. package/dist/icon-button-74f99649.js +71 -0
  41. package/dist/icon-button-88446de4.js +71 -0
  42. package/dist/icon-button.min.js +1 -1
  43. package/dist/icon-button.rtl.min.js +1 -1
  44. package/dist/modal.min.js +2 -2
  45. package/dist/modal.rtl.min.js +2 -2
  46. package/dist/multi-select.min.js +6 -6
  47. package/dist/multi-select.rtl.min.js +9 -9
  48. package/dist/notification.min.js +4 -4
  49. package/dist/notification.rtl.min.js +4 -4
  50. package/dist/number-input.min.js +2 -2
  51. package/dist/number-input.rtl.min.js +2 -2
  52. package/dist/overflow-menu.min.js +2 -2
  53. package/dist/overflow-menu.rtl.min.js +2 -2
  54. package/dist/pagination.min.js +1 -1
  55. package/dist/pagination.rtl.min.js +1 -1
  56. package/dist/popover-content-08984bac.js +61 -0
  57. package/dist/popover-content-123b4e47.js +61 -0
  58. package/dist/popover.min.js +1 -1
  59. package/dist/popover.rtl.min.js +1 -1
  60. package/dist/progress-indicator.min.js +1 -1
  61. package/dist/progress-indicator.rtl.min.js +1 -1
  62. package/dist/radio-button.min.js +6 -6
  63. package/dist/radio-button.rtl.min.js +6 -6
  64. package/dist/search-8226bf13.js +79 -0
  65. package/dist/search-fb6dc5b4.js +79 -0
  66. package/dist/search.min.js +1 -1
  67. package/dist/search.rtl.min.js +1 -1
  68. package/dist/select.min.js +6 -6
  69. package/dist/select.rtl.min.js +6 -6
  70. package/dist/skip-to-content.min.js +2 -2
  71. package/dist/skip-to-content.rtl.min.js +2 -2
  72. package/dist/slider.min.js +6 -6
  73. package/dist/slider.rtl.min.js +6 -6
  74. package/dist/slug.min.js +7 -7
  75. package/dist/slug.rtl.min.js +7 -7
  76. package/dist/tabs.min.js +2 -2
  77. package/dist/tabs.rtl.min.js +2 -2
  78. package/dist/tag.min.js +6 -10
  79. package/dist/tag.rtl.min.js +6 -10
  80. package/dist/{text-input-6d08528b.js → text-input-2c753e9d.js} +5 -5
  81. package/dist/{text-input-4616af44.js → text-input-f5060011.js} +5 -5
  82. package/dist/text-input.min.js +2 -2
  83. package/dist/text-input.rtl.min.js +2 -2
  84. package/dist/textarea.min.js +1 -1
  85. package/dist/textarea.rtl.min.js +1 -1
  86. package/dist/tile.min.js +1 -1
  87. package/dist/tile.rtl.min.js +1 -1
  88. package/dist/toggle-tip.min.js +1 -1
  89. package/dist/toggle-tip.rtl.min.js +1 -1
  90. package/dist/toggle.min.js +3 -3
  91. package/dist/toggle.rtl.min.js +3 -3
  92. package/dist/toggletip-7783180a.js +90 -0
  93. package/dist/toggletip-f36bb856.js +90 -0
  94. package/dist/tooltip-content-6a832657.js +52 -0
  95. package/dist/tooltip-content-d8d76f13.js +52 -0
  96. package/dist/tooltip.min.js +1 -1
  97. package/dist/tooltip.rtl.min.js +1 -1
  98. package/dist/ui-shell.min.js +1 -1
  99. package/dist/ui-shell.rtl.min.js +1 -1
  100. package/es/components/breadcrumb/breadcrumb.css.js +1 -1
  101. package/es/components/breadcrumb/breadcrumb.rtl.css.js +1 -1
  102. package/es/components/button/button.css.js +1 -1
  103. package/es/components/button/button.rtl.css.js +1 -1
  104. package/es/components/checkbox/checkbox-group.d.ts +84 -0
  105. package/es/components/checkbox/checkbox-group.js +337 -0
  106. package/es/components/checkbox/checkbox-group.js.map +1 -0
  107. package/es/components/checkbox/checkbox.css.js +1 -1
  108. package/es/components/checkbox/checkbox.d.ts +33 -0
  109. package/es/components/checkbox/checkbox.js +143 -6
  110. package/es/components/checkbox/checkbox.js.map +1 -1
  111. package/es/components/checkbox/checkbox.rtl.css.js +1 -1
  112. package/es/components/checkbox/index.d.ts +1 -0
  113. package/es/components/checkbox/index.js +1 -0
  114. package/es/components/checkbox/index.js.map +1 -1
  115. package/es/components/code-snippet/code-snippet.css.js +1 -1
  116. package/es/components/code-snippet/code-snippet.rtl.css.js +1 -1
  117. package/es/components/combo-box/combo-box.css.js +1 -1
  118. package/es/components/combo-box/combo-box.rtl.css.js +1 -1
  119. package/es/components/content-switcher/content-switcher.css.js +1 -1
  120. package/es/components/content-switcher/content-switcher.rtl.css.js +1 -1
  121. package/es/components/copy-button/copy-button.css.js +1 -1
  122. package/es/components/copy-button/copy-button.rtl.css.js +1 -1
  123. package/es/components/data-table/data-table.css.js +1 -1
  124. package/es/components/data-table/data-table.rtl.css.js +1 -1
  125. package/es/components/data-table/table-header-cell.d.ts +12 -0
  126. package/es/components/data-table/table-header-cell.js +78 -21
  127. package/es/components/data-table/table-header-cell.js.map +1 -1
  128. package/es/components/data-table/table-row.d.ts +12 -0
  129. package/es/components/data-table/table-row.js +65 -16
  130. package/es/components/data-table/table-row.js.map +1 -1
  131. package/es/components/data-table/table.d.ts +4 -0
  132. package/es/components/data-table/table.js +24 -0
  133. package/es/components/data-table/table.js.map +1 -1
  134. package/es/components/dropdown/dropdown.css.js +1 -1
  135. package/es/components/dropdown/dropdown.rtl.css.js +1 -1
  136. package/es/components/file-uploader/file-uploader.css.js +1 -1
  137. package/es/components/file-uploader/file-uploader.rtl.css.js +1 -1
  138. package/es/components/icon-button/icon-button.css.js +1 -1
  139. package/es/components/icon-button/icon-button.rtl.css.js +1 -1
  140. package/es/components/modal/modal.css.js +1 -1
  141. package/es/components/modal/modal.rtl.css.js +1 -1
  142. package/es/components/multi-select/multi-select.css.js +1 -1
  143. package/es/components/multi-select/multi-select.rtl.css.js +1 -1
  144. package/es/components/notification/actionable-notification.css.js +1 -1
  145. package/es/components/notification/actionable-notification.rtl.css.js +1 -1
  146. package/es/components/notification/inline-notification.css.js +1 -1
  147. package/es/components/notification/inline-notification.rtl.css.js +1 -1
  148. package/es/components/notification/toast-notification.css.js +1 -1
  149. package/es/components/notification/toast-notification.rtl.css.js +1 -1
  150. package/es/components/number-input/number-input.css.js +1 -1
  151. package/es/components/number-input/number-input.rtl.css.js +1 -1
  152. package/es/components/overflow-menu/overflow-menu.css.js +1 -1
  153. package/es/components/overflow-menu/overflow-menu.rtl.css.js +1 -1
  154. package/es/components/pagination/pagination.css.js +1 -1
  155. package/es/components/pagination/pagination.rtl.css.js +1 -1
  156. package/es/components/popover/popover.css.js +1 -1
  157. package/es/components/popover/popover.rtl.css.js +1 -1
  158. package/es/components/progress-indicator/progress-indicator.css.js +1 -1
  159. package/es/components/progress-indicator/progress-indicator.rtl.css.js +1 -1
  160. package/es/components/skip-to-content/skip-to-content.css.js +1 -1
  161. package/es/components/skip-to-content/skip-to-content.rtl.css.js +1 -1
  162. package/es/components/slider/slider.css.js +1 -1
  163. package/es/components/slider/slider.rtl.css.js +1 -1
  164. package/es/components/slug/slug.css.js +1 -1
  165. package/es/components/slug/slug.rtl.css.js +1 -1
  166. package/es/components/tabs/tabs.css.js +1 -1
  167. package/es/components/tabs/tabs.rtl.css.js +1 -1
  168. package/es/components/tag/tag.css.js +1 -1
  169. package/es/components/tag/tag.d.ts +6 -4
  170. package/es/components/tag/tag.js +31 -21
  171. package/es/components/tag/tag.js.map +1 -1
  172. package/es/components/tag/tag.rtl.css.js +1 -1
  173. package/es/components/tile/tile.css.js +1 -1
  174. package/es/components/tile/tile.rtl.css.js +1 -1
  175. package/es/components/toggle-tip/toggletip.css.js +1 -1
  176. package/es/components/toggle-tip/toggletip.rtl.css.js +1 -1
  177. package/es/components/tooltip/tooltip.css.js +1 -1
  178. package/es/components/tooltip/tooltip.rtl.css.js +1 -1
  179. package/es/components/ui-shell/header.css.js +1 -1
  180. package/es/components/ui-shell/header.rtl.css.js +1 -1
  181. package/es/components-react/checkbox/checkbox-group.d.ts +15 -0
  182. package/es/components-react/checkbox/checkbox-group.js +20 -0
  183. package/lib/components-react-node/checkbox/checkbox-group.js +30 -0
  184. package/package.json +2 -2
  185. package/scss/components/checkbox/checkbox.scss +37 -0
  186. package/scss/components/data-table/_table-core.scss +74 -0
  187. package/scss/components/data-table/_table-selection.scss +13 -0
  188. package/scss/components/data-table/_table-sizes.scss +0 -7
  189. package/scss/components/data-table/_table-sort.scss +7 -0
  190. package/scss/components/data-table/data-table.scss +1 -0
  191. package/scss/components/slug/slug.scss +201 -0
  192. package/scss/components/tag/tag.scss +4 -0
  193. package/dist/16-01ebcb7f.js +0 -50
  194. package/dist/16-1664e172.js +0 -50
  195. package/dist/16-228e7358.js +0 -50
  196. package/dist/16-36ae18bf.js +0 -50
  197. package/dist/16-46b03826.js +0 -50
  198. package/dist/16-60b422c4.js +0 -50
  199. package/dist/16-6791071b.js +0 -50
  200. package/dist/16-758bd5d3.js +0 -50
  201. package/dist/16-99afca88.js +0 -50
  202. package/dist/16-9f0fa955.js +0 -50
  203. package/dist/16-a89c399c.js +0 -50
  204. package/dist/16-ae0e9a56.js +0 -50
  205. package/dist/16-c56d8c15.js +0 -50
  206. package/dist/16-d814df5b.js +0 -50
  207. package/dist/16-d9457893.js +0 -50
  208. package/dist/16-f1e0111b.js +0 -50
  209. package/dist/16-f62d4131.js +0 -50
  210. package/dist/16-fd11e4ec.js +0 -50
  211. package/dist/20-1dd5ae57.js +0 -50
  212. package/dist/20-d7cf1679.js +0 -50
  213. package/dist/button-3dafe360.js +0 -114
  214. package/dist/button-582a2f3a.js +0 -114
  215. package/dist/button-8d4316cb.js +0 -114
  216. package/dist/button-e33e1c4a.js +0 -114
  217. package/dist/button-set-04f29086.js +0 -50
  218. package/dist/button-set-c9335535.js +0 -50
  219. package/dist/button-skeleton-00620289.js +0 -70
  220. package/dist/button-skeleton-d68066fe.js +0 -70
  221. package/dist/checkbox-1ca3f18c.js +0 -72
  222. package/dist/checkbox-1e621c4d.js +0 -72
  223. package/dist/checkbox-440be135.js +0 -72
  224. package/dist/checkbox-fa74151f.js +0 -72
  225. package/dist/class-map-ff7e8fde.js +0 -55
  226. package/dist/content-switcher-item-55b2adca.js +0 -84
  227. package/dist/content-switcher-item-6d9b81cf.js +0 -84
  228. package/dist/content-switcher-item-bee4ce7e.js +0 -84
  229. package/dist/content-switcher-item-f758c238.js +0 -84
  230. package/dist/copy-button-0404162f.js +0 -63
  231. package/dist/copy-button-1d23e1bd.js +0 -63
  232. package/dist/copy-button-cf261260.js +0 -63
  233. package/dist/copy-button-d35b2079.js +0 -63
  234. package/dist/dropdown-item-2ae1dc7f.js +0 -128
  235. package/dist/dropdown-item-64bf0a4f.js +0 -128
  236. package/dist/dropdown-item-7273edb2.js +0 -128
  237. package/dist/dropdown-item-cdd1a116.js +0 -128
  238. package/dist/floating-menu-26d746d4.js +0 -58
  239. package/dist/focus-4a59e420.js +0 -58
  240. package/dist/form-54a62766.js +0 -50
  241. package/dist/host-listener-0e75581e.js +0 -58
  242. package/dist/icon-button-32eafa9f.js +0 -71
  243. package/dist/icon-button-334ed010.js +0 -71
  244. package/dist/icon-button-6974bc9a.js +0 -71
  245. package/dist/icon-button-8f6cac1e.js +0 -71
  246. package/dist/if-defined-2063a6b2.js +0 -55
  247. package/dist/if-non-empty-3cac5484.js +0 -58
  248. package/dist/link-42b684df.js +0 -74
  249. package/dist/loading-638b469c.js +0 -50
  250. package/dist/loading-dadfb60c.js +0 -50
  251. package/dist/loading-icon-5f6382df.js +0 -82
  252. package/dist/objectSpread2-8208d45c.js +0 -50
  253. package/dist/popover-content-091b39e0.js +0 -61
  254. package/dist/popover-content-9e3bbe49.js +0 -61
  255. package/dist/popover-content-b376ac06.js +0 -61
  256. package/dist/popover-content-f183f37a.js +0 -61
  257. package/dist/radio-group-manager-f79f750e.js +0 -58
  258. package/dist/search-28dbefa9.js +0 -79
  259. package/dist/search-45d09092.js +0 -79
  260. package/dist/search-63dc2971.js +0 -79
  261. package/dist/search-f633f8c0.js +0 -79
  262. package/dist/select-item-355b65a2.js +0 -50
  263. package/dist/settings-a675998f.js +0 -80
  264. package/dist/skeleton-text-5cfb8d17.js +0 -58
  265. package/dist/skeleton-text-bb615714.js +0 -58
  266. package/dist/spread-6bfe3826.js +0 -58
  267. package/dist/text-input-08a8a922.js +0 -119
  268. package/dist/text-input-45ea7bf7.js +0 -119
  269. package/dist/toggletip-0aa429db.js +0 -90
  270. package/dist/toggletip-0c43069a.js +0 -90
  271. package/dist/toggletip-6a368ecf.js +0 -90
  272. package/dist/toggletip-f3e84381.js +0 -90
  273. package/dist/tooltip-content-2470a2af.js +0 -52
  274. package/dist/tooltip-content-267c3eb7.js +0 -52
  275. package/dist/tooltip-content-3096d302.js +0 -52
  276. 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
- const nextSortDirection = this._getNextSort();
55
- const init = {
56
- bubbles: true,
57
- cancelable: true,
58
- composed: true,
59
- detail: {
60
- oldSortDirection: this.sortDirection,
61
- sortDirection: nextSortDirection
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 the table has expandable rows
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 part="label-text" class="${0}--table-header-label"
234
- ><slot @slotchange=${0}></slot
235
- ></span>
236
- ${0}
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 = _` <slot></slot> `));
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
- <button
191
- class="${0}--table-expand__button"
192
- @click="${0}">
193
- ${0}
194
- </button>
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
- ${0}
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
- hide-label
223
- ?hide-checkbox="${0}"
224
- label-text="${0}"
225
- name=${0}
226
- data-table
227
- ?disabled=${0}
228
- ?checked=${0}
229
- value=${0}></cds-checkbox> `), hideCheckbox, selectionLabel, selectionName, disabled, selected, selectionValue));
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 */