@revikornmann/muka-ui 0.11.0 → 0.13.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 (150) hide show
  1. package/build/manifest.json +30 -0
  2. package/dist/cjs/components/AgentTaskList/AgentTaskList.css +22 -3
  3. package/dist/cjs/components/AgentTaskList/AgentTaskList.js +1 -1
  4. package/dist/cjs/components/BadgeNumber/BadgeNumber.css +105 -0
  5. package/dist/cjs/components/BadgeNumber/BadgeNumber.js +19 -0
  6. package/dist/cjs/components/BadgeNumber/BadgeNumber.js.map +1 -0
  7. package/dist/cjs/components/BadgeNumber/index.js +11 -0
  8. package/dist/cjs/components/BadgeNumber/index.js.map +1 -0
  9. package/dist/cjs/components/BottomBar/BottomBar.css +8 -5
  10. package/dist/cjs/components/Button/Button.css +13 -6
  11. package/dist/cjs/components/Button/Button.js +1 -1
  12. package/dist/cjs/components/ChatComposer/ChatComposer.css +13 -1
  13. package/dist/cjs/components/ChatMessage/ChatMessage.css +328 -0
  14. package/dist/cjs/components/ChatMessage/ChatMessage.js +141 -0
  15. package/dist/cjs/components/ChatMessage/ChatMessage.js.map +1 -0
  16. package/dist/cjs/components/ChatMessage/index.js +7 -0
  17. package/dist/cjs/components/ChatMessage/index.js.map +1 -0
  18. package/dist/cjs/components/ChatMessageList/ChatMessageList.css +17 -1
  19. package/dist/cjs/components/ChatMessageList/ChatMessageList.js +1 -1
  20. package/dist/cjs/components/ChatMessageStack/ChatMessageStack.css +51 -0
  21. package/dist/cjs/components/ChatMessageStack/ChatMessageStack.js +49 -0
  22. package/dist/cjs/components/ChatMessageStack/ChatMessageStack.js.map +1 -0
  23. package/dist/cjs/components/ChatMessageStack/index.js +6 -0
  24. package/dist/cjs/components/ChatMessageStack/index.js.map +1 -0
  25. package/dist/cjs/components/ChatPhotoGrid/ChatPhotoGrid.css +119 -0
  26. package/dist/cjs/components/ChatPhotoGrid/ChatPhotoGrid.js +47 -0
  27. package/dist/cjs/components/ChatPhotoGrid/ChatPhotoGrid.js.map +1 -0
  28. package/dist/cjs/components/ChatPhotoGrid/index.js +11 -0
  29. package/dist/cjs/components/ChatPhotoGrid/index.js.map +1 -0
  30. package/dist/cjs/components/Menu/Menu.js +5 -4
  31. package/dist/cjs/components/Menu/Menu.js.map +1 -1
  32. package/dist/cjs/components/index.js +11 -5
  33. package/dist/cjs/components/index.js.map +1 -1
  34. package/dist/cjs/utils/useLongPress.js +71 -0
  35. package/dist/cjs/utils/useLongPress.js.map +1 -0
  36. package/dist/esm/components/AgentTaskList/AgentTaskList.css +22 -3
  37. package/dist/esm/components/AgentTaskList/AgentTaskList.js +1 -1
  38. package/dist/esm/components/BadgeNumber/BadgeNumber.css +105 -0
  39. package/dist/esm/components/BadgeNumber/BadgeNumber.js +15 -0
  40. package/dist/esm/components/BadgeNumber/BadgeNumber.js.map +1 -0
  41. package/dist/esm/components/BadgeNumber/index.js +3 -0
  42. package/dist/esm/components/BadgeNumber/index.js.map +1 -0
  43. package/dist/esm/components/BottomBar/BottomBar.css +8 -5
  44. package/dist/esm/components/Button/Button.css +13 -6
  45. package/dist/esm/components/Button/Button.js +1 -1
  46. package/dist/esm/components/ChatComposer/ChatComposer.css +13 -1
  47. package/dist/esm/components/ChatMessage/ChatMessage.css +328 -0
  48. package/dist/esm/components/ChatMessage/ChatMessage.js +137 -0
  49. package/dist/esm/components/ChatMessage/ChatMessage.js.map +1 -0
  50. package/dist/esm/components/ChatMessage/index.js +2 -0
  51. package/dist/esm/components/ChatMessage/index.js.map +1 -0
  52. package/dist/esm/components/ChatMessageList/ChatMessageList.css +17 -1
  53. package/dist/esm/components/ChatMessageList/ChatMessageList.js +1 -1
  54. package/dist/esm/components/ChatMessageStack/ChatMessageStack.css +51 -0
  55. package/dist/esm/components/ChatMessageStack/ChatMessageStack.js +42 -0
  56. package/dist/esm/components/ChatMessageStack/ChatMessageStack.js.map +1 -0
  57. package/dist/esm/components/ChatMessageStack/index.js +2 -0
  58. package/dist/esm/components/ChatMessageStack/index.js.map +1 -0
  59. package/dist/esm/components/ChatPhotoGrid/ChatPhotoGrid.css +119 -0
  60. package/dist/esm/components/ChatPhotoGrid/ChatPhotoGrid.js +43 -0
  61. package/dist/esm/components/ChatPhotoGrid/ChatPhotoGrid.js.map +1 -0
  62. package/dist/esm/components/ChatPhotoGrid/index.js +3 -0
  63. package/dist/esm/components/ChatPhotoGrid/index.js.map +1 -0
  64. package/dist/esm/components/Menu/Menu.js +5 -4
  65. package/dist/esm/components/Menu/Menu.js.map +1 -1
  66. package/dist/esm/components/index.js +4 -1
  67. package/dist/esm/components/index.js.map +1 -1
  68. package/dist/esm/utils/useLongPress.js +68 -0
  69. package/dist/esm/utils/useLongPress.js.map +1 -0
  70. package/dist/styles/components/AgentTaskList.css +22 -3
  71. package/dist/styles/components/BadgeNumber.css +105 -0
  72. package/dist/styles/components/BottomBar.css +8 -5
  73. package/dist/styles/components/Button.css +13 -6
  74. package/dist/styles/components/ChatComposer.css +13 -1
  75. package/dist/styles/components/ChatMessage.css +328 -0
  76. package/dist/styles/components/ChatMessageList.css +17 -1
  77. package/dist/styles/components/ChatMessageStack.css +51 -0
  78. package/dist/styles/components/ChatPhotoGrid.css +119 -0
  79. package/dist/styles/index.css +2615 -1941
  80. package/dist/styles/muka-dark.css +2615 -1941
  81. package/dist/styles/muka-light.css +2615 -1941
  82. package/dist/styles/tokens-bouwplan-dark.css +85 -0
  83. package/dist/styles/tokens-bouwplan-light.css +85 -0
  84. package/dist/styles/tokens-fscl-dark.css +85 -0
  85. package/dist/styles/tokens-fscl-light.css +85 -0
  86. package/dist/styles/tokens-grip-dark.css +85 -0
  87. package/dist/styles/tokens-grip-light.css +85 -0
  88. package/dist/styles/tokens-muka-dark.css +85 -0
  89. package/dist/styles/tokens-muka-light.css +85 -0
  90. package/dist/styles/tokens-wireframe-dark.css +85 -0
  91. package/dist/styles/tokens-wireframe-light.css +85 -0
  92. package/dist/styles/wireframe-dark.css +2615 -1941
  93. package/dist/styles/wireframe-light.css +2615 -1941
  94. package/dist/types/components/AgentTaskList/AgentTaskList.d.ts +1 -1
  95. package/dist/types/components/BadgeNumber/BadgeNumber.d.ts +17 -0
  96. package/dist/types/components/BadgeNumber/BadgeNumber.d.ts.map +1 -0
  97. package/dist/types/components/BadgeNumber/index.d.ts +3 -0
  98. package/dist/types/components/BadgeNumber/index.d.ts.map +1 -0
  99. package/dist/types/components/Button/Button.d.ts +1 -1
  100. package/dist/types/components/ChatMessage/ChatMessage.d.ts +130 -0
  101. package/dist/types/components/ChatMessage/ChatMessage.d.ts.map +1 -0
  102. package/dist/types/components/ChatMessage/index.d.ts +2 -0
  103. package/dist/types/components/ChatMessage/index.d.ts.map +1 -0
  104. package/dist/types/components/ChatMessageList/ChatMessageList.d.ts +2 -2
  105. package/dist/types/components/ChatMessageList/ChatMessageList.d.ts.map +1 -1
  106. package/dist/types/components/ChatMessageStack/ChatMessageStack.d.ts +46 -0
  107. package/dist/types/components/ChatMessageStack/ChatMessageStack.d.ts.map +1 -0
  108. package/dist/types/components/ChatMessageStack/index.d.ts +2 -0
  109. package/dist/types/components/ChatMessageStack/index.d.ts.map +1 -0
  110. package/dist/types/components/ChatPhotoGrid/ChatPhotoGrid.d.ts +44 -0
  111. package/dist/types/components/ChatPhotoGrid/ChatPhotoGrid.d.ts.map +1 -0
  112. package/dist/types/components/ChatPhotoGrid/index.d.ts +3 -0
  113. package/dist/types/components/ChatPhotoGrid/index.d.ts.map +1 -0
  114. package/dist/types/components/Menu/Menu.d.ts +12 -0
  115. package/dist/types/components/Menu/Menu.d.ts.map +1 -1
  116. package/dist/types/components/index.d.ts +4 -1
  117. package/dist/types/components/index.d.ts.map +1 -1
  118. package/dist/types/utils/useLongPress.d.ts +28 -0
  119. package/dist/types/utils/useLongPress.d.ts.map +1 -0
  120. package/package.json +1 -1
  121. package/tokens/README.md +14 -0
  122. package/tokens/t2-alias/brand/bouwplan/dark.json +24 -0
  123. package/tokens/t2-alias/brand/bouwplan/light.json +24 -0
  124. package/tokens/t2-alias/brand/fscl/dark.json +24 -0
  125. package/tokens/t2-alias/brand/fscl/light.json +24 -0
  126. package/tokens/t2-alias/brand/grip/dark.json +54 -0
  127. package/tokens/t2-alias/brand/grip/light.json +54 -0
  128. package/tokens/t2-alias/brand/muka/dark.json +54 -0
  129. package/tokens/t2-alias/brand/muka/light.json +54 -0
  130. package/tokens/t2-alias/brand/wireframe/dark.json +54 -0
  131. package/tokens/t2-alias/brand/wireframe/light.json +54 -0
  132. package/tokens/t3-semantics/ui.json +219 -0
  133. package/tokens/t4-components/badge-number.json +48 -0
  134. package/tokens/t4-components/chatbubble.json +180 -0
  135. package/tokens/t4-components/chatphotogrid.json +32 -0
  136. package/dist/cjs/components/ChatBubble/ChatBubble.css +0 -80
  137. package/dist/cjs/components/ChatBubble/ChatBubble.js +0 -24
  138. package/dist/cjs/components/ChatBubble/ChatBubble.js.map +0 -1
  139. package/dist/cjs/components/ChatBubble/index.js +0 -6
  140. package/dist/cjs/components/ChatBubble/index.js.map +0 -1
  141. package/dist/esm/components/ChatBubble/ChatBubble.css +0 -80
  142. package/dist/esm/components/ChatBubble/ChatBubble.js +0 -20
  143. package/dist/esm/components/ChatBubble/ChatBubble.js.map +0 -1
  144. package/dist/esm/components/ChatBubble/index.js +0 -2
  145. package/dist/esm/components/ChatBubble/index.js.map +0 -1
  146. package/dist/styles/components/ChatBubble.css +0 -80
  147. package/dist/types/components/ChatBubble/ChatBubble.d.ts +0 -30
  148. package/dist/types/components/ChatBubble/ChatBubble.d.ts.map +0 -1
  149. package/dist/types/components/ChatBubble/index.d.ts +0 -2
  150. package/dist/types/components/ChatBubble/index.d.ts.map +0 -1
