@supersoniks/concorde 5.0.3 → 5.0.5

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 (151) hide show
  1. package/.agents/skills/concorde-component-docs/SKILL.md +194 -0
  2. package/.agents/skills/concorde-component-docs/template.md +45 -0
  3. package/ai/cursor/rules/concorde-theme.mdc +1 -1
  4. package/ai/cursor/rules/concorde.mdc +1 -1
  5. package/ai/skills/concorde/SKILL.md +1 -1
  6. package/ai/skills/concorde-theme/SKILL.md +21 -10
  7. package/build-infos.json +1 -1
  8. package/concorde-core.bundle.js +515 -521
  9. package/concorde-core.es.js +5151 -5056
  10. package/dist/concorde-core.bundle.js +515 -521
  11. package/dist/concorde-core.es.js +5151 -5056
  12. package/dist/docs-mock-api-sw.js +2 -0
  13. package/dist/docs-mock-api-sw.js.map +2 -2
  14. package/docs/assets/index-CD4WyL6o.css +1 -0
  15. package/docs/assets/{index-BnK6OS7w.js → index-wVZpLVYW.js} +815 -808
  16. package/docs/crawl/core/components/ui/alert/alert.html +76 -5
  17. package/docs/crawl/core/components/ui/alert-messages/alert-messages.html +113 -5
  18. package/docs/crawl/core/components/ui/badge/badge.html +57 -8
  19. package/docs/crawl/core/components/ui/captcha/captcha.html +90 -8
  20. package/docs/crawl/core/components/ui/card/card.html +122 -12
  21. package/docs/crawl/core/components/ui/divider/divider.html +117 -31
  22. package/docs/crawl/core/components/ui/form/fieldset/fieldset.html +232 -101
  23. package/docs/crawl/core/components/ui/form/form-actions/form-actions.html +95 -52
  24. package/docs/crawl/core/components/ui/form/form-layout/form-layout.html +97 -38
  25. package/docs/crawl/core/components/ui/group/group.html +60 -38
  26. package/docs/crawl/core/components/ui/icon/icon.html +136 -47
  27. package/docs/crawl/core/components/ui/image/image.html +118 -6
  28. package/docs/crawl/core/components/ui/link/link.html +65 -7
  29. package/docs/crawl/core/components/ui/loader/loader.html +97 -23
  30. package/docs/crawl/core/components/ui/menu/menu.html +162 -90
  31. package/docs/crawl/core/components/ui/modal/modal.html +275 -50
  32. package/docs/crawl/core/components/ui/pop/pop.html +242 -124
  33. package/docs/crawl/core/components/ui/progress/progress.html +103 -30
  34. package/docs/crawl/core/components/ui/table/table.html +303 -171
  35. package/docs/crawl/core/components/ui/theme/theme.html +131 -0
  36. package/docs/crawl/core/components/ui/toast/toast.html +170 -59
  37. package/docs/crawl/core/components/ui/tooltip/tooltip.html +90 -29
  38. package/docs/crawl/docs/_decorators/ancestor-attribute.html +3 -2
  39. package/docs/crawl/docs/_getting-started/start.html +1 -1
  40. package/docs/crawl/docs/_getting-started/theming.html +311 -63
  41. package/docs/crawl/hubs/form-components.html +71 -49
  42. package/docs/crawl/index.html +7 -6
  43. package/docs/docs-mock-api-sw.js +2 -0
  44. package/docs/docs-mock-api-sw.js.map +2 -2
  45. package/docs/index.html +6 -4
  46. package/docs/llms-full.txt +1468 -405
  47. package/docs/llms.txt +23 -30
  48. package/docs/sitemap.xml +3 -0
  49. package/docs/src/core/components/ui/alert/alert.md +21 -2
  50. package/docs/src/core/components/ui/alert-messages/alert-messages.md +85 -0
  51. package/docs/src/core/components/ui/badge/badge.md +19 -6
  52. package/docs/src/core/components/ui/captcha/captcha.md +65 -6
  53. package/docs/src/core/components/ui/card/card.md +73 -10
  54. package/docs/src/core/components/ui/divider/divider.md +107 -13
  55. package/docs/src/core/components/ui/form/fieldset/fieldset.md +175 -99
  56. package/docs/src/core/components/ui/form/form-actions/form-actions.md +75 -52
  57. package/docs/src/core/components/ui/form/form-layout/form-layout.md +109 -34
  58. package/docs/src/core/components/ui/group/group.md +36 -36
  59. package/docs/src/core/components/ui/icon/icon.md +132 -43
  60. package/docs/src/core/components/ui/image/image.md +35 -3
  61. package/docs/src/core/components/ui/link/link.md +43 -5
  62. package/docs/src/core/components/ui/loader/loader.md +79 -22
  63. package/docs/src/core/components/ui/menu/menu.md +133 -92
  64. package/docs/src/core/components/ui/modal/modal.md +163 -47
  65. package/docs/src/core/components/ui/pop/pop.md +217 -123
  66. package/docs/src/core/components/ui/progress/progress.md +76 -30
  67. package/docs/src/core/components/ui/table/table.md +147 -171
  68. package/docs/src/core/components/ui/theme/theme.md +122 -0
  69. package/docs/src/core/components/ui/toast/toast.md +108 -58
  70. package/docs/src/core/components/ui/tooltip/tooltip.md +68 -26
  71. package/docs/src/docs/_decorators/ancestor-attribute.md +3 -2
  72. package/docs/src/docs/_getting-started/start.md +1 -1
  73. package/docs/src/docs/_getting-started/theming.md +223 -61
  74. package/docs/src/docs/search/docs-search.json +2504 -399
  75. package/docs/src/tsconfig.json +18 -0
  76. package/index.html +4 -2
  77. package/package.json +7 -1
  78. package/public/docs-mock-api-sw.js +2 -0
  79. package/public/docs-mock-api-sw.js.map +2 -2
  80. package/src/core/components/ui/_css/align.ts +1 -0
  81. package/src/core/components/ui/_css/type.ts +86 -8
  82. package/src/core/components/ui/_i18n/ui-aria-labels.ts +8 -0
  83. package/src/core/components/ui/alert/alert.md +21 -2
  84. package/src/core/components/ui/alert-messages/alert-messages.md +85 -0
  85. package/src/core/components/ui/badge/badge.md +19 -6
  86. package/src/core/components/ui/badge/badge.ts +8 -9
  87. package/src/core/components/ui/button/button.ts +5 -15
  88. package/src/core/components/ui/captcha/captcha.md +65 -6
  89. package/src/core/components/ui/card/card.md +73 -10
  90. package/src/core/components/ui/card/card.ts +24 -22
  91. package/src/core/components/ui/divider/divider.md +107 -13
  92. package/src/core/components/ui/divider/divider.ts +40 -33
  93. package/src/core/components/ui/form/fieldset/fieldset.md +175 -99
  94. package/src/core/components/ui/form/fieldset/fieldset.ts +15 -28
  95. package/src/core/components/ui/form/fieldset/legend.ts +13 -13
  96. package/src/core/components/ui/form/form-actions/form-actions.md +75 -52
  97. package/src/core/components/ui/form/form-actions/form-actions.ts +7 -5
  98. package/src/core/components/ui/form/form-layout/form-layout.md +109 -34
  99. package/src/core/components/ui/form/form-layout/form-layout.ts +27 -24
  100. package/src/core/components/ui/form/textarea/textarea.ts +4 -3
  101. package/src/core/components/ui/group/group.md +36 -36
  102. package/src/core/components/ui/group/group.ts +5 -10
  103. package/src/core/components/ui/icon/icon.md +132 -43
  104. package/src/core/components/ui/image/image.md +35 -3
  105. package/src/core/components/ui/link/link.md +43 -5
  106. package/src/core/components/ui/loader/loader.md +79 -22
  107. package/src/core/components/ui/loader/loader.ts +67 -27
  108. package/src/core/components/ui/loader/styles/fixed.ts +6 -11
  109. package/src/core/components/ui/menu/menu.md +133 -92
  110. package/src/core/components/ui/menu/menu.ts +53 -58
  111. package/src/core/components/ui/modal/modal.md +163 -47
  112. package/src/core/components/ui/modal/modal.ts +2 -4
  113. package/src/core/components/ui/pop/pop.md +217 -123
  114. package/src/core/components/ui/pop/pop.ts +0 -1
  115. package/src/core/components/ui/progress/progress.md +76 -30
  116. package/src/core/components/ui/progress/progress.ts +25 -56
  117. package/src/core/components/ui/table/table-caption.ts +2 -2
  118. package/src/core/components/ui/table/table-tbody.ts +3 -3
  119. package/src/core/components/ui/table/table-td.ts +23 -18
  120. package/src/core/components/ui/table/table-th.ts +8 -8
  121. package/src/core/components/ui/table/table-tr.ts +4 -4
  122. package/src/core/components/ui/table/table.md +147 -171
  123. package/src/core/components/ui/table/table.ts +20 -19
  124. package/src/core/components/ui/theme/theme-collection/auto.ts +15 -0
  125. package/src/core/components/ui/theme/theme-collection/core-variables.ts +8 -31
  126. package/src/core/components/ui/theme/theme-collection/dark.ts +1 -7
  127. package/src/core/components/ui/theme/theme-collection/light.ts +30 -26
  128. package/src/core/components/ui/theme/theme.md +122 -0
  129. package/src/core/components/ui/theme/theme.ts +30 -7
  130. package/src/core/components/ui/toast/toast-item.ts +6 -9
  131. package/src/core/components/ui/toast/toast.md +108 -58
  132. package/src/core/components/ui/toast/types.ts +1 -1
  133. package/src/core/components/ui/tooltip/tooltip.md +68 -26
  134. package/src/core/decorators/subscriber/ancestorAttribute.spec.ts +26 -0
  135. package/src/core/decorators/subscriber/ancestorAttribute.ts +3 -4
  136. package/src/core/utils/AncestorAttributeObserver.ts +183 -70
  137. package/src/docs/_decorators/ancestor-attribute.md +3 -2
  138. package/src/docs/_getting-started/start.md +1 -1
  139. package/src/docs/_getting-started/theming.md +223 -61
  140. package/src/docs/code.ts +125 -58
  141. package/src/docs/header/header.ts +62 -54
  142. package/src/docs/mock-api/router.ts +2 -0
  143. package/src/docs/navigation/navigation.ts +6 -3
  144. package/src/docs/search/docs-search.json +2504 -399
  145. package/src/docs/search/markdown-renderer.ts +6 -6
  146. package/src/docs/search/search.ts +4 -4
  147. package/src/docs/tailwind/css/tailwind.css +6 -5
  148. package/src/tsconfig.json +18 -0
  149. package/src/tsconfig.tsbuildinfo +1 -1
  150. package/tailwind.config.js +19 -0
  151. package/docs/assets/index--GpD7R7a.css +0 -1
