@revikornmann/muka-ui 0.2.4 → 0.4.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 (280) hide show
  1. package/README.md +1 -1
  2. package/build/manifest.json +16 -6
  3. package/cli/manifest.json +2 -2
  4. package/dist/cjs/components/AgentTaskList/AgentTaskList.js +1 -0
  5. package/dist/cjs/components/AgentTaskList/AgentTaskList.js.map +1 -1
  6. package/dist/cjs/components/Avatar/Avatar.js +1 -0
  7. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  8. package/dist/cjs/components/Badge/Badge.css +77 -28
  9. package/dist/cjs/components/Badge/Badge.js +2 -0
  10. package/dist/cjs/components/Badge/Badge.js.map +1 -1
  11. package/dist/cjs/components/Breadcrumb/Breadcrumb.js +1 -0
  12. package/dist/cjs/components/Breadcrumb/Breadcrumb.js.map +1 -1
  13. package/dist/cjs/components/Button/Button.css +10 -4
  14. package/dist/cjs/components/Button/Button.js +1 -0
  15. package/dist/cjs/components/Button/Button.js.map +1 -1
  16. package/dist/cjs/components/Card/Card.js +1 -0
  17. package/dist/cjs/components/Card/Card.js.map +1 -1
  18. package/dist/cjs/components/ChatComposer/ChatComposer.js +1 -0
  19. package/dist/cjs/components/ChatComposer/ChatComposer.js.map +1 -1
  20. package/dist/cjs/components/ChatMessageList/ChatMessageList.js +1 -0
  21. package/dist/cjs/components/ChatMessageList/ChatMessageList.js.map +1 -1
  22. package/dist/cjs/components/Checkbox/Checkbox.js +1 -0
  23. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  24. package/dist/cjs/components/CheckboxTile/CheckboxTile.js +1 -0
  25. package/dist/cjs/components/CheckboxTile/CheckboxTile.js.map +1 -1
  26. package/dist/cjs/components/Chip/Chip.css +155 -65
  27. package/dist/cjs/components/Chip/Chip.js +6 -5
  28. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  29. package/dist/cjs/components/Combobox/Combobox.js +1 -0
  30. package/dist/cjs/components/Combobox/Combobox.js.map +1 -1
  31. package/dist/cjs/components/DataTable/DataTable.css +328 -25
  32. package/dist/cjs/components/DataTable/DataTable.js +185 -32
  33. package/dist/cjs/components/DataTable/DataTable.js.map +1 -1
  34. package/dist/cjs/components/DataTable/index.js.map +1 -1
  35. package/dist/cjs/components/DatePicker/DatePicker.js +1 -0
  36. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  37. package/dist/cjs/components/Dialog/Dialog.js +1 -0
  38. package/dist/cjs/components/Dialog/Dialog.js.map +1 -1
  39. package/dist/cjs/components/DocumentViewer/DocumentCanvas.js +1 -0
  40. package/dist/cjs/components/DocumentViewer/DocumentCanvas.js.map +1 -1
  41. package/dist/cjs/components/DocumentViewer/DocumentThumbnails.js +1 -0
  42. package/dist/cjs/components/DocumentViewer/DocumentThumbnails.js.map +1 -1
  43. package/dist/cjs/components/DocumentViewer/DocumentToolbar.js +1 -0
  44. package/dist/cjs/components/DocumentViewer/DocumentToolbar.js.map +1 -1
  45. package/dist/cjs/components/DocumentViewer/DocumentViewer.js +1 -0
  46. package/dist/cjs/components/DocumentViewer/DocumentViewer.js.map +1 -1
  47. package/dist/cjs/components/Drawer/Drawer.js +1 -0
  48. package/dist/cjs/components/Drawer/Drawer.js.map +1 -1
  49. package/dist/cjs/components/FileUpload/FileUpload.js +1 -0
  50. package/dist/cjs/components/FileUpload/FileUpload.js.map +1 -1
  51. package/dist/cjs/components/Input/Input.js +1 -0
  52. package/dist/cjs/components/Input/Input.js.map +1 -1
  53. package/dist/cjs/components/LicensePlateInput/LicensePlateInput.js +1 -0
  54. package/dist/cjs/components/LicensePlateInput/LicensePlateInput.js.map +1 -1
  55. package/dist/cjs/components/ListItem/ListItem.js +1 -0
  56. package/dist/cjs/components/ListItem/ListItem.js.map +1 -1
  57. package/dist/cjs/components/Menu/Menu.js +1 -0
  58. package/dist/cjs/components/Menu/Menu.js.map +1 -1
  59. package/dist/cjs/components/NavigationTransition/NavigationTransition.js +1 -0
  60. package/dist/cjs/components/NavigationTransition/NavigationTransition.js.map +1 -1
  61. package/dist/cjs/components/NumberInput/NumberInput.js +1 -0
  62. package/dist/cjs/components/NumberInput/NumberInput.js.map +1 -1
  63. package/dist/cjs/components/Pagination/Pagination.js +1 -0
  64. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  65. package/dist/cjs/components/ProfileBadge/ProfileBadge.js +2 -2
  66. package/dist/cjs/components/ProfileBadge/ProfileBadge.js.map +1 -1
  67. package/dist/cjs/components/PullToRefresh/PullToRefresh.js +1 -0
  68. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  69. package/dist/cjs/components/Radio/Radio.js +1 -0
  70. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  71. package/dist/cjs/components/RadioTile/RadioTile.js +1 -0
  72. package/dist/cjs/components/RadioTile/RadioTile.js.map +1 -1
  73. package/dist/cjs/components/RangeSlider/RangeSlider.js +1 -0
  74. package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -1
  75. package/dist/cjs/components/SearchInput/SearchInput.js +1 -0
  76. package/dist/cjs/components/SearchInput/SearchInput.js.map +1 -1
  77. package/dist/cjs/components/SegmentGroup/SegmentGroup.js +1 -0
  78. package/dist/cjs/components/SegmentGroup/SegmentGroup.js.map +1 -1
  79. package/dist/cjs/components/Select/Select.js +1 -0
  80. package/dist/cjs/components/Select/Select.js.map +1 -1
  81. package/dist/cjs/components/SmsOtpField/SmsOtpField.js +1 -0
  82. package/dist/cjs/components/SmsOtpField/SmsOtpField.js.map +1 -1
  83. package/dist/cjs/components/SwipeActions/SwipeActions.js +1 -0
  84. package/dist/cjs/components/SwipeActions/SwipeActions.js.map +1 -1
  85. package/dist/cjs/components/Table/useTableSelection.js +1 -0
  86. package/dist/cjs/components/Table/useTableSelection.js.map +1 -1
  87. package/dist/cjs/components/Tabs/Tabs.js +1 -0
  88. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  89. package/dist/cjs/components/Textarea/Textarea.js +1 -0
  90. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  91. package/dist/cjs/components/Tile/Tile.js +1 -0
  92. package/dist/cjs/components/Tile/Tile.js.map +1 -1
  93. package/dist/cjs/components/Toast/Toast.js +1 -0
  94. package/dist/cjs/components/Toast/Toast.js.map +1 -1
  95. package/dist/cjs/components/Toggle/Toggle.js +1 -0
  96. package/dist/cjs/components/Toggle/Toggle.js.map +1 -1
  97. package/dist/cjs/components/index.js.map +1 -1
  98. package/dist/esm/components/AgentTaskList/AgentTaskList.js +1 -0
  99. package/dist/esm/components/AgentTaskList/AgentTaskList.js.map +1 -1
  100. package/dist/esm/components/Avatar/Avatar.js +1 -0
  101. package/dist/esm/components/Avatar/Avatar.js.map +1 -1
  102. package/dist/esm/components/Badge/Badge.css +77 -28
  103. package/dist/esm/components/Badge/Badge.js +2 -0
  104. package/dist/esm/components/Badge/Badge.js.map +1 -1
  105. package/dist/esm/components/Breadcrumb/Breadcrumb.js +1 -0
  106. package/dist/esm/components/Breadcrumb/Breadcrumb.js.map +1 -1
  107. package/dist/esm/components/Button/Button.css +10 -4
  108. package/dist/esm/components/Button/Button.js +1 -0
  109. package/dist/esm/components/Button/Button.js.map +1 -1
  110. package/dist/esm/components/Card/Card.js +1 -0
  111. package/dist/esm/components/Card/Card.js.map +1 -1
  112. package/dist/esm/components/ChatComposer/ChatComposer.js +1 -0
  113. package/dist/esm/components/ChatComposer/ChatComposer.js.map +1 -1
  114. package/dist/esm/components/ChatMessageList/ChatMessageList.js +1 -0
  115. package/dist/esm/components/ChatMessageList/ChatMessageList.js.map +1 -1
  116. package/dist/esm/components/Checkbox/Checkbox.js +1 -0
  117. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  118. package/dist/esm/components/CheckboxTile/CheckboxTile.js +1 -0
  119. package/dist/esm/components/CheckboxTile/CheckboxTile.js.map +1 -1
  120. package/dist/esm/components/Chip/Chip.css +155 -65
  121. package/dist/esm/components/Chip/Chip.js +6 -5
  122. package/dist/esm/components/Chip/Chip.js.map +1 -1
  123. package/dist/esm/components/Combobox/Combobox.js +1 -0
  124. package/dist/esm/components/Combobox/Combobox.js.map +1 -1
  125. package/dist/esm/components/DataTable/DataTable.css +328 -25
  126. package/dist/esm/components/DataTable/DataTable.js +185 -32
  127. package/dist/esm/components/DataTable/DataTable.js.map +1 -1
  128. package/dist/esm/components/DataTable/index.js.map +1 -1
  129. package/dist/esm/components/DatePicker/DatePicker.js +1 -0
  130. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  131. package/dist/esm/components/Dialog/Dialog.js +1 -0
  132. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  133. package/dist/esm/components/DocumentViewer/DocumentCanvas.js +1 -0
  134. package/dist/esm/components/DocumentViewer/DocumentCanvas.js.map +1 -1
  135. package/dist/esm/components/DocumentViewer/DocumentThumbnails.js +1 -0
  136. package/dist/esm/components/DocumentViewer/DocumentThumbnails.js.map +1 -1
  137. package/dist/esm/components/DocumentViewer/DocumentToolbar.js +1 -0
  138. package/dist/esm/components/DocumentViewer/DocumentToolbar.js.map +1 -1
  139. package/dist/esm/components/DocumentViewer/DocumentViewer.js +1 -0
  140. package/dist/esm/components/DocumentViewer/DocumentViewer.js.map +1 -1
  141. package/dist/esm/components/Drawer/Drawer.js +1 -0
  142. package/dist/esm/components/Drawer/Drawer.js.map +1 -1
  143. package/dist/esm/components/FileUpload/FileUpload.js +1 -0
  144. package/dist/esm/components/FileUpload/FileUpload.js.map +1 -1
  145. package/dist/esm/components/Input/Input.js +1 -0
  146. package/dist/esm/components/Input/Input.js.map +1 -1
  147. package/dist/esm/components/LicensePlateInput/LicensePlateInput.js +1 -0
  148. package/dist/esm/components/LicensePlateInput/LicensePlateInput.js.map +1 -1
  149. package/dist/esm/components/ListItem/ListItem.js +1 -0
  150. package/dist/esm/components/ListItem/ListItem.js.map +1 -1
  151. package/dist/esm/components/Menu/Menu.js +1 -0
  152. package/dist/esm/components/Menu/Menu.js.map +1 -1
  153. package/dist/esm/components/NavigationTransition/NavigationTransition.js +1 -0
  154. package/dist/esm/components/NavigationTransition/NavigationTransition.js.map +1 -1
  155. package/dist/esm/components/NumberInput/NumberInput.js +1 -0
  156. package/dist/esm/components/NumberInput/NumberInput.js.map +1 -1
  157. package/dist/esm/components/Pagination/Pagination.js +1 -0
  158. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  159. package/dist/esm/components/ProfileBadge/ProfileBadge.js +2 -2
  160. package/dist/esm/components/ProfileBadge/ProfileBadge.js.map +1 -1
  161. package/dist/esm/components/PullToRefresh/PullToRefresh.js +1 -0
  162. package/dist/esm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  163. package/dist/esm/components/Radio/Radio.js +1 -0
  164. package/dist/esm/components/Radio/Radio.js.map +1 -1
  165. package/dist/esm/components/RadioTile/RadioTile.js +1 -0
  166. package/dist/esm/components/RadioTile/RadioTile.js.map +1 -1
  167. package/dist/esm/components/RangeSlider/RangeSlider.js +1 -0
  168. package/dist/esm/components/RangeSlider/RangeSlider.js.map +1 -1
  169. package/dist/esm/components/SearchInput/SearchInput.js +1 -0
  170. package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
  171. package/dist/esm/components/SegmentGroup/SegmentGroup.js +1 -0
  172. package/dist/esm/components/SegmentGroup/SegmentGroup.js.map +1 -1
  173. package/dist/esm/components/Select/Select.js +1 -0
  174. package/dist/esm/components/Select/Select.js.map +1 -1
  175. package/dist/esm/components/SmsOtpField/SmsOtpField.js +1 -0
  176. package/dist/esm/components/SmsOtpField/SmsOtpField.js.map +1 -1
  177. package/dist/esm/components/SwipeActions/SwipeActions.js +1 -0
  178. package/dist/esm/components/SwipeActions/SwipeActions.js.map +1 -1
  179. package/dist/esm/components/Table/useTableSelection.js +1 -0
  180. package/dist/esm/components/Table/useTableSelection.js.map +1 -1
  181. package/dist/esm/components/Tabs/Tabs.js +1 -0
  182. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  183. package/dist/esm/components/Textarea/Textarea.js +1 -0
  184. package/dist/esm/components/Textarea/Textarea.js.map +1 -1
  185. package/dist/esm/components/Tile/Tile.js +1 -0
  186. package/dist/esm/components/Tile/Tile.js.map +1 -1
  187. package/dist/esm/components/Toast/Toast.js +1 -0
  188. package/dist/esm/components/Toast/Toast.js.map +1 -1
  189. package/dist/esm/components/Toggle/Toggle.js +1 -0
  190. package/dist/esm/components/Toggle/Toggle.js.map +1 -1
  191. package/dist/esm/components/index.js.map +1 -1
  192. package/dist/styles/components/Badge.css +77 -28
  193. package/dist/styles/components/Button.css +10 -4
  194. package/dist/styles/components/Chip.css +155 -65
  195. package/dist/styles/components/DataTable.css +328 -25
  196. package/dist/styles/index.css +740 -202
  197. package/dist/styles/muka-dark.css +740 -202
  198. package/dist/styles/muka-light.css +740 -202
  199. package/dist/styles/{tokens-bouwflow-dark.css → tokens-bouwplan-dark.css} +93 -3
  200. package/dist/styles/{tokens-bouwflow-light.css → tokens-bouwplan-light.css} +93 -3
  201. package/dist/styles/tokens-fscl-dark.css +93 -3
  202. package/dist/styles/tokens-fscl-light.css +93 -3
  203. package/dist/styles/tokens-grip-dark.css +93 -3
  204. package/dist/styles/tokens-grip-light.css +93 -3
  205. package/dist/styles/tokens-muka-dark.css +93 -3
  206. package/dist/styles/tokens-muka-light.css +93 -3
  207. package/dist/styles/tokens-wireframe-dark.css +93 -3
  208. package/dist/styles/tokens-wireframe-light.css +150 -60
  209. package/dist/styles/wireframe-dark.css +740 -202
  210. package/dist/styles/wireframe-light.css +797 -259
  211. package/dist/types/components/AgentTaskList/AgentTaskList.d.ts.map +1 -1
  212. package/dist/types/components/Avatar/Avatar.d.ts.map +1 -1
  213. package/dist/types/components/Badge/Badge.d.ts.map +1 -1
  214. package/dist/types/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  215. package/dist/types/components/Button/Button.d.ts.map +1 -1
  216. package/dist/types/components/Card/Card.d.ts.map +1 -1
  217. package/dist/types/components/ChatComposer/ChatComposer.d.ts.map +1 -1
  218. package/dist/types/components/ChatMessageList/ChatMessageList.d.ts.map +1 -1
  219. package/dist/types/components/Checkbox/Checkbox.d.ts +4 -0
  220. package/dist/types/components/Checkbox/Checkbox.d.ts.map +1 -1
  221. package/dist/types/components/CheckboxTile/CheckboxTile.d.ts.map +1 -1
  222. package/dist/types/components/Chip/Chip.d.ts +2 -5
  223. package/dist/types/components/Chip/Chip.d.ts.map +1 -1
  224. package/dist/types/components/Combobox/Combobox.d.ts.map +1 -1
  225. package/dist/types/components/DataTable/DataTable.d.ts +93 -4
  226. package/dist/types/components/DataTable/DataTable.d.ts.map +1 -1
  227. package/dist/types/components/DataTable/index.d.ts +1 -1
  228. package/dist/types/components/DataTable/index.d.ts.map +1 -1
  229. package/dist/types/components/DatePicker/DatePicker.d.ts.map +1 -1
  230. package/dist/types/components/Dialog/Dialog.d.ts.map +1 -1
  231. package/dist/types/components/DocumentViewer/DocumentCanvas.d.ts.map +1 -1
  232. package/dist/types/components/DocumentViewer/DocumentThumbnails.d.ts.map +1 -1
  233. package/dist/types/components/DocumentViewer/DocumentToolbar.d.ts.map +1 -1
  234. package/dist/types/components/DocumentViewer/DocumentViewer.d.ts.map +1 -1
  235. package/dist/types/components/Drawer/Drawer.d.ts.map +1 -1
  236. package/dist/types/components/FileUpload/FileUpload.d.ts.map +1 -1
  237. package/dist/types/components/Input/Input.d.ts.map +1 -1
  238. package/dist/types/components/LicensePlateInput/LicensePlateInput.d.ts.map +1 -1
  239. package/dist/types/components/ListItem/ListItem.d.ts.map +1 -1
  240. package/dist/types/components/Menu/Menu.d.ts.map +1 -1
  241. package/dist/types/components/NavigationTransition/NavigationTransition.d.ts.map +1 -1
  242. package/dist/types/components/NumberInput/NumberInput.d.ts.map +1 -1
  243. package/dist/types/components/Pagination/Pagination.d.ts.map +1 -1
  244. package/dist/types/components/ProfileBadge/ProfileBadge.d.ts +8 -0
  245. package/dist/types/components/ProfileBadge/ProfileBadge.d.ts.map +1 -1
  246. package/dist/types/components/PullToRefresh/PullToRefresh.d.ts.map +1 -1
  247. package/dist/types/components/Radio/Radio.d.ts.map +1 -1
  248. package/dist/types/components/RadioTile/RadioTile.d.ts.map +1 -1
  249. package/dist/types/components/RangeSlider/RangeSlider.d.ts.map +1 -1
  250. package/dist/types/components/SearchInput/SearchInput.d.ts.map +1 -1
  251. package/dist/types/components/SegmentGroup/SegmentGroup.d.ts.map +1 -1
  252. package/dist/types/components/Select/Select.d.ts.map +1 -1
  253. package/dist/types/components/SmsOtpField/SmsOtpField.d.ts.map +1 -1
  254. package/dist/types/components/SwipeActions/SwipeActions.d.ts.map +1 -1
  255. package/dist/types/components/Table/useTableSelection.d.ts.map +1 -1
  256. package/dist/types/components/Tabs/Tabs.d.ts.map +1 -1
  257. package/dist/types/components/Textarea/Textarea.d.ts.map +1 -1
  258. package/dist/types/components/Tile/Tile.d.ts.map +1 -1
  259. package/dist/types/components/Toast/Toast.d.ts.map +1 -1
  260. package/dist/types/components/Toggle/Toggle.d.ts.map +1 -1
  261. package/dist/types/components/index.d.ts +1 -1
  262. package/dist/types/components/index.d.ts.map +1 -1
  263. package/docs/consumers/setup-instructions.md +3 -3
  264. package/package.json +3 -1
  265. package/skills/setup-muka/SKILL.md +1 -1
  266. package/tokens/t2-alias/base.json +90 -0
  267. package/tokens/t2-alias/brand/{bouwflow → bouwplan}/dark.json +35 -5
  268. package/tokens/t2-alias/brand/{bouwflow → bouwplan}/light.json +35 -5
  269. package/tokens/t2-alias/brand/fscl/dark.json +35 -5
  270. package/tokens/t2-alias/brand/fscl/light.json +28 -4
  271. package/tokens/t2-alias/brand/grip/dark.json +90 -0
  272. package/tokens/t2-alias/brand/grip/light.json +90 -0
  273. package/tokens/t2-alias/brand/muka/dark.json +90 -0
  274. package/tokens/t2-alias/brand/muka/light.json +90 -0
  275. package/tokens/t2-alias/brand/wireframe/dark.json +90 -0
  276. package/tokens/t2-alias/brand/wireframe/light.json +82 -10
  277. package/tokens/t4-components/badge.json +44 -0
  278. package/tokens/t4-components/chip.json +214 -4
  279. package/tokens/t4-components/datatable.json +104 -0
  280. /package/tokens/t2-alias/brand/{bouwflow → bouwplan}/fonts.json +0 -0
