@yewdiel21/motion-kit 0.16.0 → 0.17.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/README.md +21 -0
- package/dist/auto/index.d.ts +8 -3
- package/dist/auto/index.js +13 -3
- package/dist/auto/index.js.map +1 -1
- package/dist/{chunk-SDQ776LG.js → chunk-7IQTMF7Y.js} +1414 -38
- package/dist/chunk-7IQTMF7Y.js.map +1 -0
- package/dist/{chunk-NFZIX3IA.js → chunk-BZLMCHUD.js} +2 -2
- package/dist/{chunk-RBEKR5UZ.js → chunk-VJFPTLAK.js} +2 -2
- package/dist/css/components/drilldown-menu.css +130 -0
- package/dist/css/components/signature-pad.css +104 -0
- package/dist/css/components/voice-message-bubble.css +50 -0
- package/dist/css/components/waveform-player.css +36 -0
- package/dist/css/components/wheel-picker.css +17 -0
- package/dist/elements/index.d.ts +90 -4
- package/dist/elements/index.js +281 -4
- package/dist/elements/index.js.map +1 -1
- package/dist/{reveal-DRpNO4KP.d.ts → engine-Bn6hC87X.d.ts} +194 -1
- package/dist/index.css +305 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +13 -3
- package/dist/index.js.map +1 -1
- package/dist/react/index.d.ts +45 -7
- package/dist/react/index.js +227 -3
- package/dist/react/index.js.map +1 -1
- package/dist/{reduced-DQwVXQYb.d.ts → reduced-YS6TZjpa.d.ts} +1 -1
- package/dist/{store-Da3zSh8Z.d.ts → store-CZ6vdtIE.d.ts} +1 -1
- package/package.json +110 -110
- package/registry.json +64 -0
- package/src/auto/auto-init.ts +308 -293
- package/src/components/drilldown-menu/README.md +163 -0
- package/src/components/drilldown-menu/drilldown-menu.css +129 -0
- package/src/components/drilldown-menu/element.ts +59 -0
- package/src/components/drilldown-menu/engine.ts +338 -0
- package/src/components/drilldown-menu/react.tsx +76 -0
- package/src/components/signature-pad/README.md +97 -0
- package/src/components/signature-pad/element.ts +57 -0
- package/src/components/signature-pad/engine.ts +437 -0
- package/src/components/signature-pad/react.tsx +56 -0
- package/src/components/signature-pad/signature-pad.css +103 -0
- package/src/components/voice-message-bubble/README.md +31 -0
- package/src/components/voice-message-bubble/element.ts +20 -0
- package/src/components/voice-message-bubble/engine.ts +68 -0
- package/src/components/voice-message-bubble/react.tsx +27 -0
- package/src/components/voice-message-bubble/voice-message-bubble.css +12 -0
- package/src/components/waveform-player/README.md +30 -0
- package/src/components/waveform-player/element.ts +21 -0
- package/src/components/waveform-player/engine.ts +261 -0
- package/src/components/waveform-player/react.tsx +27 -0
- package/src/components/waveform-player/waveform-player.css +35 -0
- package/src/components/wheel-picker/README.md +33 -0
- package/src/components/wheel-picker/element.ts +18 -0
- package/src/components/wheel-picker/engine.ts +210 -0
- package/src/components/wheel-picker/react.tsx +32 -0
- package/src/components/wheel-picker/wheel-picker.css +16 -0
- package/src/elements/index.ts +273 -258
- package/src/index.ts +295 -290
- package/src/react/index.ts +176 -171
- package/dist/chunk-SDQ776LG.js.map +0 -1
- /package/dist/{chunk-NFZIX3IA.js.map → chunk-BZLMCHUD.js.map} +0 -0
- /package/dist/{chunk-RBEKR5UZ.js.map → chunk-VJFPTLAK.js.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -58,7 +58,7 @@ import {
|
|
|
58
58
|
reflowLayout,
|
|
59
59
|
toggleDetails,
|
|
60
60
|
trackScroll
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-BZLMCHUD.js";
|
|
62
62
|
import {
|
|
63
63
|
NAV_STYLES,
|
|
64
64
|
NAV_STYLE_ALIASES,
|
|
@@ -95,7 +95,7 @@ import {
|
|
|
95
95
|
toNavStyle,
|
|
96
96
|
toast,
|
|
97
97
|
toastTimers
|
|
98
|
-
} from "./chunk-
|
|
98
|
+
} from "./chunk-VJFPTLAK.js";
|
|
99
99
|
import {
|
|
100
100
|
BRAND_LABELS,
|
|
101
101
|
CHANNEL_LABELS,
|
|
@@ -156,6 +156,7 @@ import {
|
|
|
156
156
|
createDateTimePicker,
|
|
157
157
|
createDialog,
|
|
158
158
|
createDrawer,
|
|
159
|
+
createDrilldownMenu,
|
|
159
160
|
createEditableTable,
|
|
160
161
|
createEmptyState,
|
|
161
162
|
createFileExplorer,
|
|
@@ -184,6 +185,7 @@ import {
|
|
|
184
185
|
createScratchCard,
|
|
185
186
|
createScrollIsland,
|
|
186
187
|
createSelect,
|
|
188
|
+
createSignaturePad,
|
|
187
189
|
createSizes,
|
|
188
190
|
createSkeleton,
|
|
189
191
|
createSlotPicker,
|
|
@@ -200,6 +202,9 @@ import {
|
|
|
200
202
|
createTrailer,
|
|
201
203
|
createTreeView,
|
|
202
204
|
createVirtualList,
|
|
205
|
+
createVoiceMessageBubble,
|
|
206
|
+
createWaveformPlayer,
|
|
207
|
+
createWheelPicker,
|
|
203
208
|
cvcLength,
|
|
204
209
|
dateTimeKey,
|
|
205
210
|
dayKey,
|
|
@@ -310,7 +315,7 @@ import {
|
|
|
310
315
|
tokenize,
|
|
311
316
|
transparentColor,
|
|
312
317
|
tweenNumber
|
|
313
|
-
} from "./chunk-
|
|
318
|
+
} from "./chunk-7IQTMF7Y.js";
|
|
314
319
|
import "./chunk-RVSKEBIC.js";
|
|
315
320
|
import {
|
|
316
321
|
clamp,
|
|
@@ -460,6 +465,7 @@ export {
|
|
|
460
465
|
createDockPill,
|
|
461
466
|
createDragRuler,
|
|
462
467
|
createDrawer,
|
|
468
|
+
createDrilldownMenu,
|
|
463
469
|
createEditableTable,
|
|
464
470
|
createEditorialReveal,
|
|
465
471
|
createEmptyState,
|
|
@@ -521,6 +527,7 @@ export {
|
|
|
521
527
|
createScrollDock,
|
|
522
528
|
createScrollIsland,
|
|
523
529
|
createSelect,
|
|
530
|
+
createSignaturePad,
|
|
524
531
|
createSizes,
|
|
525
532
|
createSkeleton,
|
|
526
533
|
createSlotPicker,
|
|
@@ -552,7 +559,10 @@ export {
|
|
|
552
559
|
createTreeView,
|
|
553
560
|
createVirtualList,
|
|
554
561
|
createVoiceDots,
|
|
562
|
+
createVoiceMessageBubble,
|
|
563
|
+
createWaveformPlayer,
|
|
555
564
|
createWeightHover,
|
|
565
|
+
createWheelPicker,
|
|
556
566
|
createWords,
|
|
557
567
|
cvcLength,
|
|
558
568
|
damp,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/chat-background/audio.ts"],"sourcesContent":["/*\n * Microphone energy for the chat background: FFT 256,\n * smoothing .3, −90…−10 dB; the lowest 40 % of the bins, ×3, clamped to 1, with\n * attack .8 and release .15. The caller passes a MediaStream it already has\n * permission for: this never asks for the microphone.\n */\n\nexport interface AudioEnergy {\n stop(): void;\n}\n\nexport function audioEnergy(\n stream: MediaStream,\n onEnergy: (energy: number) => void,\n { fftSize = 256, smoothing = 0.3 }: { fftSize?: number; smoothing?: number } = {},\n): AudioEnergy {\n const AudioCtor = (globalThis as { AudioContext?: typeof AudioContext }).AudioContext;\n if (!AudioCtor) {\n onEnergy(0);\n return { stop() {} };\n }\n const context = new AudioCtor();\n const analyser = context.createAnalyser();\n analyser.fftSize = fftSize;\n analyser.smoothingTimeConstant = smoothing;\n analyser.minDecibels = -90;\n analyser.maxDecibels = -10;\n const input = context.createMediaStreamSource(stream);\n input.connect(analyser);\n const bins = new Uint8Array(analyser.frequencyBinCount);\n let energy = 0;\n let frame = 0;\n let stopped = false;\n const tick = () => {\n if (stopped) return;\n analyser.getByteFrequencyData(bins);\n const count = Math.ceil(bins.length * 0.4);\n let sum = 0;\n for (let i = 0; i < count; i++) sum += bins[i] ?? 0;\n const target = Math.min(((sum / (count * 255)) * 3), 1);\n energy += (target - energy) * (target > energy ? 0.8 : 0.15);\n onEnergy(energy);\n frame = requestAnimationFrame(tick);\n };\n tick();\n return {\n stop() {\n if (stopped) return;\n stopped = true;\n cancelAnimationFrame(frame);\n input.disconnect();\n void context.close();\n onEnergy(0);\n },\n };\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/components/chat-background/audio.ts"],"sourcesContent":["/*\n * Microphone energy for the chat background: FFT 256,\n * smoothing .3, −90…−10 dB; the lowest 40 % of the bins, ×3, clamped to 1, with\n * attack .8 and release .15. The caller passes a MediaStream it already has\n * permission for: this never asks for the microphone.\n */\n\nexport interface AudioEnergy {\n stop(): void;\n}\n\nexport function audioEnergy(\n stream: MediaStream,\n onEnergy: (energy: number) => void,\n { fftSize = 256, smoothing = 0.3 }: { fftSize?: number; smoothing?: number } = {},\n): AudioEnergy {\n const AudioCtor = (globalThis as { AudioContext?: typeof AudioContext }).AudioContext;\n if (!AudioCtor) {\n onEnergy(0);\n return { stop() {} };\n }\n const context = new AudioCtor();\n const analyser = context.createAnalyser();\n analyser.fftSize = fftSize;\n analyser.smoothingTimeConstant = smoothing;\n analyser.minDecibels = -90;\n analyser.maxDecibels = -10;\n const input = context.createMediaStreamSource(stream);\n input.connect(analyser);\n const bins = new Uint8Array(analyser.frequencyBinCount);\n let energy = 0;\n let frame = 0;\n let stopped = false;\n const tick = () => {\n if (stopped) return;\n analyser.getByteFrequencyData(bins);\n const count = Math.ceil(bins.length * 0.4);\n let sum = 0;\n for (let i = 0; i < count; i++) sum += bins[i] ?? 0;\n const target = Math.min(((sum / (count * 255)) * 3), 1);\n energy += (target - energy) * (target > energy ? 0.8 : 0.15);\n onEnergy(energy);\n frame = requestAnimationFrame(tick);\n };\n tick();\n return {\n stop() {\n if (stopped) return;\n stopped = true;\n cancelAnimationFrame(frame);\n input.disconnect();\n void context.close();\n onEnergy(0);\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWO,SAAS,YACd,QACA,UACA,EAAE,UAAU,KAAK,YAAY,IAAI,IAA8C,CAAC,GACnE;AACb,QAAM,YAAa,WAAsD;AACzE,MAAI,CAAC,WAAW;AACd,aAAS,CAAC;AACV,WAAO,EAAE,OAAO;AAAA,IAAC,EAAE;AAAA,EACrB;AACA,QAAM,UAAU,IAAI,UAAU;AAC9B,QAAM,WAAW,QAAQ,eAAe;AACxC,WAAS,UAAU;AACnB,WAAS,wBAAwB;AACjC,WAAS,cAAc;AACvB,WAAS,cAAc;AACvB,QAAM,QAAQ,QAAQ,wBAAwB,MAAM;AACpD,QAAM,QAAQ,QAAQ;AACtB,QAAM,OAAO,IAAI,WAAW,SAAS,iBAAiB;AACtD,MAAI,SAAS;AACb,MAAI,QAAQ;AACZ,MAAI,UAAU;AACd,QAAM,OAAO,MAAM;AACjB,QAAI,QAAS;AACb,aAAS,qBAAqB,IAAI;AAClC,UAAM,QAAQ,KAAK,KAAK,KAAK,SAAS,GAAG;AACzC,QAAI,MAAM;AACV,aAAS,IAAI,GAAG,IAAI,OAAO,IAAK,QAAO,KAAK,CAAC,KAAK;AAClD,UAAM,SAAS,KAAK,IAAM,OAAO,QAAQ,OAAQ,GAAI,CAAC;AACtD,eAAW,SAAS,WAAW,SAAS,SAAS,MAAM;AACvD,aAAS,MAAM;AACf,YAAQ,sBAAsB,IAAI;AAAA,EACpC;AACA,OAAK;AACL,SAAO;AAAA,IACL,OAAO;AACL,UAAI,QAAS;AACb,gBAAU;AACV,2BAAqB,KAAK;AAC1B,YAAM,WAAW;AACjB,WAAK,QAAQ,MAAM;AACnB,eAAS,CAAC;AAAA,IACZ;AAAA,EACF;AACF;","names":[]}
|
package/dist/react/index.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { useLayoutEffect, RefObject, DependencyList, ReactNode, CSSProperties, Component, ButtonHTMLAttributes, DialogHTMLAttributes, HTMLAttributes, MutableRefObject, ContextType, TextareaHTMLAttributes, MouseEvent, FormHTMLAttributes, InputHTMLAttributes, Ref, ReactElement } from 'react';
|
|
3
3
|
import { I as Instance } from '../types-BkS_raL8.js';
|
|
4
|
-
import { b9 as SpringCardsOptions, a4 as CurvedCarouselOptions, C as CurvedCarouselInstance, aN as PileOptions, bo as WordsOptions, bn as WordsInstance, ao as FlowOptions, an as FlowInstance, aP as PopOptions, aO as PopInstance, al as FitTextOptions, ak as FitTextInstance, be as StretchFooterOptions, aR as RadialMenuOptions, aQ as RadialMenuInstance, bg as TabsOptions, bf as TabsInstance, a3 as CounterOptions, a2 as CounterInstance, aY as RevealRecipeOptions, aX as RevealInstance, aT as ReflowOptions, aS as ReflowInstance, b2 as SlotTextOptions, b1 as SlotTextInstance, b7 as SortableOptions, b5 as SortableInstance, aI as MaskTextOptions, aH as MaskTextInstance, $ as CascadeOptions, _ as CascadeInstance, bi as TextRollOptions, bh as TextRollInstance, aC as LettersOptions, aB as LettersInstance, aK as ParallaxOptions, aJ as ParallaxInstance, a6 as DepthGridOptions, a5 as DepthGridInstance, au as FrameZoomOptions, at as FrameZoomInstance, a1 as ContrastOptions, a0 as ContrastInstance, aG as MarqueeOptions, aF as MarqueeInstance, Z as CardDockOptions, Y as CardDockInstance, b4 as SnapStripOptions, b3 as SnapStripInstance, ah as FillTextOptions, ag as FillTextInstance, T as TicketMenuOptions, ay as InfiniteReelOptions, ax as InfiniteReelInstance, aW as RepelBentoOptions, aV as RepelBentoInstance, a_ as RotatorOptions, aZ as RotatorInstance, aa as DragRulerOptions, a9 as DragRulerInstance, a8 as DockPillOptions, a7 as DockPillInstance, aA as JoinedCtaOptions, az as JoinedCtaInstance, aw as ImageZoomOptions, av as ImageZoomInstance, as as FontCycleOptions, ar as FontCycleInstance, bk as ThumbnailNavOptions, bj as ThumbnailNavInstance, W as ActionButtonOptions, V as ActionButtonInstance, aj as FilmHeroOptions, ai as FilmHeroInstance, af as EditorialRevealOptions, ae as EditorialRevealInstance, bm as WeightHoverOptions, bl as WeightHoverInstance, bb as StickerOptions, ba as StickerInstance, b0 as ScrollDockOptions, a$ as ScrollDockInstance, aE as LocalClockOptions, aD as LocalClockInstance, ad as DrawerSide } from '../reduced-
|
|
5
|
-
export { U as MK_HEAD_SCRIPT, aM as PileLayer, aU as ReorderDetail, bu as moveItem, bv as pileLayers, bw as pileStyle } from '../reduced-
|
|
6
|
-
import {
|
|
7
|
-
export {
|
|
4
|
+
import { b9 as SpringCardsOptions, a4 as CurvedCarouselOptions, C as CurvedCarouselInstance, aN as PileOptions, bo as WordsOptions, bn as WordsInstance, ao as FlowOptions, an as FlowInstance, aP as PopOptions, aO as PopInstance, al as FitTextOptions, ak as FitTextInstance, be as StretchFooterOptions, aR as RadialMenuOptions, aQ as RadialMenuInstance, bg as TabsOptions, bf as TabsInstance, a3 as CounterOptions, a2 as CounterInstance, aY as RevealRecipeOptions, aX as RevealInstance, aT as ReflowOptions, aS as ReflowInstance, b2 as SlotTextOptions, b1 as SlotTextInstance, b7 as SortableOptions, b5 as SortableInstance, aI as MaskTextOptions, aH as MaskTextInstance, $ as CascadeOptions, _ as CascadeInstance, bi as TextRollOptions, bh as TextRollInstance, aC as LettersOptions, aB as LettersInstance, aK as ParallaxOptions, aJ as ParallaxInstance, a6 as DepthGridOptions, a5 as DepthGridInstance, au as FrameZoomOptions, at as FrameZoomInstance, a1 as ContrastOptions, a0 as ContrastInstance, aG as MarqueeOptions, aF as MarqueeInstance, Z as CardDockOptions, Y as CardDockInstance, b4 as SnapStripOptions, b3 as SnapStripInstance, ah as FillTextOptions, ag as FillTextInstance, T as TicketMenuOptions, ay as InfiniteReelOptions, ax as InfiniteReelInstance, aW as RepelBentoOptions, aV as RepelBentoInstance, a_ as RotatorOptions, aZ as RotatorInstance, aa as DragRulerOptions, a9 as DragRulerInstance, a8 as DockPillOptions, a7 as DockPillInstance, aA as JoinedCtaOptions, az as JoinedCtaInstance, aw as ImageZoomOptions, av as ImageZoomInstance, as as FontCycleOptions, ar as FontCycleInstance, bk as ThumbnailNavOptions, bj as ThumbnailNavInstance, W as ActionButtonOptions, V as ActionButtonInstance, aj as FilmHeroOptions, ai as FilmHeroInstance, af as EditorialRevealOptions, ae as EditorialRevealInstance, bm as WeightHoverOptions, bl as WeightHoverInstance, bb as StickerOptions, ba as StickerInstance, b0 as ScrollDockOptions, a$ as ScrollDockInstance, aE as LocalClockOptions, aD as LocalClockInstance, ad as DrawerSide } from '../reduced-YS6TZjpa.js';
|
|
5
|
+
export { U as MK_HEAD_SCRIPT, aM as PileLayer, aU as ReorderDetail, bu as moveItem, bv as pileLayers, bw as pileStyle } from '../reduced-YS6TZjpa.js';
|
|
6
|
+
import { c3 as MenuInstance, bi as DialogOptions, bg as DialogInstance, cq as QuantityOptions, cc as PaginationOptions, bP as HoverCardOptions, bV as InputOtpOptions, di as StudioDockOptions, dh as StudioDockInstance, dz as TrailerOptions, dy as TrailerInstance, ax as CalendarOptions, d6 as SlotPickerOptions, ak as AttachmentOptions, an as AttachmentStatus, ai as AttachmentInstance, d2 as SkeletonOptions, cr as QuestionnaireAnswers, ct as QuestionnaireLabels, cs as QuestionnaireInstance, aL as CodeBlockOptions, bk as DialogVariant, aZ as ContextMenuInstance, b_ as LinkPreviewOptions, cn as ProgressOptions, cy as RangeSliderOptions, cz as RangeValue$2, aC as ChartOptions, aB as ChartInstance, b2 as CreditCardOptions, b0 as CreditCardInstance, aW as CommandItem, aX as CommandSearchInstance, bN as HoldConfirmOptions, bT as ImagePreviewOptions, bS as ImagePreviewInstance, c8 as NotificationBellInstance, ch as PasswordStrengthOptions, cM as ScratchCardOptions, cL as ScratchCardInstance, de as StarRatingOptions, aV as ColorSliderOptions, aN as ColorAreaOptions, aQ as ColorFieldOptions, aT as ColorPickerOptions, dq as TimeFieldOptions, cw as RangeCalendarOptions, a9 as DateInput, bd as DateRangePickerOptions, dx as TooltipOptions, cl as PopoverOptions, c1 as LoadingButtonOptions, c2 as LoadingState, ar as BreadcrumbOptions, aq as BreadcrumbItem, bv as EmptyStateOptions, dg as StatCardOptions, aG as ChartTooltipOptions, c7 as MultiSelectOptions, dn as TagInputOptions, bf as DateTimePickerOptions, bF as FilterBuilderOptions, bI as FilterGroup, du as TimelineOptions, ds as TimelineEvent, ac as ActivityFeedOptions, ad as ActivityItem, dC as TreeViewOptions, dA as TreeNode, dB as TreeViewInstance, bA as FileExplorerOptions, by as FileEntry, bz as FileExplorerInstance, bY as JsonViewerOptions, bX as JsonViewerInstance, dF as VirtualListOptions, dH as VirtualScrollOptions, cB as ResizablePanelOptions, cA as ResizablePanelInstance, dc as SplitViewOptions, db as SplitViewInstance, b7 as DataRow, ba as DataTableOptions, b9 as DataTableInstance, bq as EditableTableOptions, bp as EditableTableInstance, cH as RichTextEditorOptions, cG as RichTextEditorInstance, cR as SelectOptions, ag as AddToCartOptions, af as AddToCartInstance, cO as ScrollIslandOptions, cZ as SignaturePadOptions, cT as SignatureData, cY as SignaturePadInstance, dN as WaveformPlayerOptions, dM as WaveformPlayerInstance, dK as VoiceMessageBubbleOptions, dJ as VoiceMessageBubbleInstance, bn as DrilldownMenuOptions, bm as DrilldownMenuItem, bl as DrilldownMenuInstance, dT as WheelPickerOptions, dR as WheelPickerInstance } from '../engine-Bn6hC87X.js';
|
|
7
|
+
export { aa as ActivityActor, ae as ActivityKind, b4 as DataAction, b5 as DataColumn, b8 as DataSort, bo as EditableColumn, br as EditorKind, bx as FileChange, bD as FileView, cF as RichCommand, cI as RowChange, cJ as RowId, dv as TimelineStatus } from '../engine-Bn6hC87X.js';
|
|
8
8
|
import { LiquidBlendOptions, ShaderEffectInstance, MatcapOptions, ShaderGrainOptions, ShaderBlurOptions, ParticleHeroOptions, ParticleHeroInstance } from '../gl/index.js';
|
|
9
9
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
10
10
|
import { T as ThemeState, s as setTheme, a as setMode, I as InitThemeOptions, b as ThemeMode } from '../theme-Bjf9qIIy.js';
|
|
11
11
|
export { M as MK_THEME_HEAD_SCRIPT, t as themeHeadScript } from '../theme-Bjf9qIIy.js';
|
|
12
|
-
import { F as ThemePickerOptions, Q as ToasterLabels, b as ChatLabels, C as ChatInstance, _ as capturePending, d as ChatRole, n as NavStyle, o as NavStyleAlias, g as CursorVariant, f as CursorOptions, j as IslandOptions, I as IslandInstance, W as ToolbarOptions, V as ToolbarInstance, a as BidirectionalSliderOptions, B as BidirectionalSliderInstance, Y as VoiceDotsOptions, X as VoiceDotsInstance, s as PieChartOptions, r as PieChartInstance, u as RadarChartOptions, R as RadarChartInstance, x as RadialChartOptions, w as RadialChartInstance, z as SankeyChartOptions, S as SankeyChartInstance, h as HeatmapChartOptions, H as HeatmapChartInstance, q as OrbitMenuOptions, O as OrbitMenuInstance } from '../store-
|
|
13
|
-
export { N as NAV_STYLES, k as NAV_STYLE_ALIASES, G as ToastAction, K as ToastOptions, L as ToastTone, a0 as clearToasts, ag as dismissToast, am as toNavStyle, an as toast } from '../store-
|
|
12
|
+
import { F as ThemePickerOptions, Q as ToasterLabels, b as ChatLabels, C as ChatInstance, _ as capturePending, d as ChatRole, n as NavStyle, o as NavStyleAlias, g as CursorVariant, f as CursorOptions, j as IslandOptions, I as IslandInstance, W as ToolbarOptions, V as ToolbarInstance, a as BidirectionalSliderOptions, B as BidirectionalSliderInstance, Y as VoiceDotsOptions, X as VoiceDotsInstance, s as PieChartOptions, r as PieChartInstance, u as RadarChartOptions, R as RadarChartInstance, x as RadialChartOptions, w as RadialChartInstance, z as SankeyChartOptions, S as SankeyChartInstance, h as HeatmapChartOptions, H as HeatmapChartInstance, q as OrbitMenuOptions, O as OrbitMenuInstance } from '../store-CZ6vdtIE.js';
|
|
13
|
+
export { N as NAV_STYLES, k as NAV_STYLE_ALIASES, G as ToastAction, K as ToastOptions, L as ToastTone, a0 as clearToasts, ag as dismissToast, am as toNavStyle, an as toast } from '../store-CZ6vdtIE.js';
|
|
14
14
|
import { C as CapturedLayout } from '../confetti-BSX1CLLV.js';
|
|
15
15
|
export { A as ANIMATIONS, b as AnimationName, d as ConfettiOptions, e as animate, g as confetti, l as leave } from '../confetti-BSX1CLLV.js';
|
|
16
16
|
import 'gsap/SplitText';
|
|
@@ -1234,4 +1234,42 @@ interface OrbitMenuProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onSelect'
|
|
|
1234
1234
|
/** <OrbitMenu label="Acciones" items={[{ value: 'nuevo', label: 'Nuevo', icon: <Plus /> }, …]} onSelect={run} /> */
|
|
1235
1235
|
declare function OrbitMenu({ items, label, radius, start, closeOnSelect, onToggle, onSelect, instanceRef, className, ...props }: OrbitMenuProps): react_jsx_runtime.JSX.Element;
|
|
1236
1236
|
|
|
1237
|
-
|
|
1237
|
+
interface SignaturePadProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'children' | 'dangerouslySetInnerHTML' | 'defaultValue'>, Omit<SignaturePadOptions, 'data'> {
|
|
1238
|
+
/** Controlled data. Accept edits through onChange; rejected edits are restored after rendering. */
|
|
1239
|
+
value?: SignatureData;
|
|
1240
|
+
defaultValue?: SignatureData;
|
|
1241
|
+
instanceRef?: MutableRefObject<SignaturePadInstance | null>;
|
|
1242
|
+
}
|
|
1243
|
+
/** <SignaturePad value={signature} onChange={setSignature} name="signature" />. */
|
|
1244
|
+
declare function SignaturePad({ value, defaultValue, label, hint, placeholder, color, width, disabled, readOnly, toolbar, name, historyLimit, onChange, instanceRef, className, ...props }: SignaturePadProps): react_jsx_runtime.JSX.Element;
|
|
1245
|
+
|
|
1246
|
+
interface WaveformPlayerProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onPlay' | 'onPause' | 'onEnded' | 'onError' | 'onTimeUpdate' | 'children' | 'dangerouslySetInnerHTML'>, WaveformPlayerOptions {
|
|
1247
|
+
instanceRef?: MutableRefObject<WaveformPlayerInstance | null>;
|
|
1248
|
+
}
|
|
1249
|
+
declare function WaveformPlayer({ src, peaks, label, disabled, playbackRates, onStateChange, onTimeUpdate, onPlay, onPause, onEnded, onError, instanceRef, className, ...props }: WaveformPlayerProps): react_jsx_runtime.JSX.Element;
|
|
1250
|
+
|
|
1251
|
+
interface VoiceMessageBubbleProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onPlay' | 'onPause' | 'onEnded' | 'onError' | 'onTimeUpdate' | 'children' | 'dangerouslySetInnerHTML'>, VoiceMessageBubbleOptions {
|
|
1252
|
+
instanceRef?: MutableRefObject<VoiceMessageBubbleInstance | null>;
|
|
1253
|
+
}
|
|
1254
|
+
declare function VoiceMessageBubble({ src, peaks, label, disabled, playbackRates, onStateChange, onTimeUpdate, onPlay, onPause, onEnded, onError, direction, author, timestamp, dateTime, status, instanceRef, className, ...props }: VoiceMessageBubbleProps): react_jsx_runtime.JSX.Element;
|
|
1255
|
+
|
|
1256
|
+
interface DrilldownMenuProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'dangerouslySetInnerHTML' | 'onSelect'>, Omit<DrilldownMenuOptions, 'items' | 'path'> {
|
|
1257
|
+
items: DrilldownMenuItem[];
|
|
1258
|
+
/** Controlled branch path; pair with onPathChange. */
|
|
1259
|
+
path?: string[];
|
|
1260
|
+
/** Initial branch path when uncontrolled. */
|
|
1261
|
+
defaultPath?: string[];
|
|
1262
|
+
}
|
|
1263
|
+
type DrilldownMenuHandle = Pick<DrilldownMenuInstance, 'open' | 'back' | 'root' | 'reset' | 'setPath' | 'focusItem'>;
|
|
1264
|
+
/** Data-driven hierarchical actions with controlled or internal navigation. */
|
|
1265
|
+
declare const DrilldownMenu: react.ForwardRefExoticComponent<DrilldownMenuProps & react.RefAttributes<DrilldownMenuHandle>>;
|
|
1266
|
+
|
|
1267
|
+
interface WheelPickerProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'onInput' | 'defaultValue' | 'children' | 'dangerouslySetInnerHTML'>, WheelPickerOptions {
|
|
1268
|
+
defaultValue?: string;
|
|
1269
|
+
instanceRef?: {
|
|
1270
|
+
current: WheelPickerInstance | null;
|
|
1271
|
+
};
|
|
1272
|
+
}
|
|
1273
|
+
declare function WheelPicker({ items, value, defaultValue, name, label, disabled, visibleItems, itemHeight, onInput, onChange, instanceRef, className, ...props }: WheelPickerProps): react_jsx_runtime.JSX.Element;
|
|
1274
|
+
|
|
1275
|
+
export { ActivityFeed, type ActivityFeedHandle, type ActivityFeedProps, ActivityItem, AddToCart, type AddToCartProps, AnimatedNumber, type AnimatedNumberProps, Attachment, type AttachmentProps, type AttachmentUpload, BidirectionalSlider, type BidirectionalSliderProps, Breadcrumb, type BreadcrumbProps, Calendar, type CalendarProps, Chart, type ChartProps, ChartTooltip, type ChartTooltipProps, Chat, ChatBackground, type ChatBackgroundProps, type ChatComposerProps, type ChatMessageProps, type ChatMessagesProps, type ChatRootProps, CodeBlock, type CodeBlockProps, ColorArea, type ColorAreaProps, ColorField, type ColorFieldProps, ColorPicker, type ColorPickerProps, ColorSlider, type ColorSliderProps, CommandItem, CommandSearch, type CommandSearchProps, ContextMenu, type ContextMenuProps, CreditCard, type CreditCardProps, Cursor, type CursorProps, DataRow, DataTable, type DataTableHandle, type DataTableProps, DateRangePicker, type DateRangePickerProps, DateTimePicker, type DateTimePickerProps, Dialog, type DialogContentProps, Drawer, type DrawerRootProps, DrilldownMenu, type DrilldownMenuHandle, type DrilldownMenuProps, EditableTable, type EditableTableHandle, type EditableTableProps, EmptyState, type EmptyStateProps, FileEntry, FileExplorer, type FileExplorerHandle, type FileExplorerProps, FilterBuilder, type FilterBuilderProps, FlipGroup, type FlipGroupProps, Frost, type FrostProps, HeatmapChart, type HeatmapChartProps, HoldConfirm, type HoldConfirmProps, HoverCard, type HoverCardProps, ImagePreview, type ImagePreviewProps, InputOtp, type InputOtpProps, Island, IslandDots, type IslandPanel, type IslandProps, JsonViewer, type JsonViewerHandle, type JsonViewerProps, LikeButton, type LikeButtonProps, LinkPreview, type LinkPreviewProps, LoadingButton, type LoadingButtonProps, Menu, type MenuRootProps, MkIcon, MultiSelect, type MultiSelectProps, Nav, type NavItem, type NavProps, NavStyle, NavStyleAlias, NotificationBell, type NotificationBellProps, OrbitMenu, type OrbitMenuProps, Pagination, type PaginationProps, PasswordStrength, type PasswordStrengthProps, PieChart, type PieChartProps, PillButton, type PillButtonProps, Popover, type PopoverProps, type PreviewImage, Progress, type ProgressProps, Quantity, type QuantityProps, type Question, type QuestionOption, type QuestionType, Questionnaire, type QuestionnaireProps, RadarChart, type RadarChartProps, RadialChart, type RadialChartProps, RangeCalendar, type RangeCalendarProps, RangeSlider, type RangeSliderProps, ResizablePanel, type ResizablePanelHandle, type ResizablePanelProps, RichTextEditor, type RichTextEditorHandle, type RichTextEditorProps, SankeyChart, type SankeyChartProps, ScratchCard, type ScratchCardProps, ScrollIsland, type ScrollIslandProps, Select, type SelectProps, SignaturePad, type SignaturePadProps, Skeleton, type SkeletonProps, SlotPicker, type SlotPickerProps, SlotText, type SlotTextProps, SplitView, type SplitViewHandle, type SplitViewProps, StarRating, type StarRatingProps, StatCard, type StatCardProps, Steps, type StepsProps, StudioDock, type StudioDockProps, type SurfaceRootProps, type SwipeAction, SwipeActions, type SwipeActionsProps, type SwipeRowProps, TagInput, type TagInputProps, type ThemeContextValue, ThemePicker, type ThemePickerProps, ThemeProvider, type ThemeProviderProps, TimeField, type TimeFieldProps, Timeline, TimelineEvent, type TimelineProps, Toaster, type ToasterProps, Toolbar, type ToolbarProps, Tooltip, type TooltipProps, Trailer, type TrailerProps, TreeNode, TreeView, type TreeViewHandle, type TreeViewProps, type UseStretchFooterOptions, VirtualList, type VirtualListHandle, type VirtualListProps, VoiceDots, type VoiceDotsProps, VoiceMessageBubble, type VoiceMessageBubbleProps, WaveformPlayer, type WaveformPlayerProps, WheelPicker, type WheelPickerProps, useActionButton, useCardDock, useCascade, useChat, useContrast, useCounter, useCurvedCarousel, useDepthGrid, useDetails, useDialog, useDockPill, useDragRuler, useDrawer, useEditorialReveal, useFillText, useFilmHero, useFitText, useFlow, useFontCycle, useFrameZoom, useImageZoom, useInfiniteReel, useIsomorphicLayoutEffect, useJoinedCta, useLatest, useLetters, useLiquidBlend, useLocalClock, useMarquee, useMaskText, useMatcap, useParallax, useParticleHero, usePile, usePop, useRadialMenu, useRecipe, useReflow, useRepelBento, useReveal, useRotator, useScrollDock, useShaderBlur, useShaderGrain, useSlotText, useSnapStrip, useSortable, useSpringCards, useSticker, useStretchFooter, useStudioDock, useTabs, useTextRoll, useTheme, useThumbnailNav, useTicketMenu, useTrailer, useWeightHover, useWords };
|
package/dist/react/index.js
CHANGED
|
@@ -55,7 +55,7 @@ import {
|
|
|
55
55
|
pileLayers,
|
|
56
56
|
pileStyle,
|
|
57
57
|
reflowLayout
|
|
58
|
-
} from "../chunk-
|
|
58
|
+
} from "../chunk-BZLMCHUD.js";
|
|
59
59
|
import {
|
|
60
60
|
ICON_PATHS,
|
|
61
61
|
NAV_STYLES,
|
|
@@ -84,7 +84,7 @@ import {
|
|
|
84
84
|
revealShell,
|
|
85
85
|
toNavStyle,
|
|
86
86
|
toast
|
|
87
|
-
} from "../chunk-
|
|
87
|
+
} from "../chunk-VJFPTLAK.js";
|
|
88
88
|
import {
|
|
89
89
|
confetti,
|
|
90
90
|
createActivityFeed,
|
|
@@ -108,6 +108,7 @@ import {
|
|
|
108
108
|
createDateTimePicker,
|
|
109
109
|
createDialog,
|
|
110
110
|
createDrawer,
|
|
111
|
+
createDrilldownMenu,
|
|
111
112
|
createEditableTable,
|
|
112
113
|
createEmptyState,
|
|
113
114
|
createFileExplorer,
|
|
@@ -135,6 +136,7 @@ import {
|
|
|
135
136
|
createScratchCard,
|
|
136
137
|
createScrollIsland,
|
|
137
138
|
createSelect,
|
|
139
|
+
createSignaturePad,
|
|
138
140
|
createSkeleton,
|
|
139
141
|
createSlotPicker,
|
|
140
142
|
createSplitView,
|
|
@@ -150,6 +152,9 @@ import {
|
|
|
150
152
|
createTrailer,
|
|
151
153
|
createTreeView,
|
|
152
154
|
createVirtualList,
|
|
155
|
+
createVoiceMessageBubble,
|
|
156
|
+
createWaveformPlayer,
|
|
157
|
+
createWheelPicker,
|
|
153
158
|
dateTimeKey,
|
|
154
159
|
flowLines,
|
|
155
160
|
languageFamily,
|
|
@@ -165,7 +170,7 @@ import {
|
|
|
165
170
|
tokenLines,
|
|
166
171
|
tokenize,
|
|
167
172
|
tweenNumber
|
|
168
|
-
} from "../chunk-
|
|
173
|
+
} from "../chunk-7IQTMF7Y.js";
|
|
169
174
|
import {
|
|
170
175
|
DEFAULT_THEME,
|
|
171
176
|
MK_THEME_HEAD_SCRIPT,
|
|
@@ -3491,6 +3496,220 @@ function OrbitMenu({ items, label = "Men\xFA", radius, start, closeOnSelect, onT
|
|
|
3491
3496
|
items.map((item) => /* @__PURE__ */ jsx84("button", { type: "button", "data-mk-orbit-item": "", "data-mk-value": item.value, "aria-label": item.label, children: item.icon }, item.value))
|
|
3492
3497
|
] });
|
|
3493
3498
|
}
|
|
3499
|
+
|
|
3500
|
+
// src/components/signature-pad/react.tsx
|
|
3501
|
+
import { useReducer, useRef as useRef79 } from "react";
|
|
3502
|
+
import { jsx as jsx85 } from "react/jsx-runtime";
|
|
3503
|
+
function SignaturePad({ value, defaultValue, label, hint, placeholder, color, width, disabled, readOnly, toolbar, name, historyLimit, onChange, instanceRef, className, ...props }) {
|
|
3504
|
+
const { children: _children, dangerouslySetInnerHTML: _html, ...rootProps } = props;
|
|
3505
|
+
const ref = useRef79(null);
|
|
3506
|
+
const instance = useRef79(null);
|
|
3507
|
+
const edited = useRef79(value ?? defaultValue);
|
|
3508
|
+
const current = useLatest(value);
|
|
3509
|
+
const change = useLatest(onChange);
|
|
3510
|
+
const [, refresh] = useReducer((revision) => revision + 1, 0);
|
|
3511
|
+
useIsomorphicLayoutEffect(() => {
|
|
3512
|
+
const created = createSignaturePad(ref.current, {
|
|
3513
|
+
data: current.current ?? edited.current,
|
|
3514
|
+
label,
|
|
3515
|
+
hint,
|
|
3516
|
+
placeholder,
|
|
3517
|
+
color,
|
|
3518
|
+
width,
|
|
3519
|
+
disabled,
|
|
3520
|
+
readOnly,
|
|
3521
|
+
toolbar,
|
|
3522
|
+
name,
|
|
3523
|
+
historyLimit,
|
|
3524
|
+
onChange: (data, detail) => {
|
|
3525
|
+
edited.current = data;
|
|
3526
|
+
change.current?.(data, detail);
|
|
3527
|
+
if (current.current !== void 0) refresh();
|
|
3528
|
+
}
|
|
3529
|
+
});
|
|
3530
|
+
instance.current = created;
|
|
3531
|
+
return () => {
|
|
3532
|
+
edited.current = created.exportData();
|
|
3533
|
+
created.destroy();
|
|
3534
|
+
instance.current = null;
|
|
3535
|
+
};
|
|
3536
|
+
}, [label, hint, placeholder, color, width, toolbar, name, historyLimit]);
|
|
3537
|
+
useIsomorphicLayoutEffect(() => {
|
|
3538
|
+
const created = instance.current;
|
|
3539
|
+
if (!created) return;
|
|
3540
|
+
created.setDisabled(Boolean(disabled));
|
|
3541
|
+
created.setReadOnly(Boolean(readOnly));
|
|
3542
|
+
}, [disabled, readOnly]);
|
|
3543
|
+
useIsomorphicLayoutEffect(() => {
|
|
3544
|
+
if (value !== void 0) instance.current?.importData(value, false);
|
|
3545
|
+
});
|
|
3546
|
+
useIsomorphicLayoutEffect(() => {
|
|
3547
|
+
if (instanceRef) instanceRef.current = instance.current;
|
|
3548
|
+
return () => {
|
|
3549
|
+
if (instanceRef) instanceRef.current = null;
|
|
3550
|
+
};
|
|
3551
|
+
}, [instanceRef, label, hint, placeholder, color, width, toolbar, name, historyLimit]);
|
|
3552
|
+
return /* @__PURE__ */ jsx85("div", { ...rootProps, ref, className: ["mk-signature-pad", className].filter(Boolean).join(" ") });
|
|
3553
|
+
}
|
|
3554
|
+
|
|
3555
|
+
// src/components/waveform-player/react.tsx
|
|
3556
|
+
import { useRef as useRef80 } from "react";
|
|
3557
|
+
import { jsx as jsx86 } from "react/jsx-runtime";
|
|
3558
|
+
function WaveformPlayer({ src, peaks, label, disabled, playbackRates, onStateChange, onTimeUpdate, onPlay, onPause, onEnded, onError, instanceRef, className, ...props }) {
|
|
3559
|
+
const { children: _children, dangerouslySetInnerHTML: _html, ...rootProps } = props;
|
|
3560
|
+
const root = useRef80(null);
|
|
3561
|
+
const instance = useRef80(null);
|
|
3562
|
+
useIsomorphicLayoutEffect(() => {
|
|
3563
|
+
const created = createWaveformPlayer(root.current);
|
|
3564
|
+
instance.current = created;
|
|
3565
|
+
return () => {
|
|
3566
|
+
created.destroy();
|
|
3567
|
+
instance.current = null;
|
|
3568
|
+
};
|
|
3569
|
+
}, []);
|
|
3570
|
+
useIsomorphicLayoutEffect(() => {
|
|
3571
|
+
instance.current?.update({ src, peaks, label, disabled, playbackRates, onStateChange, onTimeUpdate, onPlay, onPause, onEnded, onError });
|
|
3572
|
+
});
|
|
3573
|
+
useIsomorphicLayoutEffect(() => {
|
|
3574
|
+
if (instanceRef) instanceRef.current = instance.current;
|
|
3575
|
+
return () => {
|
|
3576
|
+
if (instanceRef) instanceRef.current = null;
|
|
3577
|
+
};
|
|
3578
|
+
}, [instanceRef]);
|
|
3579
|
+
return /* @__PURE__ */ jsx86("div", { ...rootProps, ref: root, className: ["mk-waveform-player", className].filter(Boolean).join(" ") });
|
|
3580
|
+
}
|
|
3581
|
+
|
|
3582
|
+
// src/components/voice-message-bubble/react.tsx
|
|
3583
|
+
import { useRef as useRef81 } from "react";
|
|
3584
|
+
import { jsx as jsx87 } from "react/jsx-runtime";
|
|
3585
|
+
function VoiceMessageBubble({ src, peaks, label, disabled, playbackRates, onStateChange, onTimeUpdate, onPlay, onPause, onEnded, onError, direction, author, timestamp, dateTime, status, instanceRef, className, ...props }) {
|
|
3586
|
+
const { children: _children, dangerouslySetInnerHTML: _html, ...rootProps } = props;
|
|
3587
|
+
const root = useRef81(null);
|
|
3588
|
+
const instance = useRef81(null);
|
|
3589
|
+
useIsomorphicLayoutEffect(() => {
|
|
3590
|
+
const created = createVoiceMessageBubble(root.current);
|
|
3591
|
+
instance.current = created;
|
|
3592
|
+
return () => {
|
|
3593
|
+
created.destroy();
|
|
3594
|
+
instance.current = null;
|
|
3595
|
+
};
|
|
3596
|
+
}, []);
|
|
3597
|
+
useIsomorphicLayoutEffect(() => {
|
|
3598
|
+
instance.current?.update({ src, peaks, label, disabled, playbackRates, onStateChange, onTimeUpdate, onPlay, onPause, onEnded, onError, direction, author, timestamp, dateTime, status });
|
|
3599
|
+
});
|
|
3600
|
+
useIsomorphicLayoutEffect(() => {
|
|
3601
|
+
if (instanceRef) instanceRef.current = instance.current;
|
|
3602
|
+
return () => {
|
|
3603
|
+
if (instanceRef) instanceRef.current = null;
|
|
3604
|
+
};
|
|
3605
|
+
}, [instanceRef]);
|
|
3606
|
+
return /* @__PURE__ */ jsx87("div", { ...rootProps, ref: root, className: ["mk-voice-message-bubble", className].filter(Boolean).join(" ") });
|
|
3607
|
+
}
|
|
3608
|
+
|
|
3609
|
+
// src/components/drilldown-menu/react.tsx
|
|
3610
|
+
import { forwardRef as forwardRef12, useImperativeHandle as useImperativeHandle12, useReducer as useReducer2, useRef as useRef82 } from "react";
|
|
3611
|
+
import { jsx as jsx88 } from "react/jsx-runtime";
|
|
3612
|
+
var DrilldownMenu = forwardRef12(function DrilldownMenu2({ items, path, defaultPath, label, backLabel, emptyText, onSelect, onPathChange, className, ...props }, handle) {
|
|
3613
|
+
const { children: _children, dangerouslySetInnerHTML: _html, ...rootProps } = props;
|
|
3614
|
+
const ref = useRef82(null);
|
|
3615
|
+
const instance = useRef82(null);
|
|
3616
|
+
const select = useLatest(onSelect);
|
|
3617
|
+
const changed = useLatest(onPathChange);
|
|
3618
|
+
const controlled = useLatest(path);
|
|
3619
|
+
const [, refresh] = useReducer2((value) => value + 1, 0);
|
|
3620
|
+
useImperativeHandle12(handle, () => ({
|
|
3621
|
+
open: (id) => instance.current?.open(id) ?? false,
|
|
3622
|
+
back: () => instance.current?.back() ?? false,
|
|
3623
|
+
root: () => instance.current?.root(),
|
|
3624
|
+
reset: () => instance.current?.reset(),
|
|
3625
|
+
setPath: (next, notify) => {
|
|
3626
|
+
instance.current?.setPath(next, notify);
|
|
3627
|
+
if (controlled.current !== void 0) refresh();
|
|
3628
|
+
},
|
|
3629
|
+
focusItem: (id) => instance.current?.focusItem(id)
|
|
3630
|
+
}), []);
|
|
3631
|
+
const itemsKey = JSON.stringify(items);
|
|
3632
|
+
useIsomorphicLayoutEffect(() => {
|
|
3633
|
+
const created = createDrilldownMenu(ref.current, {
|
|
3634
|
+
items,
|
|
3635
|
+
path: path ?? defaultPath,
|
|
3636
|
+
label,
|
|
3637
|
+
backLabel,
|
|
3638
|
+
emptyText,
|
|
3639
|
+
onSelect: (item, selectedPath) => select.current?.(item, selectedPath),
|
|
3640
|
+
onPathChange: (next) => {
|
|
3641
|
+
changed.current?.(next);
|
|
3642
|
+
if (controlled.current !== void 0) refresh();
|
|
3643
|
+
}
|
|
3644
|
+
});
|
|
3645
|
+
instance.current = created;
|
|
3646
|
+
return () => {
|
|
3647
|
+
created.destroy();
|
|
3648
|
+
instance.current = null;
|
|
3649
|
+
};
|
|
3650
|
+
}, []);
|
|
3651
|
+
useIsomorphicLayoutEffect(() => {
|
|
3652
|
+
instance.current?.update({ items, label, backLabel, emptyText, ...path !== void 0 ? { path } : {} });
|
|
3653
|
+
}, [itemsKey, label, backLabel, emptyText]);
|
|
3654
|
+
useIsomorphicLayoutEffect(() => {
|
|
3655
|
+
if (path !== void 0) instance.current?.setPath(path);
|
|
3656
|
+
});
|
|
3657
|
+
return /* @__PURE__ */ jsx88("div", { ...rootProps, ref, className: ["mk-drilldown-menu", className].filter(Boolean).join(" ") });
|
|
3658
|
+
});
|
|
3659
|
+
|
|
3660
|
+
// src/components/wheel-picker/react.tsx
|
|
3661
|
+
import { useReducer as useReducer3, useRef as useRef83 } from "react";
|
|
3662
|
+
import { jsx as jsx89 } from "react/jsx-runtime";
|
|
3663
|
+
function WheelPicker({ items, value, defaultValue, name, label, disabled, visibleItems, itemHeight, onInput, onChange, instanceRef, className, ...props }) {
|
|
3664
|
+
const ref = useRef83(null), instance = useRef83(null);
|
|
3665
|
+
const changed = useLatest(onChange), input = useLatest(onInput), latestItems = useLatest(items);
|
|
3666
|
+
const controlled = useLatest(value);
|
|
3667
|
+
const [, refresh] = useReducer3((revision) => revision + 1, 0);
|
|
3668
|
+
const last = useRef83(value ?? defaultValue);
|
|
3669
|
+
useIsomorphicLayoutEffect(() => {
|
|
3670
|
+
const created = createWheelPicker(ref.current, {
|
|
3671
|
+
items: latestItems.current,
|
|
3672
|
+
value: value ?? last.current,
|
|
3673
|
+
name,
|
|
3674
|
+
label,
|
|
3675
|
+
disabled,
|
|
3676
|
+
visibleItems,
|
|
3677
|
+
itemHeight,
|
|
3678
|
+
onInput: (next) => {
|
|
3679
|
+
last.current = next;
|
|
3680
|
+
input.current?.(next);
|
|
3681
|
+
},
|
|
3682
|
+
onChange: (next) => {
|
|
3683
|
+
last.current = next;
|
|
3684
|
+
changed.current?.(next);
|
|
3685
|
+
if (controlled.current !== void 0) refresh();
|
|
3686
|
+
}
|
|
3687
|
+
});
|
|
3688
|
+
instance.current = created;
|
|
3689
|
+
return () => {
|
|
3690
|
+
last.current = created.value;
|
|
3691
|
+
created.destroy();
|
|
3692
|
+
instance.current = null;
|
|
3693
|
+
};
|
|
3694
|
+
}, [name, label, disabled, visibleItems, itemHeight]);
|
|
3695
|
+
const key = JSON.stringify(items ?? []);
|
|
3696
|
+
useIsomorphicLayoutEffect(() => {
|
|
3697
|
+
instance.current?.setItems(items ?? []);
|
|
3698
|
+
}, [key]);
|
|
3699
|
+
useIsomorphicLayoutEffect(() => {
|
|
3700
|
+
if (value !== void 0) instance.current?.setValue(value);
|
|
3701
|
+
});
|
|
3702
|
+
useIsomorphicLayoutEffect(() => {
|
|
3703
|
+
if (instanceRef) instanceRef.current = instance.current;
|
|
3704
|
+
return () => {
|
|
3705
|
+
if (instanceRef) instanceRef.current = null;
|
|
3706
|
+
};
|
|
3707
|
+
}, [instanceRef, name, label, disabled, visibleItems, itemHeight]);
|
|
3708
|
+
const domProps = { ...props };
|
|
3709
|
+
delete domProps.children;
|
|
3710
|
+
delete domProps.dangerouslySetInnerHTML;
|
|
3711
|
+
return /* @__PURE__ */ jsx89("div", { ...domProps, ref, className: ["mk-wheel-picker", className].filter(Boolean).join(" ") });
|
|
3712
|
+
}
|
|
3494
3713
|
export {
|
|
3495
3714
|
ANIMATIONS,
|
|
3496
3715
|
ActivityFeed,
|
|
@@ -3518,6 +3737,7 @@ export {
|
|
|
3518
3737
|
DateTimePicker,
|
|
3519
3738
|
Dialog,
|
|
3520
3739
|
Drawer,
|
|
3740
|
+
DrilldownMenu,
|
|
3521
3741
|
EditableTable,
|
|
3522
3742
|
EmptyState,
|
|
3523
3743
|
FileExplorer,
|
|
@@ -3563,6 +3783,7 @@ export {
|
|
|
3563
3783
|
ScratchCard,
|
|
3564
3784
|
ScrollIsland,
|
|
3565
3785
|
Select,
|
|
3786
|
+
SignaturePad,
|
|
3566
3787
|
Skeleton,
|
|
3567
3788
|
SlotPicker,
|
|
3568
3789
|
SlotText,
|
|
@@ -3584,6 +3805,9 @@ export {
|
|
|
3584
3805
|
TreeView,
|
|
3585
3806
|
VirtualList,
|
|
3586
3807
|
VoiceDots,
|
|
3808
|
+
VoiceMessageBubble,
|
|
3809
|
+
WaveformPlayer,
|
|
3810
|
+
WheelPicker,
|
|
3587
3811
|
animate,
|
|
3588
3812
|
clearToasts,
|
|
3589
3813
|
confetti,
|