@@ -4,8 +4,8 @@
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Table — Concorde</title>
7
- <meta name="description" content="Values available : primary, info, success, warning, danger">
8
- <meta name="keywords" content="Concorde, supersoniks, core/components/ui/table/table, table, Table, UI component, sonic-table, web component">
7
+ <meta name="description" content="sonic-table lays out tabular data with composable sonic-tr / sonic-th / sonic-td children. The root applies shared typography via size, scrolls horizontally when content overflows, and optionally caps">
8
+ <meta name="keywords" content="Concorde, supersoniks, core/components/ui/table/table, table, Table, UI component, sonic-table, web component, sonic-tr, sonic-th, sonic-td, size, maxHeight, sonic-thead, sonic-tbody, sonic-list">
9
9
  <meta name="concorde-doc-id" content="core/components/ui/table/table">
10
10
  <link rel="canonical" href="https://concorde.supersoniks.org/crawl/core/components/ui/table/table.html">
11
11
  </head>
@@ -15,9 +15,11 @@
15
15
  </header>
16
16
  <main>
17
17
  <article>
18
- <p class="doc-lead" id="doc-summary"><strong>Concorde UI component — Table</strong>. Values available : primary, info, success, warning, danger <span>Doc ID: <code>core/components/ui/table/table</code>. Keywords: Concorde, supersoniks, core/components/ui/table/table, table, Table, UI component, sonic-table, web component. URL: <a href="https://concorde.supersoniks.org/crawl/core/components/ui/table/table.html">https://concorde.supersoniks.org/crawl/core/components/ui/table/table.html</a>.</span></p>
18
+ <p class="doc-lead" id="doc-summary"><strong>Concorde UI component — Table</strong>. sonic-table lays out tabular data with composable sonic-tr / sonic-th / sonic-td children. The root applies shared typography via size, scrolls horizontally when content overflows, and optionally caps <span>Doc ID: <code>core/components/ui/table/table</code>. Keywords: Concorde, supersoniks, core/components/ui/table/table, table, Table, UI component, sonic-table, web component, sonic-tr, sonic-th, sonic-td, size, maxHeight, sonic-thead, sonic-tbody, sonic-list. URL: <a href="https://concorde.supersoniks.org/crawl/core/components/ui/table/table.html">https://concorde.supersoniks.org/crawl/core/components/ui/table/table.html</a>.</span></p>
19
19
  <h1 id="table">Table</h1>
