@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.
- package/dist/cjs/components/ActionSheet/ActionSheet.js +1 -1
- package/dist/cjs/components/Breadcrumb/Breadcrumb.css +11 -3
- package/dist/cjs/components/Breadcrumb/Breadcrumb.js +19 -1
- package/dist/cjs/components/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/cjs/components/ChatComposer/ChatComposer.js +12 -4
- package/dist/cjs/components/ChatComposer/ChatComposer.js.map +1 -1
- package/dist/cjs/components/ContextSelect/ContextSelect.css +117 -0
- package/dist/cjs/components/ContextSelect/ContextSelect.js +49 -0
- package/dist/cjs/components/ContextSelect/ContextSelect.js.map +1 -0
- package/dist/cjs/components/ContextSelect/index.js +11 -0
- package/dist/cjs/components/ContextSelect/index.js.map +1 -0
- package/dist/cjs/components/EmojiPicker/EmojiPicker.css +19 -0
- package/dist/cjs/components/EmojiPicker/EmojiPicker.js +54 -0
- package/dist/cjs/components/EmojiPicker/EmojiPicker.js.map +1 -0
- package/dist/cjs/components/EmojiPicker/index.js +12 -0
- package/dist/cjs/components/EmojiPicker/index.js.map +1 -0
- package/dist/cjs/components/Icon/custom/ArrowDropUpDownIcon.js +11 -0
- package/dist/cjs/components/Icon/custom/ArrowDropUpDownIcon.js.map +1 -0
- package/dist/cjs/components/Icon/iconRegistry.js +6 -0
- package/dist/cjs/components/Icon/iconRegistry.js.map +1 -1
- package/dist/cjs/components/Menu/Menu.css +112 -2
- package/dist/cjs/components/Menu/Menu.js +171 -39
- package/dist/cjs/components/Menu/Menu.js.map +1 -1
- package/dist/cjs/components/Menu/index.js +5 -1
- package/dist/cjs/components/Menu/index.js.map +1 -1
- package/dist/cjs/components/PhotoDraftStrip/PhotoDraftStrip.css +27 -0
- package/dist/cjs/components/PhotoDraftStrip/PhotoDraftStrip.js +36 -0
- package/dist/cjs/components/PhotoDraftStrip/PhotoDraftStrip.js.map +1 -0
- package/dist/cjs/components/PhotoDraftStrip/index.js +11 -0
- package/dist/cjs/components/PhotoDraftStrip/index.js.map +1 -0
- package/dist/cjs/components/RecordingBar/RecordingBar.css +47 -0
- package/dist/cjs/components/RecordingBar/RecordingBar.js +22 -0
- package/dist/cjs/components/RecordingBar/RecordingBar.js.map +1 -0
- package/dist/cjs/components/RecordingBar/index.js +11 -0
- package/dist/cjs/components/RecordingBar/index.js.map +1 -0
- package/dist/cjs/components/Scrollbar/Scrollbar.css +123 -0
- package/dist/cjs/components/Scrollbar/Scrollbar.js +118 -0
- package/dist/cjs/components/Scrollbar/Scrollbar.js.map +1 -0
- package/dist/cjs/components/Scrollbar/index.js +11 -0
- package/dist/cjs/components/Scrollbar/index.js.map +1 -0
- package/dist/cjs/components/VoiceMessage/VoiceMessage.css +29 -0
- package/dist/cjs/components/VoiceMessage/VoiceMessage.js +85 -0
- package/dist/cjs/components/VoiceMessage/VoiceMessage.js.map +1 -0
- package/dist/cjs/components/VoiceMessage/index.js +11 -0
- package/dist/cjs/components/VoiceMessage/index.js.map +1 -0
- package/dist/cjs/components/VoiceRecorder/audio.js +61 -0
- package/dist/cjs/components/VoiceRecorder/audio.js.map +1 -0
- package/dist/cjs/components/VoiceRecorder/index.js +16 -0
- package/dist/cjs/components/VoiceRecorder/index.js.map +1 -0
- package/dist/cjs/components/VoiceRecorder/useVoiceRecorder.js +213 -0
- package/dist/cjs/components/VoiceRecorder/useVoiceRecorder.js.map +1 -0
- package/dist/cjs/components/Waveform/Waveform.css +23 -0
- package/dist/cjs/components/Waveform/Waveform.js +36 -0
- package/dist/cjs/components/Waveform/Waveform.js.map +1 -0
- package/dist/cjs/components/Waveform/index.js +11 -0
- package/dist/cjs/components/Waveform/index.js.map +1 -0
- package/dist/cjs/components/index.js +27 -15
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/esm/components/ActionSheet/ActionSheet.js +1 -1
- package/dist/esm/components/Breadcrumb/Breadcrumb.css +11 -3
- package/dist/esm/components/Breadcrumb/Breadcrumb.js +19 -1
- package/dist/esm/components/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/esm/components/ChatComposer/ChatComposer.js +12 -4
- package/dist/esm/components/ChatComposer/ChatComposer.js.map +1 -1
- package/dist/esm/components/ContextSelect/ContextSelect.css +117 -0
- package/dist/esm/components/ContextSelect/ContextSelect.js +45 -0
- package/dist/esm/components/ContextSelect/ContextSelect.js.map +1 -0
- package/dist/esm/components/ContextSelect/index.js +3 -0
- package/dist/esm/components/ContextSelect/index.js.map +1 -0
- package/dist/esm/components/EmojiPicker/EmojiPicker.css +19 -0
- package/dist/esm/components/EmojiPicker/EmojiPicker.js +50 -0
- package/dist/esm/components/EmojiPicker/EmojiPicker.js.map +1 -0
- package/dist/esm/components/EmojiPicker/index.js +3 -0
- package/dist/esm/components/EmojiPicker/index.js.map +1 -0
- package/dist/esm/components/Icon/custom/ArrowDropUpDownIcon.js +7 -0
- package/dist/esm/components/Icon/custom/ArrowDropUpDownIcon.js.map +1 -0
- package/dist/esm/components/Icon/iconRegistry.js +6 -0
- package/dist/esm/components/Icon/iconRegistry.js.map +1 -1
- package/dist/esm/components/Menu/Menu.css +112 -2
- package/dist/esm/components/Menu/Menu.js +170 -40
- package/dist/esm/components/Menu/Menu.js.map +1 -1
- package/dist/esm/components/Menu/index.js +1 -1
- package/dist/esm/components/Menu/index.js.map +1 -1
- package/dist/esm/components/PhotoDraftStrip/PhotoDraftStrip.css +27 -0
- package/dist/esm/components/PhotoDraftStrip/PhotoDraftStrip.js +32 -0
- package/dist/esm/components/PhotoDraftStrip/PhotoDraftStrip.js.map +1 -0
- package/dist/esm/components/PhotoDraftStrip/index.js +3 -0
- package/dist/esm/components/PhotoDraftStrip/index.js.map +1 -0
- package/dist/esm/components/RecordingBar/RecordingBar.css +47 -0
- package/dist/esm/components/RecordingBar/RecordingBar.js +18 -0
- package/dist/esm/components/RecordingBar/RecordingBar.js.map +1 -0
- package/dist/esm/components/RecordingBar/index.js +3 -0
- package/dist/esm/components/RecordingBar/index.js.map +1 -0
- package/dist/esm/components/Scrollbar/Scrollbar.css +123 -0
- package/dist/esm/components/Scrollbar/Scrollbar.js +114 -0
- package/dist/esm/components/Scrollbar/Scrollbar.js.map +1 -0
- package/dist/esm/components/Scrollbar/index.js +3 -0
- package/dist/esm/components/Scrollbar/index.js.map +1 -0
- package/dist/esm/components/VoiceMessage/VoiceMessage.css +29 -0
- package/dist/esm/components/VoiceMessage/VoiceMessage.js +81 -0
- package/dist/esm/components/VoiceMessage/VoiceMessage.js.map +1 -0
- package/dist/esm/components/VoiceMessage/index.js +3 -0
- package/dist/esm/components/VoiceMessage/index.js.map +1 -0
- package/dist/esm/components/VoiceRecorder/audio.js +55 -0
- package/dist/esm/components/VoiceRecorder/audio.js.map +1 -0
- package/dist/esm/components/VoiceRecorder/index.js +4 -0
- package/dist/esm/components/VoiceRecorder/index.js.map +1 -0
- package/dist/esm/components/VoiceRecorder/useVoiceRecorder.js +210 -0
- package/dist/esm/components/VoiceRecorder/useVoiceRecorder.js.map +1 -0
- package/dist/esm/components/Waveform/Waveform.css +23 -0
- package/dist/esm/components/Waveform/Waveform.js +32 -0
- package/dist/esm/components/Waveform/Waveform.js.map +1 -0
- package/dist/esm/components/Waveform/index.js +3 -0
- package/dist/esm/components/Waveform/index.js.map +1 -0
- package/dist/esm/components/index.js +9 -2
- package/dist/esm/components/index.js.map +1 -1
- package/dist/styles/components/Breadcrumb.css +11 -3
- package/dist/styles/components/ContextSelect.css +117 -0
- package/dist/styles/components/EmojiPicker.css +19 -0
- package/dist/styles/components/Menu.css +112 -2
- package/dist/styles/components/PhotoDraftStrip.css +27 -0
- package/dist/styles/components/RecordingBar.css +47 -0
- package/dist/styles/components/Scrollbar.css +123 -0
- package/dist/styles/components/VoiceMessage.css +29 -0
- package/dist/styles/components/Waveform.css +23 -0
- package/dist/styles/index.css +919 -393
- package/dist/styles/muka-dark.css +919 -393
- package/dist/styles/muka-light.css +919 -393
- package/dist/styles/tokens-bouwplan-dark.css +4 -2
- package/dist/styles/tokens-bouwplan-light.css +4 -2
- package/dist/styles/tokens-fscl-dark.css +4 -2
- package/dist/styles/tokens-fscl-light.css +4 -2
- package/dist/styles/tokens-grip-dark.css +4 -2
- package/dist/styles/tokens-grip-light.css +4 -2
- package/dist/styles/tokens-muka-dark.css +4 -2
- package/dist/styles/tokens-muka-light.css +4 -2
- package/dist/styles/tokens-wireframe-dark.css +4 -2
- package/dist/styles/tokens-wireframe-light.css +4 -2
- package/dist/styles/wireframe-dark.css +919 -393
- package/dist/styles/wireframe-light.css +919 -393
- package/dist/types/components/ActionSheet/ActionSheet.d.ts +1 -1
- package/dist/types/components/Breadcrumb/Breadcrumb.d.ts +27 -3
- package/dist/types/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/types/components/ChatComposer/ChatComposer.d.ts +7 -0
- package/dist/types/components/ChatComposer/ChatComposer.d.ts.map +1 -1
- package/dist/types/components/ContextSelect/ContextSelect.d.ts +62 -0
- package/dist/types/components/ContextSelect/ContextSelect.d.ts.map +1 -0
- package/dist/types/components/ContextSelect/index.d.ts +3 -0
- package/dist/types/components/ContextSelect/index.d.ts.map +1 -0
- package/dist/types/components/DataTable/DataTable.d.ts +1 -1
- package/dist/types/components/EmojiPicker/EmojiPicker.d.ts +28 -0
- package/dist/types/components/EmojiPicker/EmojiPicker.d.ts.map +1 -0
- package/dist/types/components/EmojiPicker/index.d.ts +3 -0
- package/dist/types/components/EmojiPicker/index.d.ts.map +1 -0
- package/dist/types/components/Icon/custom/ArrowDropUpDownIcon.d.ts +9 -0
- package/dist/types/components/Icon/custom/ArrowDropUpDownIcon.d.ts.map +1 -0
- package/dist/types/components/Icon/iconRegistry.d.ts.map +1 -1
- package/dist/types/components/Menu/Menu.d.ts +58 -28
- package/dist/types/components/Menu/Menu.d.ts.map +1 -1
- package/dist/types/components/Menu/index.d.ts +2 -2
- package/dist/types/components/Menu/index.d.ts.map +1 -1
- package/dist/types/components/PhotoDraftStrip/PhotoDraftStrip.d.ts +51 -0
- package/dist/types/components/PhotoDraftStrip/PhotoDraftStrip.d.ts.map +1 -0
- package/dist/types/components/PhotoDraftStrip/index.d.ts +3 -0
- package/dist/types/components/PhotoDraftStrip/index.d.ts.map +1 -0
- package/dist/types/components/RecordingBar/RecordingBar.d.ts +22 -0
- package/dist/types/components/RecordingBar/RecordingBar.d.ts.map +1 -0
- package/dist/types/components/RecordingBar/index.d.ts +3 -0
- package/dist/types/components/RecordingBar/index.d.ts.map +1 -0
- package/dist/types/components/Scrollbar/Scrollbar.d.ts +19 -0
- package/dist/types/components/Scrollbar/Scrollbar.d.ts.map +1 -0
- package/dist/types/components/Scrollbar/index.d.ts +3 -0
- package/dist/types/components/Scrollbar/index.d.ts.map +1 -0
- package/dist/types/components/VoiceMessage/VoiceMessage.d.ts +34 -0
- package/dist/types/components/VoiceMessage/VoiceMessage.d.ts.map +1 -0
- package/dist/types/components/VoiceMessage/index.d.ts +3 -0
- package/dist/types/components/VoiceMessage/index.d.ts.map +1 -0
- package/dist/types/components/VoiceRecorder/audio.d.ts +20 -0
- package/dist/types/components/VoiceRecorder/audio.d.ts.map +1 -0
- package/dist/types/components/VoiceRecorder/index.d.ts +4 -0
- package/dist/types/components/VoiceRecorder/index.d.ts.map +1 -0
- package/dist/types/components/VoiceRecorder/useVoiceRecorder.d.ts +48 -0
- package/dist/types/components/VoiceRecorder/useVoiceRecorder.d.ts.map +1 -0
- package/dist/types/components/Waveform/Waveform.d.ts +31 -0
- package/dist/types/components/Waveform/Waveform.d.ts.map +1 -0
- package/dist/types/components/Waveform/index.d.ts +3 -0
- package/dist/types/components/Waveform/index.d.ts.map +1 -0
- package/dist/types/components/index.d.ts +10 -4
- package/dist/types/components/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/tokens/README.md +1 -1
- package/tokens/t4-components/menu.json +12 -2
- package/dist/cjs/components/ContextMenu/ContextMenu.js +0 -186
- package/dist/cjs/components/ContextMenu/ContextMenu.js.map +0 -1
- package/dist/cjs/components/ContextMenu/index.js +0 -17
- package/dist/cjs/components/ContextMenu/index.js.map +0 -1
- package/dist/esm/components/ContextMenu/ContextMenu.js +0 -145
- package/dist/esm/components/ContextMenu/ContextMenu.js.map +0 -1
- package/dist/esm/components/ContextMenu/index.js +0 -2
- package/dist/esm/components/ContextMenu/index.js.map +0 -1
- package/dist/types/components/ContextMenu/ContextMenu.d.ts +0 -188
- package/dist/types/components/ContextMenu/ContextMenu.d.ts.map +0 -1
- package/dist/types/components/ContextMenu/index.d.ts +0 -3
- 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 @@
|
|
|
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 {
|
|
52
|
-
export
|
|
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
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:
|
|
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.
|
|
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.
|
|
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
|