@govtechsg/sgds-web-component 3.27.0-rc.0 → 3.27.0-rc.1

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 (48) hide show
  1. package/components/DataTable/data-table.js +1 -1
  2. package/components/DataTable/index.umd.min.js +289 -274
  3. package/components/DataTable/index.umd.min.js.map +1 -1
  4. package/components/DataTable/sgds-data-table-cell.d.ts +4 -4
  5. package/components/DataTable/sgds-data-table-cell.js +4 -4
  6. package/components/DataTable/sgds-data-table-cell.js.map +1 -1
  7. package/components/DataTable/sgds-data-table-head.d.ts +5 -5
  8. package/components/DataTable/sgds-data-table-head.js +7 -7
  9. package/components/DataTable/sgds-data-table-head.js.map +1 -1
  10. package/components/DataTable/sgds-data-table-row.js +8 -8
  11. package/components/DataTable/sgds-data-table-row.js.map +1 -1
  12. package/components/DataTable/sgds-data-table.d.ts +6 -4
  13. package/components/DataTable/sgds-data-table.js +53 -20
  14. package/components/DataTable/sgds-data-table.js.map +1 -1
  15. package/components/Textarea/index.umd.min.js +1 -1
  16. package/components/Textarea/index.umd.min.js.map +1 -1
  17. package/components/Textarea/textarea.js +1 -1
  18. package/components/index.umd.min.js +252 -247
  19. package/components/index.umd.min.js.map +1 -1
  20. package/css/fouc.css +2 -2
  21. package/custom-elements.json +2661 -2722
  22. package/index.umd.min.js +84 -79
  23. package/index.umd.min.js.map +1 -1
  24. package/package.json +1 -1
  25. package/react/components/DataTable/data-table.cjs.js +1 -1
  26. package/react/components/DataTable/data-table.js +1 -1
  27. package/react/components/DataTable/sgds-data-table-cell.cjs.js +4 -4
  28. package/react/components/DataTable/sgds-data-table-cell.cjs.js.map +1 -1
  29. package/react/components/DataTable/sgds-data-table-cell.js +4 -4
  30. package/react/components/DataTable/sgds-data-table-cell.js.map +1 -1
  31. package/react/components/DataTable/sgds-data-table-head.cjs.js +7 -7
  32. package/react/components/DataTable/sgds-data-table-head.cjs.js.map +1 -1
  33. package/react/components/DataTable/sgds-data-table-head.js +7 -7
  34. package/react/components/DataTable/sgds-data-table-head.js.map +1 -1
  35. package/react/components/DataTable/sgds-data-table-row.cjs.js +8 -8
  36. package/react/components/DataTable/sgds-data-table-row.cjs.js.map +1 -1
  37. package/react/components/DataTable/sgds-data-table-row.js +8 -8
  38. package/react/components/DataTable/sgds-data-table-row.js.map +1 -1
  39. package/react/components/DataTable/sgds-data-table.cjs.js +53 -20
  40. package/react/components/DataTable/sgds-data-table.cjs.js.map +1 -1
  41. package/react/components/DataTable/sgds-data-table.js +53 -20
  42. package/react/components/DataTable/sgds-data-table.js.map +1 -1
  43. package/react/components/Textarea/textarea.cjs.js +1 -1
  44. package/react/components/Textarea/textarea.js +1 -1
  45. package/react/index.cjs.js +18 -18
  46. package/react/index.d.ts +2 -2
  47. package/react/index.js +2 -2
  48. package/types/react.d.ts +107 -115
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@govtechsg/sgds-web-component",
3
- "version": "3.27.0-rc.0",
3
+ "version": "3.27.0-rc.1",
4
4
  "description": "",
5
5
  "main": "./index.umd.js",
6
6
  "module": "./index.js",
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var lit = require('lit');
7
7
 
8
- var css_248z = lit.css`:host{display:contents}:host([layout=fixed]) .table{table-layout:fixed}.table{border-collapse:collapse;display:table;table-layout:auto;width:100%}.data-table{border:var(--sgds-border-width-1) solid;border-color:var(--sgds-border-color-muted);border-radius:var(--sgds-border-radius-md);display:flex;flex-direction:column;min-height:var(--sgds-dimension-56)}.footer{justify-content:space-between;padding:var(--sgds-padding-sm) var(--sgds-padding-lg)}.footer,.loading{align-items:center;display:flex}.loading{border-top:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);justify-content:center;min-height:var(--sgds-dimension-128);padding:var(--sgds-padding-sm) var(--sgds-padding-md)}.loading .loading-menu{gap:var(--sgds-gap-xs);pointer-events:none}.loading .loading-menu,.no-data{align-items:center;color:var(--sgds-text-color-subtle);display:flex}.no-data{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);justify-content:center;min-height:var(--sgds-dimension-128);padding:var(--sgds-padding-sm) var(--sgds-padding-md)}.active:not(.sort-icon),tr:hover:not([data-header-row]){background-color:var(--sgds-bg-translucent-subtle);transition:background-color .15s ease}td,th{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);vertical-align:middle}.data-table-cell,.data-table-head{align-items:center;display:flex;min-height:var(--sgds-dimension-56);padding:var(--sgds-padding-sm) var(--sgds-padding-md)}.data-table-head{font-weight:var(--sgds-font-weight-semibold);gap:var(--sgds-gap-2-xs)}.sort,.sort-button{align-items:center;display:inline-flex}.sort-button{background-color:var(--sgds-bg-transparent);border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-form-border-radius-md);color:var(--sgds-color-subtle);cursor:pointer;height:var(--sgds-dimension-24);justify-content:center;padding:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:var(--sgds-dimension-24)}.sort-button:hover{background-color:var(--sgds-bg-translucent-subtle);color:var(--sgds-color-default)}.sort-button:focus,.sort-button:focus-visible{background-color:var(--sgds-bg-translucent-subtle);border-color:transparent;outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.sort-button:disabled{background-color:var(--sgds-bg-transparent);color:var(--sgds-color-muted);cursor:not-allowed}.sort-button.active{background-color:var(--sgds-primary-surface-translucent);color:var(--sgds-primary-color-default)}.sort-icon{display:inline-flex}.data-table-cell.align-right,.data-table-head.align-right{justify-content:flex-end;text-align:right}.control-cell{width:var(--sgds-dimension-56)}:host(.checkbox-cell) .data-table-cell,:host(.checkbox-cell) .data-table-head{padding:var(--sgds-padding-sm) var(--sgds-padding-md)}:host(.expand-cell) .data-table-cell{cursor:pointer;padding:var(--sgds-padding-md)}.expandable-td{border:0;padding:0}.expandable-content{background-color:var(--sgds-surface-raised);border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);padding:var(--sgds-padding-2-xl);padding-left:var(--sgds-padding-4-xl)}.hidden{display:none}`;
8
+ var css_248z = lit.css`:host{display:contents}:host([layout=fixed]) .table{table-layout:fixed}.table{border-collapse:collapse;display:table;table-layout:auto;width:100%}.data-table{border:var(--sgds-border-width-1) solid;border-color:var(--sgds-border-color-muted);border-radius:var(--sgds-border-radius-md);display:flex;flex-direction:column;min-height:var(--sgds-dimension-56)}.table-container{overflow-x:auto}.footer{align-items:center;display:flex;justify-content:space-between;padding:var(--sgds-padding-sm) var(--sgds-padding-lg)}.loading{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);display:block;padding:var(--sgds-padding-sm) var(--sgds-padding-md)}.loading-grid{display:flex;flex-direction:column;gap:var(--sgds-gap-xs)}.loading-grid-row{display:grid;gap:var(--sgds-gap-sm);grid-template-columns:repeat(var(--sgds-data-table-loading-columns,1),minmax(0,1fr))}.no-data{align-items:center;color:var(--sgds-text-color-subtle);display:flex;justify-content:center;min-height:var(--sgds-dimension-128);padding:var(--sgds-padding-sm) var(--sgds-padding-md)}.active:not(.sort-icon),tr:hover:not([data-header-row]){background-color:var(--sgds-bg-translucent-subtle);transition:background-color .15s ease}td,th{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);vertical-align:middle}.data-table-cell,.data-table-head{align-items:center;display:flex;min-height:var(--sgds-dimension-56);padding:var(--sgds-padding-sm) var(--sgds-padding-md)}.data-table-head{font-weight:var(--sgds-font-weight-semibold);gap:var(--sgds-gap-2-xs)}.sort,.sort-button{align-items:center;display:inline-flex}.sort-button{background-color:var(--sgds-bg-transparent);border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-form-border-radius-md);color:var(--sgds-color-subtle);cursor:pointer;height:var(--sgds-dimension-24);justify-content:center;padding:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:var(--sgds-dimension-24)}.sort-button:hover{background-color:var(--sgds-bg-translucent-subtle);color:var(--sgds-color-default)}.sort-button:focus,.sort-button:focus-visible{background-color:var(--sgds-bg-translucent-subtle);border-color:transparent;outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.sort-button:disabled{background-color:var(--sgds-bg-transparent);color:var(--sgds-color-muted);cursor:not-allowed}.sort-button.active{background-color:var(--sgds-primary-surface-translucent);color:var(--sgds-primary-color-default)}.sort-icon{display:inline-flex}.data-table-cell.align-right,.data-table-head.align-right{justify-content:flex-end;text-align:right}.control-cell{width:var(--sgds-dimension-56)}:host(.checkbox-cell) .data-table-cell,:host(.checkbox-cell) .data-table-head{padding:var(--sgds-padding-sm) var(--sgds-padding-md)}:host(.expand-cell) .data-table-cell{cursor:pointer;padding:var(--sgds-padding-md)}.expandable-td{border:0;padding:0}.expandable-content{background-color:var(--sgds-surface-raised);border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);padding:var(--sgds-padding-2-xl);padding-left:var(--sgds-padding-4-xl)}.hidden{display:none}`;
9
9
 
10
10
  exports["default"] = css_248z;
11
11
  //# sourceMappingURL=data-table.cjs.js.map
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { css } from 'lit';
3
3
 