@@ -11,6 +11,8 @@
11
11
  "tokens/t3-semantics/ui.json",
12
12
  "tokens/t4-components/button.json",
13
13
  "tokens/t4-components/card.json",
14
+ "tokens/t4-components/chatbubble.json",
15
+ "tokens/t4-components/chatphotogrid.json",
14
16
  "tokens/t4-components/container.json",
15
17
  "tokens/t4-components/input.json",
16
18
  "tokens/t4-components/chip.json",
@@ -52,6 +54,7 @@
52
54
  "tokens/t4-components/bottombar.json",
53
55
  "tokens/t4-components/view.json",
54
56
  "tokens/t4-components/badge.json",
57
+ "tokens/t4-components/badge-number.json",
55
58
  "tokens/t4-components/table.json",
56
59
  "tokens/t4-components/datatable.json",
57
60
  "tokens/t4-components/datepicker.json",
@@ -71,6 +74,8 @@
71
74
  "tokens/t3-semantics/ui.json",
72
75
  "tokens/t4-components/button.json",
73
76
  "tokens/t4-components/card.json",
77
+ "tokens/t4-components/chatbubble.json",
78
+ "tokens/t4-components/chatphotogrid.json",
74
79
  "tokens/t4-components/container.json",
75
80
  "tokens/t4-components/input.json",