20
- <h2 id="basic-usage">Basic usage</h2>
20
+ <p><strong><code>sonic-table</code></strong> lays out tabular data with composable <strong><code>sonic-tr</code></strong> / <strong><code>sonic-th</code></strong> / <strong><code>sonic-td</code></strong> children. The root applies shared typography via <strong><code>size</code></strong>, scrolls horizontally when content overflows, and optionally caps height with <strong><code>maxHeight</code></strong>. Pair with <strong><code>sonic-thead</code></strong> and <strong><code>sonic-tbody</code></strong> for structure and with <strong><code>sonic-list</code></strong> to render fetched rows.</p>
21
+ <h2 id="basic-example">Basic example</h2>
22
+ <p>A header row plus body rows is enough for static tables; <strong><code>sonic-thead</code></strong> / <strong><code>sonic-tbody</code></strong> are optional for simple layouts.</p>
21
23
  <pre><code>&lt;sonic-table&gt;
22
24
  &lt;sonic-tr&gt;
23
25
  &lt;sonic-th&gt;Id&lt;/sonic-th&gt;
@@ -41,14 +43,15 @@
41
43
  &lt;/sonic-tr&gt;
42
44
  &lt;/sonic-table&gt;
43
45
  </code></pre>
44
- <h2 id="list--fetch">List / fetch</h2>
46
+ <h2 id="list-and-fetch">List and fetch</h2>
47
+ <p>Place <strong><code>sonic-list</code></strong> inside <strong><code>sonic-tbody</code></strong> so each item template renders a <strong><code>sonic-tr</code></strong>. <strong><code>sonic-list</code></strong> sets row metadata (<code>even</code> / <code>odd</code> / <code>last</code>) on <strong><code>sonic-tr</code></strong> for striping and borders.</p>
45
48
  <pre><code>&lt;sonic-table&gt;
46
49
  &lt;sonic-thead&gt;
47
50
  &lt;sonic-tr&gt;
48
51
  &lt;sonic-th&gt;Id&lt;/sonic-th&gt;
49
52
  &lt;sonic-th&gt;Name&lt;/sonic-th&gt;
50
53
  &lt;sonic-th&gt;Email&lt;/sonic-th&gt;
51
- &lt;/sonic-tr&gt;
54
+ &lt;/sonic-tr&gt;
52
55
  &lt;/sonic-thead&gt;
53
56
  &lt;sonic-tbody&gt;
54
57
  &lt;sonic-list debug fetch serviceURL=&quot;/docs-mock-api&quot; dataProvider=&quot;api/users&quot; key=&quot;data&quot; displayContents&gt;
@@ -60,6 +63,7 @@
60
63
  &lt;/sonic-tr&gt;
61
64
  </code></pre>
62
65
  <h2 id="size">Size</h2>
66
+ <p>Default font size is <strong><code>md</code></strong> (omit <strong><code>size</code></strong>). Sizes follow the shared scale (<code>2xs</code> … <code>2xl</code>).</p>
63
67
  <pre><code>&lt;div class=&quot;grid grid-cols-4 gap-3&quot;&gt;
64
68
  &lt;sonic-table size=&quot;2xs&quot; bordered&gt;
65
69
  &lt;sonic-tr&gt;&lt;sonic-td class=&quot;w-[5rem]&quot;&gt;2xs&lt;/sonic-td&gt;&lt;/sonic-tr&gt;
@@ -88,6 +92,7 @@
88
92
  &lt;/div&gt;
89
93
  </code></pre>
90
94
  <h2 id="bordered">Bordered</h2>
95
+ <p>Set <strong><code>bordered</code></strong> on <strong><code>sonic-table</code></strong> for an outer frame and horizontal rules between rows.</p>
91
96
  <pre><code>&lt;sonic-table bordered&gt;
92
97
  &lt;sonic-thead&gt;
93
98
  &lt;sonic-tr&gt;
@@ -115,17 +120,18 @@
115
120
  &lt;/sonic-tbody&gt;
116
121
  &lt;/sonic-table&gt;
117
122
  </code></pre>
118
- <h2 id="maxheight">MaxHeight</h2>
123
+ <h2 id="max-height">Max height</h2>
124
+ <p><strong><code>maxHeight</code></strong> applies to the scroll container (for example <code>8rem</code>), so the body scrolls vertically while the table can still scroll horizontally.</p>
119
125
  <pre><code>&lt;sonic-table maxHeight=&quot;8rem&quot;&gt;
120
126
  &lt;sonic-thead&gt;
121
127
  &lt;sonic-tr&gt;
122
128
  &lt;sonic-th&gt;Id&lt;/sonic-th&gt;
123
129
  &lt;sonic-th&gt;Name&lt;/sonic-th&gt;
124
130
  &lt;sonic-th&gt;Email&lt;/sonic-th&gt;
125
- &lt;/sonic-tr&gt;
131
+ &lt;/sonic-tr&gt;
126
132
  &lt;/sonic-thead&gt;
127
133
  &lt;sonic-tbody&gt;
128
- &lt;sonic-list fetch serviceURL=&quot;/docs-mock-api&quot; dataProvider=&quot;api/users&quot; key=&quot;data&quot; displayContents&gt;
134
+ &lt;sonic-list fetch serviceURL=&quot;/docs-mock-api&quot; dataProvider=&quot;api/users&quot; key=&quot;data&quot; displayContents&gt;
129
135
  &lt;template&gt;
130
136
  &lt;sonic-tr&gt;
131
137
  &lt;sonic-td data-bind ::inner-html=&quot;$id&quot;&gt;&lt;/sonic-td&gt;
@@ -134,34 +140,34 @@
134
140
  &lt;/sonic-tr&gt;
135
141
  </code></pre>
136
142
  <h2 id="type">Type</h2>
137
- <p>Values available : primary, info, success, warning, danger</p>
143
+ <p>Set <strong><code>type</code></strong> on <strong><code>sonic-th</code></strong> / <strong><code>sonic-td</code></strong> / <strong><code>sonic-tr</code></strong> for semantic text color (<code>primary</code> · <code>info</code> · <code>success</code> · <code>warning</code> · <code>danger</code> · <code>neutral</code> · <code>default</code>).</p>
138
144
  <pre><code>&lt;sonic-table bordered&gt;
