@govtechsg/sgds-web-component 3.2.0-rc.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/base/button.js +1 -1
  2. package/base/card.js +1 -1
  3. package/components/Badge/index.umd.js +63 -44
  4. package/components/Badge/index.umd.js.map +1 -1
  5. package/components/Badge/sgds-badge.d.ts +3 -1
  6. package/components/Badge/sgds-badge.js +23 -4
  7. package/components/Badge/sgds-badge.js.map +1 -1
  8. package/components/Button/index.umd.js +1 -1
  9. package/components/Card/index.umd.js +53 -12
  10. package/components/Card/index.umd.js.map +1 -1
  11. package/components/Card/sgds-card.js +5 -3
  12. package/components/Card/sgds-card.js.map +1 -1
  13. package/components/ComboBox/index.umd.js +29 -9
  14. package/components/ComboBox/index.umd.js.map +1 -1
  15. package/components/ComboBox/sgds-combo-box.js +3 -2
  16. package/components/ComboBox/sgds-combo-box.js.map +1 -1
  17. package/components/Datepicker/index.umd.js +1 -1
  18. package/components/Drawer/index.umd.js +2 -2
  19. package/components/Drawer/index.umd.js.map +1 -1
  20. package/components/FileUpload/index.umd.js +1 -1
  21. package/components/IconButton/index.umd.js +1 -1
  22. package/components/Mainnav/index.umd.js +3 -3
  23. package/components/Mainnav/index.umd.js.map +1 -1
  24. package/components/Mainnav/sgds-mainnav-item.d.ts +1 -1
  25. package/components/Mainnav/sgds-mainnav-item.js +2 -2
  26. package/components/Mainnav/sgds-mainnav-item.js.map +1 -1
  27. package/components/Modal/index.umd.js +22 -17
  28. package/components/Modal/index.umd.js.map +1 -1
  29. package/components/Modal/modal.js +1 -1
  30. package/components/Modal/sgds-modal.js +17 -14
  31. package/components/Modal/sgds-modal.js.map +1 -1
  32. package/components/Pagination/index.umd.js +1 -1
  33. package/components/QuantityToggle/index.umd.js +1 -1
  34. package/components/Subnav/index.umd.js +79 -87
  35. package/components/Subnav/index.umd.js.map +1 -1
  36. package/components/Subnav/sgds-subnav-item.d.ts +1 -1
  37. package/components/Subnav/sgds-subnav-item.js +2 -2
  38. package/components/Subnav/sgds-subnav-item.js.map +1 -1
  39. package/components/Subnav/sgds-subnav.d.ts +5 -4
  40. package/components/Subnav/sgds-subnav.js +76 -85
  41. package/components/Subnav/sgds-subnav.js.map +1 -1
  42. package/components/Subnav/subnav-item.js +1 -1
  43. package/components/Subnav/subnav.js +1 -1
  44. package/components/Table/index.d.ts +7 -1
  45. package/components/Table/index.js +6 -0
  46. package/components/Table/index.js.map +1 -1
  47. package/components/Table/index.umd.js +182 -16
  48. package/components/Table/index.umd.js.map +1 -1
  49. package/components/Table/sgds-table-cell.d.ts +13 -0
  50. package/components/Table/sgds-table-cell.js +22 -0
  51. package/components/Table/sgds-table-cell.js.map +1 -0
  52. package/components/Table/sgds-table-head.d.ts +18 -0
  53. package/components/Table/sgds-table-head.js +43 -0
  54. package/components/Table/sgds-table-head.js.map +1 -0
  55. package/components/Table/sgds-table-row.d.ts +13 -0
  56. package/components/Table/sgds-table-row.js +22 -0
  57. package/components/Table/sgds-table-row.js.map +1 -0
  58. package/components/Table/sgds-table.d.ts +5 -2
  59. package/components/Table/sgds-table.js +18 -13
  60. package/components/Table/sgds-table.js.map +1 -1
  61. package/components/Table/table-cell.js +6 -0
  62. package/components/Table/table-cell.js.map +1 -0
  63. package/components/Table/table-head.js +6 -0
  64. package/components/Table/table-head.js.map +1 -0
  65. package/components/Table/table-row.js +6 -0
  66. package/components/Table/table-row.js.map +1 -0
  67. package/components/Table/table.js +1 -1
  68. package/components/Toast/index.umd.js +1 -1
  69. package/components/Toast/toast.js +1 -1
  70. package/components/index.umd.js +146 -128
  71. package/components/index.umd.js.map +1 -1
  72. package/index.umd.js +347 -254
  73. package/index.umd.js.map +1 -1
  74. package/package.json +1 -1
  75. package/react/badge/index.cjs.js +3 -1
  76. package/react/badge/index.cjs.js.map +1 -1
  77. package/react/badge/index.js +3 -1
  78. package/react/badge/index.js.map +1 -1
  79. package/react/base/button.cjs.js +1 -1
  80. package/react/base/button.js +1 -1
  81. package/react/base/card.cjs.js +1 -1
  82. package/react/base/card.js +1 -1
  83. package/react/components/Badge/sgds-badge.cjs.js +23 -4
  84. package/react/components/Badge/sgds-badge.cjs.js.map +1 -1
  85. package/react/components/Badge/sgds-badge.js +23 -4
  86. package/react/components/Badge/sgds-badge.js.map +1 -1
  87. package/react/components/Card/sgds-card.cjs.js +5 -3
  88. package/react/components/Card/sgds-card.cjs.js.map +1 -1
  89. package/react/components/Card/sgds-card.js +5 -3
  90. package/react/components/Card/sgds-card.js.map +1 -1
  91. package/react/components/ComboBox/sgds-combo-box.cjs.js +3 -2
  92. package/react/components/ComboBox/sgds-combo-box.cjs.js.map +1 -1
  93. package/react/components/ComboBox/sgds-combo-box.js +3 -2
  94. package/react/components/ComboBox/sgds-combo-box.js.map +1 -1
  95. package/react/components/Mainnav/sgds-mainnav-item.cjs.js +2 -2
  96. package/react/components/Mainnav/sgds-mainnav-item.cjs.js.map +1 -1
  97. package/react/components/Mainnav/sgds-mainnav-item.js +2 -2
  98. package/react/components/Mainnav/sgds-mainnav-item.js.map +1 -1
  99. package/react/components/Modal/modal.cjs.js +1 -1
  100. package/react/components/Modal/modal.js +1 -1
  101. package/react/components/Modal/sgds-modal.cjs.js +17 -14
  102. package/react/components/Modal/sgds-modal.cjs.js.map +1 -1
  103. package/react/components/Modal/sgds-modal.js +17 -14
  104. package/react/components/Modal/sgds-modal.js.map +1 -1
  105. package/react/components/Subnav/sgds-subnav-item.cjs.js +2 -2
  106. package/react/components/Subnav/sgds-subnav-item.cjs.js.map +1 -1
  107. package/react/components/Subnav/sgds-subnav-item.js +2 -2
  108. package/react/components/Subnav/sgds-subnav-item.js.map +1 -1
  109. package/react/components/Subnav/sgds-subnav.cjs.js +74 -83
  110. package/react/components/Subnav/sgds-subnav.cjs.js.map +1 -1
  111. package/react/components/Subnav/sgds-subnav.js +76 -85
  112. package/react/components/Subnav/sgds-subnav.js.map +1 -1
  113. package/react/components/Subnav/subnav-item.cjs.js +1 -1
  114. package/react/components/Subnav/subnav-item.js +1 -1
  115. package/react/components/Subnav/subnav.cjs.js +1 -1
  116. package/react/components/Subnav/subnav.js +1 -1
  117. package/react/components/Table/sgds-table-cell.cjs.js +28 -0
  118. package/react/components/Table/sgds-table-cell.cjs.js.map +1 -0
  119. package/react/components/Table/sgds-table-cell.js +23 -0
  120. package/react/components/Table/sgds-table-cell.js.map +1 -0
  121. package/react/components/Table/sgds-table-head.cjs.js +49 -0
  122. package/react/components/Table/sgds-table-head.cjs.js.map +1 -0
  123. package/react/components/Table/sgds-table-head.js +44 -0
  124. package/react/components/Table/sgds-table-head.js.map +1 -0
  125. package/react/components/Table/sgds-table-row.cjs.js +28 -0
  126. package/react/components/Table/sgds-table-row.cjs.js.map +1 -0
  127. package/react/components/Table/sgds-table-row.js +23 -0
  128. package/react/components/Table/sgds-table-row.js.map +1 -0
  129. package/react/components/Table/sgds-table.cjs.js +17 -12
  130. package/react/components/Table/sgds-table.cjs.js.map +1 -1
  131. package/react/components/Table/sgds-table.js +18 -13
  132. package/react/components/Table/sgds-table.js.map +1 -1
  133. package/react/components/Table/table-cell.cjs.js +11 -0
  134. package/react/components/Table/table-cell.cjs.js.map +1 -0
  135. package/react/components/Table/table-cell.js +7 -0
  136. package/react/components/Table/table-cell.js.map +1 -0
  137. package/react/components/Table/table-head.cjs.js +11 -0
  138. package/react/components/Table/table-head.cjs.js.map +1 -0
  139. package/react/components/Table/table-head.js +7 -0
  140. package/react/components/Table/table-head.js.map +1 -0
  141. package/react/components/Table/table-row.cjs.js +11 -0
  142. package/react/components/Table/table-row.cjs.js.map +1 -0
  143. package/react/components/Table/table-row.js +7 -0
  144. package/react/components/Table/table-row.js.map +1 -0
  145. package/react/components/Table/table.cjs.js +1 -1
  146. package/react/components/Table/table.js +1 -1
  147. package/react/components/Toast/toast.cjs.js +1 -1
  148. package/react/components/Toast/toast.js +1 -1
  149. package/react/index.cjs.js +26 -20
  150. package/react/index.cjs.js.map +1 -1
  151. package/react/index.d.ts +4 -1
  152. package/react/index.js +4 -1
  153. package/react/index.js.map +1 -1
  154. package/react/table-cell/index.cjs.js +40 -0
  155. package/react/table-cell/index.cjs.js.map +1 -0
  156. package/react/table-cell/index.d.ts +2 -0
  157. package/react/table-cell/index.js +16 -0
  158. package/react/table-cell/index.js.map +1 -0
  159. package/react/table-head/index.cjs.js +40 -0
  160. package/react/table-head/index.cjs.js.map +1 -0
  161. package/react/table-head/index.d.ts +2 -0
  162. package/react/table-head/index.js +16 -0
  163. package/react/table-head/index.js.map +1 -0
  164. package/react/table-row/index.cjs.js +40 -0
  165. package/react/table-row/index.cjs.js.map +1 -0
  166. package/react/table-row/index.d.ts +2 -0
  167. package/react/table-row/index.js +16 -0
  168. package/react/table-row/index.js.map +1 -0
  169. package/react/utils/breakpoints.cjs.js.map +1 -1
  170. package/react/utils/breakpoints.js.map +1 -1
  171. package/react/utils/scroll.cjs.js +2 -2
  172. package/react/utils/scroll.cjs.js.map +1 -1
  173. package/react/utils/scroll.js +2 -2
  174. package/react/utils/scroll.js.map +1 -1
  175. package/themes/root.css +6 -0
  176. package/utils/breakpoints.d.ts +1 -0
  177. package/utils/breakpoints.js.map +1 -1
  178. package/utils/scroll.js +2 -2
  179. package/utils/scroll.js.map +1 -1