76
81
  "tokens/t4-components/chip.json",
@@ -112,6 +117,7 @@
112
117
  "tokens/t4-components/bottombar.json",
113
118
  "tokens/t4-components/view.json",
114
119
  "tokens/t4-components/badge.json",
120
+ "tokens/t4-components/badge-number.json",
115
121
  "tokens/t4-components/table.json",
116
122
  "tokens/t4-components/datatable.json",
117
123
  "tokens/t4-components/datepicker.json",
@@ -130,6 +136,8 @@
130
136
  "tokens/t3-semantics/ui.json",
131
137
  "tokens/t4-components/button.json",
132
138
  "tokens/t4-components/card.json",
139
+ "tokens/t4-components/chatbubble.json",
140
+ "tokens/t4-components/chatphotogrid.json",
133
141
  "tokens/t4-components/container.json",
134
142
  "tokens/t4-components/input.json",
135
143
  "tokens/t4-components/chip.json",
@@ -171,6 +179,7 @@
171
179
  "tokens/t4-components/bottombar.json",
172
180
  "tokens/t4-components/view.json",
173
181
  "tokens/t4-components/badge.json",
182
+ "tokens/t4-components/badge-number.json",
174
183
  "tokens/t4-components/table.json",
175
184
  "tokens/t4-components/datatable.json",
