@revikornmann/muka-ui 0.16.0 → 0.18.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 (204) hide show
  1. package/dist/cjs/components/ActionSheet/ActionSheet.js +1 -1
  2. package/dist/cjs/components/Breadcrumb/Breadcrumb.css +11 -3
  3. package/dist/cjs/components/Breadcrumb/Breadcrumb.js +19 -1
  4. package/dist/cjs/components/Breadcrumb/Breadcrumb.js.map +1 -1
  5. package/dist/cjs/components/ChatComposer/ChatComposer.js +12 -4
  6. package/dist/cjs/components/ChatComposer/ChatComposer.js.map +1 -1
  7. package/dist/cjs/components/ContextSelect/ContextSelect.css +117 -0
  8. package/dist/cjs/components/ContextSelect/ContextSelect.js +49 -0
  9. package/dist/cjs/components/ContextSelect/ContextSelect.js.map +1 -0
  10. package/dist/cjs/components/ContextSelect/index.js +11 -0
  11. package/dist/cjs/components/ContextSelect/index.js.map +1 -0
  12. package/dist/cjs/components/EmojiPicker/EmojiPicker.css +19 -0
  13. package/dist/cjs/components/EmojiPicker/EmojiPicker.js +54 -0
  14. package/dist/cjs/components/EmojiPicker/EmojiPicker.js.map +1 -0
  15. package/dist/cjs/components/EmojiPicker/index.js +12 -0
  16. package/dist/cjs/components/EmojiPicker/index.js.map +1 -0
  17. package/dist/cjs/components/Icon/custom/ArrowDropUpDownIcon.js +11 -0
  18. package/dist/cjs/components/Icon/custom/ArrowDropUpDownIcon.js.map +1 -0
  19. package/dist/cjs/components/Icon/iconRegistry.js +6 -0
  20. package/dist/cjs/components/Icon/iconRegistry.js.map +1 -1
  21. package/dist/cjs/components/Menu/Menu.css +112 -2
  22. package/dist/cjs/components/Menu/Menu.js +171 -39
  23. package/dist/cjs/components/Menu/Menu.js.map +1 -1
  24. package/dist/cjs/components/Menu/index.js +5 -1
  25. package/dist/cjs/components/Menu/index.js.map +1 -1
  26. package/dist/cjs/components/PhotoDraftStrip/PhotoDraftStrip.css +27 -0
  27. package/dist/cjs/components/PhotoDraftStrip/PhotoDraftStrip.js +36 -0
  28. package/dist/cjs/components/PhotoDraftStrip/PhotoDraftStrip.js.map +1 -0
  29. package/dist/cjs/components/PhotoDraftStrip/index.js +11 -0
  30. package/dist/cjs/components/PhotoDraftStrip/index.js.map +1 -0
  31. package/dist/cjs/components/RecordingBar/RecordingBar.css +47 -0
  32. package/dist/cjs/components/RecordingBar/RecordingBar.js +22 -0
  33. package/dist/cjs/components/RecordingBar/RecordingBar.js.map +1 -0
  34. package/dist/cjs/components/RecordingBar/index.js +11 -0
  35. package/dist/cjs/components/RecordingBar/index.js.map +1 -0
  36. package/dist/cjs/components/Scrollbar/Scrollbar.css +123 -0
  37. package/dist/cjs/components/Scrollbar/Scrollbar.js +118 -0
  38. package/dist/cjs/components/Scrollbar/Scrollbar.js.map +1 -0
  39. package/dist/cjs/components/Scrollbar/index.js +11 -0
  40. package/dist/cjs/components/Scrollbar/index.js.map +1 -0
  41. package/dist/cjs/components/VoiceMessage/VoiceMessage.css +29 -0
  42. package/dist/cjs/components/VoiceMessage/VoiceMessage.js +85 -0
  43. package/dist/cjs/components/VoiceMessage/VoiceMessage.js.map +1 -0
  44. package/dist/cjs/components/VoiceMessage/index.js +11 -0
  45. package/dist/cjs/components/VoiceMessage/index.js.map +1 -0
  46. package/dist/cjs/components/VoiceRecorder/audio.js +61 -0
  47. package/dist/cjs/components/VoiceRecorder/audio.js.map +1 -0
  48. package/dist/cjs/components/VoiceRecorder/index.js +16 -0
  49. package/dist/cjs/components/VoiceRecorder/index.js.map +1 -0
  50. package/dist/cjs/components/VoiceRecorder/useVoiceRecorder.js +213 -0
  51. package/dist/cjs/components/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  52. package/dist/cjs/components/Waveform/Waveform.css +23 -0
  53. package/dist/cjs/components/Waveform/Waveform.js +36 -0
  54. package/dist/cjs/components/Waveform/Waveform.js.map +1 -0
  55. package/dist/cjs/components/Waveform/index.js +11 -0
  56. package/dist/cjs/components/Waveform/index.js.map +1 -0
  57. package/dist/cjs/components/index.js +27 -15
  58. package/dist/cjs/components/index.js.map +1 -1
  59. package/dist/esm/components/ActionSheet/ActionSheet.js +1 -1
  60. package/dist/esm/components/Breadcrumb/Breadcrumb.css +11 -3
  61. package/dist/esm/components/Breadcrumb/Breadcrumb.js +19 -1
  62. package/dist/esm/components/Breadcrumb/Breadcrumb.js.map +1 -1
  63. package/dist/esm/components/ChatComposer/ChatComposer.js +12 -4
  64. package/dist/esm/components/ChatComposer/ChatComposer.js.map +1 -1
  65. package/dist/esm/components/ContextSelect/ContextSelect.css +117 -0
  66. package/dist/esm/components/ContextSelect/ContextSelect.js +45 -0
  67. package/dist/esm/components/ContextSelect/ContextSelect.js.map +1 -0
  68. package/dist/esm/components/ContextSelect/index.js +3 -0
  69. package/dist/esm/components/ContextSelect/index.js.map +1 -0
  70. package/dist/esm/components/EmojiPicker/EmojiPicker.css +19 -0
  71. package/dist/esm/components/EmojiPicker/EmojiPicker.js +50 -0
  72. package/dist/esm/components/EmojiPicker/EmojiPicker.js.map +1 -0
  73. package/dist/esm/components/EmojiPicker/index.js +3 -0
  74. package/dist/esm/components/EmojiPicker/index.js.map +1 -0
  75. package/dist/esm/components/Icon/custom/ArrowDropUpDownIcon.js +7 -0
  76. package/dist/esm/components/Icon/custom/ArrowDropUpDownIcon.js.map +1 -0
  77. package/dist/esm/components/Icon/iconRegistry.js +6 -0
  78. package/dist/esm/components/Icon/iconRegistry.js.map +1 -1
  79. package/dist/esm/components/Menu/Menu.css +112 -2
  80. package/dist/esm/components/Menu/Menu.js +170 -40
  81. package/dist/esm/components/Menu/Menu.js.map +1 -1
  82. package/dist/esm/components/Menu/index.js +1 -1
  83. package/dist/esm/components/Menu/index.js.map +1 -1
  84. package/dist/esm/components/PhotoDraftStrip/PhotoDraftStrip.css +27 -0
  85. package/dist/esm/components/PhotoDraftStrip/PhotoDraftStrip.js +32 -0
  86. package/dist/esm/components/PhotoDraftStrip/PhotoDraftStrip.js.map +1 -0
  87. package/dist/esm/components/PhotoDraftStrip/index.js +3 -0
  88. package/dist/esm/components/PhotoDraftStrip/index.js.map +1 -0
  89. package/dist/esm/components/RecordingBar/RecordingBar.css +47 -0
  90. package/dist/esm/components/RecordingBar/RecordingBar.js +18 -0
  91. package/dist/esm/components/RecordingBar/RecordingBar.js.map +1 -0
  92. package/dist/esm/components/RecordingBar/index.js +3 -0
  93. package/dist/esm/components/RecordingBar/index.js.map +1 -0
  94. package/dist/esm/components/Scrollbar/Scrollbar.css +123 -0
  95. package/dist/esm/components/Scrollbar/Scrollbar.js +114 -0
  96. package/dist/esm/components/Scrollbar/Scrollbar.js.map +1 -0
  97. package/dist/esm/components/Scrollbar/index.js +3 -0
  98. package/dist/esm/components/Scrollbar/index.js.map +1 -0
  99. package/dist/esm/components/VoiceMessage/VoiceMessage.css +29 -0
  100. package/dist/esm/components/VoiceMessage/VoiceMessage.js +81 -0
  101. package/dist/esm/components/VoiceMessage/VoiceMessage.js.map +1 -0
  102. package/dist/esm/components/VoiceMessage/index.js +3 -0
  103. package/dist/esm/components/VoiceMessage/index.js.map +1 -0
  104. package/dist/esm/components/VoiceRecorder/audio.js +55 -0
  105. package/dist/esm/components/VoiceRecorder/audio.js.map +1 -0
  106. package/dist/esm/components/VoiceRecorder/index.js +4 -0
  107. package/dist/esm/components/VoiceRecorder/index.js.map +1 -0
  108. package/dist/esm/components/VoiceRecorder/useVoiceRecorder.js +210 -0
  109. package/dist/esm/components/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  110. package/dist/esm/components/Waveform/Waveform.css +23 -0
  111. package/dist/esm/components/Waveform/Waveform.js +32 -0
  112. package/dist/esm/components/Waveform/Waveform.js.map +1 -0
  113. package/dist/esm/components/Waveform/index.js +3 -0
  114. package/dist/esm/components/Waveform/index.js.map +1 -0
  115. package/dist/esm/components/index.js +9 -2
  116. package/dist/esm/components/index.js.map +1 -1
  117. package/dist/styles/components/Breadcrumb.css +11 -3
  118. package/dist/styles/components/ContextSelect.css +117 -0
  119. package/dist/styles/components/EmojiPicker.css +19 -0
  120. package/dist/styles/components/Menu.css +112 -2
  121. package/dist/styles/components/PhotoDraftStrip.css +27 -0
  122. package/dist/styles/components/RecordingBar.css +47 -0
  123. package/dist/styles/components/Scrollbar.css +123 -0
  124. package/dist/styles/components/VoiceMessage.css +29 -0
  125. package/dist/styles/components/Waveform.css +23 -0
  126. package/dist/styles/index.css +919 -393
  127. package/dist/styles/muka-dark.css +919 -393
  128. package/dist/styles/muka-light.css +919 -393
  129. package/dist/styles/tokens-bouwplan-dark.css +4 -2
  130. package/dist/styles/tokens-bouwplan-light.css +4 -2
  131. package/dist/styles/tokens-fscl-dark.css +4 -2
  132. package/dist/styles/tokens-fscl-light.css +4 -2
  133. package/dist/styles/tokens-grip-dark.css +4 -2
  134. package/dist/styles/tokens-grip-light.css +4 -2
  135. package/dist/styles/tokens-muka-dark.css +4 -2
  136. package/dist/styles/tokens-muka-light.css +4 -2
  137. package/dist/styles/tokens-wireframe-dark.css +4 -2
  138. package/dist/styles/tokens-wireframe-light.css +4 -2
  139. package/dist/styles/wireframe-dark.css +919 -393
  140. package/dist/styles/wireframe-light.css +919 -393
  141. package/dist/types/components/ActionSheet/ActionSheet.d.ts +1 -1
  142. package/dist/types/components/Breadcrumb/Breadcrumb.d.ts +27 -3
  143. package/dist/types/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  144. package/dist/types/components/ChatComposer/ChatComposer.d.ts +7 -0
  145. package/dist/types/components/ChatComposer/ChatComposer.d.ts.map +1 -1
  146. package/dist/types/components/ContextSelect/ContextSelect.d.ts +62 -0
  147. package/dist/types/components/ContextSelect/ContextSelect.d.ts.map +1 -0
  148. package/dist/types/components/ContextSelect/index.d.ts +3 -0
  149. package/dist/types/components/ContextSelect/index.d.ts.map +1 -0
  150. package/dist/types/components/DataTable/DataTable.d.ts +1 -1
  151. package/dist/types/components/EmojiPicker/EmojiPicker.d.ts +28 -0
  152. package/dist/types/components/EmojiPicker/EmojiPicker.d.ts.map +1 -0
  153. package/dist/types/components/EmojiPicker/index.d.ts +3 -0
  154. package/dist/types/components/EmojiPicker/index.d.ts.map +1 -0
  155. package/dist/types/components/Icon/custom/ArrowDropUpDownIcon.d.ts +9 -0
  156. package/dist/types/components/Icon/custom/ArrowDropUpDownIcon.d.ts.map +1 -0
  157. package/dist/types/components/Icon/iconRegistry.d.ts.map +1 -1
  158. package/dist/types/components/Menu/Menu.d.ts +58 -28
  159. package/dist/types/components/Menu/Menu.d.ts.map +1 -1
  160. package/dist/types/components/Menu/index.d.ts +2 -2
  161. package/dist/types/components/Menu/index.d.ts.map +1 -1
  162. package/dist/types/components/PhotoDraftStrip/PhotoDraftStrip.d.ts +51 -0
  163. package/dist/types/components/PhotoDraftStrip/PhotoDraftStrip.d.ts.map +1 -0
  164. package/dist/types/components/PhotoDraftStrip/index.d.ts +3 -0
  165. package/dist/types/components/PhotoDraftStrip/index.d.ts.map +1 -0
  166. package/dist/types/components/RecordingBar/RecordingBar.d.ts +22 -0
  167. package/dist/types/components/RecordingBar/RecordingBar.d.ts.map +1 -0
  168. package/dist/types/components/RecordingBar/index.d.ts +3 -0
  169. package/dist/types/components/RecordingBar/index.d.ts.map +1 -0
  170. package/dist/types/components/Scrollbar/Scrollbar.d.ts +19 -0
  171. package/dist/types/components/Scrollbar/Scrollbar.d.ts.map +1 -0
  172. package/dist/types/components/Scrollbar/index.d.ts +3 -0
  173. package/dist/types/components/Scrollbar/index.d.ts.map +1 -0
  174. package/dist/types/components/VoiceMessage/VoiceMessage.d.ts +34 -0
  175. package/dist/types/components/VoiceMessage/VoiceMessage.d.ts.map +1 -0
  176. package/dist/types/components/VoiceMessage/index.d.ts +3 -0
  177. package/dist/types/components/VoiceMessage/index.d.ts.map +1 -0
  178. package/dist/types/components/VoiceRecorder/audio.d.ts +20 -0
  179. package/dist/types/components/VoiceRecorder/audio.d.ts.map +1 -0
  180. package/dist/types/components/VoiceRecorder/index.d.ts +4 -0
  181. package/dist/types/components/VoiceRecorder/index.d.ts.map +1 -0
  182. package/dist/types/components/VoiceRecorder/useVoiceRecorder.d.ts +48 -0
  183. package/dist/types/components/VoiceRecorder/useVoiceRecorder.d.ts.map +1 -0
  184. package/dist/types/components/Waveform/Waveform.d.ts +31 -0
  185. package/dist/types/components/Waveform/Waveform.d.ts.map +1 -0
  186. package/dist/types/components/Waveform/index.d.ts +3 -0
  187. package/dist/types/components/Waveform/index.d.ts.map +1 -0
  188. package/dist/types/components/index.d.ts +10 -4
  189. package/dist/types/components/index.d.ts.map +1 -1
  190. package/package.json +1 -1
  191. package/tokens/README.md +1 -1
  192. package/tokens/t4-components/menu.json +12 -2
  193. package/dist/cjs/components/ContextMenu/ContextMenu.js +0 -186
  194. package/dist/cjs/components/ContextMenu/ContextMenu.js.map +0 -1
  195. package/dist/cjs/components/ContextMenu/index.js +0 -17
  196. package/dist/cjs/components/ContextMenu/index.js.map +0 -1
  197. package/dist/esm/components/ContextMenu/ContextMenu.js +0 -145
  198. package/dist/esm/components/ContextMenu/ContextMenu.js.map +0 -1
  199. package/dist/esm/components/ContextMenu/index.js +0 -2
  200. package/dist/esm/components/ContextMenu/index.js.map +0 -1
  201. package/dist/types/components/ContextMenu/ContextMenu.d.ts +0 -188
  202. package/dist/types/components/ContextMenu/ContextMenu.d.ts.map +0 -1
  203. package/dist/types/components/ContextMenu/index.d.ts +0 -3
  204. package/dist/types/components/ContextMenu/index.d.ts.map +0 -1
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Audio helpers shared by the voice-recording hook and the players.
3
+ *
4
+ * Pure, DOM-light utilities: peak downsampling for a compact persisted waveform
5
+ * and a clock formatter for the recorder timer / player countdown. No upload,
6
+ * no network, no speech-to-text.
7
+ */
8
+ /** Default number of persisted waveform bars. Apps may override per clip. */
9
+ export declare const VOICE_PEAK_COUNT = 48;
10
+ /**
11
+ * Downsample a stream of amplitude samples (each already 0..1) into exactly
12
+ * `count` normalized peaks by taking the max of each bucket, then scaling so the
13
+ * loudest bar reaches 1. Pure — unit-testable independently of the DOM.
14
+ */
15
+ export declare function downsamplePeaks(samples: number[], count?: number): number[];
16
+ /** Format a number of seconds as `m:ss` for the recorder timer / player. */
17
+ export declare function formatClock(totalSeconds: number): string;
18
+ /** True when this browser can record audio at all (SSR-safe). */
19
+ export declare function isVoiceRecordingSupported(): boolean;
20
+ //# sourceMappingURL=audio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../../../components/VoiceRecorder/audio.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,6EAA6E;AAC7E,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,GAAE,MAAyB,GAC/B,MAAM,EAAE,CAoBV;AAED,4EAA4E;AAC5E,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CASxD;AAED,iEAAiE;AACjE,wBAAgB,yBAAyB,IAAI,OAAO,CAQnD"}
@@ -0,0 +1,4 @@
1
+ export { useVoiceRecorder, type UseVoiceRecorder, type VoiceClip, type VoiceRecorderStatus, } from './useVoiceRecorder';
2
+ export { downsamplePeaks, formatClock, isVoiceRecordingSupported, VOICE_PEAK_COUNT, } from './audio';
3
+ export { default } from './useVoiceRecorder';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/VoiceRecorder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,WAAW,EACX,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Headless voice-note recording.
3
+ *
4
+ * Wraps `MediaRecorder` for the capture and a Web Audio `AnalyserNode` for a
5
+ * live amplitude reading, so a composer can draw a moving waveform while the
6
+ * user records. On stop it hands back the recorded `Blob`, its duration, and a
7
+ * downsampled, normalized waveform (0..1) that is persisted with the message and
8
+ * redrawn by the player — no re-decoding on read.
9
+ *
10
+ * Muka owns the local media UX state; the app owns upload, signed URLs and
11
+ * persistence. There is deliberately NO upload and NO speech-to-text here: this
12
+ * records audio and returns a clip, nothing more.
13
+ */
14
+ export type VoiceRecorderStatus = 'idle' | 'requesting' | 'recording' | 'stopping' | 'error';
15
+ export interface VoiceClip {
16
+ /** The recorded audio. */
17
+ blob: Blob;
18
+ /** Container mime type reported by the recorder. */
19
+ mimeType: string;
20
+ /** File extension implied by the mime type (e.g. `webm`). */
21
+ ext: string;
22
+ /** Clip length in seconds. */
23
+ durationSec: number;
24
+ /** Downsampled, normalized waveform peaks (0..1) for persistence. */
25
+ peaks: number[];
26
+ }
27
+ export interface UseVoiceRecorder {
28
+ status: VoiceRecorderStatus;
29
+ /** Elapsed recording time in milliseconds. */
30
+ elapsedMs: number;
31
+ /** Recent normalized amplitudes (0..1) for the live waveform, oldest first. */
32
+ livePeaks: number[];
33
+ /** Human-readable error message when `status === 'error'`, else null. */
34
+ error: string | null;
35
+ start: () => Promise<void>;
36
+ /** Stop and resolve the finished clip, or null if nothing usable. */
37
+ stop: () => Promise<VoiceClip | null>;
38
+ /** Abort and discard the in-flight recording. */
39
+ cancel: () => void;
40
+ }
41
+ /**
42
+ * `useVoiceRecorder` — headless hook exposing recorder status, the live waveform
43
+ * and the finished {@link VoiceClip}. Feed `elapsedMs` + `livePeaks` into a
44
+ * `RecordingBar`, and persist the returned clip's `peaks` for `VoiceMessage`.
45
+ */
46
+ export declare function useVoiceRecorder(): UseVoiceRecorder;
47
+ export default useVoiceRecorder;
48
+ //# sourceMappingURL=useVoiceRecorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVoiceRecorder.d.ts","sourceRoot":"","sources":["../../../../components/VoiceRecorder/useVoiceRecorder.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,mBAAmB,GAC3B,MAAM,GACN,YAAY,GACZ,WAAW,GACX,UAAU,GACV,OAAO,CAAC;AAEZ,MAAM,WAAW,SAAS;IACxB,0BAA0B;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,yEAAyE;IACzE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,qEAAqE;IACrE,IAAI,EAAE,MAAM,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IACtC,iDAAiD;IACjD,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAyBD;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,gBAAgB,CA6LnD;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ import './Waveform.css';
3
+ export interface WaveformProps {
4
+ /** Normalized amplitudes 0..1, oldest→newest / left→right. */
5
+ peaks: number[];
6
+ /** Fraction 0..1 of the waveform that reads as "played"/active (progress fill). */
7
+ progress?: number;
8
+ /** Bar color for the played/active portion. Default: `--color-action-default`. */
9
+ activeColor?: string;
10
+ /** Bar color for the unplayed/inactive portion. Default: `--color-border-contrast`. */
11
+ inactiveColor?: string;
12
+ /** Height of the strip as a CSS length. Default: `--spacing-6`. */
13
+ height?: string;
14
+ /** Accessible label. When omitted the strip is decorative. */
15
+ 'aria-label'?: string;
16
+ /** Additional CSS classes */
17
+ className?: string;
18
+ }
19
+ /**
20
+ * Waveform — a bar visualization of an audio amplitude series.
21
+ *
22
+ * Shared by the composer's recording state (live amplitudes) and the
23
+ * `VoiceMessage` player (persisted peaks with a played/unplayed split). Pure and
24
+ * network-free: it renders whatever `peaks` it is handed. `progress` tints the
25
+ * leading fraction of bars with `activeColor`; the rest use `inactiveColor`.
26
+ * Both default to Muka tokens but are overridable so a tinted (`own`) bubble can
27
+ * pass an inverse color for contrast.
28
+ */
29
+ export declare const Waveform: React.FC<WaveformProps>;
30
+ export default Waveform;
31
+ //# sourceMappingURL=Waveform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Waveform.d.ts","sourceRoot":"","sources":["../../../../components/Waveform/Waveform.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,gBAAgB,CAAC;AAExB,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,uFAAuF;IACvF,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAsC5C,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { Waveform, type WaveformProps } from './Waveform';
2
+ export { default } from './Waveform';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/Waveform/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC"}
@@ -46,10 +46,10 @@ export { Tile, type TileProps } from './Tile';
46
46
  export { DocumentViewer, type DocumentViewerProps, type DocumentMetadata } from './DocumentViewer';