139
- &lt;sonic-tr&gt;
140
- &lt;sonic-th type=&quot;info&quot;&gt;Attribute type set on&lt;/sonic-th&gt;
141
- &lt;sonic-th type=&quot;info&quot;&gt;sonic-th&lt;/sonic-th&gt;
142
- &lt;/sonic-tr&gt;
143
- &lt;sonic-tr&gt;
144
- &lt;sonic-td type=&quot;danger&quot;&gt;Attribute type set on&lt;/sonic-td&gt;
145
- &lt;sonic-td type=&quot;danger&quot;&gt;sonic-td&lt;/sonic-td&gt;
146
- &lt;/sonic-tr&gt;
147
- &lt;sonic-tr type=&quot;success&quot;&gt;
148
- &lt;sonic-td&gt;Attribute type set on&lt;/sonic-td&gt;
149
- &lt;sonic-td&gt;sonic-tr&lt;/sonic-td&gt;
150
- &lt;/sonic-tr&gt;
151
- &lt;/sonic-tbody&gt;
145
+ &lt;sonic-tr&gt;
146
+ &lt;sonic-th type=&quot;info&quot;&gt;Attribute type set on&lt;/sonic-th&gt;
147
+ &lt;sonic-th type=&quot;info&quot;&gt;sonic-th&lt;/sonic-th&gt;
148
+ &lt;/sonic-tr&gt;
149
+ &lt;sonic-tr&gt;
150
+ &lt;sonic-td type=&quot;danger&quot;&gt;Attribute type set on&lt;/sonic-td&gt;
151
+ &lt;sonic-td type=&quot;danger&quot;&gt;sonic-td&lt;/sonic-td&gt;
152
+ &lt;/sonic-tr&gt;
153
+ &lt;sonic-tr type=&quot;success&quot;&gt;
154
+ &lt;sonic-td&gt;Attribute type set on&lt;/sonic-td&gt;
155
+ &lt;sonic-td&gt;sonic-tr&lt;/sonic-td&gt;
156
+ &lt;/sonic-tr&gt;
152
157
  &lt;/sonic-table&gt;
153
158
  </code></pre>
154
- <h2 id="colspan--rowspan">Colspan / rowspan</h2>
155
- <pre><code>&lt;sonic-table &gt;
159
+ <h2 id="colspan-and-rowspan">Colspan and rowspan</h2>
160
+ <p>Use <strong><code>colSpan</code></strong> and <strong><code>rowSpan</code></strong> on <strong><code>sonic-th</code></strong> or <strong><code>sonic-td</code></strong> (maps to <code>colspan</code> / <code>rowspan</code> on the cell).</p>
161
+ <pre><code>&lt;sonic-table&gt;
156
162
  &lt;sonic-tbody&gt;
157
163
  &lt;sonic-tr&gt;
158
- &lt;sonic-td colspan=&quot;2&quot; class=&quot;bg-info text-neutral-0&quot;&gt;colspan : 2&lt;/sonic-td&gt;
164
+ &lt;sonic-td colspan=&quot;2&quot; class=&quot;bg-info text-neutral-0&quot;&gt;colspan: 2&lt;/sonic-td&gt;
159
165
  &lt;sonic-td&gt;cell&lt;/sonic-td&gt;
160
166
  &lt;/sonic-tr&gt;
161
167
  &lt;sonic-tr&gt;
162
168
  &lt;sonic-td&gt;cell&lt;/sonic-td&gt;
163
169
  &lt;sonic-td&gt;cell&lt;/sonic-td&gt;
164
- &lt;sonic-td rowspan=&quot;2&quot; class=&quot;bg-success text-neutral-0&quot;&gt;rowspan : 2&lt;/sonic-td&gt;
170
+ &lt;sonic-td rowspan=&quot;2&quot; class=&quot;bg-success text-neutral-0&quot;&gt;rowspan: 2&lt;/sonic-td&gt;
165
171
  &lt;/sonic-tr&gt;
166
172
  &lt;sonic-tr&gt;
167
173
  &lt;sonic-td&gt;cell&lt;/sonic-td&gt;
@@ -170,14 +176,8 @@
170
176
  &lt;/sonic-tbody&gt;
171
177
  &lt;/sonic-table&gt;
172
178
  </code></pre>
173
- <h2 id="cell-style-attributes">Cell style attributes</h2>
174
- <p>The following attributes will be used to set the style of the component : </p>
175
- <ul>
176
- <li>align</li>
177
- <li>minWidth</li>
178
- <li>maxWidth</li>
179
- <li>width</li>
180
- </ul>
179
+ <h2 id="cell-alignment-and-width">Cell alignment and width</h2>
180
+ <p><strong><code>align</code></strong> sets horizontal alignment (<code>left</code> · <code>center</code> · <code>right</code>). <strong><code>minWidth</code></strong> / <strong><code>maxWidth</code></strong> / <strong><code>width</code></strong> set inline dimensions on the cell. <strong><code>vAlign</code></strong> is available on <strong><code>sonic-td</code></strong> only.</p>
181
181
  <pre><code>&lt;sonic-table bordered&gt;
182
182
  &lt;sonic-thead&gt;
183
183
  &lt;sonic-tr&gt;
@@ -203,13 +203,14 @@
203
203
  &lt;sonic-tr&gt;
204
204
  &lt;sonic-td align=&quot;right&quot;&gt;right&lt;/sonic-td&gt;
205
205
  &lt;sonic-td&gt;20rem&lt;/sonic-td&gt;
206
- &lt;sonic-td&gt;5rem - Lorem ipsum dolor&lt;/sonic-td&gt;
207
- &lt;sonic-td width=&quot;60rem&quot;&gt;15rem - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam porta sollicitudin mollis. Curabitur sit amet nibh diam. Vivamus a pharetra mauris.&lt;/sonic-td&gt;
206
+ &lt;sonic-td maxWidth=&quot;5rem&quot;&gt;5rem — Lorem ipsum dolor&lt;/sonic-td&gt;
207
+ &lt;sonic-td width=&quot;60rem&quot;&gt;15rem — Lorem ipsum dolor sit amet, consectetur adipiscing elit.&lt;/sonic-td&gt;
208
208
  &lt;/sonic-tr&gt;
209
+ &lt;/sonic-tbody&gt;
209
210
  &lt;/sonic-table&gt;
210
211
  </code></pre>
211
- <h2 id="responsive">Responsive</h2>
212
- <p>Every table is responsive by default</p>
212
+ <h2 id="responsive-layout">Responsive layout</h2>
213
+ <p>Tables scroll horizontally by default when columns exceed the viewport. Use <strong><code>minWidth</code></strong> on wide columns to preserve readable line length.</p>
213
214
  <pre><code>&lt;sonic-table bordered&gt;
214
215
  &lt;sonic-thead&gt;
215
216
  &lt;sonic-tr&gt;
@@ -217,7 +218,7 @@
217
218
  &lt;sonic-th&gt;Name&lt;/sonic-th&gt;
218
219
  &lt;sonic-th&gt;Email&lt;/sonic-th&gt;
219
220
  &lt;sonic-th&gt;Comment&lt;/sonic-th&gt;