176
185
  "tokens/t4-components/datepicker.json",
@@ -189,6 +198,8 @@
189
198
  "tokens/t3-semantics/ui.json",
190
199
  "tokens/t4-components/button.json",
191
200
  "tokens/t4-components/card.json",
201
+ "tokens/t4-components/chatbubble.json",
202
+ "tokens/t4-components/chatphotogrid.json",
192
203
  "tokens/t4-components/container.json",
193
204
  "tokens/t4-components/input.json",
194
205
  "tokens/t4-components/chip.json",
@@ -230,6 +241,7 @@
230
241
  "tokens/t4-components/bottombar.json",
231
242
  "tokens/t4-components/view.json",
232
243
  "tokens/t4-components/badge.json",
244
+ "tokens/t4-components/badge-number.json",
233
245
  "tokens/t4-components/table.json",
234
246
  "tokens/t4-components/datatable.json",
235
247
  "tokens/t4-components/datepicker.json",
@@ -248,6 +260,8 @@
248
260
  "tokens/t3-semantics/ui.json",
249
261
  "tokens/t4-components/button.json",
250
262
  "tokens/t4-components/card.json",
263
+ "tokens/t4-components/chatbubble.json",
264
+ "tokens/t4-components/chatphotogrid.json",
251
265
  "tokens/t4-components/container.json",
252
266
  "tokens/t4-components/input.json",
253
267
  "tokens/t4-components/chip.json",
@@ -289,6 +303,7 @@
289
303
  "tokens/t4-components/bottombar.json",
290
304
  "tokens/t4-components/view.json",
291
305
  "tokens/t4-components/badge.json",
306
+ "tokens/t4-components/badge-number.json",
292
307
  "tokens/t4-components/table.json",
293
308
  "tokens/t4-components/datatable.json",
294
309
  "tokens/t4-components/datepicker.json",
@@ -307,6 +322,8 @@
307
322
  "tokens/t3-semantics/ui.json",
308
323
  "tokens/t4-components/button.json",
309
324
  "tokens/t4-components/card.json",
325
+ "tokens/t4-components/chatbubble.json",
326
+ "tokens/t4-components/chatphotogrid.json",
310
327
  "tokens/t4-components/container.json",
311
328
  "tokens/t4-components/input.json",
312
329
  "tokens/t4-components/chip.json",
@@ -348,6 +365,7 @@
348
365
  "tokens/t4-components/bottombar.json",
349
366
  "tokens/t4-components/view.json",
350
367
  "tokens/t4-components/badge.json",
368
+ "tokens/t4-components/badge-number.json",
351
369
  "tokens/t4-components/table.json",
352
370
  "tokens/t4-components/datatable.json",
353
371
  "tokens/t4-components/datepicker.json",
@@ -366,6 +384,8 @@
366
384
  "tokens/t3-semantics/ui.json",
367
385
  "tokens/t4-components/button.json",
368
386
  "tokens/t4-components/card.json",
387
+ "tokens/t4-components/chatbubble.json",
388
+ "tokens/t4-components/chatphotogrid.json",
369
389
  "tokens/t4-components/container.json",
370
390
  "tokens/t4-components/input.json",
371
391
  "tokens/t4-components/chip.json",
@@ -407,6 +427,7 @@
407
427
  "tokens/t4-components/bottombar.json",
408
428
  "tokens/t4-components/view.json",
409
429
  "tokens/t4-components/badge.json",
430
+ "tokens/t4-components/badge-number.json",
410
431
  "tokens/t4-components/table.json",