@@ -0,0 +1,23 @@
1
+ 'use client';
2
+ import { html } from 'lit';
3
+ import SgdsElement from '../../base/sgds-element.js';
4
+ import css_248z from './table-row.js';
5
+
6
+ /**
7
+ * @summary Table row organizes and groups table cells or header cells into a single horizontal line within the table.
8
+ *
9
+ * @slot - Insert any table cell or header elements to be displayed as part of this row.
10
+ */
11
+ class SgdsTableRow extends SgdsElement {
12
+ connectedCallback() {
13
+ super.connectedCallback();
14
+ this.setAttribute("role", "row");
15
+ }
16
+ render() {
17
+ return html `<slot class="table-row"></slot>`;
18
+ }
19
+ }
20
+ SgdsTableRow.styles = [...SgdsElement.styles, css_248z];
21
+
22
+ export { SgdsTableRow, SgdsTableRow as default };
23
+ //# sourceMappingURL=sgds-table-row.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sgds-table-row.js","sources":["../../../../src/components/Table/sgds-table-row.ts"],"sourcesContent":["import { html } from \"lit\";\nimport SgdsElement from \"../../base/sgds-element\";\n\nimport tableRowStyle from \"./table-row.css\";\n\nexport type HeaderPosition = \"horizontal\" | \"vertical\" | \"both\";\n\n/**\n * @summary Table row organizes and groups table cells or header cells into a single horizontal line within the table.\n *\n * @slot - Insert any table cell or header elements to be displayed as part of this row.\n */\nexport class SgdsTableRow extends SgdsElement {\n static styles = [...SgdsElement.styles, tableRowStyle];\n\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute(\"role\", \"row\");\n }\n\n render() {\n return html`<slot class=\"table-row\"></slot>`;\n }\n}\n\nexport default SgdsTableRow;\n"],"names":["tableRowStyle"],"mappings":";;;;;AAOA;;;;AAIG;AACG,MAAO,YAAa,SAAQ,WAAW,CAAA;IAG3C,iBAAiB,GAAA;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;AAC1B,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;KAClC;IAED,MAAM,GAAA;QACJ,OAAO,IAAI,CAAA,CAAA,+BAAA,CAAiC,CAAC;KAC9C;;AATM,YAAM,CAAA,MAAA,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAEA,QAAa,CAAC;;;;"}
@@ -9,9 +9,13 @@ var decorators_js = require('lit/decorators.js');
9
9
  var classMap_js = require('lit/directives/class-map.js');
10
10
  var sgdsElement = require('../../base/sgds-element.cjs.js');
11
11
  var table = require('./table.cjs.js');
12
+ var slot = require('../../utils/slot.cjs.js');
12
13
 
13
14
  /**
14
- * @summary The use of a table is to organise a collections of data into readable rows
15
+ * @summary Table is used for displaying collections of data in organized rows and columns.
16
+ * It supports two rendering methods: supply an array of data for automatic table generation, or use the slot to insert custom table elements for full structural control.
17
+ *
18
+ * @slot - Insert custom table elements (such as rows, headers, or cells) to define the table structure manually.
15
19
  */