4
- var css_248z = css`:host{display:contents}:host([layout=fixed]) .table{table-layout:fixed}.table{border-collapse:collapse;display:table;table-layout:auto;width:100%}.data-table{border:var(--sgds-border-width-1) solid;border-color:var(--sgds-border-color-muted);border-radius:var(--sgds-border-radius-md);display:flex;flex-direction:column;min-height:var(--sgds-dimension-56)}.footer{justify-content:space-between;padding:var(--sgds-padding-sm) var(--sgds-padding-lg)}.footer,.loading{align-items:center;display:flex}.loading{border-top:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);justify-content:center;min-height:var(--sgds-dimension-128);padding:var(--sgds-padding-sm) var(--sgds-padding-md)}.loading .loading-menu{gap:var(--sgds-gap-xs);pointer-events:none}.loading .loading-menu,.no-data{align-items:center;color:var(--sgds-text-color-subtle);display:flex}.no-data{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);justify-content:center;min-height:var(--sgds-dimension-128);padding:var(--sgds-padding-sm) var(--sgds-padding-md)}.active:not(.sort-icon),tr:hover:not([data-header-row]){background-color:var(--sgds-bg-translucent-subtle);transition:background-color .15s ease}td,th{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);vertical-align:middle}.data-table-cell,.data-table-head{align-items:center;display:flex;min-height:var(--sgds-dimension-56);padding:var(--sgds-padding-sm) var(--sgds-padding-md)}.data-table-head{font-weight:var(--sgds-font-weight-semibold);gap:var(--sgds-gap-2-xs)}.sort,.sort-button{align-items:center;display:inline-flex}.sort-button{background-color:var(--sgds-bg-transparent);border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-form-border-radius-md);color:var(--sgds-color-subtle);cursor:pointer;height:var(--sgds-dimension-24);justify-content:center;padding:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:var(--sgds-dimension-24)}.sort-button:hover{background-color:var(--sgds-bg-translucent-subtle);color:var(--sgds-color-default)}.sort-button:focus,.sort-button:focus-visible{background-color:var(--sgds-bg-translucent-subtle);border-color:transparent;outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.sort-button:disabled{background-color:var(--sgds-bg-transparent);color:var(--sgds-color-muted);cursor:not-allowed}.sort-button.active{background-color:var(--sgds-primary-surface-translucent);color:var(--sgds-primary-color-default)}.sort-icon{display:inline-flex}.data-table-cell.align-right,.data-table-head.align-right{justify-content:flex-end;text-align:right}.control-cell{width:var(--sgds-dimension-56)}:host(.checkbox-cell) .data-table-cell,:host(.checkbox-cell) .data-table-head{padding:var(--sgds-padding-sm) var(--sgds-padding-md)}:host(.expand-cell) .data-table-cell{cursor:pointer;padding:var(--sgds-padding-md)}.expandable-td{border:0;padding:0}.expandable-content{background-color:var(--sgds-surface-raised);border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);padding:var(--sgds-padding-2-xl);padding-left:var(--sgds-padding-4-xl)}.hidden{display:none}`;
4
+ var css_248z = css`:host{display:contents}:host([layout=fixed]) .table{table-layout:fixed}.table{border-collapse:collapse;display:table;table-layout:auto;width:100%}.data-table{border:var(--sgds-border-width-1) solid;border-color:var(--sgds-border-color-muted);border-radius:var(--sgds-border-radius-md);display:flex;flex-direction:column;min-height:var(--sgds-dimension-56)}.table-container{overflow-x:auto}.footer{align-items:center;display:flex;justify-content:space-between;padding:var(--sgds-padding-sm) var(--sgds-padding-lg)}.loading{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);display:block;padding:var(--sgds-padding-sm) var(--sgds-padding-md)}.loading-grid{display:flex;flex-direction:column;gap:var(--sgds-gap-xs)}.loading-grid-row{display:grid;gap:var(--sgds-gap-sm);grid-template-columns:repeat(var(--sgds-data-table-loading-columns,1),minmax(0,1fr))}.no-data{align-items:center;color:var(--sgds-text-color-subtle);display:flex;justify-content:center;min-height:var(--sgds-dimension-128);padding:var(--sgds-padding-sm) var(--sgds-padding-md)}.active:not(.sort-icon),tr:hover:not([data-header-row]){background-color:var(--sgds-bg-translucent-subtle);transition:background-color .15s ease}td,th{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);vertical-align:middle}.data-table-cell,.data-table-head{align-items:center;display:flex;min-height:var(--sgds-dimension-56);padding:var(--sgds-padding-sm) var(--sgds-padding-md)}.data-table-head{font-weight:var(--sgds-font-weight-semibold);gap:var(--sgds-gap-2-xs)}.sort,.sort-button{align-items:center;display:inline-flex}.sort-button{background-color:var(--sgds-bg-transparent);border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-form-border-radius-md);color:var(--sgds-color-subtle);cursor:pointer;height:var(--sgds-dimension-24);justify-content:center;padding:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:var(--sgds-dimension-24)}.sort-button:hover{background-color:var(--sgds-bg-translucent-subtle);color:var(--sgds-color-default)}.sort-button:focus,.sort-button:focus-visible{background-color:var(--sgds-bg-translucent-subtle);border-color:transparent;outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.sort-button:disabled{background-color:var(--sgds-bg-transparent);color:var(--sgds-color-muted);cursor:not-allowed}.sort-button.active{background-color:var(--sgds-primary-surface-translucent);color:var(--sgds-primary-color-default)}.sort-icon{display:inline-flex}.data-table-cell.align-right,.data-table-head.align-right{justify-content:flex-end;text-align:right}.control-cell{width:var(--sgds-dimension-56)}:host(.checkbox-cell) .data-table-cell,:host(.checkbox-cell) .data-table-head{padding:var(--sgds-padding-sm) var(--sgds-padding-md)}:host(.expand-cell) .data-table-cell{cursor:pointer;padding:var(--sgds-padding-md)}.expandable-td{border:0;padding:0}.expandable-content{background-color:var(--sgds-surface-raised);border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);padding:var(--sgds-padding-2-xl);padding-left:var(--sgds-padding-4-xl)}.hidden{display:none}`;
5
5
 
6
6
  export { css_248z as default };
7
7
  //# sourceMappingURL=data-table.js.map
@@ -27,11 +27,11 @@ SgdsDataTableCell.styles = [
27
27
  `
28
28
  ];
29
29
  tslib.__decorate([
30
- decorators_js.property({ type: Number, reflect: true })
31
- ], SgdsDataTableCell.prototype, "colspan", void 0);
30
+ decorators_js.property({ type: Number })
31
+ ], SgdsDataTableCell.prototype, "colSpan", void 0);
32
32
  tslib.__decorate([
33
- decorators_js.property({ type: Number, reflect: true })
34
- ], SgdsDataTableCell.prototype, "rowspan", void 0);
33
+ decorators_js.property({ type: Number })
34
+ ], SgdsDataTableCell.prototype, "rowSpan", void 0);
35
35
 
36
36
  exports.SgdsDataTableCell = SgdsDataTableCell;
37
37
  exports["default"] = SgdsDataTableCell;
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-data-table-cell.cjs.js","sources":["../../../../src/components/DataTable/sgds-data-table-cell.ts"],"sourcesContent":["import { css, html } from \"lit\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { property } from \"lit/decorators.js\";\n\n/**\n * @summary Data container for a table cell. Rendered as a `<td>` by the parent `sgds-data-table-row`.\n *\n * @slot default - Content to display inside the cell.\n */\nexport class SgdsDataTableCell extends SgdsElement {\n static styles = [\n ...SgdsElement.styles,\n css`\n :host {\n display: contents;\n }\n `\n ];\n\n /** Number of columns this cell spans. */\n @property({ type: Number, reflect: true }) colspan: number | undefined;\n\n /** Number of rows this cell spans. */\n @property({ type: Number, reflect: true }) rowspan: number | undefined;\n\n render() {\n return html`<slot></slot>`;\n }\n}\n\nexport default SgdsDataTableCell;\n"],"names":["SgdsElement","html","css","__decorate","property"],"mappings":";;;;;;;;;;AAIA;;;;AAIG;AACG,MAAO,iBAAkB,SAAQA,sBAAW,CAAA;IAgBhD,MAAM,GAAA;QACJ,OAAOC,QAAI,CAAA,CAAA,aAAA,CAAe,CAAC;KAC5B;;AAjBM,iBAAA,CAAA,MAAM,GAAG;IACd,GAAGD,sBAAW,CAAC,MAAM;AACrB,IAAAE,OAAG,CAAA,CAAA;;;;AAIF,IAAA,CAAA;CACF,CAAC;AAGyCC,gBAAA,CAAA;IAA1CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG5BD,gBAAA,CAAA;IAA1CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;;;;;"}
1
+ {"version":3,"file":"sgds-data-table-cell.cjs.js","sources":["../../../../src/components/DataTable/sgds-data-table-cell.ts"],"sourcesContent":["import { css, html } from \"lit\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { property } from \"lit/decorators.js\";\n\n/**\n * @summary Data container for a table cell. Rendered as a `<td>` by the parent `sgds-data-table-row`.\n *\n * @slot default - Content to display inside the cell.\n */\nexport class SgdsDataTableCell extends SgdsElement {\n static styles = [\n ...SgdsElement.styles,\n css`\n :host {\n display: contents;\n }\n `\n ];\n\n /** @internal Number of columns this cell spans. */\n @property({ type: Number }) colSpan: number | undefined;\n\n /** @internal Number of rows this cell spans. */\n @property({ type: Number }) rowSpan: number | undefined;\n\n render() {\n return html`<slot></slot>`;\n }\n}\n\nexport default SgdsDataTableCell;\n"],"names":["SgdsElement","html","css","__decorate","property"],"mappings":";;;;;;;;;;AAIA;;;;AAIG;AACG,MAAO,iBAAkB,SAAQA,sBAAW,CAAA;IAgBhD,MAAM,GAAA;QACJ,OAAOC,QAAI,CAAA,CAAA,aAAA,CAAe,CAAC;KAC5B;;AAjBM,iBAAA,CAAA,MAAM,GAAG;IACd,GAAGD,sBAAW,CAAC,MAAM;AACrB,IAAAE,OAAG,CAAA,CAAA;;;;AAIF,IAAA,CAAA;CACF,CAAC;AAG0BC,gBAAA,CAAA;AAA3B,IAAAC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG5BD,gBAAA,CAAA;AAA3B,IAAAC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;;;;;"}
@@ -23,11 +23,11 @@ SgdsDataTableCell.styles = [
23
23
  `
24
24
  ];
25
25
  __decorate([
26
- property({ type: Number, reflect: true })
27
- ], SgdsDataTableCell.prototype, "colspan", void 0);
26
+ property({ type: Number })
27
+ ], SgdsDataTableCell.prototype, "colSpan", void 0);
28
28
  __decorate([
29
- property({ type: Number, reflect: true })
30
- ], SgdsDataTableCell.prototype, "rowspan", void 0);
29
+ property({ type: Number })
30
+ ], SgdsDataTableCell.prototype, "rowSpan", void 0);
31
31
 
32
32
  export { SgdsDataTableCell, SgdsDataTableCell as default };
33
33
  //# sourceMappingURL=sgds-data-table-cell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-data-table-cell.js","sources":["../../../../src/components/DataTable/sgds-data-table-cell.ts"],"sourcesContent":["import { css, html } from \"lit\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { property } from \"lit/decorators.js\";\n\n/**\n * @summary Data container for a table cell. Rendered as a `<td>` by the parent `sgds-data-table-row`.\n *\n * @slot default - Content to display inside the cell.\n */\nexport class SgdsDataTableCell extends SgdsElement {\n static styles = [\n ...SgdsElement.styles,\n css`\n :host {\n display: contents;\n }\n `\n ];\n\n /** Number of columns this cell spans. */\n @property({ type: Number, reflect: true }) colspan: number | undefined;\n\n /** Number of rows this cell spans. */\n @property({ type: Number, reflect: true }) rowspan: number | undefined;\n\n render() {\n return html`<slot></slot>`;\n }\n}\n\nexport default SgdsDataTableCell;\n"],"names":[],"mappings":";;;;;;AAIA;;;;AAIG;AACG,MAAO,iBAAkB,SAAQ,WAAW,CAAA;IAgBhD,MAAM,GAAA;QACJ,OAAO,IAAI,CAAA,CAAA,aAAA,CAAe,CAAC;KAC5B;;AAjBM,iBAAA,CAAA,MAAM,GAAG;IACd,GAAG,WAAW,CAAC,MAAM;AACrB,IAAA,GAAG,CAAA,CAAA;;;;AAIF,IAAA,CAAA;CACF,CAAC;AAGyC,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG5B,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"sgds-data-table-cell.js","sources":["../../../../src/components/DataTable/sgds-data-table-cell.ts"],"sourcesContent":["import { css, html } from \"lit\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { property } from \"lit/decorators.js\";\n\n/**\n * @summary Data container for a table cell. Rendered as a `<td>` by the parent `sgds-data-table-row`.\n *\n * @slot default - Content to display inside the cell.\n */\nexport class SgdsDataTableCell extends SgdsElement {\n static styles = [\n ...SgdsElement.styles,\n css`\n :host {\n display: contents;\n }\n `\n ];\n\n /** @internal Number of columns this cell spans. */\n @property({ type: Number }) colSpan: number | undefined;\n\n /** @internal Number of rows this cell spans. */\n @property({ type: Number }) rowSpan: number | undefined;\n\n render() {\n return html`<slot></slot>`;\n }\n}\n\nexport default SgdsDataTableCell;\n"],"names":[],"mappings":";;;;;;AAIA;;;;AAIG;AACG,MAAO,iBAAkB,SAAQ,WAAW,CAAA;IAgBhD,MAAM,GAAA;QACJ,OAAO,IAAI,CAAA,CAAA,aAAA,CAAe,CAAC;KAC5B;;AAjBM,iBAAA,CAAA,MAAM,GAAG;IACd,GAAG,WAAW,CAAC,MAAM;AACrB,IAAA,GAAG,CAAA,CAAA;;;;AAIF,IAAA,CAAA;CACF,CAAC;AAG0B,UAAA,CAAA;AAA3B,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG5B,UAAA,CAAA;AAA3B,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;;;;"}