411
432
  "tokens/t4-components/datatable.json",
412
433
  "tokens/t4-components/datepicker.json",
@@ -425,6 +446,8 @@
425
446
  "tokens/t3-semantics/ui.json",
426
447
  "tokens/t4-components/button.json",
427
448
  "tokens/t4-components/card.json",
449
+ "tokens/t4-components/chatbubble.json",
450
+ "tokens/t4-components/chatphotogrid.json",
428
451
  "tokens/t4-components/container.json",
429
452
  "tokens/t4-components/input.json",
430
453
  "tokens/t4-components/chip.json",
@@ -466,6 +489,7 @@
466
489
  "tokens/t4-components/bottombar.json",
467
490
  "tokens/t4-components/view.json",
468
491
  "tokens/t4-components/badge.json",
492
+ "tokens/t4-components/badge-number.json",
469
493
  "tokens/t4-components/table.json",
470
494
  "tokens/t4-components/datatable.json",
471
495
  "tokens/t4-components/datepicker.json",
@@ -484,6 +508,8 @@
484
508
  "tokens/t3-semantics/ui.json",
485
509
  "tokens/t4-components/button.json",
486
510
  "tokens/t4-components/card.json",
511
+ "tokens/t4-components/chatbubble.json",
512
+ "tokens/t4-components/chatphotogrid.json",
487
513
  "tokens/t4-components/container.json",
488
514
  "tokens/t4-components/input.json",
489
515
  "tokens/t4-components/chip.json",
@@ -525,6 +551,7 @@
525
551
  "tokens/t4-components/bottombar.json",
526
552
  "tokens/t4-components/view.json",
527
553
  "tokens/t4-components/badge.json",
554
+ "tokens/t4-components/badge-number.json",
528
555
  "tokens/t4-components/table.json",
529
556
  "tokens/t4-components/datatable.json",
530
557
  "tokens/t4-components/datepicker.json",
@@ -543,6 +570,8 @@
543
570
  "tokens/t3-semantics/ui.json",
544
571
  "tokens/t4-components/button.json",
545
572
  "tokens/t4-components/card.json",
573
+ "tokens/t4-components/chatbubble.json",
574
+ "tokens/t4-components/chatphotogrid.json",
546
575
  "tokens/t4-components/container.json",
547
576
  "tokens/t4-components/input.json",
548
577
  "tokens/t4-components/chip.json",
@@ -584,6 +613,7 @@
584
613
  "tokens/t4-components/bottombar.json",
585
614
  "tokens/t4-components/view.json",
586
615
  "tokens/t4-components/badge.json",
616
+ "tokens/t4-components/badge-number.json",
587
617
  "tokens/t4-components/table.json",
588
618
  "tokens/t4-components/datatable.json",
589
619
  "tokens/t4-components/datepicker.json",
@@ -20,12 +20,19 @@
20
20
  margin: 0;
21
21
  cursor: pointer;
22
22
  color: var(--color-text-subtle-default);
23
+ font-family: var(--text-body-sm-regular-fontFamily);
24
+ font-weight: var(--text-body-sm-regular-fontWeight);
25
+ font-size: var(--text-body-sm-regular-fontSize);
26
+ line-height: var(--text-body-sm-regular-lineHeight);
27
+ text-align: left;
28
+ -webkit-tap-highlight-color: transparent;
29
+ }
30
+
31
+ .muka-agent-task-list--open .muka-agent-task-list__header {
23
32
  font-family: var(--text-body-sm-bold-fontFamily);
24
33
  font-weight: var(--text-body-sm-bold-fontWeight);
25
34
  font-size: var(--text-body-sm-bold-fontSize);
26
35
  line-height: var(--text-body-sm-bold-lineHeight);
27
- text-align: left;
28
- -webkit-tap-highlight-color: transparent;
29
36
  }
30
37
 