47
47
  export { SmsOtpField, type SmsOtpFieldProps } from './SmsOtpField';
48
48
  export { FileUpload, FileUploadItem, type FileUploadProps, type FileUploadItemProps, type FileUploadError, type FileWithStatus, type UploadResult, } from './FileUpload';
49
- export { Menu, MenuTrigger, MenuContent, MenuItem, MenuSeparator, MenuGroup, MenuCheckboxItem, MenuRadioGroup, MenuRadioItem, MenuSub, MenuSubTrigger, MenuSubContent, } from './Menu';
50
- export type { MenuProps, MenuTriggerProps, MenuContentProps, MenuItemProps, MenuSeparatorProps, MenuGroupProps, MenuCheckboxItemProps, MenuRadioGroupProps, MenuRadioItemProps, MenuSubProps, MenuSubTriggerProps, MenuSubContentProps, } from './Menu';
51
- export { ContextMenu, ContextMenuTrigger, ContextMenuContent, ContextMenuItem, ContextMenuSeparator, ContextMenuGroup, ContextMenuCheckboxItem, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSub, ContextMenuSubTrigger, ContextMenuSubContent, } from './ContextMenu';
52
- export type { ContextMenuProps, ContextMenuTriggerProps, ContextMenuContentProps, ContextMenuItemProps, ContextMenuSeparatorProps, ContextMenuGroupProps, ContextMenuCheckboxItemProps, ContextMenuRadioGroupProps, ContextMenuRadioItemProps, ContextMenuSubProps, ContextMenuSubTriggerProps, ContextMenuSubContentProps, } from './ContextMenu';
49
+ export { Menu, DropdownMenu, MenuTrigger, MenuContent, MenuSearch, MenuItem, MenuSeparator, MenuGroup, MenuCheckboxItem, MenuRadioGroup, MenuRadioItem, MenuSub, MenuSubTrigger, MenuSubContent, highlightMenuMatch, useMenuSearch, } from './Menu';
50
+ export type { MenuProps, MenuTriggerMode, MenuTriggerProps, MenuContentProps, MenuSearchProps, MenuItemProps, MenuSeparatorProps, MenuGroupProps, MenuCheckboxItemProps, MenuRadioGroupProps, MenuRadioItemProps, MenuSubProps, MenuSubTriggerProps, MenuSubContentProps, } from './Menu';
51
+ export { ContextSelect, type ContextSelectProps, type ContextSelectOption, } from './ContextSelect';
52
+ export { Scrollbar, type ScrollbarProps } from './Scrollbar';
53
53
  export { Textarea, type TextareaProps } from './Textarea';