220
- &lt;/sonic-tr&gt;
221
+ &lt;/sonic-tr&gt;
221
222
  &lt;/sonic-thead&gt;
222
223
  &lt;sonic-tbody&gt;
223
224
  &lt;sonic-list fetch serviceURL=&quot;/docs-mock-api&quot; dataProvider=&quot;api/users&quot; key=&quot;data&quot; displayContents&gt;
@@ -227,11 +228,12 @@
227
228
  &lt;sonic-td minWidth=&quot;10rem&quot; data-bind ::inner-html=&quot;$first_name &lt;b&gt;$last_name&lt;/b&gt;&quot;&gt;&lt;/sonic-td&gt;
228
229
  &lt;sonic-td data-bind ::inner-html=&quot;$email&quot;&gt;&lt;/sonic-td&gt;
229
230
  &lt;sonic-td minWidth=&quot;40rem&quot;&gt;
230
- hasellus suscipit vulputate lacus, in tempor turpis aliquam vel. Nunc eleifend, velit id ultrices elementum, ipsum felis porttitor dui, id laoreet diam nulla sed urna.
231
+ Phasellus suscipit vulputate lacus, in tempor turpis aliquam vel. Nunc eleifend, velit id ultrices elementum, ipsum felis porttitor dui, id laoreet diam nulla sed urna.
231
232
  &lt;/sonic-td&gt;
232
233
  &lt;/sonic-tr&gt;
233
234
  </code></pre>
234
- <h2 id="sticky-header">Sticky header</h2>
235
+ <h2 id="sticky-header-and-caption">Sticky header and caption</h2>
236
+ <p><strong><code>sonic-th</code></strong> uses <code>position: sticky</code> with <code>top: 0</code> inside the table. For page-level sticky headers, set <strong><code>noCustomScroll</code></strong> on <strong><code>sonic-table</code></strong> and position <strong><code>sonic-thead</code></strong> (for example <code>class=&quot;sticky top-16&quot;</code>). Add <strong><code>sonic-caption</code></strong> for a table title below the grid.</p>
235
237
  <pre><code>&lt;sonic-table bordered noCustomScroll&gt;
236
238
  &lt;sonic-thead class=&quot;sticky top-16&quot;&gt;
237
239
  &lt;sonic-tr&gt;
@@ -250,53 +252,21 @@
250
252
  &lt;sonic-td&gt;Germany&lt;/sonic-td&gt;
251
253
  &lt;sonic-td align=&quot;center&quot;&gt;2&lt;/sonic-td&gt;
252
254
  &lt;sonic-td align=&quot;right&quot;&gt;40€&lt;/sonic-td&gt;
253
- &lt;sonic-td td align=&quot;right&quot;
254
- &gt;&lt;sonic-button shape=&quot;circle&quot; variant=&quot;outline&quot; size=&quot;sm&quot;&gt;
255
- &lt;sonic-icon library=&quot;iconoir&quot; name=&quot;edit-pencil&quot; size=&quot;lg&quot;&gt;&lt;/sonic-icon
256
- &gt;&lt;/sonic-button&gt;
255
+ &lt;sonic-td align=&quot;right&quot;&gt;
256
+ &lt;sonic-button shape=&quot;circle&quot; variant=&quot;outline&quot; size=&quot;sm&quot;&gt;
257
+ &lt;sonic-icon library=&quot;iconoir&quot; name=&quot;edit-pencil&quot; size=&quot;lg&quot;&gt;&lt;/sonic-icon&gt;
258
+ &lt;/sonic-button&gt;
257
259
  &lt;/sonic-td&gt;
258
260
  &lt;/sonic-tr&gt;
259
261
  &lt;sonic-tr&gt;
260
262
  &lt;sonic-td&gt;Centro comercial Moctezuma&lt;/sonic-td&gt;
261
- &lt;sonic-td
262
- colspan=&quot;2&quot;
263
- align=&quot;center&quot;
264
- class=&quot;
265
- text-center
266
- text-neutral-400
267
- &quot;
268
- &gt;no information yet&lt;/sonic-td
269
- &gt;
263
+ &lt;sonic-td colspan=&quot;2&quot; align=&quot;center&quot; class=&quot;text-center text-neutral-400&quot;&gt;no information yet&lt;/sonic-td&gt;
270
264
  &lt;sonic-td align=&quot;center&quot;&gt;3&lt;/sonic-td&gt;
271
265
  &lt;sonic-td align=&quot;right&quot;&gt;40€&lt;/sonic-td&gt;
272
- &lt;sonic-td td align=&quot;right&quot;
273
- &gt;&lt;sonic-button shape=&quot;circle&quot; variant=&quot;outline&quot; size=&quot;sm&quot;&gt;
274
- &lt;sonic-icon library=&quot;iconoir&quot; name=&quot;edit-pencil&quot; size=&quot;lg&quot;&gt;&lt;/sonic-icon
275
- &gt;&lt;/sonic-button&gt;
276
- &lt;/sonic-td&gt;
277
- &lt;/sonic-tr&gt;
278
- &lt;sonic-tr&gt;
279
- &lt;sonic-td&gt;Ernst Handel&lt;/sonic-td&gt;
280
- &lt;sonic-td&gt;Roland Mendel&lt;/sonic-td&gt;
281
- &lt;sonic-td&gt;Austria&lt;/sonic-td&gt;
282
- &lt;sonic-td align=&quot;center&quot;&gt;4&lt;/sonic-td&gt;
283
- &lt;sonic-td align=&quot;right&quot;&gt;40€&lt;/sonic-td&gt;
284
- &lt;sonic-td td align=&quot;right&quot;
285
- &gt;&lt;sonic-button shape=&quot;circle&quot; variant=&quot;outline&quot; size=&quot;sm&quot;&gt;
286
- &lt;sonic-icon library=&quot;iconoir&quot; name=&quot;edit-pencil&quot; size=&quot;lg&quot;&gt;&lt;/sonic-icon
287
- &gt;&lt;/sonic-button&gt;
288
- &lt;/sonic-td&gt;
289
- &lt;/sonic-tr&gt;
290
- &lt;sonic-tr&gt;
291
- &lt;sonic-td&gt;Island Trading&lt;/sonic-td&gt;
292
- &lt;sonic-td&gt;Helen Bennett&lt;/sonic-td&gt;
293
- &lt;sonic-td&gt;UK&lt;/sonic-td&gt;
294
- &lt;sonic-td align=&quot;center&quot;&gt;1&lt;/sonic-td&gt;
295
- &lt;sonic-td align=&quot;right&quot;&gt;40€&lt;/sonic-td&gt;
296
- &lt;sonic-td td align=&quot;right&quot;
297
- &gt;&lt;sonic-button shape=&quot;circle&quot; variant=&quot;outline&quot; size=&quot;sm&quot;&gt;
298
- &lt;sonic-icon library=&quot;iconoir&quot; name=&quot;edit-pencil&quot; size=&quot;lg&quot;&gt;&lt;/sonic-icon
299
- &gt;&lt;/sonic-button&gt;
266
+ &lt;sonic-td align=&quot;right&quot;&gt;
267
+ &lt;sonic-button shape=&quot;circle&quot; variant=&quot;outline&quot; size=&quot;sm&quot;&gt;
268
+ &lt;sonic-icon library=&quot;iconoir&quot; name=&quot;edit-pencil&quot; size=&quot;lg&quot;&gt;&lt;/sonic-icon&gt;
269
+ &lt;/sonic-button&gt;
300
270
  &lt;/sonic-td&gt;
