@revikornmann/muka-ui 0.2.3 → 0.3.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 (294) hide show
  1. package/build/manifest.json +10 -0
  2. package/dist/cjs/components/AgentTaskList/AgentTaskList.js +1 -0
  3. package/dist/cjs/components/AgentTaskList/AgentTaskList.js.map +1 -1
  4. package/dist/cjs/components/Avatar/Avatar.js +1 -0
  5. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  6. package/dist/cjs/components/Badge/Badge.css +77 -28
  7. package/dist/cjs/components/Badge/Badge.js +2 -0
  8. package/dist/cjs/components/Badge/Badge.js.map +1 -1
  9. package/dist/cjs/components/BottomBar/BottomBar.css +9 -0
  10. package/dist/cjs/components/Breadcrumb/Breadcrumb.js +1 -0
  11. package/dist/cjs/components/Breadcrumb/Breadcrumb.js.map +1 -1
  12. package/dist/cjs/components/Button/Button.css +10 -4
  13. package/dist/cjs/components/Button/Button.js +1 -0
  14. package/dist/cjs/components/Button/Button.js.map +1 -1
  15. package/dist/cjs/components/Card/Card.js +1 -0
  16. package/dist/cjs/components/Card/Card.js.map +1 -1
  17. package/dist/cjs/components/ChatComposer/ChatComposer.js +1 -0
  18. package/dist/cjs/components/ChatComposer/ChatComposer.js.map +1 -1
  19. package/dist/cjs/components/ChatMessageList/ChatMessageList.js +1 -0
  20. package/dist/cjs/components/ChatMessageList/ChatMessageList.js.map +1 -1
  21. package/dist/cjs/components/Checkbox/Checkbox.js +1 -0
  22. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  23. package/dist/cjs/components/CheckboxTile/CheckboxTile.js +1 -0
  24. package/dist/cjs/components/CheckboxTile/CheckboxTile.js.map +1 -1
  25. package/dist/cjs/components/Chip/Chip.css +155 -65
  26. package/dist/cjs/components/Chip/Chip.js +6 -5
  27. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  28. package/dist/cjs/components/Combobox/Combobox.js +1 -0
  29. package/dist/cjs/components/Combobox/Combobox.js.map +1 -1
  30. package/dist/cjs/components/DataTable/DataTable.css +328 -25
  31. package/dist/cjs/components/DataTable/DataTable.js +185 -32
  32. package/dist/cjs/components/DataTable/DataTable.js.map +1 -1
  33. package/dist/cjs/components/DataTable/index.js.map +1 -1
  34. package/dist/cjs/components/DatePicker/DatePicker.js +1 -0
  35. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  36. package/dist/cjs/components/Dialog/Dialog.js +1 -0
  37. package/dist/cjs/components/Dialog/Dialog.js.map +1 -1
  38. package/dist/cjs/components/DocumentViewer/DocumentCanvas.js +1 -0
  39. package/dist/cjs/components/DocumentViewer/DocumentCanvas.js.map +1 -1
  40. package/dist/cjs/components/DocumentViewer/DocumentThumbnails.js +1 -0
  41. package/dist/cjs/components/DocumentViewer/DocumentThumbnails.js.map +1 -1
  42. package/dist/cjs/components/DocumentViewer/DocumentToolbar.js +1 -0
  43. package/dist/cjs/components/DocumentViewer/DocumentToolbar.js.map +1 -1
  44. package/dist/cjs/components/DocumentViewer/DocumentViewer.js +1 -0
  45. package/dist/cjs/components/DocumentViewer/DocumentViewer.js.map +1 -1
  46. package/dist/cjs/components/Drawer/Drawer.js +1 -0
  47. package/dist/cjs/components/Drawer/Drawer.js.map +1 -1
  48. package/dist/cjs/components/FileUpload/FileUpload.js +1 -0
  49. package/dist/cjs/components/FileUpload/FileUpload.js.map +1 -1
  50. package/dist/cjs/components/Input/Input.js +1 -0
  51. package/dist/cjs/components/Input/Input.js.map +1 -1
  52. package/dist/cjs/components/LicensePlateInput/LicensePlateInput.js +1 -0
  53. package/dist/cjs/components/LicensePlateInput/LicensePlateInput.js.map +1 -1
  54. package/dist/cjs/components/ListItem/ListItem.js +1 -0
  55. package/dist/cjs/components/ListItem/ListItem.js.map +1 -1
  56. package/dist/cjs/components/Menu/Menu.js +1 -0
  57. package/dist/cjs/components/Menu/Menu.js.map +1 -1
  58. package/dist/cjs/components/NavigationTransition/NavigationTransition.js +1 -0
  59. package/dist/cjs/components/NavigationTransition/NavigationTransition.js.map +1 -1
  60. package/dist/cjs/components/NumberInput/NumberInput.js +1 -0
  61. package/dist/cjs/components/NumberInput/NumberInput.js.map +1 -1
  62. package/dist/cjs/components/Pagination/Pagination.js +1 -0
  63. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  64. package/dist/cjs/components/ProfileBadge/ProfileBadge.js +2 -2
  65. package/dist/cjs/components/ProfileBadge/ProfileBadge.js.map +1 -1
  66. package/dist/cjs/components/PullToRefresh/PullToRefresh.js +1 -0
  67. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  68. package/dist/cjs/components/Radio/Radio.js +1 -0
  69. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  70. package/dist/cjs/components/RadioTile/RadioTile.js +1 -0
  71. package/dist/cjs/components/RadioTile/RadioTile.js.map +1 -1
  72. package/dist/cjs/components/RangeSlider/RangeSlider.js +1 -0
  73. package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -1
  74. package/dist/cjs/components/SearchInput/SearchInput.js +1 -0
  75. package/dist/cjs/components/SearchInput/SearchInput.js.map +1 -1
  76. package/dist/cjs/components/SegmentGroup/SegmentGroup.js +1 -0
  77. package/dist/cjs/components/SegmentGroup/SegmentGroup.js.map +1 -1
  78. package/dist/cjs/components/Select/Select.js +1 -0
  79. package/dist/cjs/components/Select/Select.js.map +1 -1
  80. package/dist/cjs/components/SmsOtpField/SmsOtpField.js +1 -0
  81. package/dist/cjs/components/SmsOtpField/SmsOtpField.js.map +1 -1
  82. package/dist/cjs/components/SwipeActions/SwipeActions.js +1 -0
  83. package/dist/cjs/components/SwipeActions/SwipeActions.js.map +1 -1
  84. package/dist/cjs/components/Table/useTableSelection.js +1 -0
  85. package/dist/cjs/components/Table/useTableSelection.js.map +1 -1
  86. package/dist/cjs/components/Tabs/Tabs.js +1 -0
  87. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  88. package/dist/cjs/components/Textarea/Textarea.js +1 -0
  89. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  90. package/dist/cjs/components/Tile/Tile.js +1 -0
  91. package/dist/cjs/components/Tile/Tile.js.map +1 -1
  92. package/dist/cjs/components/Toast/Toast.js +1 -0
  93. package/dist/cjs/components/Toast/Toast.js.map +1 -1
  94. package/dist/cjs/components/Toggle/Toggle.js +1 -0
  95. package/dist/cjs/components/Toggle/Toggle.js.map +1 -1
  96. package/dist/cjs/components/TopBar/TopBar.css +46 -19
  97. package/dist/cjs/components/TopBar/TopBar.js +1 -1
  98. package/dist/cjs/components/TopBar/TopBar.js.map +1 -1
  99. package/dist/cjs/components/View/View.css +11 -0
  100. package/dist/cjs/components/View/View.js +1 -1
  101. package/dist/cjs/components/View/View.js.map +1 -1
  102. package/dist/cjs/components/index.js.map +1 -1
  103. package/dist/esm/components/AgentTaskList/AgentTaskList.js +1 -0
  104. package/dist/esm/components/AgentTaskList/AgentTaskList.js.map +1 -1
  105. package/dist/esm/components/Avatar/Avatar.js +1 -0
  106. package/dist/esm/components/Avatar/Avatar.js.map +1 -1
  107. package/dist/esm/components/Badge/Badge.css +77 -28
  108. package/dist/esm/components/Badge/Badge.js +2 -0
  109. package/dist/esm/components/Badge/Badge.js.map +1 -1
  110. package/dist/esm/components/BottomBar/BottomBar.css +9 -0
  111. package/dist/esm/components/Breadcrumb/Breadcrumb.js +1 -0
  112. package/dist/esm/components/Breadcrumb/Breadcrumb.js.map +1 -1
  113. package/dist/esm/components/Button/Button.css +10 -4
  114. package/dist/esm/components/Button/Button.js +1 -0
  115. package/dist/esm/components/Button/Button.js.map +1 -1
  116. package/dist/esm/components/Card/Card.js +1 -0
  117. package/dist/esm/components/Card/Card.js.map +1 -1
  118. package/dist/esm/components/ChatComposer/ChatComposer.js +1 -0
  119. package/dist/esm/components/ChatComposer/ChatComposer.js.map +1 -1
  120. package/dist/esm/components/ChatMessageList/ChatMessageList.js +1 -0
  121. package/dist/esm/components/ChatMessageList/ChatMessageList.js.map +1 -1
  122. package/dist/esm/components/Checkbox/Checkbox.js +1 -0
  123. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  124. package/dist/esm/components/CheckboxTile/CheckboxTile.js +1 -0
  125. package/dist/esm/components/CheckboxTile/CheckboxTile.js.map +1 -1
  126. package/dist/esm/components/Chip/Chip.css +155 -65
  127. package/dist/esm/components/Chip/Chip.js +6 -5
  128. package/dist/esm/components/Chip/Chip.js.map +1 -1
  129. package/dist/esm/components/Combobox/Combobox.js +1 -0
  130. package/dist/esm/components/Combobox/Combobox.js.map +1 -1
  131. package/dist/esm/components/DataTable/DataTable.css +328 -25
  132. package/dist/esm/components/DataTable/DataTable.js +185 -32
  133. package/dist/esm/components/DataTable/DataTable.js.map +1 -1
  134. package/dist/esm/components/DataTable/index.js.map +1 -1
  135. package/dist/esm/components/DatePicker/DatePicker.js +1 -0
  136. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  137. package/dist/esm/components/Dialog/Dialog.js +1 -0
  138. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  139. package/dist/esm/components/DocumentViewer/DocumentCanvas.js +1 -0
  140. package/dist/esm/components/DocumentViewer/DocumentCanvas.js.map +1 -1
  141. package/dist/esm/components/DocumentViewer/DocumentThumbnails.js +1 -0
  142. package/dist/esm/components/DocumentViewer/DocumentThumbnails.js.map +1 -1
  143. package/dist/esm/components/DocumentViewer/DocumentToolbar.js +1 -0
  144. package/dist/esm/components/DocumentViewer/DocumentToolbar.js.map +1 -1
  145. package/dist/esm/components/DocumentViewer/DocumentViewer.js +1 -0
  146. package/dist/esm/components/DocumentViewer/DocumentViewer.js.map +1 -1
  147. package/dist/esm/components/Drawer/Drawer.js +1 -0
  148. package/dist/esm/components/Drawer/Drawer.js.map +1 -1
  149. package/dist/esm/components/FileUpload/FileUpload.js +1 -0
  150. package/dist/esm/components/FileUpload/FileUpload.js.map +1 -1
  151. package/dist/esm/components/Input/Input.js +1 -0
  152. package/dist/esm/components/Input/Input.js.map +1 -1
  153. package/dist/esm/components/LicensePlateInput/LicensePlateInput.js +1 -0
  154. package/dist/esm/components/LicensePlateInput/LicensePlateInput.js.map +1 -1
  155. package/dist/esm/components/ListItem/ListItem.js +1 -0
  156. package/dist/esm/components/ListItem/ListItem.js.map +1 -1
  157. package/dist/esm/components/Menu/Menu.js +1 -0
  158. package/dist/esm/components/Menu/Menu.js.map +1 -1
  159. package/dist/esm/components/NavigationTransition/NavigationTransition.js +1 -0
  160. package/dist/esm/components/NavigationTransition/NavigationTransition.js.map +1 -1
  161. package/dist/esm/components/NumberInput/NumberInput.js +1 -0
  162. package/dist/esm/components/NumberInput/NumberInput.js.map +1 -1
  163. package/dist/esm/components/Pagination/Pagination.js +1 -0
  164. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  165. package/dist/esm/components/ProfileBadge/ProfileBadge.js +2 -2
  166. package/dist/esm/components/ProfileBadge/ProfileBadge.js.map +1 -1
  167. package/dist/esm/components/PullToRefresh/PullToRefresh.js +1 -0
  168. package/dist/esm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  169. package/dist/esm/components/Radio/Radio.js +1 -0
  170. package/dist/esm/components/Radio/Radio.js.map +1 -1
  171. package/dist/esm/components/RadioTile/RadioTile.js +1 -0
  172. package/dist/esm/components/RadioTile/RadioTile.js.map +1 -1
  173. package/dist/esm/components/RangeSlider/RangeSlider.js +1 -0
  174. package/dist/esm/components/RangeSlider/RangeSlider.js.map +1 -1
  175. package/dist/esm/components/SearchInput/SearchInput.js +1 -0
  176. package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
  177. package/dist/esm/components/SegmentGroup/SegmentGroup.js +1 -0
  178. package/dist/esm/components/SegmentGroup/SegmentGroup.js.map +1 -1
  179. package/dist/esm/components/Select/Select.js +1 -0
  180. package/dist/esm/components/Select/Select.js.map +1 -1
  181. package/dist/esm/components/SmsOtpField/SmsOtpField.js +1 -0
  182. package/dist/esm/components/SmsOtpField/SmsOtpField.js.map +1 -1
  183. package/dist/esm/components/SwipeActions/SwipeActions.js +1 -0
  184. package/dist/esm/components/SwipeActions/SwipeActions.js.map +1 -1
  185. package/dist/esm/components/Table/useTableSelection.js +1 -0
  186. package/dist/esm/components/Table/useTableSelection.js.map +1 -1
  187. package/dist/esm/components/Tabs/Tabs.js +1 -0
  188. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  189. package/dist/esm/components/Textarea/Textarea.js +1 -0
  190. package/dist/esm/components/Textarea/Textarea.js.map +1 -1
  191. package/dist/esm/components/Tile/Tile.js +1 -0
  192. package/dist/esm/components/Tile/Tile.js.map +1 -1
  193. package/dist/esm/components/Toast/Toast.js +1 -0
  194. package/dist/esm/components/Toast/Toast.js.map +1 -1
  195. package/dist/esm/components/Toggle/Toggle.js +1 -0
  196. package/dist/esm/components/Toggle/Toggle.js.map +1 -1
  197. package/dist/esm/components/TopBar/TopBar.css +46 -19
  198. package/dist/esm/components/TopBar/TopBar.js +1 -1
  199. package/dist/esm/components/TopBar/TopBar.js.map +1 -1
  200. package/dist/esm/components/View/View.css +11 -0
  201. package/dist/esm/components/View/View.js +1 -1
  202. package/dist/esm/components/View/View.js.map +1 -1
  203. package/dist/esm/components/index.js.map +1 -1
  204. package/dist/styles/components/Badge.css +77 -28
  205. package/dist/styles/components/BottomBar.css +9 -0
  206. package/dist/styles/components/Button.css +10 -4
  207. package/dist/styles/components/Chip.css +155 -65
  208. package/dist/styles/components/DataTable.css +328 -25
  209. package/dist/styles/components/View.css +11 -0
  210. package/dist/styles/index.css +1416 -858
  211. package/dist/styles/muka-dark.css +1416 -858
  212. package/dist/styles/muka-light.css +1416 -858
  213. package/dist/styles/tokens-bouwflow-dark.css +93 -3
  214. package/dist/styles/tokens-bouwflow-light.css +93 -3
  215. package/dist/styles/tokens-fscl-dark.css +93 -3
  216. package/dist/styles/tokens-fscl-light.css +93 -3
  217. package/dist/styles/tokens-grip-dark.css +93 -3
  218. package/dist/styles/tokens-grip-light.css +93 -3
  219. package/dist/styles/tokens-muka-dark.css +93 -3
  220. package/dist/styles/tokens-muka-light.css +93 -3
  221. package/dist/styles/tokens-wireframe-dark.css +93 -3
  222. package/dist/styles/tokens-wireframe-light.css +150 -60
  223. package/dist/styles/wireframe-dark.css +1416 -858
  224. package/dist/styles/wireframe-light.css +1470 -912
  225. package/dist/types/components/AgentTaskList/AgentTaskList.d.ts.map +1 -1
  226. package/dist/types/components/Avatar/Avatar.d.ts.map +1 -1
  227. package/dist/types/components/Badge/Badge.d.ts.map +1 -1
  228. package/dist/types/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  229. package/dist/types/components/Button/Button.d.ts.map +1 -1
  230. package/dist/types/components/Card/Card.d.ts.map +1 -1
  231. package/dist/types/components/ChatComposer/ChatComposer.d.ts.map +1 -1
  232. package/dist/types/components/ChatMessageList/ChatMessageList.d.ts.map +1 -1
  233. package/dist/types/components/Checkbox/Checkbox.d.ts +4 -0
  234. package/dist/types/components/Checkbox/Checkbox.d.ts.map +1 -1
  235. package/dist/types/components/CheckboxTile/CheckboxTile.d.ts.map +1 -1
  236. package/dist/types/components/Chip/Chip.d.ts +2 -5
  237. package/dist/types/components/Chip/Chip.d.ts.map +1 -1
  238. package/dist/types/components/Combobox/Combobox.d.ts.map +1 -1
  239. package/dist/types/components/DataTable/DataTable.d.ts +93 -4
  240. package/dist/types/components/DataTable/DataTable.d.ts.map +1 -1
  241. package/dist/types/components/DataTable/index.d.ts +1 -1
  242. package/dist/types/components/DataTable/index.d.ts.map +1 -1
  243. package/dist/types/components/DatePicker/DatePicker.d.ts.map +1 -1
  244. package/dist/types/components/Dialog/Dialog.d.ts.map +1 -1
  245. package/dist/types/components/DocumentViewer/DocumentCanvas.d.ts.map +1 -1
  246. package/dist/types/components/DocumentViewer/DocumentThumbnails.d.ts.map +1 -1
  247. package/dist/types/components/DocumentViewer/DocumentToolbar.d.ts.map +1 -1
  248. package/dist/types/components/DocumentViewer/DocumentViewer.d.ts.map +1 -1
  249. package/dist/types/components/Drawer/Drawer.d.ts.map +1 -1
  250. package/dist/types/components/FileUpload/FileUpload.d.ts.map +1 -1
  251. package/dist/types/components/Input/Input.d.ts.map +1 -1
  252. package/dist/types/components/LicensePlateInput/LicensePlateInput.d.ts.map +1 -1
  253. package/dist/types/components/ListItem/ListItem.d.ts.map +1 -1
  254. package/dist/types/components/Menu/Menu.d.ts.map +1 -1
  255. package/dist/types/components/NavigationTransition/NavigationTransition.d.ts.map +1 -1
  256. package/dist/types/components/NumberInput/NumberInput.d.ts.map +1 -1
  257. package/dist/types/components/Pagination/Pagination.d.ts.map +1 -1
  258. package/dist/types/components/ProfileBadge/ProfileBadge.d.ts +8 -0
  259. package/dist/types/components/ProfileBadge/ProfileBadge.d.ts.map +1 -1
  260. package/dist/types/components/PullToRefresh/PullToRefresh.d.ts.map +1 -1
  261. package/dist/types/components/Radio/Radio.d.ts.map +1 -1
  262. package/dist/types/components/RadioTile/RadioTile.d.ts.map +1 -1
  263. package/dist/types/components/RangeSlider/RangeSlider.d.ts.map +1 -1
  264. package/dist/types/components/SearchInput/SearchInput.d.ts.map +1 -1
  265. package/dist/types/components/SegmentGroup/SegmentGroup.d.ts.map +1 -1
  266. package/dist/types/components/Select/Select.d.ts.map +1 -1
  267. package/dist/types/components/SmsOtpField/SmsOtpField.d.ts.map +1 -1
  268. package/dist/types/components/SwipeActions/SwipeActions.d.ts.map +1 -1
  269. package/dist/types/components/Table/useTableSelection.d.ts.map +1 -1
  270. package/dist/types/components/Tabs/Tabs.d.ts.map +1 -1
  271. package/dist/types/components/Textarea/Textarea.d.ts.map +1 -1
  272. package/dist/types/components/Tile/Tile.d.ts.map +1 -1
  273. package/dist/types/components/Toast/Toast.d.ts.map +1 -1
  274. package/dist/types/components/Toggle/Toggle.d.ts.map +1 -1
  275. package/dist/types/components/TopBar/TopBar.d.ts.map +1 -1
  276. package/dist/types/components/index.d.ts +1 -1
  277. package/dist/types/components/index.d.ts.map +1 -1
  278. package/docs/consumers/setup-instructions.md +11 -0
  279. package/package.json +3 -1
  280. package/skills/setup-muka/SKILL.md +9 -1
  281. package/tokens/t2-alias/base.json +90 -0
  282. package/tokens/t2-alias/brand/bouwflow/dark.json +35 -5
  283. package/tokens/t2-alias/brand/bouwflow/light.json +35 -5
  284. package/tokens/t2-alias/brand/fscl/dark.json +35 -5
  285. package/tokens/t2-alias/brand/fscl/light.json +28 -4
  286. package/tokens/t2-alias/brand/grip/dark.json +90 -0
  287. package/tokens/t2-alias/brand/grip/light.json +90 -0
  288. package/tokens/t2-alias/brand/muka/dark.json +90 -0
  289. package/tokens/t2-alias/brand/muka/light.json +90 -0
  290. package/tokens/t2-alias/brand/wireframe/dark.json +90 -0
  291. package/tokens/t2-alias/brand/wireframe/light.json +82 -10
  292. package/tokens/t4-components/badge.json +44 -0
  293. package/tokens/t4-components/chip.json +214 -4
  294. package/tokens/t4-components/datatable.json +104 -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
  }