16
20
  class SgdsTable extends sgdsElement["default"] {
17
21
  constructor() {
@@ -33,18 +37,17 @@ class SgdsTable extends sgdsElement["default"] {
33
37
  */
34
38
  this.headerPosition = "horizontal";
35
39
  /** @internal */
36
- this.originalTableData = [];
40
+ this.hasSlotController = new slot.HasSlotController(this, "[default]");
37
41
  }
38
42
  connectedCallback() {
39
43
  super.connectedCallback();
40
- this.originalTableData = [...this.tableData];
41
44
  }
42
45
  _renderTable() {
43
46
  if (this.headerPosition === "horizontal") {
44
47
  return lit.html `
45
48
  <thead>
46
49
  <tr>
47
- ${this.rowHeader.map((header, index) => lit.html ` <th>${header}</th> `)}
50
+ ${this.rowHeader.map((header) => lit.html ` <th>${header}</th> `)}
48
51
  </tr>
49
52
  </thead>
50
53
  <tbody>
@@ -61,7 +64,7 @@ class SgdsTable extends sgdsElement["default"] {
61
64
  <thead>
62
65
  <tr>
63
66
  <th></th>
64
- ${this.rowHeader.map((header, index) => lit.html ` <th>${header}</th> `)}
67
+ ${this.rowHeader.map((header) => lit.html ` <th>${header}</th> `)}
65
68
  </tr>
66
69
  </thead>
67
70
  <tbody>
@@ -87,6 +90,7 @@ class SgdsTable extends sgdsElement["default"] {
87
90
  }
88
91
  }
89
92
  render() {
93
+ const hasDefaultSlot = this.hasSlotController.test("[default]");
90
94
  return lit.html `
91
95
  <div
92
96
  class=${classMap_js.classMap({
@@ -98,9 +102,13 @@ class SgdsTable extends sgdsElement["default"] {
98
102
  })}
99
103
  tabindex="0"
100
104
  >
101
- <table class="table">
102
- ${this._renderTable()}
103
- </table>
105
+ <slot id="table-slot" class="table"></slot>
106
+
107
+ ${!hasDefaultSlot
108
+ ? lit.html `<table class="table">
109
+ ${this._renderTable()}
110
+ </table>`
111
+ : ""}
104
112
  </div>
105
113
  `;
106
114
  }
@@ -119,11 +127,8 @@ tslib.__decorate([
119
127
  decorators_js.property({ type: Array })
120
128
  ], SgdsTable.prototype, "tableData", void 0);
121
129
  tslib.__decorate([
122
- decorators_js.property({ type: String, reflect: true })
130
+ decorators_js.property({ type: String })
123
131
  ], SgdsTable.prototype, "headerPosition", void 0);
124
- tslib.__decorate([
125
- decorators_js.state()
126
- ], SgdsTable.prototype, "originalTableData", void 0);
127
132
 
128
133
  exports.SgdsTable = SgdsTable;
129
134
  exports["default"] = SgdsTable;
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-table.cjs.js","sources":["../../../../src/components/Table/sgds-table.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport tableStyle from \"./table.css\";\n\nexport type HeaderPosition = \"horizontal\" | \"vertical\" | \"both\";\n\n/**\n * @summary The use of a table is to organise a collections of data into readable rows\n */\n\nexport class SgdsTable extends SgdsElement {\n static styles = [...SgdsElement.styles, tableStyle];\n\n /**\n * Use responsive=\"sm\", responsive=\"md\" , responsive=\"lg\", or responsive=\"xl\" as needed to create responsive tables up to a particular breakpoint. From that breakpoint and up, the table will behave normally and not scroll horizontally. Use reponsive=\"always\" to let table be always responsive\n */\n @property({ type: String, reflect: true }) responsive: \"sm\" | \"md\" | \"lg\" | \"xl\" | \"always\";\n\n /**\n * Populate row header cells using Arrays\n */\n @property({ type: Array }) rowHeader: string[] = [];\n\n /**\n * Populate column header cells using Arrays only when <code>headerPosition=\"vertical\"</code> or <code>headerPosition=\"both\"</code>\n */\n @property({ type: Array }) columnHeader: string[] = [];\n\n /**\n * Populate data cells using Arrays\n */\n @property({ type: Array }) tableData: Array<(string | number)[]> = [];\n\n /**\n * Defines the placement of headers in the table (horizontal, vertical, or both)\n */\n @property({ type: String, reflect: true }) headerPosition: HeaderPosition = \"horizontal\";\n\n /** @internal */\n @state() originalTableData: Array<(string | number)[]> = [];\n\n connectedCallback() {\n super.connectedCallback();\n this.originalTableData = [...this.tableData];\n }\n\n private _renderTable() {\n if (this.headerPosition === \"horizontal\") {\n return html`\n <thead>\n <tr>\n ${this.rowHeader.map((header: string, index: number) => html` <th>${header}</th> `)}\n </tr>\n </thead>\n <tbody>\n ${this.tableData.map(\n row => html`\n <tr>\n ${row.map((cell: string) => html`<td>${cell}</td>`)}\n </tr>\n `\n )}\n </tbody>\n `;\n }\n\n if (this.headerPosition === \"both\") {\n return html`\n <thead>\n <tr>\n <th></th>\n ${this.rowHeader.map((header: string, index: number) => html` <th>${header}</th> `)}\n </tr>\n </thead>\n <tbody>\n ${this.tableData.map(\n (row, index) => html`\n <tr>\n <th>${this.columnHeader[index]}</th>\n ${row.map((cell: string) => html`<td>${cell}</td>`)}\n </tr>\n `\n )}\n </tbody>\n `;\n }\n\n if (this.headerPosition === \"vertical\") {\n const flippedTableData = this.tableData[0].map((_, colIndex) => this.tableData.map(row => row[colIndex]));\n\n return html`\n ${flippedTableData.map(\n (row, index) => html`\n <tr>\n <th>${this.columnHeader[index]}</th>\n ${row.map((cell: string) => html`<td>${cell}</td>`)}\n </tr>\n `\n )}\n `;\n }\n }\n\n render() {\n return html`\n <div\n class=${classMap({\n \"table-responsive\": this.responsive === \"always\",\n \"table-responsive-sm\": this.responsive === \"sm\",\n \"table-responsive-md\": this.responsive === \"md\",\n \"table-responsive-lg\": this.responsive === \"lg\",\n \"table-responsive-xl\": this.responsive === \"xl\"\n })}\n tabindex=\"0\"\n >\n <table class=\"table\">\n ${this._renderTable()}\n </table>\n </div>\n `;\n }\n}\n\nexport default SgdsTable;\n"],"names":["SgdsElement","html","classMap","tableStyle","__decorate","property","state"],"mappings":"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"}
1
+ {"version":3,"file":"sgds-table.cjs.js","sources":["../../../../src/components/Table/sgds-table.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\n\nimport tableStyle from \"./table.css\";\nimport { HasSlotController } from \"../../utils/slot\";\n\nexport type HeaderPosition = \"horizontal\" | \"vertical\" | \"both\";\n\n/**\n * @summary Table is used for displaying collections of data in organized rows and columns.\n * It supports two rendering methods: supply an array of data for automatic table generation, or use the slot to insert custom table elements for full structural control.\n *\n * @slot - Insert custom table elements (such as rows, headers, or cells) to define the table structure manually.\n */\n\nexport class SgdsTable extends SgdsElement {\n static styles = [...SgdsElement.styles, tableStyle];\n\n /**\n * Use responsive=\"sm\", responsive=\"md\" , responsive=\"lg\", or responsive=\"xl\" as needed to create responsive tables up to a particular breakpoint. From that breakpoint and up, the table will behave normally and not scroll horizontally. Use reponsive=\"always\" to let table be always responsive\n */\n @property({ type: String, reflect: true }) responsive: \"sm\" | \"md\" | \"lg\" | \"xl\" | \"always\";\n\n /**\n * Populate row header cells using Arrays\n */\n @property({ type: Array }) rowHeader: string[] = [];\n\n /**\n * Populate column header cells using Arrays only when <code>headerPosition=\"vertical\"</code> or <code>headerPosition=\"both\"</code>\n */\n @property({ type: Array }) columnHeader: string[] = [];\n\n /**\n * Populate data cells using Arrays\n */\n @property({ type: Array }) tableData: Array<(string | number)[]> = [];\n\n /**\n * Defines the placement of headers in the table (horizontal, vertical, or both)\n */\n @property({ type: String }) headerPosition: HeaderPosition = \"horizontal\";\n\n /** @internal */\n private readonly hasSlotController = new HasSlotController(this, \"[default]\");\n\n connectedCallback() {\n super.connectedCallback();\n }\n\n private _renderTable() {\n if (this.headerPosition === \"horizontal\") {\n return html`\n <thead>\n <tr>\n ${this.rowHeader.map((header: string) => html` <th>${header}</th> `)}\n </tr>\n </thead>\n <tbody>\n ${this.tableData.map(\n row => html`\n <tr>\n ${row.map((cell: string) => html`<td>${cell}</td>`)}\n </tr>\n `\n )}\n </tbody>\n `;\n }\n\n if (this.headerPosition === \"both\") {\n return html`\n <thead>\n <tr>\n <th></th>\n ${this.rowHeader.map((header: string) => html` <th>${header}</th> `)}\n </tr>\n </thead>\n <tbody>\n ${this.tableData.map(\n (row, index) => html`\n <tr>\n <th>${this.columnHeader[index]}</th>\n ${row.map((cell: string) => html`<td>${cell}</td>`)}\n </tr>\n `\n )}\n </tbody>\n `;\n }\n\n if (this.headerPosition === \"vertical\") {\n const flippedTableData = this.tableData[0].map((_, colIndex) => this.tableData.map(row => row[colIndex]));\n\n return html`\n ${flippedTableData.map(\n (row, index) => html`\n <tr>\n <th>${this.columnHeader[index]}</th>\n ${row.map((cell: string) => html`<td>${cell}</td>`)}\n </tr>\n `\n )}\n `;\n }\n }\n\n render() {\n const hasDefaultSlot = this.hasSlotController.test(\"[default]\");\n\n return html`\n <div\n class=${classMap({\n \"table-responsive\": this.responsive === \"always\",\n \"table-responsive-sm\": this.responsive === \"sm\",\n \"table-responsive-md\": this.responsive === \"md\",\n \"table-responsive-lg\": this.responsive === \"lg\",\n \"table-responsive-xl\": this.responsive === \"xl\"\n })}\n tabindex=\"0\"\n >\n <slot id=\"table-slot\" class=\"table\"></slot>\n\n ${!hasDefaultSlot\n ? html`<table class=\"table\">\n ${this._renderTable()}\n </table>`\n : \"\"}\n </div>\n `;\n }\n}\n\nexport default SgdsTable;\n"],"names":["SgdsElement","HasSlotController","html","classMap","tableStyle","__decorate","property"],"mappings":"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"}
@@ -1,13 +1,17 @@
1
1
  'use client';
2
2
  import { __decorate } from 'tslib';
3
3
  import { html } from 'lit';
4
- import { property, state } from 'lit/decorators.js';
4
+ import { property } from 'lit/decorators.js';
5
5
  import { classMap } from 'lit/directives/class-map.js';
6
6
  import SgdsElement from '../../base/sgds-element.js';
7
7
  import css_248z from './table.js';
8
+ import { HasSlotController } from '../../utils/slot.js';
8
9
 
9
10
  /**
10
- * @summary The use of a table is to organise a collections of data into readable rows
11
+ * @summary Table is used for displaying collections of data in organized rows and columns.
12
+ * It supports two rendering methods: supply an array of data for automatic table generation, or use the slot to insert custom table elements for full structural control.
13
+ *
14
+ * @slot - Insert custom table elements (such as rows, headers, or cells) to define the table structure manually.
11
15
  */
12
16
  class SgdsTable extends SgdsElement {
13
17
  constructor() {
@@ -29,18 +33,17 @@ class SgdsTable extends SgdsElement {
29
33
  */
30
34
  this.headerPosition = "horizontal";
31
35
  /** @internal */
32
- this.originalTableData = [];
36
+ this.hasSlotController = new HasSlotController(this, "[default]");
33
37
  }
34
38
  connectedCallback() {
35
39
  super.connectedCallback();
36
- this.originalTableData = [...this.tableData];
37
40
  }
38
41
  _renderTable() {
39
42
  if (this.headerPosition === "horizontal") {
40
43
  return html `
41
44
  <thead>
42
45
  <tr>
43
- ${this.rowHeader.map((header, index) => html ` <th>${header}</th> `)}
46
+ ${this.rowHeader.map((header) => html ` <th>${header}</th> `)}
44
47
  </tr>
45
48
  </thead>
46
49
  <tbody>
@@ -57,7 +60,7 @@ class SgdsTable extends SgdsElement {
57
60
  <thead>
58
61
  <tr>
59
62
  <th></th>
60
- ${this.rowHeader.map((header, index) => html ` <th>${header}</th> `)}
63
+ ${this.rowHeader.map((header) => html ` <th>${header}</th> `)}
61
64
  </tr>
62
65
  </thead>
63
66
  <tbody>
@@ -83,6 +86,7 @@ class SgdsTable extends SgdsElement {
83
86
  }
84
87
  }
85
88
  render() {
89
+ const hasDefaultSlot = this.hasSlotController.test("[default]");
86
90
  return html `
87
91
  <div
88
92
  class=${classMap({
@@ -94,9 +98,13 @@ class SgdsTable extends SgdsElement {
94
98
  })}
95
99
  tabindex="0"
96
100
  >
97
- <table class="table">
98
- ${this._renderTable()}
99
- </table>
101
+ <slot id="table-slot" class="table"></slot>
102
+
103
+ ${!hasDefaultSlot
104
+ ? html `<table class="table">
105
+ ${this._renderTable()}
106
+ </table>`
107
+ : ""}
100
108
  </div>
101
109
  `;
102
110
  }
@@ -115,11 +123,8 @@ __decorate([
115
123
  property({ type: Array })
116
124
  ], SgdsTable.prototype, "tableData", void 0);
117
125
  __decorate([
118
- property({ type: String, reflect: true })
126
+ property({ type: String })
119
127
  ], SgdsTable.prototype, "headerPosition", void 0);
120
- __decorate([
121
- state()
122
- ], SgdsTable.prototype, "originalTableData", void 0);
123
128
 
124
129
  export { SgdsTable, SgdsTable as default };
125
130
  //# sourceMappingURL=sgds-table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-table.js","sources":["../../../../src/components/Table/sgds-table.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport tableStyle from \"./table.css\";\n\nexport type HeaderPosition = \"horizontal\" | \"vertical\" | \"both\";\n\n/**\n * @summary The use of a table is to organise a collections of data into readable rows\n */\n\nexport class SgdsTable extends SgdsElement {\n static styles = [...SgdsElement.styles, tableStyle];\n\n /**\n * Use responsive=\"sm\", responsive=\"md\" , responsive=\"lg\", or responsive=\"xl\" as needed to create responsive tables up to a particular breakpoint. From that breakpoint and up, the table will behave normally and not scroll horizontally. Use reponsive=\"always\" to let table be always responsive\n */\n @property({ type: String, reflect: true }) responsive: \"sm\" | \"md\" | \"lg\" | \"xl\" | \"always\";\n\n /**\n * Populate row header cells using Arrays\n */\n @property({ type: Array }) rowHeader: string[] = [];\n\n /**\n * Populate column header cells using Arrays only when <code>headerPosition=\"vertical\"</code> or <code>headerPosition=\"both\"</code>\n */\n @property({ type: Array }) columnHeader: string[] = [];\n\n /**\n * Populate data cells using Arrays\n */\n @property({ type: Array }) tableData: Array<(string | number)[]> = [];\n\n /**\n * Defines the placement of headers in the table (horizontal, vertical, or both)\n */\n @property({ type: String, reflect: true }) headerPosition: HeaderPosition = \"horizontal\";\n\n /** @internal */\n @state() originalTableData: Array<(string | number)[]> = [];\n\n connectedCallback() {\n super.connectedCallback();\n this.originalTableData = [...this.tableData];\n }\n\n private _renderTable() {\n if (this.headerPosition === \"horizontal\") {\n return html`\n <thead>\n <tr>\n ${this.rowHeader.map((header: string, index: number) => html` <th>${header}</th> `)}\n </tr>\n </thead>\n <tbody>\n ${this.tableData.map(\n row => html`\n <tr>\n ${row.map((cell: string) => html`<td>${cell}</td>`)}\n </tr>\n `\n )}\n </tbody>\n `;\n }\n\n if (this.headerPosition === \"both\") {\n return html`\n <thead>\n <tr>\n <th></th>\n ${this.rowHeader.map((header: string, index: number) => html` <th>${header}</th> `)}\n </tr>\n </thead>\n <tbody>\n ${this.tableData.map(\n (row, index) => html`\n <tr>\n <th>${this.columnHeader[index]}</th>\n ${row.map((cell: string) => html`<td>${cell}</td>`)}\n </tr>\n `\n )}\n </tbody>\n `;\n }\n\n if (this.headerPosition === \"vertical\") {\n const flippedTableData = this.tableData[0].map((_, colIndex) => this.tableData.map(row => row[colIndex]));\n\n return html`\n ${flippedTableData.map(\n (row, index) => html`\n <tr>\n <th>${this.columnHeader[index]}</th>\n ${row.map((cell: string) => html`<td>${cell}</td>`)}\n </tr>\n `\n )}\n `;\n }\n }\n\n render() {\n return html`\n <div\n class=${classMap({\n \"table-responsive\": this.responsive === \"always\",\n \"table-responsive-sm\": this.responsive === \"sm\",\n \"table-responsive-md\": this.responsive === \"md\",\n \"table-responsive-lg\": this.responsive === \"lg\",\n \"table-responsive-xl\": this.responsive === \"xl\"\n })}\n tabindex=\"0\"\n >\n <table class=\"table\">\n ${this._renderTable()}\n </table>\n </div>\n `;\n }\n}\n\nexport default SgdsTable;\n"],"names":["tableStyle"],"mappings":"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"}
1
+ {"version":3,"file":"sgds-table.js","sources":["../../../../src/components/Table/sgds-table.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\n\nimport tableStyle from \"./table.css\";\nimport { HasSlotController } from \"../../utils/slot\";\n\nexport type HeaderPosition = \"horizontal\" | \"vertical\" | \"both\";\n\n/**\n * @summary Table is used for displaying collections of data in organized rows and columns.\n * It supports two rendering methods: supply an array of data for automatic table generation, or use the slot to insert custom table elements for full structural control.\n *\n * @slot - Insert custom table elements (such as rows, headers, or cells) to define the table structure manually.\n */\n\nexport class SgdsTable extends SgdsElement {\n static styles = [...SgdsElement.styles, tableStyle];\n\n /**\n * Use responsive=\"sm\", responsive=\"md\" , responsive=\"lg\", or responsive=\"xl\" as needed to create responsive tables up to a particular breakpoint. From that breakpoint and up, the table will behave normally and not scroll horizontally. Use reponsive=\"always\" to let table be always responsive\n */\n @property({ type: String, reflect: true }) responsive: \"sm\" | \"md\" | \"lg\" | \"xl\" | \"always\";\n\n /**\n * Populate row header cells using Arrays\n */\n @property({ type: Array }) rowHeader: string[] = [];\n\n /**\n * Populate column header cells using Arrays only when <code>headerPosition=\"vertical\"</code> or <code>headerPosition=\"both\"</code>\n */\n @property({ type: Array }) columnHeader: string[] = [];\n\n /**\n * Populate data cells using Arrays\n */\n @property({ type: Array }) tableData: Array<(string | number)[]> = [];\n\n /**\n * Defines the placement of headers in the table (horizontal, vertical, or both)\n */\n @property({ type: String }) headerPosition: HeaderPosition = \"horizontal\";\n\n /** @internal */\n private readonly hasSlotController = new HasSlotController(this, \"[default]\");\n\n connectedCallback() {\n super.connectedCallback();\n }\n\n private _renderTable() {\n if (this.headerPosition === \"horizontal\") {\n return html`\n <thead>\n <tr>\n ${this.rowHeader.map((header: string) => html` <th>${header}</th> `)}\n </tr>\n </thead>\n <tbody>\n ${this.tableData.map(\n row => html`\n <tr>\n ${row.map((cell: string) => html`<td>${cell}</td>`)}\n </tr>\n `\n )}\n </tbody>\n `;\n }\n\n if (this.headerPosition === \"both\") {\n return html`\n <thead>\n <tr>\n <th></th>\n ${this.rowHeader.map((header: string) => html` <th>${header}</th> `)}\n </tr>\n </thead>\n <tbody>\n ${this.tableData.map(\n (row, index) => html`\n <tr>\n <th>${this.columnHeader[index]}</th>\n ${row.map((cell: string) => html`<td>${cell}</td>`)}\n </tr>\n `\n )}\n </tbody>\n `;\n }\n\n if (this.headerPosition === \"vertical\") {\n const flippedTableData = this.tableData[0].map((_, colIndex) => this.tableData.map(row => row[colIndex]));\n\n return html`\n ${flippedTableData.map(\n (row, index) => html`\n <tr>\n <th>${this.columnHeader[index]}</th>\n ${row.map((cell: string) => html`<td>${cell}</td>`)}\n </tr>\n `\n )}\n `;\n }\n }\n\n render() {\n const hasDefaultSlot = this.hasSlotController.test(\"[default]\");\n\n return html`\n <div\n class=${classMap({\n \"table-responsive\": this.responsive === \"always\",\n \"table-responsive-sm\": this.responsive === \"sm\",\n \"table-responsive-md\": this.responsive === \"md\",\n \"table-responsive-lg\": this.responsive === \"lg\",\n \"table-responsive-xl\": this.responsive === \"xl\"\n })}\n tabindex=\"0\"\n >\n <slot id=\"table-slot\" class=\"table\"></slot>\n\n ${!hasDefaultSlot\n ? html`<table class=\"table\">\n ${this._renderTable()}\n </table>`\n : \"\"}\n </div>\n `;\n }\n}\n\nexport default SgdsTable;\n"],"names":["tableStyle"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var lit = require('lit');
7
+
8
+ var css_248z = lit.css`:host{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);display:table-cell;padding:var(--sgds-padding-lg)}`;
9
+
10
+ exports["default"] = css_248z;
11
+ //# sourceMappingURL=table-cell.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-cell.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ import { css } from 'lit';
3
+
4
+ var css_248z = css`:host{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);display:table-cell;padding:var(--sgds-padding-lg)}`;
5
+
6
+ export { css_248z as default };
7
+ //# sourceMappingURL=table-cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-cell.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var lit = require('lit');
7
+
8
+ var css_248z = lit.css`:host{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-emphasis);display:table-cell;font-weight:700;padding:var(--sgds-padding-lg)}:host(:not([border])){border-color:var(--sgds-border-color-muted)}`;
9
+
10
+ exports["default"] = css_248z;
11
+ //# sourceMappingURL=table-head.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-head.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ import { css } from 'lit';
3
+
4
+ var css_248z = css`:host{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-emphasis);display:table-cell;font-weight:700;padding:var(--sgds-padding-lg)}:host(:not([border])){border-color:var(--sgds-border-color-muted)}`;
5
+
6
+ export { css_248z as default };
7
+ //# sourceMappingURL=table-head.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-head.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var lit = require('lit');
7
+
8
+ var css_248z = lit.css`:host{display:table-row;width:100%}`;
9
+
10
+ exports["default"] = css_248z;
11
+ //# sourceMappingURL=table-row.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-row.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ import { css } from 'lit';
3
+
4
+ var css_248z = css`:host{display:table-row;width:100%}`;
5
+
6
+ export { css_248z as default };
7
+ //# sourceMappingURL=table-row.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-row.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -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`tbody,td,th,thead,tr{border:var(--sgds-border-width-0) solid;border-color:inherit}th{text-align:-webkit-match-parent}table{border-collapse:collapse;caption-side:bottom}.table{border-color:var(--sgds-border-color-default);vertical-align:top;width:100%}.table>:not(caption) td,.table>:not(caption) th{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);padding:var(--sgds-padding-lg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>thead th{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-emphasis)}.table-group-divider{border-top:calc(var(--sgds-border-width)*2) solid}.table>:not(:first-child){border-top:var(--sgds-border-width-1) solid var(--sgds-border-color-emphasis)}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (max-width:575.98px){.table-responsive-sm{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:767.98px){.table-responsive-md{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:991.98px){.table-responsive-lg{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:1199.98px){.table-responsive-xl{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:1399.98px){.table-responsive-xxl{-webkit-overflow-scrolling:touch;overflow-x:auto}}`;
8
+ var css_248z = lit.css`tbody,td,th,thead,tr{border:var(--sgds-border-width-0) solid;border-color:inherit}th{text-align:-webkit-match-parent}table{border-collapse:collapse;caption-side:bottom}.table{border-color:var(--sgds-border-color-default);display:table;vertical-align:top;width:100%}.table>:not(caption) td,.table>:not(caption) th{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);padding:var(--sgds-padding-lg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>thead th{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-emphasis)}.table-group-divider{border-top:calc(var(--sgds-border-width)*2) solid}.table>:not(:first-child){border-top:var(--sgds-border-width-1) solid var(--sgds-border-color-emphasis)}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (max-width:575.98px){.table-responsive-sm{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:767.98px){.table-responsive-md{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:991.98px){.table-responsive-lg{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:1199.98px){.table-responsive-xl{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:1399.98px){.table-responsive-xxl{-webkit-overflow-scrolling:touch;overflow-x:auto}}`;
9
9
 
10
10
  exports["default"] = css_248z;
11
11
  //# sourceMappingURL=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`tbody,td,th,thead,tr{border:var(--sgds-border-width-0) solid;border-color:inherit}th{text-align:-webkit-match-parent}table{border-collapse:collapse;caption-side:bottom}.table{border-color:var(--sgds-border-color-default);vertical-align:top;width:100%}.table>:not(caption) td,.table>:not(caption) th{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);padding:var(--sgds-padding-lg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>thead th{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-emphasis)}.table-group-divider{border-top:calc(var(--sgds-border-width)*2) solid}.table>:not(:first-child){border-top:var(--sgds-border-width-1) solid var(--sgds-border-color-emphasis)}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (max-width:575.98px){.table-responsive-sm{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:767.98px){.table-responsive-md{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:991.98px){.table-responsive-lg{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:1199.98px){.table-responsive-xl{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:1399.98px){.table-responsive-xxl{-webkit-overflow-scrolling:touch;overflow-x:auto}}`;
4
+ var css_248z = css`tbody,td,th,thead,tr{border:var(--sgds-border-width-0) solid;border-color:inherit}th{text-align:-webkit-match-parent}table{border-collapse:collapse;caption-side:bottom}.table{border-color:var(--sgds-border-color-default);display:table;vertical-align:top;width:100%}.table>:not(caption) td,.table>:not(caption) th{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);padding:var(--sgds-padding-lg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>thead th{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-emphasis)}.table-group-divider{border-top:calc(var(--sgds-border-width)*2) solid}.table>:not(:first-child){border-top:var(--sgds-border-width-1) solid var(--sgds-border-color-emphasis)}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (max-width:575.98px){.table-responsive-sm{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:767.98px){.table-responsive-md{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:991.98px){.table-responsive-lg{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:1199.98px){.table-responsive-xl{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:1399.98px){.table-responsive-xxl{-webkit-overflow-scrolling:touch;overflow-x:auto}}`;
5
5
 
6
6
  export { css_248z as default };
7
7
  //# sourceMappingURL=table.js.map
@@ -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([variant=info]) slot[name=icon]::slotted(*){color:var(--sgds-primary-color-default)}:host([variant=success]) slot[name=icon]::slotted(*){color:var(--sgds-success-color-default)}:host([variant=danger]) slot[name=icon]::slotted(*){color:var(--sgds-danger-color-default)}:host([variant=warning]) slot[name=icon]::slotted(*){color:var(--sgds-warning-color-fixed-light)}.toast{align-items:flex-start;background-clip:padding-box;background-color:var(--sgds-surface-default);border-radius:var(--sgds-border-radius-md);box-shadow:0 0 2px 0 rgba(0,0,0,.12),0 8px 16px 0 rgba(0,0,0,.14);display:flex;flex-direction:row;gap:var(--sgds-gap-xs);max-width:var(--sgds-dimension-480);min-width:var(--sgds-dimension-320);padding:var(--sgds-padding-md);pointer-events:auto;width:320px}.toast-content{word-wrap:break-word;gap:var(--sgds-gap-sm)}.toast-body,.toast-content{display:flex;flex-direction:column}.toast-body strong{line-height:var(--sgds-line-height-min)}.toast-body span{color:var(--sgds-color-subtle)}.toast-action{word-wrap:break-word;color:var(--sgds-link-color-default)}.toast-header strong{margin-right:auto;word-break:break-all}.close-btn{margin-left:auto}.d-none{display:none}`;
8
+ var css_248z = lit.css`:host([variant=info]) slot[name=icon]::slotted(*){color:var(--sgds-primary-color-default)}:host([variant=success]) slot[name=icon]::slotted(*){color:var(--sgds-success-color-default)}:host([variant=danger]) slot[name=icon]::slotted(*){color:var(--sgds-danger-color-default)}:host([variant=warning]) slot[name=icon]::slotted(*){color:var(--sgds-warning-color-fixed-light)}.toast{align-items:flex-start;background-clip:padding-box;background-color:var(--sgds-surface-default);border-radius:var(--sgds-border-radius-md);box-shadow:0 0 2px 0 rgba(0,0,0,.12),0 8px 16px 0 rgba(0,0,0,.14);display:flex;flex-direction:row;gap:var(--sgds-gap-xs);max-width:var(--sgds-dimension-480);min-width:var(--sgds-dimension-320);padding:var(--sgds-padding-md);pointer-events:auto;width:320px}.toast-content{word-wrap:break-word;gap:var(--sgds-gap-sm)}.toast-body,.toast-content{display:flex;flex-direction:column}.toast-body{gap:var(--sgds-gap-2-xs)}.toast-body strong{line-height:var(--sgds-line-height-min)}.toast-body span{color:var(--sgds-color-subtle)}.toast-action{word-wrap:break-word;color:var(--sgds-link-color-default)}.toast-header strong{margin-right:auto;word-break:break-all}.close-btn{margin-left:auto}.d-none{display:none}`;
9
9
 
10
10
  exports["default"] = css_248z;
11
11
  //# sourceMappingURL=toast.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([variant=info]) slot[name=icon]::slotted(*){color:var(--sgds-primary-color-default)}:host([variant=success]) slot[name=icon]::slotted(*){color:var(--sgds-success-color-default)}:host([variant=danger]) slot[name=icon]::slotted(*){color:var(--sgds-danger-color-default)}:host([variant=warning]) slot[name=icon]::slotted(*){color:var(--sgds-warning-color-fixed-light)}.toast{align-items:flex-start;background-clip:padding-box;background-color:var(--sgds-surface-default);border-radius:var(--sgds-border-radius-md);box-shadow:0 0 2px 0 rgba(0,0,0,.12),0 8px 16px 0 rgba(0,0,0,.14);display:flex;flex-direction:row;gap:var(--sgds-gap-xs);max-width:var(--sgds-dimension-480);min-width:var(--sgds-dimension-320);padding:var(--sgds-padding-md);pointer-events:auto;width:320px}.toast-content{word-wrap:break-word;gap:var(--sgds-gap-sm)}.toast-body,.toast-content{display:flex;flex-direction:column}.toast-body strong{line-height:var(--sgds-line-height-min)}.toast-body span{color:var(--sgds-color-subtle)}.toast-action{word-wrap:break-word;color:var(--sgds-link-color-default)}.toast-header strong{margin-right:auto;word-break:break-all}.close-btn{margin-left:auto}.d-none{display:none}`;
4
+ var css_248z = css`:host([variant=info]) slot[name=icon]::slotted(*){color:var(--sgds-primary-color-default)}:host([variant=success]) slot[name=icon]::slotted(*){color:var(--sgds-success-color-default)}:host([variant=danger]) slot[name=icon]::slotted(*){color:var(--sgds-danger-color-default)}:host([variant=warning]) slot[name=icon]::slotted(*){color:var(--sgds-warning-color-fixed-light)}.toast{align-items:flex-start;background-clip:padding-box;background-color:var(--sgds-surface-default);border-radius:var(--sgds-border-radius-md);box-shadow:0 0 2px 0 rgba(0,0,0,.12),0 8px 16px 0 rgba(0,0,0,.14);display:flex;flex-direction:row;gap:var(--sgds-gap-xs);max-width:var(--sgds-dimension-480);min-width:var(--sgds-dimension-320);padding:var(--sgds-padding-md);pointer-events:auto;width:320px}.toast-content{word-wrap:break-word;gap:var(--sgds-gap-sm)}.toast-body,.toast-content{display:flex;flex-direction:column}.toast-body{gap:var(--sgds-gap-2-xs)}.toast-body strong{line-height:var(--sgds-line-height-min)}.toast-body span{color:var(--sgds-color-subtle)}.toast-action{word-wrap:break-word;color:var(--sgds-link-color-default)}.toast-header strong{margin-right:auto;word-break:break-all}.close-btn{margin-left:auto}.d-none{display:none}`;
5
5
 
6
6
  export { css_248z as default };
7
7
  //# sourceMappingURL=toast.js.map
@@ -40,10 +40,10 @@ var index$x = require('./progress-bar/index.cjs.js');
40
40
  var index$y = require('./quantity-toggle/index.cjs.js');
41
41
  var index$z = require('./radio-group/index.cjs.js');
42
42
  var index$A = require('./radio/index.cjs.js');
43
- var index$B = require('./select/index.cjs.js');
44
- var index$C = require('./sidenav-item/index.cjs.js');
45
- var index$D = require('./sidenav-link/index.cjs.js');
46
- var index$E = require('./sidenav/index.cjs.js');
43
+ var index$B = require('./sidenav-item/index.cjs.js');
44
+ var index$C = require('./sidenav-link/index.cjs.js');
45
+ var index$D = require('./sidenav/index.cjs.js');
46
+ var index$E = require('./select/index.cjs.js');
47
47
  var index$F = require('./skeleton/index.cjs.js');
48
48
  var index$G = require('./spinner/index.cjs.js');
49
49
  var index$H = require('./stepper/index.cjs.js');
@@ -53,12 +53,15 @@ var index$K = require('./switch/index.cjs.js');
53
53
  var index$L = require('./tab-group/index.cjs.js');
54
54
  var index$M = require('./tab-panel/index.cjs.js');
55
55
  var index$N = require('./tab/index.cjs.js');
56
- var index$O = require('./table/index.cjs.js');
57
- var index$P = require('./table-of-contents/index.cjs.js');
58
- var index$Q = require('./textarea/index.cjs.js');
59
- var index$R = require('./toast-container/index.cjs.js');
60
- var index$S = require('./toast/index.cjs.js');
61
- var index$T = require('./tooltip/index.cjs.js');
56
+ var index$O = require('./table-cell/index.cjs.js');
57
+ var index$P = require('./table-head/index.cjs.js');
58
+ var index$Q = require('./table-row/index.cjs.js');
59
+ var index$R = require('./table/index.cjs.js');
60
+ var index$S = require('./table-of-contents/index.cjs.js');
61
+ var index$T = require('./textarea/index.cjs.js');
62
+ var index$U = require('./toast-container/index.cjs.js');
63
+ var index$V = require('./toast/index.cjs.js');
64
+ var index$W = require('./tooltip/index.cjs.js');
62
65
 
63
66
 
64
67
 
@@ -99,10 +102,10 @@ exports.SgdsProgressBar = index$x["default"];
99
102
  exports.SgdsQuantityToggle = index$y["default"];
100
103
  exports.SgdsRadioGroup = index$z["default"];
101
104
  exports.SgdsRadio = index$A["default"];
102
- exports.SgdsSelect = index$B["default"];
103
- exports.SgdsSidenavItem = index$C["default"];
104
- exports.SgdsSidenavLink = index$D["default"];
105
- exports.SgdsSidenav = index$E["default"];
105
+ exports.SgdsSidenavItem = index$B["default"];
106
+ exports.SgdsSidenavLink = index$C["default"];
107
+ exports.SgdsSidenav = index$D["default"];
108
+ exports.SgdsSelect = index$E["default"];
106
109
  exports.SgdsSkeleton = index$F["default"];
107
110
  exports.SgdsSpinner = index$G["default"];
108
111
  exports.SgdsStepper = index$H["default"];
@@ -112,10 +115,13 @@ exports.SgdsSwitch = index$K["default"];
112
115
  exports.SgdsTabGroup = index$L["default"];
113
116
  exports.SgdsTabPanel = index$M["default"];
114
117
  exports.SgdsTab = index$N["default"];
115
- exports.SgdsTable = index$O["default"];
116
- exports.SgdsTableOfContents = index$P["default"];
117
- exports.SgdsTextarea = index$Q["default"];
118
- exports.SgdsToastContainer = index$R["default"];
119
- exports.SgdsToast = index$S["default"];
120
- exports.SgdsTooltip = index$T["default"];
118
+ exports.SgdsTableCell = index$O["default"];
119
+ exports.SgdsTableHead = index$P["default"];
120
+ exports.SgdsTableRow = index$Q["default"];
121
+ exports.SgdsTable = index$R["default"];
122
+ exports.SgdsTableOfContents = index$S["default"];
123
+ exports.SgdsTextarea = index$T["default"];
124
+ exports.SgdsToastContainer = index$U["default"];
125
+ exports.SgdsToast = index$V["default"];
126
+ exports.SgdsTooltip = index$W["default"];
121
127
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/react/index.d.ts CHANGED
@@ -35,10 +35,10 @@ export { default as SgdsProgressBar } from './progress-bar';
35
35
  export { default as SgdsQuantityToggle } from './quantity-toggle';
36
36
  export { default as SgdsRadioGroup } from './radio-group';
37
37
  export { default as SgdsRadio } from './radio';
38
- export { default as SgdsSelect } from './select';
39
38
  export { default as SgdsSidenavItem } from './sidenav-item';
40
39
  export { default as SgdsSidenavLink } from './sidenav-link';
41
40
  export { default as SgdsSidenav } from './sidenav';
41
+ export { default as SgdsSelect } from './select';
42
42
  export { default as SgdsSkeleton } from './skeleton';
43
43
  export { default as SgdsSpinner } from './spinner';
44
44
  export { default as SgdsStepper } from './stepper';
@@ -48,6 +48,9 @@ export { default as SgdsSwitch } from './switch';
48
48
  export { default as SgdsTabGroup } from './tab-group';
49
49
  export { default as SgdsTabPanel } from './tab-panel';
50
50
  export { default as SgdsTab } from './tab';
51
+ export { default as SgdsTableCell } from './table-cell';
52
+ export { default as SgdsTableHead } from './table-head';
53
+ export { default as SgdsTableRow } from './table-row';
51
54
  export { default as SgdsTable } from './table';
52
55
  export { default as SgdsTableOfContents } from './table-of-contents';
53
56
  export { default as SgdsTextarea } from './textarea';
package/react/index.js CHANGED
@@ -36,10 +36,10 @@ export { default as SgdsProgressBar } from './progress-bar/index.js';
36
36
  export { default as SgdsQuantityToggle } from './quantity-toggle/index.js';
37
37
  export { default as SgdsRadioGroup } from './radio-group/index.js';
38
38
  export { default as SgdsRadio } from './radio/index.js';
39
- export { default as SgdsSelect } from './select/index.js';
40
39
  export { default as SgdsSidenavItem } from './sidenav-item/index.js';
41
40
  export { default as SgdsSidenavLink } from './sidenav-link/index.js';
42
41
  export { default as SgdsSidenav } from './sidenav/index.js';
42
+ export { default as SgdsSelect } from './select/index.js';
43
43
  export { default as SgdsSkeleton } from './skeleton/index.js';
44
44
  export { default as SgdsSpinner } from './spinner/index.js';
45
45
  export { default as SgdsStepper } from './stepper/index.js';
@@ -49,6 +49,9 @@ export { default as SgdsSwitch } from './switch/index.js';
49
49
  export { default as SgdsTabGroup } from './tab-group/index.js';
50
50
  export { default as SgdsTabPanel } from './tab-panel/index.js';
51
51
  export { default as SgdsTab } from './tab/index.js';
52
+ export { default as SgdsTableCell } from './table-cell/index.js';
53
+ export { default as SgdsTableHead } from './table-head/index.js';
54
+ export { default as SgdsTableRow } from './table-row/index.js';
52
55
  export { default as SgdsTable } from './table/index.js';
53
56
  export { default as SgdsTableOfContents } from './table-of-contents/index.js';
54
57
  export { default as SgdsTextarea } from './textarea/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,40 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var React = require('react');
7
+ var react = require('@lit/react');
8
+ var sgdsTableCell = require('../components/Table/sgds-table-cell.cjs.js');
9
+ var ceRegistry = require('../utils/ce-registry.cjs.js');
10
+
11
+ function _interopNamespace(e) {
12
+ if (e && e.__esModule) return e;
13
+ var n = Object.create(null);
14
+ if (e) {
15
+ Object.keys(e).forEach(function (k) {
16
+ if (k !== 'default') {
17
+ var d = Object.getOwnPropertyDescriptor(e, k);
18
+ Object.defineProperty(n, k, d.get ? d : {
19
+ enumerable: true,
20
+ get: function () { return e[k]; }
21
+ });
22
+ }
23
+ });
24
+ }
25
+ n["default"] = e;
26
+ return Object.freeze(n);
27
+ }
28
+
29
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
30
+
31
+ ceRegistry.register("sgds-table-cell", sgdsTableCell.SgdsTableCell);
32
+ var index = react.createComponent({
33
+ react: React__namespace,
34
+ tagName: "sgds-table-cell",
35
+ elementClass: sgdsTableCell.SgdsTableCell,
36
+ events: {}
37
+ });
38
+
39
+ exports["default"] = index;
40
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../src/react/table-cell/index.ts"],"sourcesContent":["import * as React from \"react\";\nimport { createComponent } from \"@lit/react\";\nimport Component from \"../../components/Table/sgds-table-cell\";\nimport { register } from \"../../utils/ce-registry\";\n\nregister(\"sgds-table-cell\", Component);\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-table-cell\",\n elementClass: Component,\n events: {}\n});\n"],"names":["register","Component","createComponent","React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKAA,mBAAQ,CAAC,iBAAiB,EAAEC,2BAAS,CAAC,CAAC;AAEvC,YAAeC,qBAAe,CAAC;AAC7B,IAAA,KAAK,EAAEC,gBAAK;AACZ,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,YAAY,EAAEF,2BAAS;AACvB,IAAA,MAAM,EAAE,EAAE;AACX,CAAA,CAAC;;;;"}
@@ -0,0 +1,2 @@
1
+ declare const _default: React.ForwardRefExoticComponent<any>;
2
+ export default _default;
@@ -0,0 +1,16 @@
1
+ 'use client';
2
+ import * as React from 'react';
3
+ import { createComponent } from '@lit/react';
4
+ import { SgdsTableCell } from '../components/Table/sgds-table-cell.js';
5
+ import { register } from '../utils/ce-registry.js';
6
+
7
+ register("sgds-table-cell", SgdsTableCell);
8
+ var index = createComponent({
9
+ react: React,
10
+ tagName: "sgds-table-cell",
11
+ elementClass: SgdsTableCell,
12
+ events: {}
13
+ });
14
+
15
+ export { index as default };
16
+ //# sourceMappingURL=index.js.map