@@ -28,8 +28,8 @@ class SgdsDataTableHead extends sgdsElement["default"] {
28
28
  handleSortClick() {
29
29
  if (!this.sorting)
30
30
  return;
31
- const next = this.ariasort === "ascending" ? "descending" : this.ariasort === "descending" ? "none" : "ascending";
32
- this.ariasort = next;
31
+ const next = this.sortDirection === "ascending" ? "descending" : this.sortDirection === "descending" ? "none" : "ascending";
32
+ this.sortDirection = next;
33
33
  this.emit("i-sgds-sort", {
34
34
  detail: { key: this.sortKey, direction: next },
35
35
  bubbles: true,
@@ -52,17 +52,17 @@ tslib.__decorate([
52
52
  decorators_js.property({ type: String, reflect: true })
53
53
  ], SgdsDataTableHead.prototype, "width", void 0);
54
54
  tslib.__decorate([
55
- decorators_js.property({ type: Number, reflect: true })
56
- ], SgdsDataTableHead.prototype, "colspan", void 0);
55
+ decorators_js.property({ type: Number })
56
+ ], SgdsDataTableHead.prototype, "colSpan", void 0);
57
57
  tslib.__decorate([
58
- decorators_js.property({ type: Number, reflect: true })
59
- ], SgdsDataTableHead.prototype, "rowspan", void 0);
58
+ decorators_js.property({ type: Number })
59
+ ], SgdsDataTableHead.prototype, "rowSpan", void 0);
60
60
  tslib.__decorate([
61
61
  decorators_js.property({ type: String, reflect: true })
62
62
  ], SgdsDataTableHead.prototype, "textAlign", void 0);
63
63
  tslib.__decorate([
64
64
  decorators_js.property({ type: String, reflect: true })
65
- ], SgdsDataTableHead.prototype, "ariasort", void 0);
65
+ ], SgdsDataTableHead.prototype, "sortDirection", void 0);
66
66
  tslib.__decorate([
67
67
  decorators_js.property({ type: Boolean, reflect: true })
68
68
  ], SgdsDataTableHead.prototype, "sorting", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-data-table-head.cjs.js","sources":["../../../../src/components/DataTable/sgds-data-table-head.ts"],"sourcesContent":["import { css, html } from \"lit\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { property } from \"lit/decorators.js\";\n\n/**\n * @summary Data container for a table header cell. Rendered as a `<th>` by the parent `sgds-data-table-row`.\n *\n * @slot default - Content to display inside the header cell.\n *\n */\nexport class SgdsDataTableHead extends SgdsElement {\n static styles = [\n ...SgdsElement.styles,\n css`\n :host {\n display: contents;\n }\n `\n ];\n\n /** Sets the column width. */\n @property({ type: String, reflect: true }) width: string | undefined;\n\n /** Number of columns this cell spans. */\n @property({ type: Number, reflect: true }) colspan: number | undefined;\n\n /** Number of rows this cell spans. */\n @property({ type: Number, reflect: true }) rowspan: number | undefined;\n\n /** Text alignment for the header content. */\n @property({ type: String, reflect: true }) textAlign: \"left\" | \"right\" = \"left\";\n\n /** Current sort direction for this column. */\n @property({ type: String, reflect: true }) ariasort: \"ascending\" | \"descending\" | \"none\" | \"other\" | undefined;\n\n /** When true, clicking this header cycles through ascending → descending → none sort. */\n @property({ type: Boolean, reflect: true }) sorting = false;\n\n /** Column key emitted in the row's internal sort payload, used to identify which column to sort. */\n @property({ type: String, reflect: true }) sortKey = \"\";\n\n /** @internal — called by the row when the rendered `<th>` is clicked. */\n handleSortClick() {\n if (!this.sorting) return;\n const next = this.ariasort === \"ascending\" ? \"descending\" : this.ariasort === \"descending\" ? \"none\" : \"ascending\";\n this.ariasort = next;\n this.emit(\"i-sgds-sort\", {\n detail: { key: this.sortKey, direction: next },\n bubbles: true,\n composed: true\n });\n }\n\n render() {\n return html`<slot></slot>`;\n }\n}\n\nexport default SgdsDataTableHead;\n"],"names":["SgdsElement","html","css","__decorate","property"],"mappings":";;;;;;;;;;AAIA;;;;;AAKG;AACG,MAAO,iBAAkB,SAAQA,sBAAW,CAAA;AAAlD,IAAA,WAAA,GAAA;;;QAoB6C,IAAS,CAAA,SAAA,GAAqB,MAAM,CAAC;;QAMpC,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;QAGjB,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;KAiBzD;;IAdC,eAAe,GAAA;QACb,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,KAAK,WAAW,GAAG,YAAY,GAAG,IAAI,CAAC,QAAQ,KAAK,YAAY,GAAG,MAAM,GAAG,WAAW,CAAC;AAClH,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;AAC9C,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC,CAAC;KACJ;IAED,MAAM,GAAA;QACJ,OAAOC,QAAI,CAAA,CAAA,aAAA,CAAe,CAAC;KAC5B;;AA5CM,iBAAA,CAAA,MAAM,GAAG;IACd,GAAGD,sBAAW,CAAC,MAAM;AACrB,IAAAE,OAAG,CAAA,CAAA;;;;AAIF,IAAA,CAAA;AACF,CAPY,CAOX;AAGyCC,gBAAA,CAAA;IAA1CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA2B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG1BD,gBAAA,CAAA;IAA1CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG5BD,gBAAA,CAAA;IAA1CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG5BD,gBAAA,CAAA;IAA1CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAsC,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGrCD,gBAAA,CAAA;IAA1CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAqE,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGnED,gBAAA,CAAA;IAA3CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAiB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGjBD,gBAAA,CAAA;IAA1CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAc,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;;;;;"}
1
+ {"version":3,"file":"sgds-data-table-head.cjs.js","sources":["../../../../src/components/DataTable/sgds-data-table-head.ts"],"sourcesContent":["import { css, html } from \"lit\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { property } from \"lit/decorators.js\";\n\n/**\n * @summary Data container for a table header cell. Rendered as a `<th>` by the parent `sgds-data-table-row`.\n *\n * @slot default - Content to display inside the header cell.\n *\n */\nexport class SgdsDataTableHead extends SgdsElement {\n static styles = [\n ...SgdsElement.styles,\n css`\n :host {\n display: contents;\n }\n `\n ];\n\n /** Sets the column width. */\n @property({ type: String, reflect: true }) width: string | undefined;\n\n /** @internal Number of columns this cell spans. */\n @property({ type: Number }) colSpan: number | undefined;\n\n /** @internal Number of rows this cell spans. */\n @property({ type: Number }) rowSpan: number | undefined;\n\n /** Text alignment for the header content. */\n @property({ type: String, reflect: true }) textAlign: \"left\" | \"right\" = \"left\";\n\n /** Current sort direction for this column. */\n @property({ type: String, reflect: true }) sortDirection: \"ascending\" | \"descending\" | \"none\" | \"other\" | undefined;\n\n /** When true, clicking this header cycles through ascending → descending → none sort. */\n @property({ type: Boolean, reflect: true }) sorting = false;\n\n /** Column key emitted in the row's internal sort payload, used to identify which column to sort. */\n @property({ type: String, reflect: true }) sortKey = \"\";\n\n /** @internal — called by the row when the rendered `<th>` is clicked. */\n handleSortClick() {\n if (!this.sorting) return;\n const next =\n this.sortDirection === \"ascending\" ? \"descending\" : this.sortDirection === \"descending\" ? \"none\" : \"ascending\";\n this.sortDirection = next;\n this.emit(\"i-sgds-sort\", {\n detail: { key: this.sortKey, direction: next },\n bubbles: true,\n composed: true\n });\n }\n\n render() {\n return html`<slot></slot>`;\n }\n}\n\nexport default SgdsDataTableHead;\n"],"names":["SgdsElement","html","css","__decorate","property"],"mappings":";;;;;;;;;;AAIA;;;;;AAKG;AACG,MAAO,iBAAkB,SAAQA,sBAAW,CAAA;AAAlD,IAAA,WAAA,GAAA;;;QAoB6C,IAAS,CAAA,SAAA,GAAqB,MAAM,CAAC;;QAMpC,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;QAGjB,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;KAkBzD;;IAfC,eAAe,GAAA;QACb,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,IAAI,GACR,IAAI,CAAC,aAAa,KAAK,WAAW,GAAG,YAAY,GAAG,IAAI,CAAC,aAAa,KAAK,YAAY,GAAG,MAAM,GAAG,WAAW,CAAC;AACjH,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;AAC9C,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC,CAAC;KACJ;IAED,MAAM,GAAA;QACJ,OAAOC,QAAI,CAAA,CAAA,aAAA,CAAe,CAAC;KAC5B;;AA7CM,iBAAA,CAAA,MAAM,GAAG;IACd,GAAGD,sBAAW,CAAC,MAAM;AACrB,IAAAE,OAAG,CAAA,CAAA;;;;AAIF,IAAA,CAAA;AACF,CAPY,CAOX;AAGyCC,gBAAA,CAAA;IAA1CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA2B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGzCD,gBAAA,CAAA;AAA3B,IAAAC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG5BD,gBAAA,CAAA;AAA3B,IAAAC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGbD,gBAAA,CAAA;IAA1CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAsC,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGrCD,gBAAA,CAAA;IAA1CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA0E,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGxED,gBAAA,CAAA;IAA3CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAiB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGjBD,gBAAA,CAAA;IAA1CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAc,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;;;;;"}
@@ -24,8 +24,8 @@ class SgdsDataTableHead extends SgdsElement {
24
24
  handleSortClick() {
25
25
  if (!this.sorting)
26
26
  return;
27
- const next = this.ariasort === "ascending" ? "descending" : this.ariasort === "descending" ? "none" : "ascending";
28
- this.ariasort = next;
27
+ const next = this.sortDirection === "ascending" ? "descending" : this.sortDirection === "descending" ? "none" : "ascending";
28
+ this.sortDirection = next;
29
29
  this.emit("i-sgds-sort", {
30
30
  detail: { key: this.sortKey, direction: next },
31
31
  bubbles: true,
@@ -48,17 +48,17 @@ __decorate([
48
48
  property({ type: String, reflect: true })
49
49
  ], SgdsDataTableHead.prototype, "width", void 0);
50
50
  __decorate([
51
- property({ type: Number, reflect: true })
52
- ], SgdsDataTableHead.prototype, "colspan", void 0);
51
+ property({ type: Number })
52
+ ], SgdsDataTableHead.prototype, "colSpan", void 0);
53
53
  __decorate([
54
- property({ type: Number, reflect: true })
55
- ], SgdsDataTableHead.prototype, "rowspan", void 0);
54
+ property({ type: Number })
55
+ ], SgdsDataTableHead.prototype, "rowSpan", void 0);
56
56
  __decorate([
57
57
  property({ type: String, reflect: true })
58
58
  ], SgdsDataTableHead.prototype, "textAlign", void 0);