301
271
  &lt;/sonic-tr&gt;
302
272
  &lt;sonic-tr type=&quot;warning&quot;&gt;
@@ -305,10 +275,10 @@
305
275
  &lt;sonic-td&gt;Canada&lt;/sonic-td&gt;
306
276
  &lt;sonic-td align=&quot;center&quot;&gt;0&lt;/sonic-td&gt;
307
277
  &lt;sonic-td align=&quot;right&quot;&gt;40€&lt;/sonic-td&gt;
308
- &lt;sonic-td td align=&quot;right&quot;
309
- &gt;&lt;sonic-button shape=&quot;circle&quot; variant=&quot;outline&quot; size=&quot;sm&quot;&gt;
310
- &lt;sonic-icon library=&quot;iconoir&quot; name=&quot;edit-pencil&quot; size=&quot;lg&quot;&gt;&lt;/sonic-icon
311
- &gt;&lt;/sonic-button&gt;
278
+ &lt;sonic-td align=&quot;right&quot;&gt;
279
+ &lt;sonic-button shape=&quot;circle&quot; variant=&quot;outline&quot; size=&quot;sm&quot;&gt;
280
+ &lt;sonic-icon library=&quot;iconoir&quot; name=&quot;edit-pencil&quot; size=&quot;lg&quot;&gt;&lt;/sonic-icon&gt;
281
+ &lt;/sonic-button&gt;
312
282
  &lt;/sonic-td&gt;
313
283
  &lt;/sonic-tr&gt;
314
284
  &lt;sonic-tr&gt;
@@ -317,95 +287,257 @@
317
287
  &lt;sonic-td type=&quot;danger&quot;&gt;Italy&lt;/sonic-td&gt;
318
288
  &lt;sonic-td align=&quot;center&quot;&gt;20&lt;/sonic-td&gt;
319
289
  &lt;sonic-td align=&quot;right&quot;&gt;40€&lt;/sonic-td&gt;
320
- &lt;sonic-td td align=&quot;right&quot;
321
- &gt;&lt;sonic-button shape=&quot;circle&quot; variant=&quot;outline&quot; size=&quot;sm&quot;&gt;
322
- &lt;sonic-icon library=&quot;iconoir&quot; name=&quot;edit-pencil&quot; size=&quot;lg&quot;&gt;&lt;/sonic-icon
323
- &gt;&lt;/sonic-button&gt;
324
- &lt;/sonic-td&gt;
325
- &lt;/sonic-tr&gt;
326
- &lt;sonic-tr&gt;
327
- &lt;sonic-td&gt;Alfreds Futterkiste&lt;/sonic-td&gt;
328
- &lt;sonic-td&gt;Maria Anders&lt;/sonic-td&gt;
329
- &lt;sonic-td&gt;Germany&lt;/sonic-td&gt;
330
- &lt;sonic-td align=&quot;center&quot;&gt;2&lt;/sonic-td&gt;
331
- &lt;sonic-td align=&quot;right&quot;&gt;40€&lt;/sonic-td&gt;
332
- &lt;sonic-td td align=&quot;right&quot;
333
- &gt;&lt;sonic-button shape=&quot;circle&quot; variant=&quot;outline&quot; size=&quot;sm&quot;&gt;
334
- &lt;sonic-icon library=&quot;iconoir&quot; name=&quot;edit-pencil&quot; size=&quot;lg&quot;&gt;&lt;/sonic-icon
335
- &gt;&lt;/sonic-button&gt;
336
- &lt;/sonic-td&gt;
337
- &lt;/sonic-tr&gt;
338
- &lt;sonic-tr&gt;
339
- &lt;sonic-td&gt;Centro comercial Moctezuma&lt;/sonic-td&gt;
340
- &lt;sonic-td
341
- colspan=&quot;2&quot;
342
- align=&quot;center&quot;
343
- class=&quot;
344
- text-center
345
- text-neutral-400
346
- &quot;
347
- &gt;no information yet&lt;/sonic-td
348
- &gt;
349
- &lt;sonic-td align=&quot;center&quot;&gt;3&lt;/sonic-td&gt;
350
- &lt;sonic-td align=&quot;right&quot;&gt;40€&lt;/sonic-td&gt;
351
- &lt;sonic-td td align=&quot;right&quot;
352
- &gt;&lt;sonic-button shape=&quot;circle&quot; variant=&quot;outline&quot; size=&quot;sm&quot;&gt;
353
- &lt;sonic-icon library=&quot;iconoir&quot; name=&quot;edit-pencil&quot; size=&quot;lg&quot;&gt;&lt;/sonic-icon
354
- &gt;&lt;/sonic-button&gt;
355
- &lt;/sonic-td&gt;
356
- &lt;/sonic-tr&gt;
357
- &lt;sonic-tr&gt;
358
- &lt;sonic-td&gt;Ernst Handel&lt;/sonic-td&gt;
359
- &lt;sonic-td&gt;Roland Mendel&lt;/sonic-td&gt;
360
- &lt;sonic-td&gt;Austria&lt;/sonic-td&gt;
361
- &lt;sonic-td align=&quot;center&quot;&gt;4&lt;/sonic-td&gt;
362
- &lt;sonic-td align=&quot;right&quot;&gt;40€&lt;/sonic-td&gt;
363
- &lt;sonic-td td align=&quot;right&quot;
364
- &gt;&lt;sonic-button shape=&quot;circle&quot; variant=&quot;outline&quot; size=&quot;sm&quot;&gt;
365
- &lt;sonic-icon library=&quot;iconoir&quot; name=&quot;edit-pencil&quot; size=&quot;lg&quot;&gt;&lt;/sonic-icon
366
- &gt;&lt;/sonic-button&gt;
367
- &lt;/sonic-td&gt;
368
- &lt;/sonic-tr&gt;
369
- &lt;sonic-tr&gt;
370
- &lt;sonic-td&gt;Island Trading&lt;/sonic-td&gt;
371
- &lt;sonic-td&gt;Helen Bennett&lt;/sonic-td&gt;
372
- &lt;sonic-td&gt;UK&lt;/sonic-td&gt;
373
- &lt;sonic-td align=&quot;center&quot;&gt;1&lt;/sonic-td&gt;
374
- &lt;sonic-td align=&quot;right&quot;&gt;40€&lt;/sonic-td&gt;
375
- &lt;sonic-td td align=&quot;right&quot;
376
- &gt;&lt;sonic-button shape=&quot;circle&quot; variant=&quot;outline&quot; size=&quot;sm&quot;&gt;
377
- &lt;sonic-icon library=&quot;iconoir&quot; name=&quot;edit-pencil&quot; size=&quot;lg&quot;&gt;&lt;/sonic-icon
378
- &gt;&lt;/sonic-button&gt;
379
- &lt;/sonic-td&gt;
380
- &lt;/sonic-tr&gt;
381
- &lt;sonic-tr type=&quot;warning&quot;&gt;
382
- &lt;sonic-td&gt;Laughing Bacchus Winecellars&lt;/sonic-td&gt;
383
- &lt;sonic-td&gt;Yoshi Tannamuri&lt;/sonic-td&gt;
384
- &lt;sonic-td&gt;Canada&lt;/sonic-td&gt;
385
- &lt;sonic-td align=&quot;center&quot;&gt;0&lt;/sonic-td&gt;
386
- &lt;sonic-td align=&quot;right&quot;&gt;40€&lt;/sonic-td&gt;
387
- &lt;sonic-td td align=&quot;right&quot;
388
- &gt;&lt;sonic-button shape=&quot;circle&quot; variant=&quot;outline&quot; size=&quot;sm&quot;&gt;
389
- &lt;sonic-icon library=&quot;iconoir&quot; name=&quot;edit-pencil&quot; size=&quot;lg&quot;&gt;&lt;/sonic-icon
390
- &gt;&lt;/sonic-button&gt;
391
- &lt;/sonic-td&gt;
392
- &lt;/sonic-tr&gt;
393
- &lt;sonic-tr&gt;
394
- &lt;sonic-td&gt;Magazzini Alimentari Riuniti&lt;/sonic-td&gt;
395
- &lt;sonic-td&gt;Giovanni Rovelli&lt;/sonic-td&gt;
396
- &lt;sonic-td&gt;Italy&lt;/sonic-td&gt;
397
- &lt;sonic-td align=&quot;center&quot;&gt;20&lt;/sonic-td&gt;
398
- &lt;sonic-td align=&quot;right&quot;&gt;40€&lt;/sonic-td&gt;
399
- &lt;sonic-td td align=&quot;right&quot;
400
- &gt;&lt;sonic-button shape=&quot;circle&quot; variant=&quot;outline&quot; size=&quot;sm&quot;&gt;
401
- &lt;sonic-icon library=&quot;iconoir&quot; name=&quot;edit-pencil&quot; size=&quot;lg&quot;&gt;&lt;/sonic-icon
402
- &gt;&lt;/sonic-button&gt;
290
+ &lt;sonic-td align=&quot;right&quot;&gt;
291
+ &lt;sonic-button shape=&quot;circle&quot; variant=&quot;outline&quot; size=&quot;sm&quot;&gt;
292
+ &lt;sonic-icon library=&quot;iconoir&quot; name=&quot;edit-pencil&quot; size=&quot;lg&quot;&gt;&lt;/sonic-icon&gt;
293
+ &lt;/sonic-button&gt;
403
294
  &lt;/sonic-td&gt;