@@ -7,16 +7,31 @@
7
7
  }
8
8
 
9
9
  .muka-data-table {
10
+ /* Density-driven cell padding (overridden per size below). */
11
+ --dt-pad-x: var(--datatable-cell-padding-x-md);
12
+ --dt-pad-y: var(--datatable-cell-padding-y-md);
13
+
10
14
  width: 100%;
11
15
  border-collapse: collapse;
12
16
  border-spacing: 0;
13
- table-layout: fixed;
14
- background-color: var(--color-surface-level3);
15
- color: var(--color-text-default-default);
17
+ /* auto layout so per-column min/max widths are honored and unsized columns flex */
18
+ table-layout: auto;
19
+ background-color: var(--datatable-row-background);
20
+ color: var(--datatable-row-foreground);
21
+ }
22
+
23
+ .muka-data-table--size-sm {
24
+ --dt-pad-x: var(--datatable-cell-padding-x-sm);
25
+ --dt-pad-y: var(--datatable-cell-padding-y-sm);
26
+ }
27
+
28
+ .muka-data-table--size-lg {
29
+ --dt-pad-x: var(--datatable-cell-padding-x-lg);
30
+ --dt-pad-y: var(--datatable-cell-padding-y-lg);
16
31
  }
17
32
 
18
33
  .muka-data-table__caption {
19
- padding: var(--spacing-3) var(--spacing-6);
34
+ padding: var(--dt-pad-y) var(--dt-pad-x);
20
35
  font-family: var(--text-body-base-bold-fontFamily);
21
36
  font-weight: var(--text-body-base-bold-fontWeight);
22
37
  font-size: var(--text-body-base-bold-fontSize);
@@ -30,17 +45,17 @@
30
45
  ======================================== */
31
46
 
32
47
  .muka-data-table__head {
33
- border-bottom: var(--border-width-regular, 1px) solid var(--color-border-default);
48
+ border-bottom: var(--border-width-regular, 1px) solid var(--datatable-header-border);
34
49
  }
35
50
 
36
51
  .muka-data-table__th {
37
- background-color: var(--color-surface-level1);
38
- padding: var(--spacing-2) var(--spacing-6);
52
+ background-color: var(--datatable-header-background);
53
+ padding: var(--datatable-cell-padding-y-sm) var(--dt-pad-x);
39
54
  font-family: var(--text-body-base-bold-fontFamily);
40
55
  font-weight: var(--text-body-base-bold-fontWeight);
41
56
  font-size: var(--text-body-base-bold-fontSize);
42
57
  line-height: var(--text-body-base-bold-lineHeight);
43
- color: var(--color-text-default-default);
58
+ color: var(--datatable-header-foreground);
44
59
  vertical-align: middle;
45
60
  text-align: left;
46
61
  }
@@ -48,7 +63,7 @@
48
63
  .muka-data-table__th-label {
49
64
  display: flex;
50
65
  align-items: center;
51
- min-height: 2rem; /* 32px slot — matches Figma header cell height */
66
+ min-height: var(--datatable-cell-min-height); /* 32px slot — matches Figma header cell height */
52
67
  }
53
68
 
54
69
  /* ========================================
@@ -56,28 +71,34 @@
56
71
  ======================================== */
57
72
 
58
73
  .muka-data-table__row {
59
- border-bottom: var(--border-width-regular, 1px) solid var(--color-border-default);
74
+ border-bottom: var(--border-width-regular, 1px) solid var(--datatable-row-border);
60
75
  transition: background-color 0.15s ease;
61
76
  }
62
77
 
63
- .muka-data-table__row:not(.muka-data-table__row--empty):hover {
64
- background-color: var(--color-surface-hover);
78
+ .muka-data-table__row:not(.muka-data-table__row--empty):not(.muka-data-table__row--selected):hover {
79
+ background-color: var(--datatable-row-hover-background);
80
+ }
81
+
82
+ /* Selected rows keep their tint, including on hover. */
83
+ .muka-data-table__row--selected,
84
+ .muka-data-table__row--selected:hover {
85
+ background-color: var(--datatable-row-selected-background);
65
86
  }
66
87
 
67
88
  .muka-data-table__td {
68
- padding: var(--spacing-3) var(--spacing-6);
89
+ padding: var(--dt-pad-y) var(--dt-pad-x);
69
90
  font-family: var(--text-body-base-regular-fontFamily);
70
91
  font-weight: var(--text-body-base-regular-fontWeight);
71
92
  font-size: var(--text-body-base-regular-fontSize);
72
93
  line-height: var(--text-body-base-regular-lineHeight);
73
- color: var(--color-text-default-default);
94
+ color: var(--datatable-row-foreground);
74
95
  vertical-align: middle;
75
96
  }
76
97
 
77
98
  .muka-data-table__cell-content {
78
99
  display: flex;
79
100
  align-items: center;
80
- min-height: 2rem; /* 32px slot — matches Figma body cell height */
101
+ min-height: var(--datatable-cell-min-height); /* 32px slot — matches Figma body cell height */
81
102
  word-break: break-word;
82
103
  }
83
104
 
@@ -86,6 +107,42 @@
86
107
  color: var(--color-text-subtle-default);
87
108
  }
88
109
 
110
+ /* ========================================
111
+ BADGES — always the small (sm) scale
112
+ ======================================== */
113
+
114
+ /* Any Badge inside a DataTable renders at the small scale regardless of the
115
+ `size` prop passed to it — status pills stay compact and consistent across
116
+ every table density. Enforced here so callers can't accidentally scale them
117
+ up. Overrides the `.muka-badge--md`/`--lg` size rules by carrying a higher
118
+ specificity (2–3 classes vs. 1–2), independent of stylesheet import order. */
119
+ .muka-data-table .muka-badge {
120
+ height: var(--badge-size-height-sm);
121
+ gap: var(--badge-gap-sm);
122
+ padding: 0 var(--badge-padding-label-sm);
123
+ font-family: var(--text-label-sm-regular-fontFamily);
124
+ font-weight: var(--text-label-sm-regular-fontWeight);
125
+ font-size: var(--text-label-sm-regular-fontSize);
126
+ line-height: var(--text-label-sm-regular-lineHeight);
127
+ }
128
+
129
+ /* Match the sm leading padding when a leading icon or dot is present. */
130
+ .muka-data-table .muka-badge.muka-badge--has-icon,
131
+ .muka-data-table .muka-badge.muka-badge--has-dot {
132
+ padding-left: var(--badge-padding-leading-sm);
133
+ }
134
+
135
+ /* Icon and dot slots follow the sm scale too. */
136
+ .muka-data-table .muka-badge .muka-badge__icon {
137
+ width: var(--icon-size-xs);
138
+ height: var(--icon-size-xs);
139
+ }
140
+
141
+ .muka-data-table .muka-badge .muka-badge__dot {
142
+ width: var(--badge-size-dot-sm);
143
+ height: var(--badge-size-dot-sm);
144
+ }
145
+
89
146
  /* ========================================
90
147
  ALIGNMENT
91
148
  ======================================== */
@@ -118,7 +175,7 @@
118
175
 
119
176
  .muka-data-table--column-dividers .muka-data-table__th:not(:last-child),
120
177
  .muka-data-table--column-dividers .muka-data-table__td:not(:last-child) {
121
- border-right: var(--border-width-regular, 1px) solid var(--color-border-default);
178
+ border-right: var(--border-width-regular, 1px) solid var(--datatable-divider-color);
122
179
  }
123
180
 
124
181
  /* ========================================
@@ -130,7 +187,7 @@
130
187
  align-items: center;
131
188
  gap: var(--spacing-1);
132
189
  width: 100%;
133
- min-height: 2rem;
190
+ min-height: var(--datatable-cell-min-height);
134
191
  padding: 0;
135
192
  margin: 0;
136
193
  border: 0;
@@ -144,22 +201,268 @@
144
201
  }
145
202
 
146
203
  .muka-data-table__sort-button:focus-visible {
147
- outline: 2px solid var(--color-action-default);
204
+ outline: 2px solid var(--datatable-focus-ring);
148
205
  outline-offset: 2px;
149
206
  }
150
207
 
208
+ /* The chevron only renders on the active sort column, so it's always full-strength. */
151
209
  .muka-data-table__sort-icon {
152
210
  display: inline-flex;
153
211
  flex-shrink: 0;
154
- opacity: 0.4;
155
- transition: opacity 0.15s ease;
156
212
  }
157
213
 
158
- .muka-data-table__sort-button:hover .muka-data-table__sort-icon {
159
- opacity: 0.7;
214
+ /* ========================================
215
+ INTERACTIVE ROWS (clickable / link)
216
+ ======================================== */
217
+
218
+ .muka-data-table__row--interactive {
219
+ cursor: pointer;
220
+ /* anchor for the stretched link overlay */
221
+ position: relative;
222
+ }
223
+
224
+ .muka-data-table__row--interactive:focus-visible {
225
+ outline: 2px solid var(--datatable-focus-ring);
226
+ outline-offset: -2px;
227
+ }
228
+
229
+ .muka-data-table__row--interactive:active {
230
+ background-color: var(--datatable-row-pressed-background);
231
+ }
232
+
233
+ /* Link rows: the first-cell anchor stretches to cover the whole row. */
234
+ .muka-data-table__row-link {
235
+ color: inherit;
236
+ text-decoration: none;
237
+ }
238
+
239
+ .muka-data-table__row-link::after {
240
+ content: '';
241
+ position: absolute;
242
+ inset: 0;
243
+ z-index: 0;
244
+ }
245
+
246
+ .muka-data-table__row--link:hover {
247
+ background-color: var(--datatable-row-hover-background);
248
+ }
249
+
250
+ .muka-data-table__row--link .muka-data-table__row-link:focus-visible {
251
+ outline: 2px solid var(--datatable-focus-ring);
252
+ outline-offset: -2px;
253
+ }
254
+
255
+ /* Disabled rows */
256
+ .muka-data-table__row--disabled {
257
+ cursor: default;
258
+ color: var(--color-text-muted-default);
259
+ }
260
+
261
+ .muka-data-table__row--disabled .muka-data-table__td {
262
+ color: var(--color-text-muted-default);
263
+ }
264
+
265
+ /* ========================================
266
+ TRAILING ACTION COLUMN
267
+ ======================================== */
268
+
269
+ /* Hug: the trailing action column shrinks to its content, so a text-label
270
+ button ("View") gets exactly the width it needs and an icon-only button
271
+ stays tight. `width: 1%` + `nowrap` is the classic auto-table hug. */
272
+ .muka-data-table__col--action {
273
+ width: 0;
274
+ }
275
+
276
+ .muka-data-table__th--action,
277
+ .muka-data-table__td--action {
278
+ width: 1%;
279
+ white-space: nowrap;
280
+ padding-left: var(--spacing-2);
281
+ padding-right: var(--spacing-2);
282
+ text-align: right;
283
+ /* Sit above the row link overlay so the action stays independently clickable. */
284
+ position: relative;
285
+ z-index: 1;
286
+ }
287
+
288
+ .muka-data-table__action-content {
289
+ justify-content: flex-end;
290
+ }
291
+
292
+ /* Visually-hidden-friendly empty header slot keeps the row height consistent. */
293
+ .muka-data-table__action-header:empty {
294
+ min-height: var(--datatable-cell-min-height);
295
+ }
296
+
297
+ /* ========================================
298
+ SELECTION — leading checkbox column
299
+ ======================================== */
300
+
301
+ .muka-data-table__col--select {
302
+ width: var(--datatable-selection-column-width);
303
+ }
304
+
305
+ .muka-data-table__th--select,
306
+ .muka-data-table__td--select {
307
+ width: var(--datatable-selection-column-width);
308
+ padding-left: var(--spacing-4);
309
+ padding-right: var(--spacing-2);
310
+ /* Sit above the row link overlay so the checkbox stays independently clickable. */
311
+ position: relative;
312
+ z-index: 1;
313
+ }
314
+
315
+ .muka-data-table__select-control {
316
+ display: inline-flex;
317
+ align-items: center;
318
+ }
319
+
320
+ /* ========================================
321
+ RESPONSIVE — two-column mobile layout
322
+ ======================================== */
323
+
324
+ /* Desktop: the mobile-only stack cell/header/col are hidden. */
325
+ .muka-data-table__th--mobile-stack,
326
+ .muka-data-table__td--mobile-stack {
327
+ display: none;
160
328
  }
161
329
 
162
- .muka-data-table__sort-icon--asc,
163
- .muka-data-table__sort-icon--desc {
164
- opacity: 1;
330
+ /* Establish a container so the layout responds to the table's own width, not the
331
+ viewport — a DataTable in a narrow panel collapses even on a wide screen. */
332
+ .muka-data-table-wrapper--responsive {
333
+ container-type: inline-size;
334
+ }
335
+
336
+ /* Below --breakpoint-md (768px) of the wrapper's width. @container can't read
337
+ custom properties, so the value is inlined as 767.98px. */
338
+ @container (max-width: 767.98px) {
339
+ /* Lift the table and body out of table layout. Without this the grid rows
340
+ below get wrapped in anonymous table cells that shrink-wrap them to
341
+ min-content, collapsing the flexible (1fr) stack track to 0. */
342
+ .muka-data-table--responsive {
343
+ display: block;
344
+ }
345
+
346
+ .muka-data-table--responsive .muka-data-table__body {
347
+ display: block;
348
+ }
349
+
350
+ .muka-data-table--responsive .muka-data-table__head {
351
+ display: none;
352
+ }
353
+
354
+ .muka-data-table--responsive .muka-data-table__row {
355
+ display: grid;
356
+ grid-template-columns: 1fr auto auto;
357
+ align-items: center;
358
+ column-gap: var(--spacing-4);
359
+ padding: var(--dt-pad-y) var(--dt-pad-x);
360
+ }
361
+
362
+ /* Reset table cells; each visible mobile cell opts back in below. */
363
+ .muka-data-table--responsive .muka-data-table__td {
364
+ display: none;
365
+ padding: 0;
366
+ }
367
+
368
+ /* Pin every visible cell to the single grid row. The stack cell sits after the
369
+ secondary cell in DOM order but targets an earlier column, so without this
370
+ auto-placement spills it onto a second row (breaking vertical centering). */
371
+ .muka-data-table--responsive .muka-data-table__td--select,
372
+ .muka-data-table--responsive .muka-data-table__td--mobile-stack,
373
+ .muka-data-table--responsive .muka-data-table__td--m-secondary,
374
+ .muka-data-table--responsive .muka-data-table__td--action {
375
+ grid-row: 1;
376
+ }
377
+
378
+ .muka-data-table--responsive .muka-data-table__td--mobile-stack {
379
+ display: block;
380
+ grid-column: 1;
381
+ min-width: 0;
382
+ }
383
+
384
+ .muka-data-table--responsive .muka-data-table__td--m-secondary {
385
+ display: block;
386
+ grid-column: 2;
387
+ }
388
+
389
+ .muka-data-table--responsive .muka-data-table__td--action {
390
+ display: block;
391
+ grid-column: 3;
392
+ width: auto;
393
+ }
394
+
395
+ /* Cell-content wrappers: drop the fixed row-height slot so rows stay compact. */
396
+ .muka-data-table--responsive .muka-data-table__td .muka-data-table__cell-content {
397
+ min-height: 0;
398
+ }
399
+
400
+ .muka-data-table--responsive .muka-data-table__td--m-secondary .muka-data-table__cell-content {
401
+ justify-content: flex-end;
402
+ }
403
+
404
+ /* Stacked primary column: first field is the title, the rest are subtitle lines. */
405
+ .muka-data-table__stack {
406
+ display: flex;
407
+ flex-direction: column;
408
+ gap: var(--spacing-1);
409
+ min-width: 0;
410
+ }
411
+
412
+ /* A ProfileBadge in the collapsed card drops its avatar so the name sits
413
+ flush-left and lines up with the other stacked primary/secondary text
414
+ instead of being indented by the avatar. `display: none` also collapses the
415
+ ProfileBadge's flex gap, so no placeholder whitespace is left behind. */
416
+ .muka-data-table--responsive .muka-profile-badge__avatar {
417
+ display: none;
418
+ }
419
+
420
+ .muka-data-table__stack-title {
421
+ font-family: var(--text-label-md-semibold-fontFamily);
422
+ font-weight: var(--text-label-md-semibold-fontWeight);
423
+ font-size: var(--text-label-md-semibold-fontSize);
424
+ line-height: var(--text-label-md-semibold-lineHeight);
425
+ color: var(--color-text-default-default);
426
+ overflow: hidden;
427
+ text-overflow: ellipsis;
428
+ }
429
+
430
+ .muka-data-table__stack-line {
431
+ font-family: var(--text-body-sm-regular-fontFamily);
432
+ font-weight: var(--text-body-sm-regular-fontWeight);
433
+ font-size: var(--text-body-sm-regular-fontSize);
434
+ line-height: var(--text-body-sm-regular-lineHeight);
435
+ color: var(--color-text-subtle-default);
436
+ overflow: hidden;
437
+ text-overflow: ellipsis;
438
+ }
439
+
440
+ /* The stack title may itself be the stretched link. */
441
+ .muka-data-table__stack-title .muka-data-table__row-link {
442
+ color: inherit;
443
+ text-decoration: none;
444
+ }
445
+
446
+ /* Selection checkbox leads the mobile row: [checkbox | stack | secondary | action]. */
447
+ .muka-data-table--responsive .muka-data-table__td--select {
448
+ display: block;
449
+ grid-column: 1;
450
+ width: auto;
451
+ }
452
+
453
+ .muka-data-table--responsive.muka-data-table--selectable .muka-data-table__row {
454
+ grid-template-columns: auto 1fr auto auto;
455
+ }
456
+
457
+ .muka-data-table--responsive.muka-data-table--selectable .muka-data-table__td--mobile-stack {
458
+ grid-column: 2;
459
+ }
460
+
461
+ .muka-data-table--responsive.muka-data-table--selectable .muka-data-table__td--m-secondary {
462
+ grid-column: 3;
463
+ }
464
+
465
+ .muka-data-table--responsive.muka-data-table--selectable .muka-data-table__td--action {
466
+ grid-column: 4;
467
+ }
165
468
  }