31
38
  .muka-agent-task-list__header:focus-visible {
@@ -83,7 +90,7 @@
83
90
  position: absolute;
84
91
  left: 7px;
85
92
  width: 1px;
86
- background-color: var(--color-border-default, #d9d9d9);
93
+ background-color: var(--color-border-default);
87
94
  }
88
95
 
89
96
  .muka-agent-task-list__line--top {
@@ -145,3 +152,15 @@
145
152
  line-height: var(--text-body-sm-regular-lineHeight);
146
153
  word-break: break-word;
147
154
  }
155
+
156
+ /* ─── Print ────────────────────────────────────────────── */
157
+
158
+ @media print {
159
+ .muka-agent-task-list {
160
+ break-inside: avoid;
161
+ }
162
+
163
+ .muka-agent-task-list__chevron {
164
+ display: none;
165
+ }
166
+ }
@@ -12,7 +12,7 @@ require("./AgentTaskList.css");
12
12
  * Renders a header + a vertical timeline of tasks the agent is performing
13
13
  * (e.g. searching the web, querying a database, drafting an answer).
14
14
  *
15
- * Typically rendered above the agent's final reply inside a `ChatBubble`
15
+ * Typically rendered above the agent's final reply inside a `ChatMessage`
16
16
  * with `variant="agent"`.
17
17
  */
18
18
  const AgentTaskList = ({ title, tasks, defaultOpen = true, open: controlledOpen, onOpenChange, className = '', }) => {
@@ -0,0 +1,105 @@
1
+ /* BadgeNumber Component Styles - Using Muka Design Tokens */
2
+
3
+ .muka-badge-number {
4
+ display: inline-flex;
5
+ align-items: center;
6
+ justify-content: center;
7
+ border-radius: var(--border-radius-full);
8
+ white-space: nowrap;
9
+ user-select: none;
10
+ box-sizing: border-box;
11
+ }
12
+
13
+ /*
14
+ * Sizes — fixed height, matching min-width (so a single digit renders as a
15
+ * circle), horizontal padding, and bold label typography. Vertical centering
16
+ * is handled by the fixed height + align-items: center.
17
+ */
18
+ .muka-badge-number--2xs {
19
+ height: var(--badge-number-size-2xs);
20
+ min-width: var(--badge-number-size-2xs);
21
+ padding: 0 var(--badge-number-padding-2xs);
22
+ font-family: var(--text-label-xs-bold-fontFamily);
23
+ font-weight: var(--text-label-xs-bold-fontWeight);
24
+ font-size: var(--text-label-xs-bold-fontSize);
25
+ line-height: var(--text-label-xs-bold-lineHeight);
26
+ }
27
+
28
+ .muka-badge-number--xs {
29
+ height: var(--badge-number-size-xs);
30
+ min-width: var(--badge-number-size-xs);
31
+ padding: 0 var(--badge-number-padding-xs);
32
+ font-family: var(--text-label-sm-bold-fontFamily);
33
+ font-weight: var(--text-label-sm-bold-fontWeight);
34
+ font-size: var(--text-label-sm-bold-fontSize);
35
+ line-height: var(--text-label-sm-bold-lineHeight);
36
+ }
37
+
38
+ .muka-badge-number--sm {
39
+ height: var(--badge-number-size-sm);
40
+ min-width: var(--badge-number-size-sm);
41
+ padding: 0 var(--badge-number-padding-sm);
42
+ font-family: var(--text-label-md-bold-fontFamily);
43
+ font-weight: var(--text-label-md-bold-fontWeight);
44
+ font-size: var(--text-label-md-bold-fontSize);
45
+ line-height: var(--text-label-md-bold-lineHeight);
46
+ }
47
+
48
+ .muka-badge-number--md {
49
+ height: var(--badge-number-size-md);
50
+ min-width: var(--badge-number-size-md);
51
+ padding: 0 var(--badge-number-padding-md);
52
+ font-family: var(--text-label-lg-bold-fontFamily);
53
+ font-weight: var(--text-label-lg-bold-fontWeight);
54
+ font-size: var(--text-label-lg-bold-fontSize);
55
+ line-height: var(--text-label-lg-bold-lineHeight);
56
+ }
57
+
58
+ .muka-badge-number--lg {
59
+ height: var(--badge-number-size-lg);
60
+ min-width: var(--badge-number-size-lg);
61
+ padding: 0 var(--badge-number-padding-lg);
62
+ font-family: var(--text-label-2xl-bold-fontFamily);
63
+ font-weight: var(--text-label-2xl-bold-fontWeight);
64
+ font-size: var(--text-label-2xl-bold-fontSize);
65
+ line-height: var(--text-label-2xl-bold-lineHeight);
66
+ }
67
+
68
+ .muka-badge-number__label {
69
+ /*
70
+ * The badge sets a tight line-height for compact sizing, which would clip
71
+ * glyph descenders; give the label a roomier line-height. Vertical centering
72
+ * is unaffected because the badge height is fixed and content is centered.
73
+ */
74
+ line-height: normal;
75
+ }
76
+
77
+ /* Neutral variant */
78
+ .muka-badge-number--neutral {
79
+ background-color: var(--color-surface-level1);
80
+ color: var(--color-text-default-default);
81
+ }
82
+
83
+ /* Info variant */
84
+ .muka-badge-number--info {
85
+ background-color: var(--color-state-info-contrast);
86
+ color: var(--color-text-default-inverse);
87
+ }
88
+
89
+ /* Success variant */
90
+ .muka-badge-number--success {
91
+ background-color: var(--color-state-success-contrast);
92
+ color: var(--color-text-default-inverse);
93
+ }
94
+
95
+ /* Warning variant */
96
+ .muka-badge-number--warning {
97
+ background-color: var(--color-state-warning-contrast);
98
+ color: var(--color-text-default-inverse);
99
+ }
100
+
101
+ /* Error variant */
102
+ .muka-badge-number--error {
103
+ background-color: var(--color-state-error-contrast);
104
+ color: var(--color-text-default-inverse);
105
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BadgeNumber = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ require("./BadgeNumber.css");
6
+ const BadgeNumber = ({ children, variant = 'neutral', size = '2xs', className = '', 'aria-label': ariaLabel, ...props }) => {
7
+ const classes = [
8
+ 'muka-badge-number',
9
+ `muka-badge-number--${variant}`,
10
+ `muka-badge-number--${size}`,
11
+ className,
12
+ ]
13
+ .filter(Boolean)
14
+ .join(' ');
15
+ return ((0, jsx_runtime_1.jsx)("span", { className: classes, role: "status", "aria-label": ariaLabel, ...props, children: (0, jsx_runtime_1.jsx)("span", { className: "muka-badge-number__label", children: children }) }));
16
+ };
17
+ exports.BadgeNumber = BadgeNumber;
18
+ exports.default = exports.BadgeNumber;
19
+ //# sourceMappingURL=BadgeNumber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BadgeNumber.js","sourceRoot":"","sources":["../../../../components/BadgeNumber/BadgeNumber.tsx"],"names":[],"mappings":";;;;AACA,6BAA2B;AAepB,MAAM,WAAW,GAA+B,CAAC,EACtD,QAAQ,EACR,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,KAAK,EACZ,SAAS,GAAG,EAAE,EACd,YAAY,EAAE,SAAS,EACvB,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,OAAO,GAAG;QACd,mBAAmB;QACnB,sBAAsB,OAAO,EAAE;QAC/B,sBAAsB,IAAI,EAAE;QAC5B,SAAS;KACV;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,OAAO,CACL,iCAAM,SAAS,EAAE,OAAO,EAAE,IAAI,EAAC,QAAQ,gBAAa,SAAS,KAAM,KAAK,YACtE,iCAAM,SAAS,EAAC,0BAA0B,YAAE,QAAQ,GAAQ,GACvD,CACR,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,WAAW,eAsBtB;AAEF,kBAAe,mBAAW,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = exports.BadgeNumber = void 0;
7
+ var BadgeNumber_1 = require("./BadgeNumber");
8
+ Object.defineProperty(exports, "BadgeNumber", { enumerable: true, get: function () { return BadgeNumber_1.BadgeNumber; } });
9
+ var BadgeNumber_2 = require("./BadgeNumber");
10
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(BadgeNumber_2).default; } });
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../components/BadgeNumber/index.ts"],"names":[],"mappings":";;;;;;AAAA,6CAAmE;AAA1D,0GAAA,WAAW,OAAA;AACpB,6CAAwC;AAA/B,uHAAA,OAAO,OAAA"}
@@ -81,11 +81,6 @@
81
81
  max-width: var(--bottombar-chat-max-width);