59
59
  __decorate([
60
60
  property({ type: String, reflect: true })
61
- ], SgdsDataTableHead.prototype, "ariasort", void 0);
61
+ ], SgdsDataTableHead.prototype, "sortDirection", void 0);
62
62
  __decorate([
63
63
  property({ type: Boolean, reflect: true })
64
64
  ], SgdsDataTableHead.prototype, "sorting", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-data-table-head.js","sources":["../../../../src/components/DataTable/sgds-data-table-head.ts"],"sourcesContent":["import { css, html } from \"lit\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { property } from \"lit/decorators.js\";\n\n/**\n * @summary Data container for a table header cell. Rendered as a `<th>` by the parent `sgds-data-table-row`.\n *\n * @slot default - Content to display inside the header cell.\n *\n */\nexport class SgdsDataTableHead extends SgdsElement {\n static styles = [\n ...SgdsElement.styles,\n css`\n :host {\n display: contents;\n }\n `\n ];\n\n /** Sets the column width. */\n @property({ type: String, reflect: true }) width: string | undefined;\n\n /** Number of columns this cell spans. */\n @property({ type: Number, reflect: true }) colspan: number | undefined;\n\n /** Number of rows this cell spans. */\n @property({ type: Number, reflect: true }) rowspan: number | undefined;\n\n /** Text alignment for the header content. */\n @property({ type: String, reflect: true }) textAlign: \"left\" | \"right\" = \"left\";\n\n /** Current sort direction for this column. */\n @property({ type: String, reflect: true }) ariasort: \"ascending\" | \"descending\" | \"none\" | \"other\" | undefined;\n\n /** When true, clicking this header cycles through ascending → descending → none sort. */\n @property({ type: Boolean, reflect: true }) sorting = false;\n\n /** Column key emitted in the row's internal sort payload, used to identify which column to sort. */\n @property({ type: String, reflect: true }) sortKey = \"\";\n\n /** @internal — called by the row when the rendered `<th>` is clicked. */\n handleSortClick() {\n if (!this.sorting) return;\n const next = this.ariasort === \"ascending\" ? \"descending\" : this.ariasort === \"descending\" ? \"none\" : \"ascending\";\n this.ariasort = next;\n this.emit(\"i-sgds-sort\", {\n detail: { key: this.sortKey, direction: next },\n bubbles: true,\n composed: true\n });\n }\n\n render() {\n return html`<slot></slot>`;\n }\n}\n\nexport default SgdsDataTableHead;\n"],"names":[],"mappings":";;;;;;AAIA;;;;;AAKG;AACG,MAAO,iBAAkB,SAAQ,WAAW,CAAA;AAAlD,IAAA,WAAA,GAAA;;;QAoB6C,IAAS,CAAA,SAAA,GAAqB,MAAM,CAAC;;QAMpC,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;QAGjB,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;KAiBzD;;IAdC,eAAe,GAAA;QACb,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,KAAK,WAAW,GAAG,YAAY,GAAG,IAAI,CAAC,QAAQ,KAAK,YAAY,GAAG,MAAM,GAAG,WAAW,CAAC;AAClH,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;AAC9C,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC,CAAC;KACJ;IAED,MAAM,GAAA;QACJ,OAAO,IAAI,CAAA,CAAA,aAAA,CAAe,CAAC;KAC5B;;AA5CM,iBAAA,CAAA,MAAM,GAAG;IACd,GAAG,WAAW,CAAC,MAAM;AACrB,IAAA,GAAG,CAAA,CAAA;;;;AAIF,IAAA,CAAA;AACF,CAPY,CAOX;AAGyC,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA2B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG1B,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG5B,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG5B,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAsC,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGrC,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAqE,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGnE,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAiB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGjB,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAc,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"sgds-data-table-head.js","sources":["../../../../src/components/DataTable/sgds-data-table-head.ts"],"sourcesContent":["import { css, html } from \"lit\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { property } from \"lit/decorators.js\";\n\n/**\n * @summary Data container for a table header cell. Rendered as a `<th>` by the parent `sgds-data-table-row`.\n *\n * @slot default - Content to display inside the header cell.\n *\n */\nexport class SgdsDataTableHead extends SgdsElement {\n static styles = [\n ...SgdsElement.styles,\n css`\n :host {\n display: contents;\n }\n `\n ];\n\n /** Sets the column width. */\n @property({ type: String, reflect: true }) width: string | undefined;\n\n /** @internal Number of columns this cell spans. */\n @property({ type: Number }) colSpan: number | undefined;\n\n /** @internal Number of rows this cell spans. */\n @property({ type: Number }) rowSpan: number | undefined;\n\n /** Text alignment for the header content. */\n @property({ type: String, reflect: true }) textAlign: \"left\" | \"right\" = \"left\";\n\n /** Current sort direction for this column. */\n @property({ type: String, reflect: true }) sortDirection: \"ascending\" | \"descending\" | \"none\" | \"other\" | undefined;\n\n /** When true, clicking this header cycles through ascending → descending → none sort. */\n @property({ type: Boolean, reflect: true }) sorting = false;\n\n /** Column key emitted in the row's internal sort payload, used to identify which column to sort. */\n @property({ type: String, reflect: true }) sortKey = \"\";\n\n /** @internal — called by the row when the rendered `<th>` is clicked. */\n handleSortClick() {\n if (!this.sorting) return;\n const next =\n this.sortDirection === \"ascending\" ? \"descending\" : this.sortDirection === \"descending\" ? \"none\" : \"ascending\";\n this.sortDirection = next;\n this.emit(\"i-sgds-sort\", {\n detail: { key: this.sortKey, direction: next },\n bubbles: true,\n composed: true\n });\n }\n\n render() {\n return html`<slot></slot>`;\n }\n}\n\nexport default SgdsDataTableHead;\n"],"names":[],"mappings":";;;;;;AAIA;;;;;AAKG;AACG,MAAO,iBAAkB,SAAQ,WAAW,CAAA;AAAlD,IAAA,WAAA,GAAA;;;QAoB6C,IAAS,CAAA,SAAA,GAAqB,MAAM,CAAC;;QAMpC,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;QAGjB,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;KAkBzD;;IAfC,eAAe,GAAA;QACb,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,IAAI,GACR,IAAI,CAAC,aAAa,KAAK,WAAW,GAAG,YAAY,GAAG,IAAI,CAAC,aAAa,KAAK,YAAY,GAAG,MAAM,GAAG,WAAW,CAAC;AACjH,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;AAC9C,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC,CAAC;KACJ;IAED,MAAM,GAAA;QACJ,OAAO,IAAI,CAAA,CAAA,aAAA,CAAe,CAAC;KAC5B;;AA7CM,iBAAA,CAAA,MAAM,GAAG;IACd,GAAG,WAAW,CAAC,MAAM;AACrB,IAAA,GAAG,CAAA,CAAA;;;;AAIF,IAAA,CAAA;AACF,CAPY,CAOX;AAGyC,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA2B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGzC,UAAA,CAAA;AAA3B,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG5B,UAAA,CAAA;AAA3B,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGb,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAsC,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGrC,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA0E,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGxE,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAiB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGjB,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAc,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;;;;"}