54
54
  export { Skeleton, type SkeletonProps } from './Skeleton';
55
55
  export { Breadcrumb, type BreadcrumbProps, type BreadcrumbItem } from './Breadcrumb';
@@ -69,6 +69,12 @@ export { ChatMessageStack, type ChatMessageStackProps } from './ChatMessageStack
69
69
  export { ChatMessageList, type ChatMessageListProps } from './ChatMessageList';
70
70
  export { ChatPhotoGrid, type ChatPhotoGridProps, type ChatPhoto, } from './ChatPhotoGrid';
71
71
  export { ChatComposer, type ChatComposerProps } from './ChatComposer';
72
+ export { Waveform, type WaveformProps } from './Waveform';
73
+ export { RecordingBar, type RecordingBarProps } from './RecordingBar';
74
+ export { VoiceMessage, type VoiceMessageProps, type VoiceMessageVariant, } from './VoiceMessage';
75
+ export { useVoiceRecorder, type UseVoiceRecorder, type VoiceClip, type VoiceRecorderStatus, downsamplePeaks, formatClock, isVoiceRecordingSupported, VOICE_PEAK_COUNT, } from './VoiceRecorder';
76
+ export { PhotoDraftStrip, type PhotoDraftStripProps, type DraftPhoto, } from './PhotoDraftStrip';
77
+ export { EmojiPicker, type EmojiPickerProps, DEFAULT_EMOJI, } from './EmojiPicker';
72
78
  export { AgentTaskList, type AgentTaskListProps, type AgentTask, } from './AgentTaskList';