82
82
  }
83
83
 
84
- /* Let the composer fill the wider bar instead of its standalone 768px cap. */
85
- .muka-bottombar--chat .muka-chat-composer {
86
- max-width: none;
87
- }
88
-
89
84
  /* ─── Tab item ────────────────────────────────────────── */
90
85
 
91
86
  .muka-bottombar__tab {
@@ -296,3 +291,11 @@
296
291
  box-shadow: none;
297
292
  }
298
293
  }
294
+
295
+ /* ─── Print ────────────────────────────────────────────── */
296
+
297
+ @media print {
298
+ .muka-bottombar {
299
+ display: none;
300
+ }
301
+ }
@@ -96,10 +96,13 @@
96
96
  }
97
97
 
98
98
  /* `[data-state="open"]` keeps a Button pressed while it's an open disclosure
99
- trigger (Radix Menu/Popover set this on the trigger). */
99
+ trigger (Radix Menu/Popover set this on the trigger). `[aria-pressed="true"]`
100
+ gives toggle buttons a visible selected state, so the toggle is not conveyed
101
+ to sighted users by the accessibility tree alone. */
100
102
  .muka-button--primary:active:not(:disabled),
101
103
  .muka-button--primary.muka-button--pressed:not(:disabled),
102
- .muka-button--primary[data-state="open"]:not(:disabled) {
104
+ .muka-button--primary[data-state="open"]:not(:disabled),
105
+ .muka-button--primary[aria-pressed="true"]:not(:disabled) {
103
106
  background-color: var(--button-color-primary-background-pressed);
104
107
  color: var(--button-color-primary-foreground-pressed);
105
108
  box-shadow: var(--button-color-primary-shadow-pressed);
@@ -128,7 +131,8 @@
128
131
 
129
132
  .muka-button--secondary:active:not(:disabled),
130
133
  .muka-button--secondary.muka-button--pressed:not(:disabled),
131
- .muka-button--secondary[data-state="open"]:not(:disabled) {
134
+ .muka-button--secondary[data-state="open"]:not(:disabled),
135
+ .muka-button--secondary[aria-pressed="true"]:not(:disabled) {
132
136
  background-color: var(--button-color-secondary-background-pressed);
133
137
  color: var(--button-color-secondary-foreground-pressed);
134
138
  box-shadow: var(--button-color-secondary-shadow-pressed);
@@ -157,7 +161,8 @@
157
161
 
158
162
  .muka-button--tertiary:active:not(:disabled),
159
163
  .muka-button--tertiary.muka-button--pressed:not(:disabled),
160
- .muka-button--tertiary[data-state="open"]:not(:disabled) {
164
+ .muka-button--tertiary[data-state="open"]:not(:disabled),
165
+ .muka-button--tertiary[aria-pressed="true"]:not(:disabled) {
161
166
  background-color: var(--button-color-tertiary-background-pressed);
162
167
  color: var(--button-color-tertiary-foreground-pressed);
163
168
  border-color: var(--button-color-tertiary-border-pressed);
@@ -186,7 +191,8 @@
186
191
 
187
192
  .muka-button--ghost:active:not(:disabled),
188
193
  .muka-button--ghost.muka-button--pressed:not(:disabled),
189
- .muka-button--ghost[data-state="open"]:not(:disabled) {
194
+ .muka-button--ghost[data-state="open"]:not(:disabled),
195
+ .muka-button--ghost[aria-pressed="true"]:not(:disabled) {
190
196
  background-color: var(--button-color-ghost-background-pressed);
191
197
  color: var(--button-color-ghost-foreground-pressed);
192
198
  border-color: var(--button-color-ghost-border-pressed);
@@ -215,7 +221,8 @@
215
221
 
216
222
  .muka-button--muted:active:not(:disabled),
217
223
  .muka-button--muted.muka-button--pressed:not(:disabled),
218
- .muka-button--muted[data-state="open"]:not(:disabled) {
224
+ .muka-button--muted[data-state="open"]:not(:disabled),
225
+ .muka-button--muted[aria-pressed="true"]:not(:disabled) {
219
226
  background-color: var(--button-color-muted-background-pressed);
220
227
  color: var(--button-color-muted-foreground-pressed);
221
228
  border-color: var(--button-color-muted-border-pressed);
@@ -21,7 +21,7 @@ require("./Button.css");
21
21
  * - Uses native <button> element for full keyboard support
22
22
  * - Focus indicator meets WCAG 2.4.7 (visible focus)
23
23
  * - When iconOnly=true, aria-label is required (dev warning if missing)
24
- * - Supports aria-pressed for toggle buttons
24
+ * - Supports aria-pressed for toggle buttons (renders the pressed treatment when true)
25
25
  * - Supports aria-expanded/aria-controls for menu buttons
26
26
  *
27
27
  * @see https://www.w3.org/WAI/ARIA/apg/patterns/button/
@@ -1,11 +1,15 @@
1
1
  /* ChatComposer Component Styles */
2
2
 
3
+ /*
4
+ * The composer is a bare, fill-width row: no padding, background, border or
5
+ * max-width of its own (Figma 5243:14141). Whatever hosts it owns the
6
+ * container — see BottomBar's `chat` variant.
7
+ */
3
8
  .muka-chat-composer {
4
9
  display: flex;
5
10
  flex-direction: column;
6
11
  gap: var(--spacing-3);
7
12
  width: 100%;
8
- max-width: 768px;
9
13
  }
10
14
 
11
15
  .muka-chat-composer--disabled {
@@ -111,3 +115,11 @@
111
115
  right: var(--spacing-2);
112
116
  transform: translateY(-50%);
113
117
  }
118
+
119
+ /* ─── Print ────────────────────────────────────────────── */
120
+
121
+ @media print {
122
+ .muka-chat-composer {
123
+ display: none;
124
+ }
125
+ }