@@ -170,9 +170,9 @@ class SgdsDataTableRow extends sgdsElement["default"] {
170
170
  if (el instanceof sgdsDataTableHead.SgdsDataTableHead) {
171
171
  return lit.html `<th
172
172
  width=${ifDefined_js.ifDefined(el.width)}
173
- colspan=${ifDefined_js.ifDefined(el.colspan)}
174
- rowspan=${ifDefined_js.ifDefined(el.rowspan)}
175
- aria-sort=${ifDefined_js.ifDefined(el.ariasort)}
173
+ colspan=${ifDefined_js.ifDefined(el.colSpan)}
174
+ rowspan=${ifDefined_js.ifDefined(el.rowSpan)}
175
+ aria-sort=${ifDefined_js.ifDefined(el.sortDirection)}
176
176
  scope="col"
177
177
  tabindex=${ifDefined_js.ifDefined(el.sorting ? "0" : undefined)}
178
178
  ?data-sorting=${el.sorting}
@@ -185,13 +185,13 @@ class SgdsDataTableRow extends sgdsElement["default"] {
185
185
  ? lit.html `
186
186
  <button
187
187
  type="button"
188
- class="sort-button ${el.ariasort === "none" ? "" : "active"}"
189
- aria-label=${el.ariasort === "descending" ? "Sort descending" : "Sort ascending"}
188
+ class="sort-button ${el.sortDirection === "none" ? "" : "active"}"
189
+ aria-label=${el.sortDirection === "descending" ? "Sort descending" : "Sort ascending"}
190
190
  ?disabled=${!this.hasDataRows}
191
191
  >
192
192
  <sgds-icon
193
193
  class="sort-icon"
194
- name=${el.ariasort === "descending" ? "sort-descending" : "sort-ascending"}
194
+ name=${el.sortDirection === "descending" ? "sort-descending" : "sort-ascending"}
195
195
  size="sm"
196
196
  ></sgds-icon>
197
197
  </button>
@@ -201,7 +201,7 @@ class SgdsDataTableRow extends sgdsElement["default"] {
201
201
  </th>`;
202
202
  }
203
203
  const cellAlignment = (_a = this.columnAlignments[columnIndex]) !== null && _a !== void 0 ? _a : "left";
204
- return lit.html `<td colspan=${ifDefined_js.ifDefined(el.colspan)} rowspan=${ifDefined_js.ifDefined(el.rowspan)}>
204
+ return lit.html `<td colspan=${ifDefined_js.ifDefined(el.colSpan)} rowspan=${ifDefined_js.ifDefined(el.rowSpan)}>
205
205
  <div class="data-table-cell ${cellAlignment === "right" ? "align-right" : "align-left"}">
206
206
  ${slotName ? lit.html `<slot name=${slotName}></slot>` : lit.nothing}
207
207
  </div>
@@ -249,7 +249,7 @@ class SgdsDataTableRow extends sgdsElement["default"] {
249
249
  let visualColumnIndex = 0;
250
250
  return cells.map(el => {
251
251
  const renderedCell = this._renderCell(el, visualColumnIndex);
252
- const span = Number(el.colspan) > 0 ? Number(el.colspan) : 1;
252
+ const span = Number(el.colSpan) > 0 ? Number(el.colSpan) : 1;
253
253
  visualColumnIndex += span;
254
254
  return renderedCell;
255
255
  });
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-data-table-row.cjs.js","sources":["../../../../src/components/DataTable/sgds-data-table-row.ts"],"sourcesContent":["import { html, nothing } from \"lit\";\nimport { property, query, state } from \"lit/decorators.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { SgdsCheckbox } from \"../Checkbox/sgds-checkbox\";\nimport { animateTo, shimKeyframesHeightAuto, stopAnimations } from \"../../utils/animate\";\nimport { getAnimation, setDefaultAnimation } from \"../../utils/animation-registry\";\nimport { waitForEvent } from \"../../utils/event\";\nimport { watch } from \"../../utils/watch\";\nimport tableRowStyle from \"./data-table.css\";\nimport SgdsDataTableCell from \"./sgds-data-table-cell\";\nimport SgdsDataTableHead from \"./sgds-data-table-head\";\nimport { SgdsIcon } from \"../Icon/sgds-icon\";\n\n/**\n * @summary A data table row. Set `expand` to enable an expandable content area beneath\n * the row, then place detail content in the `content` slot.\n *\n * @slot default - Insert `sgds-data-table-cell` or `sgds-data-table-head` elements.\n * @slot content - Content shown in the animated expand area beneath the row.\n *\n * @event sgds-show - Emitted when the expandable row begins to open.\n * @event sgds-after-show - Emitted after the expandable row open animation completes.\n * @event sgds-hide - Emitted when the expandable row begins to close.\n * @event sgds-after-hide - Emitted after the expandable row close animation completes.\n */\nexport class SgdsDataTableRow extends SgdsElement {\n static styles = [...SgdsElement.styles, tableRowStyle];\n\n /** @internal */\n static dependencies = {\n \"sgds-checkbox\": SgdsCheckbox,\n \"sgds-data-table-cell\": SgdsDataTableCell,\n \"sgds-data-table-head\": SgdsDataTableHead,\n \"sgds-icon\": SgdsIcon\n };\n\n /** Arbitrary data associated with this row. Returned in event detail on row selection. */\n @property({ type: Object, reflect: true }) rowData: Record<string, unknown> = {};\n\n /** When true, the row has an expandable content area toggled by a chevron. */\n @property({ type: Boolean, reflect: true }) expand = false;\n\n /** When true, the expandable content area is open. */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /** When true, the row is checked. */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** @internal — set by `sgds-data-table` to show a checkbox cell on this row. */\n @property({ type: Boolean }) showCheckbox = false;\n\n /** @internal — set by `sgds-data-table` when at least one sibling row is expandable. */\n @property({ type: Boolean }) showExpandPlaceholder = false;\n\n /** @internal — per-column alignment injected by `sgds-data-table` from header cells. */\n @property({ attribute: false }) columnAlignments: Array<\"left\" | \"right\"> = [];\n /** @internal — set by `sgds-data-table` to indicate whether body rows exist. */\n @property({ type: Boolean }) hasDataRows = false;\n\n /** @internal */\n @query(\".expandable-body\") private _expandableBody!: HTMLElement;\n\n /** @internal */\n @query(\"sgds-checkbox\") private _checkboxEl!: SgdsCheckbox;\n\n @state() private _isHeaderRow = false;\n private _cellSlotNames = new WeakMap<SgdsDataTableCell | SgdsDataTableHead, string>();\n private _lightDomObserver?: MutationObserver;\n\n /** The checkbox rendered inside this row, if `showCheckbox` is true. */\n get checkbox(): SgdsCheckbox | null {\n return this._checkboxEl ?? null;\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._lightDomObserver = new MutationObserver(() => this._handleLightDomChange());\n this._lightDomObserver.observe(this, { childList: true });\n this._handleLightDomChange();\n }\n\n disconnectedCallback() {\n this._lightDomObserver?.disconnect();\n super.disconnectedCallback();\n }\n\n firstUpdated() {\n if (this._expandableBody) {\n this._expandableBody.hidden = !this.open;\n }\n }\n\n @watch(\"open\", { waitUntilFirstUpdate: true })\n async handleExpandedChange() {\n if (this.open) {\n const sgdsShow = this.emit(\"sgds-show\", { cancelable: true });\n if (sgdsShow.defaultPrevented) {\n this.open = false;\n return;\n }\n await stopAnimations(this._expandableBody);\n this._expandableBody.hidden = false;\n const { keyframes, options } = getAnimation(this, \"row.expand.show\");\n await animateTo(\n this._expandableBody,\n shimKeyframesHeightAuto(keyframes, this._expandableBody.scrollHeight),\n options\n );\n this.emit(\"sgds-after-show\");\n } else {\n const sgdsHide = this.emit(\"sgds-hide\", { cancelable: true });\n if (sgdsHide.defaultPrevented) {\n this.open = true;\n return;\n }\n await stopAnimations(this._expandableBody);\n const { keyframes, options } = getAnimation(this, \"row.expand.hide\");\n await animateTo(\n this._expandableBody,\n shimKeyframesHeightAuto(keyframes, this._expandableBody.scrollHeight),\n options\n );\n this._expandableBody.hidden = true;\n this.emit(\"sgds-after-hide\");\n }\n }\n\n @watch(\"checked\")\n async handleCheckedChange() {\n if (this.checked) {\n this.emit(\"i-sgds-change\", { detail: { checked: true } });\n }\n }\n\n /** Opens the expandable content area. */\n public async show() {\n if (this.open) return;\n this.open = true;\n return waitForEvent(this, \"sgds-after-show\");\n }\n\n /** Closes the expandable content area. */\n public async hide() {\n if (!this.open) return;\n this.open = false;\n return waitForEvent(this, \"sgds-after-hide\");\n }\n\n /** @internal — returns visible text content for a body cell by visual column index. */\n public getCellText(columnIndex: number) {\n const cells = this._getCells().filter(cell => cell instanceof SgdsDataTableCell) as SgdsDataTableCell[];\n const cell = cells[columnIndex];\n if (!cell) return \"\";\n return (cell.textContent ?? \"\").trim();\n }\n\n private _getCells() {\n return Array.from(this.children).filter(\n child => child instanceof SgdsDataTableCell || child instanceof SgdsDataTableHead\n ) as Array<SgdsDataTableCell | SgdsDataTableHead>;\n }\n\n private _syncCellSlots(cells: Array<SgdsDataTableCell | SgdsDataTableHead>) {\n cells.forEach(cell => {\n const index = cells.indexOf(cell);\n const slotName = `cell-${index}`;\n this._cellSlotNames.set(cell, slotName);\n if (cell.getAttribute(\"slot\") !== slotName) {\n cell.setAttribute(\"slot\", slotName);\n }\n });\n }\n\n private _handleLightDomChange() {\n const cells = this._getCells();\n this._syncCellSlots(cells);\n this._isHeaderRow = cells.some(cell => cell instanceof SgdsDataTableHead);\n this.requestUpdate();\n }\n\n private _onCheckboxChange(e: CustomEvent) {\n this.emit(\"i-sgds-change\", { detail: { checked: (e.target as SgdsCheckbox).checked } });\n }\n\n private _toggleExpand() {\n this.open ? this.hide() : this.show();\n }\n\n private _onExpandKeyDown(e: KeyboardEvent) {\n if (e.key !== \"Enter\") return;\n e.preventDefault();\n this._toggleExpand();\n }\n\n private _onSortKeyDown(e: KeyboardEvent, header: SgdsDataTableHead) {\n if (e.key !== \"Enter\") return;\n e.preventDefault();\n header.handleSortClick();\n }\n\n private _renderCell(el: SgdsDataTableCell | SgdsDataTableHead, columnIndex: number) {\n const slotName = this._cellSlotNames.get(el);\n\n if (el instanceof SgdsDataTableHead) {\n return html`<th\n width=${ifDefined(el.width)}\n colspan=${ifDefined(el.colspan)}\n rowspan=${ifDefined(el.rowspan)}\n aria-sort=${ifDefined(el.ariasort)}\n scope=\"col\"\n tabindex=${ifDefined(el.sorting ? \"0\" : undefined)}\n ?data-sorting=${el.sorting}\n @click=${el.sorting ? () => el.handleSortClick() : nothing}\n @keydown=${el.sorting ? (e: KeyboardEvent) => this._onSortKeyDown(e, el) : nothing}\n >\n <div class=\"data-table-head ${el.textAlign === \"right\" ? \"align-right\" : \"align-left\"}\">\n ${slotName ? html`<slot name=${slotName}></slot>` : nothing}\n ${el.sorting\n ? html`\n <button\n type=\"button\"\n class=\"sort-button ${el.ariasort === \"none\" ? \"\" : \"active\"}\"\n aria-label=${el.ariasort === \"descending\" ? \"Sort descending\" : \"Sort ascending\"}\n ?disabled=${!this.hasDataRows}\n >\n <sgds-icon\n class=\"sort-icon\"\n name=${el.ariasort === \"descending\" ? \"sort-descending\" : \"sort-ascending\"}\n size=\"sm\"\n ></sgds-icon>\n </button>\n `\n : nothing}\n </div>\n </th>`;\n }\n\n const cellAlignment = this.columnAlignments[columnIndex] ?? \"left\";\n return html`<td colspan=${ifDefined(el.colspan)} rowspan=${ifDefined(el.rowspan)}>\n <div class=\"data-table-cell ${cellAlignment === \"right\" ? \"align-right\" : \"align-left\"}\">\n ${slotName ? html`<slot name=${slotName}></slot>` : nothing}\n </div>\n </td>`;\n }\n\n private _renderExpandCell() {\n if (this._isHeaderRow) {\n return html`<th class=\"control-cell\" scope=\"col\"></th>`;\n }\n\n return html`<td class=\"control-cell\" @click=${this._toggleExpand} @keydown=${this._onExpandKeyDown} tabindex=\"0\">\n <div class=\"data-table-cell expand-cell\">\n <sgds-icon name=${this.open ? \"chevron-up\" : \"chevron-down\"} size=\"md\"></sgds-icon>\n </div>\n </td>`;\n }\n\n private _renderExpandPlaceholder() {\n return this._isHeaderRow ? html`<th class=\"control-cell\" scope=\"col\"></th>` : html`<td class=\"control-cell\"></td>`;\n }\n\n private _renderCheckboxCell() {\n return this._isHeaderRow\n ? html`<th class=\"control-cell\" scope=\"col\">\n <div class=\"data-table-cell checkbox-cell\">\n <sgds-checkbox .checked=${this.checked} @sgds-change=${this._onCheckboxChange}></sgds-checkbox>\n </div>\n </th>`\n : html`<td class=\"control-cell\">\n <div class=\"data-table-cell checkbox-cell\">\n <sgds-checkbox .checked=${this.checked} @sgds-change=${this._onCheckboxChange}></sgds-checkbox>\n </div>\n </td>`;\n }\n\n render() {\n const cells = this._getCells();\n const totalCols = cells.length + (this.showCheckbox ? 1 : 0) + (this.expand || this.showExpandPlaceholder ? 1 : 0);\n const rowPart = this._isHeaderRow ? \"row row-header\" : \"row row-body\";\n\n return html`\n <tr part=${rowPart} ?data-header-row=${this._isHeaderRow} class=${this.open ? \"active\" : \"\"}>\n ${this.expand\n ? this._renderExpandCell()\n : this.showExpandPlaceholder\n ? this._renderExpandPlaceholder()\n : nothing}\n ${this.showCheckbox ? this._renderCheckboxCell() : nothing}\n ${(() => {\n let visualColumnIndex = 0;\n return cells.map(el => {\n const renderedCell = this._renderCell(el, visualColumnIndex);\n const span = Number(el.colspan) > 0 ? Number(el.colspan) : 1;\n visualColumnIndex += span;\n return renderedCell;\n });\n })()}\n </tr>\n\n ${this.expand\n ? html`\n <tr class=\"expandable-row\">\n <td colspan=${totalCols} class=\"expandable-td\">\n <div class=\"expandable-body\">\n <div class=\"expandable-content\">\n <slot name=\"content\"></slot>\n </div>\n </div>\n </td>\n </tr>\n `\n : nothing}\n `;\n }\n}\n\nsetDefaultAnimation(\"row.expand.show\", {\n keyframes: [\n { height: \"0\", opacity: \"0\" },\n { height: \"auto\", opacity: \"1\" }\n ],\n options: { duration: 250, easing: \"ease-in-out\" }\n});\n\nsetDefaultAnimation(\"row.expand.hide\", {\n keyframes: [\n { height: \"auto\", opacity: \"1\" },\n { height: \"0\", opacity: \"0\" }\n ],\n options: { duration: 250, easing: \"ease-in-out\" }\n});\n\nexport default SgdsDataTableRow;\n"],"names":["SgdsElement","stopAnimations","getAnimation","animateTo","shimKeyframesHeightAuto","waitForEvent","SgdsDataTableCell","SgdsDataTableHead","html","ifDefined","nothing","tableRowStyle","SgdsCheckbox","SgdsIcon","__decorate","property","query","state","watch","setDefaultAnimation"],"mappings":"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"}
1
+ {"version":3,"file":"sgds-data-table-row.cjs.js","sources":["../../../../src/components/DataTable/sgds-data-table-row.ts"],"sourcesContent":["import { html, nothing } from \"lit\";\nimport { property, query, state } from \"lit/decorators.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { SgdsCheckbox } from \"../Checkbox/sgds-checkbox\";\nimport { animateTo, shimKeyframesHeightAuto, stopAnimations } from \"../../utils/animate\";\nimport { getAnimation, setDefaultAnimation } from \"../../utils/animation-registry\";\nimport { waitForEvent } from \"../../utils/event\";\nimport { watch } from \"../../utils/watch\";\nimport tableRowStyle from \"./data-table.css\";\nimport SgdsDataTableCell from \"./sgds-data-table-cell\";\nimport SgdsDataTableHead from \"./sgds-data-table-head\";\nimport { SgdsIcon } from \"../Icon/sgds-icon\";\n\n/**\n * @summary A data table row. Set `expand` to enable an expandable content area beneath\n * the row, then place detail content in the `content` slot.\n *\n * @slot default - Insert `sgds-data-table-cell` or `sgds-data-table-head` elements.\n * @slot content - Content shown in the animated expand area beneath the row.\n *\n * @event sgds-show - Emitted when the expandable row begins to open.\n * @event sgds-after-show - Emitted after the expandable row open animation completes.\n * @event sgds-hide - Emitted when the expandable row begins to close.\n * @event sgds-after-hide - Emitted after the expandable row close animation completes.\n */\nexport class SgdsDataTableRow extends SgdsElement {\n static styles = [...SgdsElement.styles, tableRowStyle];\n\n /** @internal */\n static dependencies = {\n \"sgds-checkbox\": SgdsCheckbox,\n \"sgds-data-table-cell\": SgdsDataTableCell,\n \"sgds-data-table-head\": SgdsDataTableHead,\n \"sgds-icon\": SgdsIcon\n };\n\n /** Arbitrary data associated with this row. Returned in event detail on row selection. */\n @property({ type: Object, reflect: true }) rowData: Record<string, unknown> = {};\n\n /** When true, the row has an expandable content area toggled by a chevron. */\n @property({ type: Boolean, reflect: true }) expand = false;\n\n /** When true, the expandable content area is open. */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /** When true, the row is checked. */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** @internal — set by `sgds-data-table` to show a checkbox cell on this row. */\n @property({ type: Boolean }) showCheckbox = false;\n\n /** @internal — set by `sgds-data-table` when at least one sibling row is expandable. */\n @property({ type: Boolean }) showExpandPlaceholder = false;\n\n /** @internal — per-column alignment injected by `sgds-data-table` from header cells. */\n @property({ attribute: false }) columnAlignments: Array<\"left\" | \"right\"> = [];\n /** @internal — set by `sgds-data-table` to indicate whether body rows exist. */\n @property({ type: Boolean }) hasDataRows = false;\n\n /** @internal */\n @query(\".expandable-body\") private _expandableBody!: HTMLElement;\n\n /** @internal */\n @query(\"sgds-checkbox\") private _checkboxEl!: SgdsCheckbox;\n\n @state() private _isHeaderRow = false;\n private _cellSlotNames = new WeakMap<SgdsDataTableCell | SgdsDataTableHead, string>();\n private _lightDomObserver?: MutationObserver;\n\n /** The checkbox rendered inside this row, if `showCheckbox` is true. */\n get checkbox(): SgdsCheckbox | null {\n return this._checkboxEl ?? null;\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._lightDomObserver = new MutationObserver(() => this._handleLightDomChange());\n this._lightDomObserver.observe(this, { childList: true });\n this._handleLightDomChange();\n }\n\n disconnectedCallback() {\n this._lightDomObserver?.disconnect();\n super.disconnectedCallback();\n }\n\n firstUpdated() {\n if (this._expandableBody) {\n this._expandableBody.hidden = !this.open;\n }\n }\n\n @watch(\"open\", { waitUntilFirstUpdate: true })\n async handleExpandedChange() {\n if (this.open) {\n const sgdsShow = this.emit(\"sgds-show\", { cancelable: true });\n if (sgdsShow.defaultPrevented) {\n this.open = false;\n return;\n }\n await stopAnimations(this._expandableBody);\n this._expandableBody.hidden = false;\n const { keyframes, options } = getAnimation(this, \"row.expand.show\");\n await animateTo(\n this._expandableBody,\n shimKeyframesHeightAuto(keyframes, this._expandableBody.scrollHeight),\n options\n );\n this.emit(\"sgds-after-show\");\n } else {\n const sgdsHide = this.emit(\"sgds-hide\", { cancelable: true });\n if (sgdsHide.defaultPrevented) {\n this.open = true;\n return;\n }\n await stopAnimations(this._expandableBody);\n const { keyframes, options } = getAnimation(this, \"row.expand.hide\");\n await animateTo(\n this._expandableBody,\n shimKeyframesHeightAuto(keyframes, this._expandableBody.scrollHeight),\n options\n );\n this._expandableBody.hidden = true;\n this.emit(\"sgds-after-hide\");\n }\n }\n\n @watch(\"checked\")\n async handleCheckedChange() {\n if (this.checked) {\n this.emit(\"i-sgds-change\", { detail: { checked: true } });\n }\n }\n\n /** Opens the expandable content area. */\n public async show() {\n if (this.open) return;\n this.open = true;\n return waitForEvent(this, \"sgds-after-show\");\n }\n\n /** Closes the expandable content area. */\n public async hide() {\n if (!this.open) return;\n this.open = false;\n return waitForEvent(this, \"sgds-after-hide\");\n }\n\n /** @internal — returns visible text content for a body cell by visual column index. */\n public getCellText(columnIndex: number) {\n const cells = this._getCells().filter(cell => cell instanceof SgdsDataTableCell) as SgdsDataTableCell[];\n const cell = cells[columnIndex];\n if (!cell) return \"\";\n return (cell.textContent ?? \"\").trim();\n }\n\n private _getCells() {\n return Array.from(this.children).filter(\n child => child instanceof SgdsDataTableCell || child instanceof SgdsDataTableHead\n ) as Array<SgdsDataTableCell | SgdsDataTableHead>;\n }\n\n private _syncCellSlots(cells: Array<SgdsDataTableCell | SgdsDataTableHead>) {\n cells.forEach(cell => {\n const index = cells.indexOf(cell);\n const slotName = `cell-${index}`;\n this._cellSlotNames.set(cell, slotName);\n if (cell.getAttribute(\"slot\") !== slotName) {\n cell.setAttribute(\"slot\", slotName);\n }\n });\n }\n\n private _handleLightDomChange() {\n const cells = this._getCells();\n this._syncCellSlots(cells);\n this._isHeaderRow = cells.some(cell => cell instanceof SgdsDataTableHead);\n this.requestUpdate();\n }\n\n private _onCheckboxChange(e: CustomEvent) {\n this.emit(\"i-sgds-change\", { detail: { checked: (e.target as SgdsCheckbox).checked } });\n }\n\n private _toggleExpand() {\n this.open ? this.hide() : this.show();\n }\n\n private _onExpandKeyDown(e: KeyboardEvent) {\n if (e.key !== \"Enter\") return;\n e.preventDefault();\n this._toggleExpand();\n }\n\n private _onSortKeyDown(e: KeyboardEvent, header: SgdsDataTableHead) {\n if (e.key !== \"Enter\") return;\n e.preventDefault();\n header.handleSortClick();\n }\n\n private _renderCell(el: SgdsDataTableCell | SgdsDataTableHead, columnIndex: number) {\n const slotName = this._cellSlotNames.get(el);\n\n if (el instanceof SgdsDataTableHead) {\n return html`<th\n width=${ifDefined(el.width)}\n colspan=${ifDefined(el.colSpan)}\n rowspan=${ifDefined(el.rowSpan)}\n aria-sort=${ifDefined(el.sortDirection)}\n scope=\"col\"\n tabindex=${ifDefined(el.sorting ? \"0\" : undefined)}\n ?data-sorting=${el.sorting}\n @click=${el.sorting ? () => el.handleSortClick() : nothing}\n @keydown=${el.sorting ? (e: KeyboardEvent) => this._onSortKeyDown(e, el) : nothing}\n >\n <div class=\"data-table-head ${el.textAlign === \"right\" ? \"align-right\" : \"align-left\"}\">\n ${slotName ? html`<slot name=${slotName}></slot>` : nothing}\n ${el.sorting\n ? html`\n <button\n type=\"button\"\n class=\"sort-button ${el.sortDirection === \"none\" ? \"\" : \"active\"}\"\n aria-label=${el.sortDirection === \"descending\" ? \"Sort descending\" : \"Sort ascending\"}\n ?disabled=${!this.hasDataRows}\n >\n <sgds-icon\n class=\"sort-icon\"\n name=${el.sortDirection === \"descending\" ? \"sort-descending\" : \"sort-ascending\"}\n size=\"sm\"\n ></sgds-icon>\n </button>\n `\n : nothing}\n </div>\n </th>`;\n }\n\n const cellAlignment = this.columnAlignments[columnIndex] ?? \"left\";\n return html`<td colspan=${ifDefined(el.colSpan)} rowspan=${ifDefined(el.rowSpan)}>\n <div class=\"data-table-cell ${cellAlignment === \"right\" ? \"align-right\" : \"align-left\"}\">\n ${slotName ? html`<slot name=${slotName}></slot>` : nothing}\n </div>\n </td>`;\n }\n\n private _renderExpandCell() {\n if (this._isHeaderRow) {\n return html`<th class=\"control-cell\" scope=\"col\"></th>`;\n }\n\n return html`<td class=\"control-cell\" @click=${this._toggleExpand} @keydown=${this._onExpandKeyDown} tabindex=\"0\">\n <div class=\"data-table-cell expand-cell\">\n <sgds-icon name=${this.open ? \"chevron-up\" : \"chevron-down\"} size=\"md\"></sgds-icon>\n </div>\n </td>`;\n }\n\n private _renderExpandPlaceholder() {\n return this._isHeaderRow ? html`<th class=\"control-cell\" scope=\"col\"></th>` : html`<td class=\"control-cell\"></td>`;\n }\n\n private _renderCheckboxCell() {\n return this._isHeaderRow\n ? html`<th class=\"control-cell\" scope=\"col\">\n <div class=\"data-table-cell checkbox-cell\">\n <sgds-checkbox .checked=${this.checked} @sgds-change=${this._onCheckboxChange}></sgds-checkbox>\n </div>\n </th>`\n : html`<td class=\"control-cell\">\n <div class=\"data-table-cell checkbox-cell\">\n <sgds-checkbox .checked=${this.checked} @sgds-change=${this._onCheckboxChange}></sgds-checkbox>\n </div>\n </td>`;\n }\n\n render() {\n const cells = this._getCells();\n const totalCols = cells.length + (this.showCheckbox ? 1 : 0) + (this.expand || this.showExpandPlaceholder ? 1 : 0);\n const rowPart = this._isHeaderRow ? \"row row-header\" : \"row row-body\";\n\n return html`\n <tr part=${rowPart} ?data-header-row=${this._isHeaderRow} class=${this.open ? \"active\" : \"\"}>\n ${this.expand\n ? this._renderExpandCell()\n : this.showExpandPlaceholder\n ? this._renderExpandPlaceholder()\n : nothing}\n ${this.showCheckbox ? this._renderCheckboxCell() : nothing}\n ${(() => {\n let visualColumnIndex = 0;\n return cells.map(el => {\n const renderedCell = this._renderCell(el, visualColumnIndex);\n const span = Number(el.colSpan) > 0 ? Number(el.colSpan) : 1;\n visualColumnIndex += span;\n return renderedCell;\n });\n })()}\n </tr>\n\n ${this.expand\n ? html`\n <tr class=\"expandable-row\">\n <td colspan=${totalCols} class=\"expandable-td\">\n <div class=\"expandable-body\">\n <div class=\"expandable-content\">\n <slot name=\"content\"></slot>\n </div>\n </div>\n </td>\n </tr>\n `\n : nothing}\n `;\n }\n}\n\nsetDefaultAnimation(\"row.expand.show\", {\n keyframes: [\n { height: \"0\", opacity: \"0\" },\n { height: \"auto\", opacity: \"1\" }\n ],\n options: { duration: 250, easing: \"ease-in-out\" }\n});\n\nsetDefaultAnimation(\"row.expand.hide\", {\n keyframes: [\n { height: \"auto\", opacity: \"1\" },\n { height: \"0\", opacity: \"0\" }\n ],\n options: { duration: 250, easing: \"ease-in-out\" }\n});\n\nexport default SgdsDataTableRow;\n"],"names":["SgdsElement","stopAnimations","getAnimation","animateTo","shimKeyframesHeightAuto","waitForEvent","SgdsDataTableCell","SgdsDataTableHead","html","ifDefined","nothing","tableRowStyle","SgdsCheckbox","SgdsIcon","__decorate","property","query","state","watch","setDefaultAnimation"],"mappings":"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"}
@@ -166,9 +166,9 @@ class SgdsDataTableRow extends SgdsElement {
166
166
  if (el instanceof SgdsDataTableHead) {
167
167
  return html `<th
168
168
  width=${ifDefined(el.width)}
169
- colspan=${ifDefined(el.colspan)}
170
- rowspan=${ifDefined(el.rowspan)}
171
- aria-sort=${ifDefined(el.ariasort)}
169
+ colspan=${ifDefined(el.colSpan)}
170
+ rowspan=${ifDefined(el.rowSpan)}
171
+ aria-sort=${ifDefined(el.sortDirection)}
172
172
  scope="col"
173
173
  tabindex=${ifDefined(el.sorting ? "0" : undefined)}
174
174
  ?data-sorting=${el.sorting}
@@ -181,13 +181,13 @@ class SgdsDataTableRow extends SgdsElement {
181
181
  ? html `
182
182
  <button
183
183
  type="button"
184
- class="sort-button ${el.ariasort === "none" ? "" : "active"}"
185
- aria-label=${el.ariasort === "descending" ? "Sort descending" : "Sort ascending"}
184
+ class="sort-button ${el.sortDirection === "none" ? "" : "active"}"
185
+ aria-label=${el.sortDirection === "descending" ? "Sort descending" : "Sort ascending"}
186
186
  ?disabled=${!this.hasDataRows}
187
187
  >
188
188
  <sgds-icon
189
189
  class="sort-icon"
190
- name=${el.ariasort === "descending" ? "sort-descending" : "sort-ascending"}
190
+ name=${el.sortDirection === "descending" ? "sort-descending" : "sort-ascending"}
191
191
  size="sm"
192
192
  ></sgds-icon>
193
193
  </button>
@@ -197,7 +197,7 @@ class SgdsDataTableRow extends SgdsElement {
197
197
  </th>`;
198
198
  }
199
199
  const cellAlignment = (_a = this.columnAlignments[columnIndex]) !== null && _a !== void 0 ? _a : "left";
200
- return html `<td colspan=${ifDefined(el.colspan)} rowspan=${ifDefined(el.rowspan)}>
200
+ return html `<td colspan=${ifDefined(el.colSpan)} rowspan=${ifDefined(el.rowSpan)}>
201
201
  <div class="data-table-cell ${cellAlignment === "right" ? "align-right" : "align-left"}">
202
202
  ${slotName ? html `<slot name=${slotName}></slot>` : nothing}
203
203
  </div>
@@ -245,7 +245,7 @@ class SgdsDataTableRow extends SgdsElement {
245
245
  let visualColumnIndex = 0;
246
246
  return cells.map(el => {
247
247
  const renderedCell = this._renderCell(el, visualColumnIndex);
248
- const span = Number(el.colspan) > 0 ? Number(el.colspan) : 1;
248
+ const span = Number(el.colSpan) > 0 ? Number(el.colSpan) : 1;
249
249
  visualColumnIndex += span;
250
250
  return renderedCell;
251
251
  });
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-data-table-row.js","sources":["../../../../src/components/DataTable/sgds-data-table-row.ts"],"sourcesContent":["import { html, nothing } from \"lit\";\nimport { property, query, state } from \"lit/decorators.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { SgdsCheckbox } from \"../Checkbox/sgds-checkbox\";\nimport { animateTo, shimKeyframesHeightAuto, stopAnimations } from \"../../utils/animate\";\nimport { getAnimation, setDefaultAnimation } from \"../../utils/animation-registry\";\nimport { waitForEvent } from \"../../utils/event\";\nimport { watch } from \"../../utils/watch\";\nimport tableRowStyle from \"./data-table.css\";\nimport SgdsDataTableCell from \"./sgds-data-table-cell\";\nimport SgdsDataTableHead from \"./sgds-data-table-head\";\nimport { SgdsIcon } from \"../Icon/sgds-icon\";\n\n/**\n * @summary A data table row. Set `expand` to enable an expandable content area beneath\n * the row, then place detail content in the `content` slot.\n *\n * @slot default - Insert `sgds-data-table-cell` or `sgds-data-table-head` elements.\n * @slot content - Content shown in the animated expand area beneath the row.\n *\n * @event sgds-show - Emitted when the expandable row begins to open.\n * @event sgds-after-show - Emitted after the expandable row open animation completes.\n * @event sgds-hide - Emitted when the expandable row begins to close.\n * @event sgds-after-hide - Emitted after the expandable row close animation completes.\n */\nexport class SgdsDataTableRow extends SgdsElement {\n static styles = [...SgdsElement.styles, tableRowStyle];\n\n /** @internal */\n static dependencies = {\n \"sgds-checkbox\": SgdsCheckbox,\n \"sgds-data-table-cell\": SgdsDataTableCell,\n \"sgds-data-table-head\": SgdsDataTableHead,\n \"sgds-icon\": SgdsIcon\n };\n\n /** Arbitrary data associated with this row. Returned in event detail on row selection. */\n @property({ type: Object, reflect: true }) rowData: Record<string, unknown> = {};\n\n /** When true, the row has an expandable content area toggled by a chevron. */\n @property({ type: Boolean, reflect: true }) expand = false;\n\n /** When true, the expandable content area is open. */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /** When true, the row is checked. */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** @internal — set by `sgds-data-table` to show a checkbox cell on this row. */\n @property({ type: Boolean }) showCheckbox = false;\n\n /** @internal — set by `sgds-data-table` when at least one sibling row is expandable. */\n @property({ type: Boolean }) showExpandPlaceholder = false;\n\n /** @internal — per-column alignment injected by `sgds-data-table` from header cells. */\n @property({ attribute: false }) columnAlignments: Array<\"left\" | \"right\"> = [];\n /** @internal — set by `sgds-data-table` to indicate whether body rows exist. */\n @property({ type: Boolean }) hasDataRows = false;\n\n /** @internal */\n @query(\".expandable-body\") private _expandableBody!: HTMLElement;\n\n /** @internal */\n @query(\"sgds-checkbox\") private _checkboxEl!: SgdsCheckbox;\n\n @state() private _isHeaderRow = false;\n private _cellSlotNames = new WeakMap<SgdsDataTableCell | SgdsDataTableHead, string>();\n private _lightDomObserver?: MutationObserver;\n\n /** The checkbox rendered inside this row, if `showCheckbox` is true. */\n get checkbox(): SgdsCheckbox | null {\n return this._checkboxEl ?? null;\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._lightDomObserver = new MutationObserver(() => this._handleLightDomChange());\n this._lightDomObserver.observe(this, { childList: true });\n this._handleLightDomChange();\n }\n\n disconnectedCallback() {\n this._lightDomObserver?.disconnect();\n super.disconnectedCallback();\n }\n\n firstUpdated() {\n if (this._expandableBody) {\n this._expandableBody.hidden = !this.open;\n }\n }\n\n @watch(\"open\", { waitUntilFirstUpdate: true })\n async handleExpandedChange() {\n if (this.open) {\n const sgdsShow = this.emit(\"sgds-show\", { cancelable: true });\n if (sgdsShow.defaultPrevented) {\n this.open = false;\n return;\n }\n await stopAnimations(this._expandableBody);\n this._expandableBody.hidden = false;\n const { keyframes, options } = getAnimation(this, \"row.expand.show\");\n await animateTo(\n this._expandableBody,\n shimKeyframesHeightAuto(keyframes, this._expandableBody.scrollHeight),\n options\n );\n this.emit(\"sgds-after-show\");\n } else {\n const sgdsHide = this.emit(\"sgds-hide\", { cancelable: true });\n if (sgdsHide.defaultPrevented) {\n this.open = true;\n return;\n }\n await stopAnimations(this._expandableBody);\n const { keyframes, options } = getAnimation(this, \"row.expand.hide\");\n await animateTo(\n this._expandableBody,\n shimKeyframesHeightAuto(keyframes, this._expandableBody.scrollHeight),\n options\n );\n this._expandableBody.hidden = true;\n this.emit(\"sgds-after-hide\");\n }\n }\n\n @watch(\"checked\")\n async handleCheckedChange() {\n if (this.checked) {\n this.emit(\"i-sgds-change\", { detail: { checked: true } });\n }\n }\n\n /** Opens the expandable content area. */\n public async show() {\n if (this.open) return;\n this.open = true;\n return waitForEvent(this, \"sgds-after-show\");\n }\n\n /** Closes the expandable content area. */\n public async hide() {\n if (!this.open) return;\n this.open = false;\n return waitForEvent(this, \"sgds-after-hide\");\n }\n\n /** @internal — returns visible text content for a body cell by visual column index. */\n public getCellText(columnIndex: number) {\n const cells = this._getCells().filter(cell => cell instanceof SgdsDataTableCell) as SgdsDataTableCell[];\n const cell = cells[columnIndex];\n if (!cell) return \"\";\n return (cell.textContent ?? \"\").trim();\n }\n\n private _getCells() {\n return Array.from(this.children).filter(\n child => child instanceof SgdsDataTableCell || child instanceof SgdsDataTableHead\n ) as Array<SgdsDataTableCell | SgdsDataTableHead>;\n }\n\n private _syncCellSlots(cells: Array<SgdsDataTableCell | SgdsDataTableHead>) {\n cells.forEach(cell => {\n const index = cells.indexOf(cell);\n const slotName = `cell-${index}`;\n this._cellSlotNames.set(cell, slotName);\n if (cell.getAttribute(\"slot\") !== slotName) {\n cell.setAttribute(\"slot\", slotName);\n }\n });\n }\n\n private _handleLightDomChange() {\n const cells = this._getCells();\n this._syncCellSlots(cells);\n this._isHeaderRow = cells.some(cell => cell instanceof SgdsDataTableHead);\n this.requestUpdate();\n }\n\n private _onCheckboxChange(e: CustomEvent) {\n this.emit(\"i-sgds-change\", { detail: { checked: (e.target as SgdsCheckbox).checked } });\n }\n\n private _toggleExpand() {\n this.open ? this.hide() : this.show();\n }\n\n private _onExpandKeyDown(e: KeyboardEvent) {\n if (e.key !== \"Enter\") return;\n e.preventDefault();\n this._toggleExpand();\n }\n\n private _onSortKeyDown(e: KeyboardEvent, header: SgdsDataTableHead) {\n if (e.key !== \"Enter\") return;\n e.preventDefault();\n header.handleSortClick();\n }\n\n private _renderCell(el: SgdsDataTableCell | SgdsDataTableHead, columnIndex: number) {\n const slotName = this._cellSlotNames.get(el);\n\n if (el instanceof SgdsDataTableHead) {\n return html`<th\n width=${ifDefined(el.width)}\n colspan=${ifDefined(el.colspan)}\n rowspan=${ifDefined(el.rowspan)}\n aria-sort=${ifDefined(el.ariasort)}\n scope=\"col\"\n tabindex=${ifDefined(el.sorting ? \"0\" : undefined)}\n ?data-sorting=${el.sorting}\n @click=${el.sorting ? () => el.handleSortClick() : nothing}\n @keydown=${el.sorting ? (e: KeyboardEvent) => this._onSortKeyDown(e, el) : nothing}\n >\n <div class=\"data-table-head ${el.textAlign === \"right\" ? \"align-right\" : \"align-left\"}\">\n ${slotName ? html`<slot name=${slotName}></slot>` : nothing}\n ${el.sorting\n ? html`\n <button\n type=\"button\"\n class=\"sort-button ${el.ariasort === \"none\" ? \"\" : \"active\"}\"\n aria-label=${el.ariasort === \"descending\" ? \"Sort descending\" : \"Sort ascending\"}\n ?disabled=${!this.hasDataRows}\n >\n <sgds-icon\n class=\"sort-icon\"\n name=${el.ariasort === \"descending\" ? \"sort-descending\" : \"sort-ascending\"}\n size=\"sm\"\n ></sgds-icon>\n </button>\n `\n : nothing}\n </div>\n </th>`;\n }\n\n const cellAlignment = this.columnAlignments[columnIndex] ?? \"left\";\n return html`<td colspan=${ifDefined(el.colspan)} rowspan=${ifDefined(el.rowspan)}>\n <div class=\"data-table-cell ${cellAlignment === \"right\" ? \"align-right\" : \"align-left\"}\">\n ${slotName ? html`<slot name=${slotName}></slot>` : nothing}\n </div>\n </td>`;\n }\n\n private _renderExpandCell() {\n if (this._isHeaderRow) {\n return html`<th class=\"control-cell\" scope=\"col\"></th>`;\n }\n\n return html`<td class=\"control-cell\" @click=${this._toggleExpand} @keydown=${this._onExpandKeyDown} tabindex=\"0\">\n <div class=\"data-table-cell expand-cell\">\n <sgds-icon name=${this.open ? \"chevron-up\" : \"chevron-down\"} size=\"md\"></sgds-icon>\n </div>\n </td>`;\n }\n\n private _renderExpandPlaceholder() {\n return this._isHeaderRow ? html`<th class=\"control-cell\" scope=\"col\"></th>` : html`<td class=\"control-cell\"></td>`;\n }\n\n private _renderCheckboxCell() {\n return this._isHeaderRow\n ? html`<th class=\"control-cell\" scope=\"col\">\n <div class=\"data-table-cell checkbox-cell\">\n <sgds-checkbox .checked=${this.checked} @sgds-change=${this._onCheckboxChange}></sgds-checkbox>\n </div>\n </th>`\n : html`<td class=\"control-cell\">\n <div class=\"data-table-cell checkbox-cell\">\n <sgds-checkbox .checked=${this.checked} @sgds-change=${this._onCheckboxChange}></sgds-checkbox>\n </div>\n </td>`;\n }\n\n render() {\n const cells = this._getCells();\n const totalCols = cells.length + (this.showCheckbox ? 1 : 0) + (this.expand || this.showExpandPlaceholder ? 1 : 0);\n const rowPart = this._isHeaderRow ? \"row row-header\" : \"row row-body\";\n\n return html`\n <tr part=${rowPart} ?data-header-row=${this._isHeaderRow} class=${this.open ? \"active\" : \"\"}>\n ${this.expand\n ? this._renderExpandCell()\n : this.showExpandPlaceholder\n ? this._renderExpandPlaceholder()\n : nothing}\n ${this.showCheckbox ? this._renderCheckboxCell() : nothing}\n ${(() => {\n let visualColumnIndex = 0;\n return cells.map(el => {\n const renderedCell = this._renderCell(el, visualColumnIndex);\n const span = Number(el.colspan) > 0 ? Number(el.colspan) : 1;\n visualColumnIndex += span;\n return renderedCell;\n });\n })()}\n </tr>\n\n ${this.expand\n ? html`\n <tr class=\"expandable-row\">\n <td colspan=${totalCols} class=\"expandable-td\">\n <div class=\"expandable-body\">\n <div class=\"expandable-content\">\n <slot name=\"content\"></slot>\n </div>\n </div>\n </td>\n </tr>\n `\n : nothing}\n `;\n }\n}\n\nsetDefaultAnimation(\"row.expand.show\", {\n keyframes: [\n { height: \"0\", opacity: \"0\" },\n { height: \"auto\", opacity: \"1\" }\n ],\n options: { duration: 250, easing: \"ease-in-out\" }\n});\n\nsetDefaultAnimation(\"row.expand.hide\", {\n keyframes: [\n { height: \"auto\", opacity: \"1\" },\n { height: \"0\", opacity: \"0\" }\n ],\n options: { duration: 250, easing: \"ease-in-out\" }\n});\n\nexport default SgdsDataTableRow;\n"],"names":["tableRowStyle"],"mappings":"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"}
1
+ {"version":3,"file":"sgds-data-table-row.js","sources":["../../../../src/components/DataTable/sgds-data-table-row.ts"],"sourcesContent":["import { html, nothing } from \"lit\";\nimport { property, query, state } from \"lit/decorators.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { SgdsCheckbox } from \"../Checkbox/sgds-checkbox\";\nimport { animateTo, shimKeyframesHeightAuto, stopAnimations } from \"../../utils/animate\";\nimport { getAnimation, setDefaultAnimation } from \"../../utils/animation-registry\";\nimport { waitForEvent } from \"../../utils/event\";\nimport { watch } from \"../../utils/watch\";\nimport tableRowStyle from \"./data-table.css\";\nimport SgdsDataTableCell from \"./sgds-data-table-cell\";\nimport SgdsDataTableHead from \"./sgds-data-table-head\";\nimport { SgdsIcon } from \"../Icon/sgds-icon\";\n\n/**\n * @summary A data table row. Set `expand` to enable an expandable content area beneath\n * the row, then place detail content in the `content` slot.\n *\n * @slot default - Insert `sgds-data-table-cell` or `sgds-data-table-head` elements.\n * @slot content - Content shown in the animated expand area beneath the row.\n *\n * @event sgds-show - Emitted when the expandable row begins to open.\n * @event sgds-after-show - Emitted after the expandable row open animation completes.\n * @event sgds-hide - Emitted when the expandable row begins to close.\n * @event sgds-after-hide - Emitted after the expandable row close animation completes.\n */\nexport class SgdsDataTableRow extends SgdsElement {\n static styles = [...SgdsElement.styles, tableRowStyle];\n\n /** @internal */\n static dependencies = {\n \"sgds-checkbox\": SgdsCheckbox,\n \"sgds-data-table-cell\": SgdsDataTableCell,\n \"sgds-data-table-head\": SgdsDataTableHead,\n \"sgds-icon\": SgdsIcon\n };\n\n /** Arbitrary data associated with this row. Returned in event detail on row selection. */\n @property({ type: Object, reflect: true }) rowData: Record<string, unknown> = {};\n\n /** When true, the row has an expandable content area toggled by a chevron. */\n @property({ type: Boolean, reflect: true }) expand = false;\n\n /** When true, the expandable content area is open. */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /** When true, the row is checked. */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** @internal — set by `sgds-data-table` to show a checkbox cell on this row. */\n @property({ type: Boolean }) showCheckbox = false;\n\n /** @internal — set by `sgds-data-table` when at least one sibling row is expandable. */\n @property({ type: Boolean }) showExpandPlaceholder = false;\n\n /** @internal — per-column alignment injected by `sgds-data-table` from header cells. */\n @property({ attribute: false }) columnAlignments: Array<\"left\" | \"right\"> = [];\n /** @internal — set by `sgds-data-table` to indicate whether body rows exist. */\n @property({ type: Boolean }) hasDataRows = false;\n\n /** @internal */\n @query(\".expandable-body\") private _expandableBody!: HTMLElement;\n\n /** @internal */\n @query(\"sgds-checkbox\") private _checkboxEl!: SgdsCheckbox;\n\n @state() private _isHeaderRow = false;\n private _cellSlotNames = new WeakMap<SgdsDataTableCell | SgdsDataTableHead, string>();\n private _lightDomObserver?: MutationObserver;\n\n /** The checkbox rendered inside this row, if `showCheckbox` is true. */\n get checkbox(): SgdsCheckbox | null {\n return this._checkboxEl ?? null;\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._lightDomObserver = new MutationObserver(() => this._handleLightDomChange());\n this._lightDomObserver.observe(this, { childList: true });\n this._handleLightDomChange();\n }\n\n disconnectedCallback() {\n this._lightDomObserver?.disconnect();\n super.disconnectedCallback();\n }\n\n firstUpdated() {\n if (this._expandableBody) {\n this._expandableBody.hidden = !this.open;\n }\n }\n\n @watch(\"open\", { waitUntilFirstUpdate: true })\n async handleExpandedChange() {\n if (this.open) {\n const sgdsShow = this.emit(\"sgds-show\", { cancelable: true });\n if (sgdsShow.defaultPrevented) {\n this.open = false;\n return;\n }\n await stopAnimations(this._expandableBody);\n this._expandableBody.hidden = false;\n const { keyframes, options } = getAnimation(this, \"row.expand.show\");\n await animateTo(\n this._expandableBody,\n shimKeyframesHeightAuto(keyframes, this._expandableBody.scrollHeight),\n options\n );\n this.emit(\"sgds-after-show\");\n } else {\n const sgdsHide = this.emit(\"sgds-hide\", { cancelable: true });\n if (sgdsHide.defaultPrevented) {\n this.open = true;\n return;\n }\n await stopAnimations(this._expandableBody);\n const { keyframes, options } = getAnimation(this, \"row.expand.hide\");\n await animateTo(\n this._expandableBody,\n shimKeyframesHeightAuto(keyframes, this._expandableBody.scrollHeight),\n options\n );\n this._expandableBody.hidden = true;\n this.emit(\"sgds-after-hide\");\n }\n }\n\n @watch(\"checked\")\n async handleCheckedChange() {\n if (this.checked) {\n this.emit(\"i-sgds-change\", { detail: { checked: true } });\n }\n }\n\n /** Opens the expandable content area. */\n public async show() {\n if (this.open) return;\n this.open = true;\n return waitForEvent(this, \"sgds-after-show\");\n }\n\n /** Closes the expandable content area. */\n public async hide() {\n if (!this.open) return;\n this.open = false;\n return waitForEvent(this, \"sgds-after-hide\");\n }\n\n /** @internal — returns visible text content for a body cell by visual column index. */\n public getCellText(columnIndex: number) {\n const cells = this._getCells().filter(cell => cell instanceof SgdsDataTableCell) as SgdsDataTableCell[];\n const cell = cells[columnIndex];\n if (!cell) return \"\";\n return (cell.textContent ?? \"\").trim();\n }\n\n private _getCells() {\n return Array.from(this.children).filter(\n child => child instanceof SgdsDataTableCell || child instanceof SgdsDataTableHead\n ) as Array<SgdsDataTableCell | SgdsDataTableHead>;\n }\n\n private _syncCellSlots(cells: Array<SgdsDataTableCell | SgdsDataTableHead>) {\n cells.forEach(cell => {\n const index = cells.indexOf(cell);\n const slotName = `cell-${index}`;\n this._cellSlotNames.set(cell, slotName);\n if (cell.getAttribute(\"slot\") !== slotName) {\n cell.setAttribute(\"slot\", slotName);\n }\n });\n }\n\n private _handleLightDomChange() {\n const cells = this._getCells();\n this._syncCellSlots(cells);\n this._isHeaderRow = cells.some(cell => cell instanceof SgdsDataTableHead);\n this.requestUpdate();\n }\n\n private _onCheckboxChange(e: CustomEvent) {\n this.emit(\"i-sgds-change\", { detail: { checked: (e.target as SgdsCheckbox).checked } });\n }\n\n private _toggleExpand() {\n this.open ? this.hide() : this.show();\n }\n\n private _onExpandKeyDown(e: KeyboardEvent) {\n if (e.key !== \"Enter\") return;\n e.preventDefault();\n this._toggleExpand();\n }\n\n private _onSortKeyDown(e: KeyboardEvent, header: SgdsDataTableHead) {\n if (e.key !== \"Enter\") return;\n e.preventDefault();\n header.handleSortClick();\n }\n\n private _renderCell(el: SgdsDataTableCell | SgdsDataTableHead, columnIndex: number) {\n const slotName = this._cellSlotNames.get(el);\n\n if (el instanceof SgdsDataTableHead) {\n return html`<th\n width=${ifDefined(el.width)}\n colspan=${ifDefined(el.colSpan)}\n rowspan=${ifDefined(el.rowSpan)}\n aria-sort=${ifDefined(el.sortDirection)}\n scope=\"col\"\n tabindex=${ifDefined(el.sorting ? \"0\" : undefined)}\n ?data-sorting=${el.sorting}\n @click=${el.sorting ? () => el.handleSortClick() : nothing}\n @keydown=${el.sorting ? (e: KeyboardEvent) => this._onSortKeyDown(e, el) : nothing}\n >\n <div class=\"data-table-head ${el.textAlign === \"right\" ? \"align-right\" : \"align-left\"}\">\n ${slotName ? html`<slot name=${slotName}></slot>` : nothing}\n ${el.sorting\n ? html`\n <button\n type=\"button\"\n class=\"sort-button ${el.sortDirection === \"none\" ? \"\" : \"active\"}\"\n aria-label=${el.sortDirection === \"descending\" ? \"Sort descending\" : \"Sort ascending\"}\n ?disabled=${!this.hasDataRows}\n >\n <sgds-icon\n class=\"sort-icon\"\n name=${el.sortDirection === \"descending\" ? \"sort-descending\" : \"sort-ascending\"}\n size=\"sm\"\n ></sgds-icon>\n </button>\n `\n : nothing}\n </div>\n </th>`;\n }\n\n const cellAlignment = this.columnAlignments[columnIndex] ?? \"left\";\n return html`<td colspan=${ifDefined(el.colSpan)} rowspan=${ifDefined(el.rowSpan)}>\n <div class=\"data-table-cell ${cellAlignment === \"right\" ? \"align-right\" : \"align-left\"}\">\n ${slotName ? html`<slot name=${slotName}></slot>` : nothing}\n </div>\n </td>`;\n }\n\n private _renderExpandCell() {\n if (this._isHeaderRow) {\n return html`<th class=\"control-cell\" scope=\"col\"></th>`;\n }\n\n return html`<td class=\"control-cell\" @click=${this._toggleExpand} @keydown=${this._onExpandKeyDown} tabindex=\"0\">\n <div class=\"data-table-cell expand-cell\">\n <sgds-icon name=${this.open ? \"chevron-up\" : \"chevron-down\"} size=\"md\"></sgds-icon>\n </div>\n </td>`;\n }\n\n private _renderExpandPlaceholder() {\n return this._isHeaderRow ? html`<th class=\"control-cell\" scope=\"col\"></th>` : html`<td class=\"control-cell\"></td>`;\n }\n\n private _renderCheckboxCell() {\n return this._isHeaderRow\n ? html`<th class=\"control-cell\" scope=\"col\">\n <div class=\"data-table-cell checkbox-cell\">\n <sgds-checkbox .checked=${this.checked} @sgds-change=${this._onCheckboxChange}></sgds-checkbox>\n </div>\n </th>`\n : html`<td class=\"control-cell\">\n <div class=\"data-table-cell checkbox-cell\">\n <sgds-checkbox .checked=${this.checked} @sgds-change=${this._onCheckboxChange}></sgds-checkbox>\n </div>\n </td>`;\n }\n\n render() {\n const cells = this._getCells();\n const totalCols = cells.length + (this.showCheckbox ? 1 : 0) + (this.expand || this.showExpandPlaceholder ? 1 : 0);\n const rowPart = this._isHeaderRow ? \"row row-header\" : \"row row-body\";\n\n return html`\n <tr part=${rowPart} ?data-header-row=${this._isHeaderRow} class=${this.open ? \"active\" : \"\"}>\n ${this.expand\n ? this._renderExpandCell()\n : this.showExpandPlaceholder\n ? this._renderExpandPlaceholder()\n : nothing}\n ${this.showCheckbox ? this._renderCheckboxCell() : nothing}\n ${(() => {\n let visualColumnIndex = 0;\n return cells.map(el => {\n const renderedCell = this._renderCell(el, visualColumnIndex);\n const span = Number(el.colSpan) > 0 ? Number(el.colSpan) : 1;\n visualColumnIndex += span;\n return renderedCell;\n });\n })()}\n </tr>\n\n ${this.expand\n ? html`\n <tr class=\"expandable-row\">\n <td colspan=${totalCols} class=\"expandable-td\">\n <div class=\"expandable-body\">\n <div class=\"expandable-content\">\n <slot name=\"content\"></slot>\n </div>\n </div>\n </td>\n </tr>\n `\n : nothing}\n `;\n }\n}\n\nsetDefaultAnimation(\"row.expand.show\", {\n keyframes: [\n { height: \"0\", opacity: \"0\" },\n { height: \"auto\", opacity: \"1\" }\n ],\n options: { duration: 250, easing: \"ease-in-out\" }\n});\n\nsetDefaultAnimation(\"row.expand.hide\", {\n keyframes: [\n { height: \"auto\", opacity: \"1\" },\n { height: \"0\", opacity: \"0\" }\n ],\n options: { duration: 250, easing: \"ease-in-out\" }\n});\n\nexport default SgdsDataTableRow;\n"],"names":["tableRowStyle"],"mappings":"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"}