73
79
  export { TypingIndicator, type TypingIndicatorProps } from './TypingIndicator';
74
80
  export { ChatAttachmentChip, type ChatAttachmentChipProps, } from './ChatAttachmentChip';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../components/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../components/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@revikornmann/muka-ui",
3
- "version": "0.16.0",
3
+ "version": "0.18.0",
4
4
  "description": "Muka Design System - Multi-brand design tokens and React components",
5
5
  "main": "dist/cjs/components/index.js",
6
6
  "module": "dist/esm/components/index.js",
package/tokens/README.md CHANGED
@@ -91,6 +91,6 @@ to flow upward by reference; a brand file cannot override a `{component}.*` toke
91
91
 
92
92
  ## Human Docs
93
93
  <!-- SYNC: Update paths when Storybook docs change -->
94
- - Token architecture guide: components/Documentation/TokenArchitecture.mdx
94
+ - Token architecture guide: stories/tokens/01-Introduction.mdx
95
95
  - Design Tokens in Storybook: stories/tokens/*.mdx (6 pages)
96
96
  - All Storybook docs: `npm run dev` → localhost:6006
@@ -40,6 +40,10 @@
40
40
  "max-height": {
41
41
  "$type": "dimension",
42
42
  "$value": "20rem"
43
+ },
44
+ "scroll-height": {
45
+ "$type": "dimension",
46
+ "$value": "20.625rem"
43
47
  }
44
48
  },
45
49
  "item": {
@@ -61,7 +65,7 @@
61
65
  "hover": {
62
66
  "background": {
63
67
  "$type": "color",
64
- "$value": "{color.surface.hover}"
68
+ "$value": "{color.surface.level2}"
65
69
  },
66
70
  "foreground": {
67
71
  "$type": "color",
@@ -75,7 +79,7 @@
75
79
  "focus": {
76
80
  "background": {
77
81
  "$type": "color",
78
- "$value": "{color.action.muted}"
82
+ "$value": "{color.surface.level2}"
79
83
  },
80
84
  "foreground": {
81
85
  "$type": "color",
@@ -86,6 +90,12 @@
86
90
  "$value": "{color.text.default.default}"
87
91
  }
88
92
  },
93
+ "selected": {
94
+ "background": {
95
+ "$type": "color",
96
+ "$value": "{color.surface.level1}"
97
+ }
98
+ },
89
99
  "disabled": {
90
100
  "background": {
91
101
  "$type": "color",
@@ -1,186 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.ContextMenuSubContent = exports.ContextMenuSubTrigger = exports.ContextMenuSub = exports.ContextMenuRadioItem = exports.ContextMenuRadioGroup = exports.ContextMenuCheckboxItem = exports.ContextMenuGroup = exports.ContextMenuSeparator = exports.ContextMenuItem = exports.ContextMenuContent = exports.ContextMenuTrigger = exports.ContextMenu = void 0;
40
- const jsx_runtime_1 = require("react/jsx-runtime");
41
- const react_1 = __importDefault(require("react"));
42
- const ContextMenuPrimitive = __importStar(require("@radix-ui/react-context-menu"));
43
- const Icon_1 = require("../Icon");
44
- require("../Menu/Menu.css");
45
- /**
46
- * ContextMenu Component
47
- *
48
- * A menu that appears on right-click (context menu).
49
- * Built on Radix UI ContextMenu for accessibility and keyboard navigation.
50
- *
51
- * @example
52
- * ```tsx
53
- * <ContextMenu>
54
- * <ContextMenuTrigger>
55
- * <Card>Right-click me</Card>
56
- * </ContextMenuTrigger>
57
- * <ContextMenuContent>
58
- * <ContextMenuItem onSelect={() => console.log('Copy')}>Copy</ContextMenuItem>
59
- * <ContextMenuItem onSelect={() => console.log('Paste')}>Paste</ContextMenuItem>
60
- * </ContextMenuContent>
61
- * </ContextMenu>
62
- * ```
63
- */
64
- const ContextMenu = ({ children, onOpenChange, modal = true, }) => {
65
- return ((0, jsx_runtime_1.jsx)(ContextMenuPrimitive.Root, { onOpenChange: onOpenChange, modal: modal, children: children }));
66
- };
67
- exports.ContextMenu = ContextMenu;
68
- /**
69
- * ContextMenuTrigger - The area that triggers the context menu on right-click
70
- */
71
- exports.ContextMenuTrigger = react_1.default.forwardRef(({ children, asChild = false, disabled = false, className = '' }, ref) => {
72
- const triggerClasses = ['muka-context-menu__trigger', className].filter(Boolean).join(' ');
73
- return ((0, jsx_runtime_1.jsx)(ContextMenuPrimitive.Trigger, { ref: ref, asChild: asChild, disabled: disabled, className: triggerClasses || undefined, children: children }));
74
- });
75
- exports.ContextMenuTrigger.displayName = 'ContextMenuTrigger';
76
- /**
77
- * ContextMenuContent - The dropdown container for context menu items
78
- */
79
- exports.ContextMenuContent = react_1.default.forwardRef(({ children, alignOffset = 0, className = '', loop = true }, ref) => {
80
- const contentClasses = ['muka-menu__content', className].filter(Boolean).join(' ');
81
- return ((0, jsx_runtime_1.jsx)(ContextMenuPrimitive.Portal, { children: (0, jsx_runtime_1.jsx)(ContextMenuPrimitive.Content, { ref: ref, alignOffset: alignOffset, className: contentClasses, loop: loop, children: children }) }));
82
- });
83
- exports.ContextMenuContent.displayName = 'ContextMenuContent';
84
- /**
85
- * ContextMenuItem - An action item within the context menu
86
- */
87
- exports.ContextMenuItem = react_1.default.forwardRef(({ children, onSelect, disabled = false, destructive = false, icon, shortcut, className = '', }, ref) => {
88
- const itemClasses = [
89
- 'muka-menu__item',
90
- destructive && 'muka-menu__item--destructive',
91
- disabled && 'muka-menu__item--disabled',
92
- className,
93
- ]
94
- .filter(Boolean)
95
- .join(' ');
96
- return ((0, jsx_runtime_1.jsxs)(ContextMenuPrimitive.Item, { ref: ref, className: itemClasses, onSelect: onSelect, disabled: disabled, children: [icon && (0, jsx_runtime_1.jsx)("span", { className: "muka-menu__item-icon", children: icon }), (0, jsx_runtime_1.jsx)("span", { className: "muka-menu__item-label", children: children }), shortcut && (0, jsx_runtime_1.jsx)("span", { className: "muka-menu__item-shortcut", children: shortcut })] }));
97
- });
98
- exports.ContextMenuItem.displayName = 'ContextMenuItem';
99
- /**
100
- * ContextMenuSeparator - A visual divider between menu items
101
- */
102
- exports.ContextMenuSeparator = react_1.default.forwardRef(({ className = '' }, ref) => {
103
- const separatorClasses = ['muka-menu__separator', className].filter(Boolean).join(' ');
104
- return (0, jsx_runtime_1.jsx)(ContextMenuPrimitive.Separator, { ref: ref, className: separatorClasses });
105
- });
106
- exports.ContextMenuSeparator.displayName = 'ContextMenuSeparator';
107
- /**
108
- * ContextMenuGroup - A labeled group of context menu items
109
- */
110
- exports.ContextMenuGroup = react_1.default.forwardRef(({ children, label, className = '' }, ref) => {
111
- const groupClasses = ['muka-menu__group', className].filter(Boolean).join(' ');
112
- return ((0, jsx_runtime_1.jsxs)(ContextMenuPrimitive.Group, { ref: ref, className: groupClasses, children: [label && ((0, jsx_runtime_1.jsx)(ContextMenuPrimitive.Label, { className: "muka-menu__group-label", children: label })), children] }));
113
- });
114
- exports.ContextMenuGroup.displayName = 'ContextMenuGroup';
115
- /**
116
- * ContextMenuCheckboxItem - A checkable context menu item
117
- */
118
- exports.ContextMenuCheckboxItem = react_1.default.forwardRef(({ children, checked, onCheckedChange, disabled = false, className = '' }, ref) => {
119
- const itemClasses = [
120
- 'muka-menu__item',
121
- 'muka-menu__item--checkbox',
122
- disabled && 'muka-menu__item--disabled',
123
- className,
124
- ]
125
- .filter(Boolean)
126
- .join(' ');
127
- return ((0, jsx_runtime_1.jsxs)(ContextMenuPrimitive.CheckboxItem, { ref: ref, className: itemClasses, checked: checked, onCheckedChange: onCheckedChange, disabled: disabled, children: [(0, jsx_runtime_1.jsx)("span", { className: "muka-menu__item-indicator", children: (0, jsx_runtime_1.jsx)(ContextMenuPrimitive.ItemIndicator, { children: (0, jsx_runtime_1.jsx)(Icon_1.Icon, { name: "check", size: "sm" }) }) }), (0, jsx_runtime_1.jsx)("span", { className: "muka-menu__item-label", children: children })] }));
128
- });
129
- exports.ContextMenuCheckboxItem.displayName = 'ContextMenuCheckboxItem';
130
- /**
131
- * ContextMenuRadioGroup - A group of radio context menu items
132
- */
133
- exports.ContextMenuRadioGroup = react_1.default.forwardRef(({ children, value, onValueChange, className = '' }, ref) => {
134
- const groupClasses = ['muka-menu__radio-group', className].filter(Boolean).join(' ');
135
- return ((0, jsx_runtime_1.jsx)(ContextMenuPrimitive.RadioGroup, { ref: ref, className: groupClasses, value: value, onValueChange: onValueChange, children: children }));
136
- });
137
- exports.ContextMenuRadioGroup.displayName = 'ContextMenuRadioGroup';
138
- /**
139
- * ContextMenuRadioItem - A radio option within a ContextMenuRadioGroup
140
- */
141
- exports.ContextMenuRadioItem = react_1.default.forwardRef(({ children, value, disabled = false, className = '' }, ref) => {
142
- const itemClasses = [
143
- 'muka-menu__item',
144
- 'muka-menu__item--radio',
145
- disabled && 'muka-menu__item--disabled',
146
- className,
147
- ]
148
- .filter(Boolean)
149
- .join(' ');
150
- return ((0, jsx_runtime_1.jsxs)(ContextMenuPrimitive.RadioItem, { ref: ref, className: itemClasses, value: value, disabled: disabled, children: [(0, jsx_runtime_1.jsx)("span", { className: "muka-menu__item-indicator", children: (0, jsx_runtime_1.jsx)(ContextMenuPrimitive.ItemIndicator, { children: (0, jsx_runtime_1.jsx)("span", { className: "muka-menu__radio-dot" }) }) }), (0, jsx_runtime_1.jsx)("span", { className: "muka-menu__item-label", children: children })] }));
151
- });
152
- exports.ContextMenuRadioItem.displayName = 'ContextMenuRadioItem';
153
- /**
154
- * ContextMenuSub - A submenu container
155
- */
156
- const ContextMenuSub = ({ children, open, onOpenChange, defaultOpen, }) => {
157
- return ((0, jsx_runtime_1.jsx)(ContextMenuPrimitive.Sub, { open: open, onOpenChange: onOpenChange, defaultOpen: defaultOpen, children: children }));
158
- };
159
- exports.ContextMenuSub = ContextMenuSub;
160
- /**
161
- * ContextMenuSubTrigger - Trigger that opens a submenu
162
- */
163
- exports.ContextMenuSubTrigger = react_1.default.forwardRef(({ children, icon, disabled = false, className = '' }, ref) => {
164
- const itemClasses = [
165
- 'muka-menu__item',
166
- 'muka-menu__item--sub-trigger',
167
- disabled && 'muka-menu__item--disabled',
168
- className,
169
- ]
170
- .filter(Boolean)
171
- .join(' ');
172
- return ((0, jsx_runtime_1.jsxs)(ContextMenuPrimitive.SubTrigger, { ref: ref, className: itemClasses, disabled: disabled, children: [icon && (0, jsx_runtime_1.jsx)("span", { className: "muka-menu__item-icon", children: icon }), (0, jsx_runtime_1.jsx)("span", { className: "muka-menu__item-label", children: children }), (0, jsx_runtime_1.jsx)("span", { className: "muka-menu__item-chevron", children: (0, jsx_runtime_1.jsx)(Icon_1.Icon, { name: "arrow-right", variant: "line", size: "sm" }) })] }));
173
- });
174
- exports.ContextMenuSubTrigger.displayName = 'ContextMenuSubTrigger';
175
- /**
176
- * ContextMenuSubContent - The dropdown container for submenu items
177
- */
178
- exports.ContextMenuSubContent = react_1.default.forwardRef(({ children, sideOffset = 2, alignOffset = -4, className = '', loop = true }, ref) => {
179
- const contentClasses = ['muka-menu__content', 'muka-menu__content--sub', className]
180
- .filter(Boolean)
181
- .join(' ');
182
- return ((0, jsx_runtime_1.jsx)(ContextMenuPrimitive.Portal, { children: (0, jsx_runtime_1.jsx)(ContextMenuPrimitive.SubContent, { ref: ref, sideOffset: sideOffset, alignOffset: alignOffset, className: contentClasses, loop: loop, children: children }) }));
183
- });
184
- exports.ContextMenuSubContent.displayName = 'ContextMenuSubContent';
185
- exports.default = exports.ContextMenu;
186
- //# sourceMappingURL=ContextMenu.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContextMenu.js","sourceRoot":"","sources":["../../../../components/ContextMenu/ContextMenu.tsx"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ContextMenuSubContent = exports.ContextMenuSubTrigger = exports.ContextMenuSub = exports.ContextMenuRadioItem = exports.ContextMenuRadioGroup = exports.ContextMenuCheckboxItem = exports.ContextMenuGroup = exports.ContextMenuSeparator = exports.ContextMenuItem = exports.ContextMenuContent = exports.ContextMenuTrigger = exports.ContextMenu = void 0;
4
- var ContextMenu_1 = require("./ContextMenu");
5
- Object.defineProperty(exports, "ContextMenu", { enumerable: true, get: function () { return ContextMenu_1.ContextMenu; } });
6
- Object.defineProperty(exports, "ContextMenuTrigger", { enumerable: true, get: function () { return ContextMenu_1.ContextMenuTrigger; } });
7
- Object.defineProperty(exports, "ContextMenuContent", { enumerable: true, get: function () { return ContextMenu_1.ContextMenuContent; } });
8
- Object.defineProperty(exports, "ContextMenuItem", { enumerable: true, get: function () { return ContextMenu_1.ContextMenuItem; } });
9
- Object.defineProperty(exports, "ContextMenuSeparator", { enumerable: true, get: function () { return ContextMenu_1.ContextMenuSeparator; } });
10
- Object.defineProperty(exports, "ContextMenuGroup", { enumerable: true, get: function () { return ContextMenu_1.ContextMenuGroup; } });
11
- Object.defineProperty(exports, "ContextMenuCheckboxItem", { enumerable: true, get: function () { return ContextMenu_1.ContextMenuCheckboxItem; } });
12
- Object.defineProperty(exports, "ContextMenuRadioGroup", { enumerable: true, get: function () { return ContextMenu_1.ContextMenuRadioGroup; } });
13
- Object.defineProperty(exports, "ContextMenuRadioItem", { enumerable: true, get: function () { return ContextMenu_1.ContextMenuRadioItem; } });
14
- Object.defineProperty(exports, "ContextMenuSub", { enumerable: true, get: function () { return ContextMenu_1.ContextMenuSub; } });
15
- Object.defineProperty(exports, "ContextMenuSubTrigger", { enumerable: true, get: function () { return ContextMenu_1.ContextMenuSubTrigger; } });
16
- Object.defineProperty(exports, "ContextMenuSubContent", { enumerable: true, get: function () { return ContextMenu_1.ContextMenuSubContent; } });
17
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../components/ContextMenu/index.ts"],"names":[],"mappings":";;;AAAA,6CAauB;AAZrB,0GAAA,WAAW,OAAA;AACX,iHAAA,kBAAkB,OAAA;AAClB,iHAAA,kBAAkB,OAAA;AAClB,8GAAA,eAAe,OAAA;AACf,mHAAA,oBAAoB,OAAA;AACpB,+GAAA,gBAAgB,OAAA;AAChB,sHAAA,uBAAuB,OAAA;AACvB,oHAAA,qBAAqB,OAAA;AACrB,mHAAA,oBAAoB,OAAA;AACpB,6GAAA,cAAc,OAAA;AACd,oHAAA,qBAAqB,OAAA;AACrB,oHAAA,qBAAqB,OAAA"}
@@ -1,145 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React from 'react';
3
- import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
4
- import { Icon } from '../Icon';
5
- import '../Menu/Menu.css';
6
- /**
7
- * ContextMenu Component
8
- *
9
- * A menu that appears on right-click (context menu).
10
- * Built on Radix UI ContextMenu for accessibility and keyboard navigation.
11
- *
12
- * @example
13
- * ```tsx
14
- * <ContextMenu>
15
- * <ContextMenuTrigger>
16
- * <Card>Right-click me</Card>
17
- * </ContextMenuTrigger>
18
- * <ContextMenuContent>
19
- * <ContextMenuItem onSelect={() => console.log('Copy')}>Copy</ContextMenuItem>
20
- * <ContextMenuItem onSelect={() => console.log('Paste')}>Paste</ContextMenuItem>
21
- * </ContextMenuContent>
22
- * </ContextMenu>
23
- * ```
24
- */
25
- export const ContextMenu = ({ children, onOpenChange, modal = true, }) => {
26
- return (_jsx(ContextMenuPrimitive.Root, { onOpenChange: onOpenChange, modal: modal, children: children }));
27
- };
28
- /**
29
- * ContextMenuTrigger - The area that triggers the context menu on right-click
30
- */
31
- export const ContextMenuTrigger = React.forwardRef(({ children, asChild = false, disabled = false, className = '' }, ref) => {
32
- const triggerClasses = ['muka-context-menu__trigger', className].filter(Boolean).join(' ');
33
- return (_jsx(ContextMenuPrimitive.Trigger, { ref: ref, asChild: asChild, disabled: disabled, className: triggerClasses || undefined, children: children }));
34
- });
35
- ContextMenuTrigger.displayName = 'ContextMenuTrigger';
36
- /**
37
- * ContextMenuContent - The dropdown container for context menu items
38
- */
39
- export const ContextMenuContent = React.forwardRef(({ children, alignOffset = 0, className = '', loop = true }, ref) => {
40
- const contentClasses = ['muka-menu__content', className].filter(Boolean).join(' ');
41
- return (_jsx(ContextMenuPrimitive.Portal, { children: _jsx(ContextMenuPrimitive.Content, { ref: ref, alignOffset: alignOffset, className: contentClasses, loop: loop, children: children }) }));
42
- });
43
- ContextMenuContent.displayName = 'ContextMenuContent';
44
- /**
45
- * ContextMenuItem - An action item within the context menu
46
- */
47
- export const ContextMenuItem = React.forwardRef(({ children, onSelect, disabled = false, destructive = false, icon, shortcut, className = '', }, ref) => {
48
- const itemClasses = [
49
- 'muka-menu__item',
50
- destructive && 'muka-menu__item--destructive',
51
- disabled && 'muka-menu__item--disabled',
52
- className,
53
- ]
54
- .filter(Boolean)
55
- .join(' ');
56
- return (_jsxs(ContextMenuPrimitive.Item, { ref: ref, className: itemClasses, onSelect: onSelect, disabled: disabled, children: [icon && _jsx("span", { className: "muka-menu__item-icon", children: icon }), _jsx("span", { className: "muka-menu__item-label", children: children }), shortcut && _jsx("span", { className: "muka-menu__item-shortcut", children: shortcut })] }));
57
- });
58
- ContextMenuItem.displayName = 'ContextMenuItem';
59
- /**
60
- * ContextMenuSeparator - A visual divider between menu items
61
- */
62
- export const ContextMenuSeparator = React.forwardRef(({ className = '' }, ref) => {
63
- const separatorClasses = ['muka-menu__separator', className].filter(Boolean).join(' ');
64
- return _jsx(ContextMenuPrimitive.Separator, { ref: ref, className: separatorClasses });
65
- });
66
- ContextMenuSeparator.displayName = 'ContextMenuSeparator';
67
- /**
68
- * ContextMenuGroup - A labeled group of context menu items
69
- */
70
- export const ContextMenuGroup = React.forwardRef(({ children, label, className = '' }, ref) => {
71
- const groupClasses = ['muka-menu__group', className].filter(Boolean).join(' ');
72
- return (_jsxs(ContextMenuPrimitive.Group, { ref: ref, className: groupClasses, children: [label && (_jsx(ContextMenuPrimitive.Label, { className: "muka-menu__group-label", children: label })), children] }));
73
- });
74
- ContextMenuGroup.displayName = 'ContextMenuGroup';
75
- /**
76
- * ContextMenuCheckboxItem - A checkable context menu item
77
- */
78
- export const ContextMenuCheckboxItem = React.forwardRef(({ children, checked, onCheckedChange, disabled = false, className = '' }, ref) => {
79
- const itemClasses = [
80
- 'muka-menu__item',
81
- 'muka-menu__item--checkbox',
82
- disabled && 'muka-menu__item--disabled',
83
- className,
84
- ]
85
- .filter(Boolean)
86
- .join(' ');
87
- return (_jsxs(ContextMenuPrimitive.CheckboxItem, { ref: ref, className: itemClasses, checked: checked, onCheckedChange: onCheckedChange, disabled: disabled, children: [_jsx("span", { className: "muka-menu__item-indicator", children: _jsx(ContextMenuPrimitive.ItemIndicator, { children: _jsx(Icon, { name: "check", size: "sm" }) }) }), _jsx("span", { className: "muka-menu__item-label", children: children })] }));
88
- });
89
- ContextMenuCheckboxItem.displayName = 'ContextMenuCheckboxItem';
90
- /**
91
- * ContextMenuRadioGroup - A group of radio context menu items
92
- */
93
- export const ContextMenuRadioGroup = React.forwardRef(({ children, value, onValueChange, className = '' }, ref) => {
94
- const groupClasses = ['muka-menu__radio-group', className].filter(Boolean).join(' ');
95
- return (_jsx(ContextMenuPrimitive.RadioGroup, { ref: ref, className: groupClasses, value: value, onValueChange: onValueChange, children: children }));
96
- });
97
- ContextMenuRadioGroup.displayName = 'ContextMenuRadioGroup';
98
- /**
99
- * ContextMenuRadioItem - A radio option within a ContextMenuRadioGroup
100
- */
101
- export const ContextMenuRadioItem = React.forwardRef(({ children, value, disabled = false, className = '' }, ref) => {
102
- const itemClasses = [
103
- 'muka-menu__item',
104
- 'muka-menu__item--radio',
105
- disabled && 'muka-menu__item--disabled',
106
- className,
107
- ]
108
- .filter(Boolean)
109
- .join(' ');
110
- return (_jsxs(ContextMenuPrimitive.RadioItem, { ref: ref, className: itemClasses, value: value, disabled: disabled, children: [_jsx("span", { className: "muka-menu__item-indicator", children: _jsx(ContextMenuPrimitive.ItemIndicator, { children: _jsx("span", { className: "muka-menu__radio-dot" }) }) }), _jsx("span", { className: "muka-menu__item-label", children: children })] }));
111
- });
112
- ContextMenuRadioItem.displayName = 'ContextMenuRadioItem';
113
- /**
114
- * ContextMenuSub - A submenu container
115
- */
116
- export const ContextMenuSub = ({ children, open, onOpenChange, defaultOpen, }) => {
117
- return (_jsx(ContextMenuPrimitive.Sub, { open: open, onOpenChange: onOpenChange, defaultOpen: defaultOpen, children: children }));
118
- };
119
- /**
120
- * ContextMenuSubTrigger - Trigger that opens a submenu
121
- */
122
- export const ContextMenuSubTrigger = React.forwardRef(({ children, icon, disabled = false, className = '' }, ref) => {
123
- const itemClasses = [
124
- 'muka-menu__item',
125
- 'muka-menu__item--sub-trigger',
126
- disabled && 'muka-menu__item--disabled',
127
- className,
128
- ]
129
- .filter(Boolean)
130
- .join(' ');
131
- return (_jsxs(ContextMenuPrimitive.SubTrigger, { ref: ref, className: itemClasses, disabled: disabled, children: [icon && _jsx("span", { className: "muka-menu__item-icon", children: icon }), _jsx("span", { className: "muka-menu__item-label", children: children }), _jsx("span", { className: "muka-menu__item-chevron", children: _jsx(Icon, { name: "arrow-right", variant: "line", size: "sm" }) })] }));
132
- });
133
- ContextMenuSubTrigger.displayName = 'ContextMenuSubTrigger';
134
- /**
135
- * ContextMenuSubContent - The dropdown container for submenu items
136
- */
137
- export const ContextMenuSubContent = React.forwardRef(({ children, sideOffset = 2, alignOffset = -4, className = '', loop = true }, ref) => {
138
- const contentClasses = ['muka-menu__content', 'muka-menu__content--sub', className]
139
- .filter(Boolean)
140
- .join(' ');
141
- return (_jsx(ContextMenuPrimitive.Portal, { children: _jsx(ContextMenuPrimitive.SubContent, { ref: ref, sideOffset: sideOffset, alignOffset: alignOffset, className: contentClasses, loop: loop, children: children }) }));
142
- });
143
- ContextMenuSubContent.displayName = 'ContextMenuSubContent';
144
- export default ContextMenu;
145
- //# sourceMappingURL=ContextMenu.js.map