404
295
  &lt;/sonic-tr&gt;
405
296
  &lt;/sonic-tbody&gt;
406
- &lt;sonic-caption&gt;table caption&lt;/sonic-caption&gt;
297
+ &lt;sonic-caption&gt;Table caption&lt;/sonic-caption&gt;
407
298
  &lt;/sonic-table&gt;
408
299
  </code></pre>
300
+ <h2 id="api-reference">API reference</h2>
301
+ <h3 id="sonic-table"><code>sonic-table</code></h3>
302
+ <table>
303
+ <thead>
304
+ <tr>
305
+ <th>Attribute</th>
306
+ <th>Values</th>
307
+ <th>Description</th>
308
+ </tr>
309
+ </thead>
310
+ <tbody><tr>
311
+ <td><code>size</code></td>
312
+ <td><code>2xs</code> · <code>xs</code> · <code>sm</code> · <code>md</code> · <code>lg</code> · <code>xl</code> · <code>2xl</code> · <code>inherit</code> (default <code>md</code>)</td>
313
+ <td>Scales table font size via shared size tokens</td>
314
+ </tr>
315
+ <tr>
316
+ <td><code>bordered</code></td>
317
+ <td>boolean</td>
318
+ <td>Outer border and row dividers</td>
319
+ </tr>
320
+ <tr>
321
+ <td><code>noCustomScroll</code></td>
322
+ <td>boolean</td>
323
+ <td>Disables custom scrollbar styling on the horizontal scroll container</td>
324
+ </tr>
325
+ <tr>
326
+ <td><code>rounded</code></td>
327
+ <td>boolean</td>
328
+ <td>Reflected on the host; no default table styles</td>
329
+ </tr>
330
+ <tr>
331
+ <td><code>maxHeight</code></td>
332
+ <td>CSS length</td>
333
+ <td>Max height on the scroll container; enables vertical scrolling</td>
334
+ </tr>
335
+ </tbody></table>
336
+ <table>
337
+ <thead>
338
+ <tr>
339
+ <th>Slot</th>
340
+ <th>Description</th>
341
+ </tr>
342
+ </thead>
343
+ <tbody><tr>
344
+ <td><em>(default)</em></td>
345
+ <td>Table sections and rows (<code>sonic-thead</code>, <code>sonic-tbody</code>, <code>sonic-tr</code>, …)</td>
346
+ </tr>
347
+ </tbody></table>
348
+ <h3 id="sonic-thead--sonic-tbody--sonic-tfoot"><code>sonic-thead</code> · <code>sonic-tbody</code> · <code>sonic-tfoot</code></h3>
349
+ <table>
350
+ <thead>
351
+ <tr>
352
+ <th>Slot</th>
353
+ <th>Description</th>
354
+ </tr>
355
+ </thead>
356
+ <tbody><tr>
357
+ <td><em>(default)</em></td>
358
+ <td>Row elements (<code>sonic-tr</code>)</td>
359
+ </tr>
360
+ </tbody></table>
361
+ <p><code>sonic-tbody</code> wraps slotted rows in a native <code>&lt;tbody&gt;</code> and applies zebra / hover backgrounds to <strong><code>sonic-tr</code></strong> children.</p>
362
+ <h3 id="sonic-caption"><code>sonic-caption</code></h3>
363
+ <table>
364
+ <thead>
365
+ <tr>
366
+ <th>Slot</th>
367
+ <th>Description</th>
368
+ </tr>
369
+ </thead>
370
+ <tbody><tr>
371
+ <td><em>(default)</em></td>
372
+ <td>Caption text rendered as <code>table-caption</code></td>
373
+ </tr>
374
+ </tbody></table>
375
+ <h3 id="sonic-tr"><code>sonic-tr</code></h3>
376
+ <table>
377
+ <thead>
378
+ <tr>
379
+ <th>Attribute</th>
380
+ <th>Values</th>
381
+ <th>Description</th>
382
+ </tr>
383
+ </thead>
384
+ <tbody><tr>
385
+ <td><code>type</code></td>
386
+ <td><code>default</code> · <code>primary</code> · <code>info</code> · <code>success</code> · <code>warning</code> · <code>danger</code> · <code>neutral</code></td>
387
+ <td>Semantic text color for the row</td>
388
+ </tr>
389
+ <tr>
390
+ <td><code>even</code></td>
391
+ <td>boolean</td>
392
+ <td>Striping background; usually set by <strong><code>sonic-list</code></strong> metadata</td>
393
+ </tr>
394
+ <tr>
395
+ <td><code>odd</code></td>
396
+ <td>boolean</td>
397
+ <td>Alternate striping background; usually set by <strong><code>sonic-list</code></strong></td>
398
+ </tr>
399
+ <tr>
400
+ <td><code>last</code></td>
401
+ <td>boolean</td>
402
+ <td>Removes bottom cell border on the last row when <strong><code>bordered</code></strong></td>
403
+ </tr>
404
+ </tbody></table>
405
+ <table>
406
+ <thead>
407
+ <tr>
408
+ <th>Slot</th>
409
+ <th>Description</th>
410
+ </tr>
411
+ </thead>
412
+ <tbody><tr>
413
+ <td><em>(default)</em></td>
414
+ <td>Header or data cells (<code>sonic-th</code> / <code>sonic-td</code>)</td>
415
+ </tr>
416
+ </tbody></table>
417
+ <h3 id="sonic-th"><code>sonic-th</code></h3>
418
+ <table>
419
+ <thead>
420
+ <tr>
421
+ <th>Attribute</th>
422
+ <th>Values</th>
423
+ <th>Description</th>
424
+ </tr>
425
+ </thead>
426
+ <tbody><tr>
427
+ <td><code>type</code></td>
428
+ <td><code>default</code> · <code>primary</code> · <code>info</code> · <code>success</code> · <code>warning</code> · <code>danger</code> · <code>neutral</code></td>
429
+ <td>Semantic text color</td>
430
+ </tr>
431
+ <tr>
432
+ <td><code>align</code></td>
433
+ <td><code>left</code> · <code>center</code> · <code>right</code></td>
434
+ <td>Horizontal text alignment</td>
435
+ </tr>
436
+ <tr>
437
+ <td><code>colSpan</code></td>
438
+ <td>number</td>
439
+ <td>Column span</td>
440
+ </tr>
441
+ <tr>
442
+ <td><code>rowSpan</code></td>
443
+ <td>number</td>
444
+ <td>Row span</td>
445
+ </tr>
446
+ <tr>
447
+ <td><code>minWidth</code></td>
448
+ <td>CSS length</td>
449
+ <td>Minimum cell width</td>
450
+ </tr>
451
+ <tr>
452
+ <td><code>maxWidth</code></td>
453
+ <td>CSS length</td>
454
+ <td>Maximum cell width</td>
455
+ </tr>
456
+ <tr>
457
+ <td><code>width</code></td>
458
+ <td>CSS length</td>
459
+ <td>Cell width</td>
460
+ </tr>
461
+ <tr>
462
+ <td><code>noBorder</code></td>
463
+ <td>boolean</td>
464
+ <td>Removes the bottom border under the header cell</td>
465
+ </tr>
466
+ </tbody></table>
467
+ <table>
468
+ <thead>
469
+ <tr>
470
+ <th>Slot</th>
471
+ <th>Description</th>
472
+ </tr>
473
+ </thead>
474
+ <tbody><tr>
475
+ <td><em>(default)</em></td>
476
+ <td>Header label content</td>
477
+ </tr>
478
+ </tbody></table>
479
+ <h3 id="sonic-td"><code>sonic-td</code></h3>
480
+ <table>
481
+ <thead>
482
+ <tr>
483
+ <th>Attribute</th>
484
+ <th>Values</th>
485
+ <th>Description</th>
486
+ </tr>
487
+ </thead>
488
+ <tbody><tr>
489
+ <td><code>type</code></td>
490
+ <td><code>default</code> · <code>primary</code> · <code>info</code> · <code>success</code> · <code>warning</code> · <code>danger</code> · <code>neutral</code></td>
491
+ <td>Semantic text color</td>
492
+ </tr>
493
+ <tr>
494
+ <td><code>align</code></td>
495
+ <td><code>left</code> · <code>center</code> · <code>right</code></td>
496
+ <td>Horizontal text alignment</td>
497
+ </tr>
498
+ <tr>
499
+ <td><code>vAlign</code></td>
500
+ <td>CSS <code>vertical-align</code> value</td>
501
+ <td>Vertical alignment</td>
502
+ </tr>
503
+ <tr>
504
+ <td><code>colSpan</code></td>
505
+ <td>number</td>
506
+ <td>Column span</td>
507
+ </tr>
508
+ <tr>
509
+ <td><code>rowSpan</code></td>
510
+ <td>number</td>
511
+ <td>Row span</td>
512
+ </tr>
513
+ <tr>
514
+ <td><code>minWidth</code></td>
515
+ <td>CSS length</td>
516
+ <td>Minimum cell width</td>
517
+ </tr>
518
+ <tr>
519
+ <td><code>maxWidth</code></td>
520
+ <td>CSS length</td>
521
+ <td>Maximum cell width</td>
522
+ </tr>
523
+ <tr>
524
+ <td><code>width</code></td>
525
+ <td>CSS length</td>
526
+ <td>Cell width</td>
527
+ </tr>
528
+ </tbody></table>
529
+ <table>
530
+ <thead>
531
+ <tr>
532
+ <th>Slot</th>
533
+ <th>Description</th>
534
+ </tr>
535
+ </thead>
536
+ <tbody><tr>
537
+ <td><em>(default)</em></td>
538
+ <td>Cell content</td>
539
+ </tr>
540
+ </tbody></table>
409
541
 
410
542
  </article>
411
543
  </main>