@yewdiel21/motion-kit 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/README.md +44 -0
- package/dist/auto/index.d.ts +23 -3
- package/dist/auto/index.js +43 -3
- package/dist/auto/index.js.map +1 -1
- package/dist/{chunk-RBEKR5UZ.js → chunk-AWDEKDEJ.js} +2 -2
- package/dist/{chunk-NFZIX3IA.js → chunk-EDMXWUW3.js} +2 -2
- package/dist/{chunk-SDQ776LG.js → chunk-Q7IW4FV3.js} +3941 -43
- package/dist/chunk-Q7IW4FV3.js.map +1 -0
- package/dist/css/components/badge-button.css +16 -0
- package/dist/css/components/bento-grid.css +13 -0
- package/dist/css/components/drilldown-menu.css +134 -0
- package/dist/css/components/equalizer-slider.css +26 -0
- package/dist/css/components/handwriting-text.css +15 -0
- package/dist/css/components/magnetize-button.css +18 -0
- package/dist/css/components/morphing-page-dots.css +13 -0
- package/dist/css/components/not-found.css +22 -0
- package/dist/css/components/notification-stack.css +42 -0
- package/dist/css/components/particle-button.css +14 -0
- package/dist/css/components/radio-group.css +29 -0
- package/dist/css/components/rating-scale.css +23 -0
- package/dist/css/components/scroll-preview-dock.css +18 -0
- package/dist/css/components/select.css +16 -0
- package/dist/css/components/signature-pad.css +131 -0
- package/dist/css/components/stepper.css +36 -0
- package/dist/css/components/sticky-header.css +10 -0
- package/dist/css/components/temperature-slider.css +29 -0
- package/dist/css/components/voice-message-bubble.css +67 -0
- package/dist/css/components/waveform-player.css +51 -0
- package/dist/css/components/wheel-picker.css +18 -0
- package/dist/css/tokens.css +4 -0
- package/dist/elements/index.d.ts +292 -4
- package/dist/elements/index.js +856 -4
- package/dist/elements/index.js.map +1 -1
- package/dist/{reveal-DRpNO4KP.d.ts → engine-t8d7brjn.d.ts} +534 -1
- package/dist/index.css +713 -0
- package/dist/index.d.ts +23 -23
- package/dist/index.js +43 -3
- package/dist/index.js.map +1 -1
- package/dist/react/index.d.ts +151 -7
- package/dist/react/index.js +893 -3
- package/dist/react/index.js.map +1 -1
- package/dist/{reduced-DQwVXQYb.d.ts → reduced-dPsZYqtI.d.ts} +1 -1
- package/dist/{store-Da3zSh8Z.d.ts → store-6hZNKiee.d.ts} +1 -1
- package/package.json +110 -110
- package/registry.json +244 -0
- package/src/auto/auto-init.ts +339 -293
- package/src/components/badge-button/README.md +28 -0
- package/src/components/badge-button/badge-button.css +15 -0
- package/src/components/badge-button/element.ts +16 -0
- package/src/components/badge-button/engine.ts +85 -0
- package/src/components/badge-button/react.tsx +31 -0
- package/src/components/bento-grid/README.md +26 -0
- package/src/components/bento-grid/bento-grid.css +12 -0
- package/src/components/bento-grid/element.ts +22 -0
- package/src/components/bento-grid/engine.ts +153 -0
- package/src/components/bento-grid/react.tsx +25 -0
- package/src/components/drilldown-menu/README.md +163 -0
- package/src/components/drilldown-menu/drilldown-menu.css +133 -0
- package/src/components/drilldown-menu/element.ts +59 -0
- package/src/components/drilldown-menu/engine.ts +378 -0
- package/src/components/drilldown-menu/react.tsx +76 -0
- package/src/components/equalizer-slider/README.md +43 -0
- package/src/components/equalizer-slider/element.ts +41 -0
- package/src/components/equalizer-slider/engine.ts +32 -0
- package/src/components/equalizer-slider/equalizer-slider.css +26 -0
- package/src/components/equalizer-slider/react.tsx +60 -0
- package/src/components/equalizer-slider/shared.ts +161 -0
- package/src/components/handwriting-text/README.md +29 -0
- package/src/components/handwriting-text/element.ts +14 -0
- package/src/components/handwriting-text/engine.ts +108 -0
- package/src/components/handwriting-text/glyphs.ts +71 -0
- package/src/components/handwriting-text/handwriting-text.css +14 -0
- package/src/components/handwriting-text/react.tsx +23 -0
- package/src/components/magnetize-button/README.md +26 -0
- package/src/components/magnetize-button/element.ts +13 -0
- package/src/components/magnetize-button/engine.ts +84 -0
- package/src/components/magnetize-button/magnetize-button.css +17 -0
- package/src/components/magnetize-button/react.tsx +22 -0
- package/src/components/morphing-page-dots/README.md +28 -0
- package/src/components/morphing-page-dots/element.ts +16 -0
- package/src/components/morphing-page-dots/engine.ts +89 -0
- package/src/components/morphing-page-dots/morphing-page-dots.css +12 -0
- package/src/components/morphing-page-dots/react.tsx +32 -0
- package/src/components/not-found/README.md +26 -0
- package/src/components/not-found/element.ts +15 -0
- package/src/components/not-found/engine.ts +57 -0
- package/src/components/not-found/not-found.css +21 -0
- package/src/components/not-found/react.tsx +23 -0
- package/src/components/notification-stack/README.md +24 -0
- package/src/components/notification-stack/element.ts +26 -0
- package/src/components/notification-stack/engine.ts +329 -0
- package/src/components/notification-stack/notification-stack.css +41 -0
- package/src/components/notification-stack/react.tsx +28 -0
- package/src/components/particle-button/README.md +26 -0
- package/src/components/particle-button/element.ts +13 -0
- package/src/components/particle-button/engine.ts +52 -0
- package/src/components/particle-button/particle-button.css +13 -0
- package/src/components/particle-button/react.tsx +22 -0
- package/src/components/radio-group/README.md +43 -0
- package/src/components/radio-group/element.ts +41 -0
- package/src/components/radio-group/engine.ts +11 -0
- package/src/components/radio-group/radio-group.css +28 -0
- package/src/components/radio-group/react.tsx +60 -0
- package/src/components/radio-group/shared.ts +118 -0
- package/src/components/rating-scale/README.md +43 -0
- package/src/components/rating-scale/element.ts +41 -0
- package/src/components/rating-scale/engine.ts +63 -0
- package/src/components/rating-scale/rating-scale.css +22 -0
- package/src/components/rating-scale/react.tsx +60 -0
- package/src/components/scroll-preview-dock/README.md +24 -0
- package/src/components/scroll-preview-dock/element.ts +20 -0
- package/src/components/scroll-preview-dock/engine.ts +228 -0
- package/src/components/scroll-preview-dock/react.tsx +26 -0
- package/src/components/scroll-preview-dock/scroll-preview-dock.css +17 -0
- package/src/components/select/README.md +23 -9
- package/src/components/select/select.css +16 -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 +550 -0
- package/src/components/signature-pad/react.tsx +56 -0
- package/src/components/signature-pad/signature-pad.css +130 -0
- package/src/components/stepper/README.md +46 -0
- package/src/components/stepper/element.ts +42 -0
- package/src/components/stepper/engine.ts +103 -0
- package/src/components/stepper/react.tsx +60 -0
- package/src/components/stepper/stepper.css +35 -0
- package/src/components/sticky-header/README.md +30 -0
- package/src/components/sticky-header/element.ts +19 -0
- package/src/components/sticky-header/engine.ts +95 -0
- package/src/components/sticky-header/react.tsx +25 -0
- package/src/components/sticky-header/sticky-header.css +9 -0
- package/src/components/temperature-slider/README.md +42 -0
- package/src/components/temperature-slider/element.ts +53 -0
- package/src/components/temperature-slider/engine.ts +44 -0
- package/src/components/temperature-slider/react.tsx +66 -0
- package/src/components/temperature-slider/temperature-slider.css +29 -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 +79 -0
- package/src/components/voice-message-bubble/react.tsx +27 -0
- package/src/components/voice-message-bubble/voice-message-bubble.css +14 -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 +344 -0
- package/src/components/waveform-player/react.tsx +27 -0
- package/src/components/waveform-player/waveform-player.css +50 -0
- package/src/components/wheel-picker/README.md +35 -0
- package/src/components/wheel-picker/element.ts +25 -0
- package/src/components/wheel-picker/engine.ts +239 -0
- package/src/components/wheel-picker/react.tsx +32 -0
- package/src/components/wheel-picker/wheel-picker.css +17 -0
- package/src/css/tokens.css +4 -0
- package/src/elements/index.ts +318 -258
- package/src/index.ts +21 -0
- package/src/react/index.ts +192 -171
- package/dist/chunk-SDQ776LG.js.map +0 -1
- /package/dist/{chunk-RBEKR5UZ.js.map → chunk-AWDEKDEJ.js.map} +0 -0
- /package/dist/{chunk-NFZIX3IA.js.map → chunk-EDMXWUW3.js.map} +0 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/* components/temperature-slider/temperature-slider.css */
|
|
2
|
+
:is(.mk-temperature-slider, mk-temperature-slider) { display: block; width: 100%; min-width: 0; color: var(--mk-text); font: 500 .875rem/1.4 var(--mk-font); }
|
|
3
|
+
[data-mk-temperature-body] { display: grid; gap: .875rem; }
|
|
4
|
+
[data-mk-temperature-header] { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
|
|
5
|
+
[data-mk-temperature-output] { font-variant-numeric: tabular-nums; white-space: nowrap; }
|
|
6
|
+
[data-mk-temperature-track] { position: relative; height: 76px; min-width: 0; border-radius: 24px; background: var(--mk-surface-2); }
|
|
7
|
+
[data-mk-temperature-input] { position: absolute; z-index: 3; inset: 0; box-sizing: border-box; width: 100%; height: 100%; margin: 0; appearance: none; -webkit-appearance: none; background: transparent; cursor: ew-resize; opacity: 0; }
|
|
8
|
+
[data-mk-temperature-input]::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 32px; height: 76px; background: transparent; }
|
|
9
|
+
[data-mk-temperature-input]::-moz-range-thumb { width: 32px; height: 76px; border: 0; background: transparent; }
|
|
10
|
+
[data-mk-temperature-thumb] { position: absolute; z-index: 2; top: 50%; left: calc(16px + (100% - 32px) * var(--mk-temperature-ratio, .5)); translate: -50% -50%; pointer-events: none; }
|
|
11
|
+
[data-mk-temperature-track]:has(:focus-visible) { outline: 2px solid var(--mk-accent); outline-offset: 4px; }
|
|
12
|
+
[data-mk-temperature-ends] { display: flex; justify-content: space-between; margin-top: -.375rem; color: var(--mk-muted); font-size: .75rem; font-variant-numeric: tabular-nums; }
|
|
13
|
+
[data-mk-temperature-message] { color: var(--mk-error); font-size: .8125rem; font-weight: 400; }
|
|
14
|
+
[data-mk-temperature-message]:empty { display: none; }
|
|
15
|
+
:is(.mk-temperature-slider, mk-temperature-slider)[data-mk-disabled] { opacity: .4; }
|
|
16
|
+
:is(.mk-temperature-slider, mk-temperature-slider)[data-mk-disabled] [data-mk-temperature-input] { cursor: not-allowed; }
|
|
17
|
+
:is(.mk-temperature-slider, mk-temperature-slider)[data-mk-error] [data-mk-temperature-track] { outline: 1px solid var(--mk-error); }
|
|
18
|
+
:is(.mk-temperature-slider, mk-temperature-slider) { --mk-temperature-cool: var(--mk-accent); --mk-temperature-hot: var(--md-sys-color-tertiary, var(--mk-text)); --mk-temperature-tint: color-mix(in srgb, var(--mk-temperature-cool), var(--mk-temperature-hot) var(--mk-temperature-warm, 50%)); }
|
|
19
|
+
[data-mk-temperature-output] { font-size: clamp(2rem, 6vw, 2.75rem); font-weight: 500; letter-spacing: -.06em; line-height: 1.2; }
|
|
20
|
+
[data-mk-temperature-track] { height: 64px; background: color-mix(in srgb, var(--mk-temperature-tint) 5%, var(--mk-surface-2)); }
|
|
21
|
+
[data-mk-temperature-rail] { position: absolute; inset: 28px 16px; border-radius: 64px; background: var(--mk-outline-soft); overflow: hidden; }
|
|
22
|
+
[data-mk-temperature-fill] { display: block; height: 100%; border-radius: inherit; background: color-mix(in srgb, var(--mk-temperature-tint) 42%, var(--mk-text)); }
|
|
23
|
+
[data-mk-temperature-ticks] { position: absolute; inset: 0 16px; display: flex; justify-content: space-between; align-items: center; pointer-events: none; }
|
|
24
|
+
[data-mk-temperature-ticks] > i { width: 1px; height: 18px; background: var(--mk-outline-soft); }
|
|
25
|
+
[data-mk-temperature-thumb] { display: grid; place-items: center; width: 30px; height: 40px; border-radius: 12px; background: var(--mk-text); color: var(--mk-bg); font: 700 18px/1 var(--mk-font); box-shadow: 0 0 0 4px var(--mk-surface-2); transition: width .35s var(--mk-ease-swatch), border-radius .35s var(--mk-ease-swatch); }
|
|
26
|
+
:is(.mk-temperature-slider, mk-temperature-slider)[data-mk-held] [data-mk-temperature-thumb] { width: 38px; border-radius: 16px; }
|
|
27
|
+
@media (hover: hover) { [data-mk-temperature-track]:has(:not(:disabled):hover) [data-mk-temperature-thumb] { border-radius: 16px; width: 34px; } }
|
|
28
|
+
@media (prefers-reduced-motion: reduce) { [data-mk-temperature-thumb] { transition: none; } }
|
|
29
|
+
@media (forced-colors: active) { [data-mk-temperature-rail] { background: GrayText; } [data-mk-temperature-fill], [data-mk-temperature-thumb] { background: Highlight; } }
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/* components/waveform-player/waveform-player.css */
|
|
2
|
+
/* Shares the equalizer's vocabulary: tonal track, pill bars, a cut-out head that grows when held. */
|
|
3
|
+
.mk-waveform-player, mk-waveform-player {
|
|
4
|
+
--mk-wave-color: var(--mk-text);
|
|
5
|
+
--mk-wave-track: var(--mk-outline-soft);
|
|
6
|
+
--mk-wave-surface: var(--mk-surface-2);
|
|
7
|
+
--mk-wave-inset: 14px;
|
|
8
|
+
display: block;
|
|
9
|
+
width: 100%;
|
|
10
|
+
min-width: 0;
|
|
11
|
+
color: var(--mk-text);
|
|
12
|
+
font-family: var(--mk-font);
|
|
13
|
+
}
|
|
14
|
+
[data-mk-wave-content] { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: .875rem; }
|
|
15
|
+
[data-mk-wave-toggle] { display: grid; place-items: center; align-self: start; width: 3.5rem; height: 3.5rem; margin-top: .25rem; border: 0; border-radius: 50%; background: var(--mk-text); color: var(--mk-bg); cursor: pointer; transition: border-radius .4s var(--mk-ease-playful); }
|
|
16
|
+
[data-mk-wave-toggle]:hover:enabled { border-radius: 22px; }
|
|
17
|
+
[data-mk-wave-icon] { display: grid; place-items: center; width: 24px; height: 24px; }
|
|
18
|
+
[data-mk-wave-state='playing'] [data-mk-wave-toggle] { border-radius: 20px; }
|
|
19
|
+
[data-mk-wave-toggle] svg { width: 1.4rem; height: 1.4rem; fill: currentColor; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
|
|
20
|
+
[data-mk-wave-body] { display: grid; gap: .5rem; min-width: 0; }
|
|
21
|
+
[data-mk-wave-track] { position: relative; height: 4rem; min-width: 0; border-radius: 24px; background: var(--mk-wave-surface); }
|
|
22
|
+
[data-mk-wave-bars] { position: absolute; inset: 12px var(--mk-wave-inset); display: flex; align-items: center; gap: 3px; pointer-events: none; }
|
|
23
|
+
[data-mk-wave-bar] { display: block; flex: 1 1 0; min-width: 1px; min-height: 4px; border-radius: 64px; background: var(--mk-wave-track); transform-origin: center; transition: background-color .16s; }
|
|
24
|
+
[data-mk-wave-bar][data-mk-played] { background: var(--mk-wave-color); }
|
|
25
|
+
[data-mk-wave-head] { position: absolute; z-index: 2; top: 50%; left: calc(var(--mk-wave-inset) + (100% - 2 * var(--mk-wave-inset)) * var(--mk-wave-progress, 0)); box-sizing: content-box; width: 4px; height: calc(100% - 20px); border: 3px solid var(--mk-wave-surface); border-radius: 64px; background: var(--mk-wave-color); translate: -50% -50%; pointer-events: none; transition: height .35s var(--mk-ease-swatch), border-width .35s var(--mk-ease-swatch); }
|
|
26
|
+
[data-mk-wave-scrubbing] [data-mk-wave-head] { height: calc(100% - 10px); border-width: 5px; }
|
|
27
|
+
@media (hover: hover) { [data-mk-wave-track]:has(input:enabled:hover) [data-mk-wave-head] { height: calc(100% - 14px); } }
|
|
28
|
+
[data-mk-wave-preview] { position: absolute; bottom: calc(100% + 10px); left: calc(var(--mk-wave-inset) + (100% - 2 * var(--mk-wave-inset)) * var(--mk-wave-at, 0)); z-index: 3; padding: .4rem .7rem; border-radius: 99px; background: var(--mk-glass-inverse); color: var(--mk-bg); backdrop-filter: blur(16px); box-shadow: inset 1px 1px 1px color-mix(in srgb, var(--mk-bg) 20%, transparent); font-size: .6875rem; font-variant-numeric: tabular-nums; translate: -50% 0; pointer-events: none; }
|
|
29
|
+
[data-mk-wave-preview][hidden] { display: none; }
|
|
30
|
+
[data-mk-wave-seek] { position: absolute; z-index: 4; inset: 0; box-sizing: border-box; width: 100%; height: 100%; margin: 0; appearance: none; -webkit-appearance: none; background: transparent; opacity: 0; cursor: ew-resize; }
|
|
31
|
+
[data-mk-wave-seek]::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: calc(2 * var(--mk-wave-inset)); height: 4rem; background: transparent; }
|
|
32
|
+
[data-mk-wave-seek]::-moz-range-thumb { width: calc(2 * var(--mk-wave-inset)); height: 4rem; border: 0; background: transparent; }
|
|
33
|
+
[data-mk-wave-track]:has(input:focus-visible) { outline: 2px solid var(--mk-accent); outline-offset: 4px; }
|
|
34
|
+
[data-mk-wave-footer] { display: flex; justify-content: space-between; align-items: center; gap: .75rem; min-height: 2rem; }
|
|
35
|
+
[data-mk-wave-time] { color: var(--mk-muted); font-size: .75rem; font-variant-numeric: tabular-nums; }
|
|
36
|
+
[data-mk-wave-rate] { min-width: 44px; min-height: 36px; padding: .375rem .75rem; border: 0; border-radius: 64px; color: var(--mk-text); background: var(--mk-wave-surface); font: 600 .75rem var(--mk-font); font-variant-numeric: tabular-nums; cursor: pointer; transition: padding .35s var(--mk-ease-swatch), background .15s; }
|
|
37
|
+
[data-mk-wave-rate]:hover:enabled { padding-inline: 1rem; background: color-mix(in srgb, var(--mk-text) 8%, var(--mk-wave-surface)); }
|
|
38
|
+
[data-mk-wave-rate][hidden] { display: none; }
|
|
39
|
+
[data-mk-wave-message] { grid-column: 2; color: var(--mk-muted); font-size: .75rem; line-height: 1.5; }
|
|
40
|
+
[data-mk-wave-message]:empty { display: none; }
|
|
41
|
+
[data-mk-wave-toggle]:focus-visible, [data-mk-wave-rate]:focus-visible { outline: 2px solid var(--mk-accent); outline-offset: 3px; }
|
|
42
|
+
[data-mk-wave-toggle]:disabled, [data-mk-wave-rate]:disabled { opacity: .5; cursor: default; }
|
|
43
|
+
[data-mk-wave-track]:has(input:disabled) { opacity: .55; }
|
|
44
|
+
[data-mk-wave-track]:has(input:disabled) [data-mk-wave-seek] { cursor: default; }
|
|
45
|
+
[data-mk-wave-state='error'] [data-mk-wave-message] { color: var(--mk-error, var(--mk-text)); }
|
|
46
|
+
@media (prefers-reduced-motion: reduce) { [data-mk-wave-bar], [data-mk-wave-toggle], [data-mk-wave-head], [data-mk-wave-rate] { transition: none; } }
|
|
47
|
+
@media (forced-colors: active) {
|
|
48
|
+
[data-mk-wave-toggle], [data-mk-wave-rate] { border: 1px solid ButtonText; }
|
|
49
|
+
[data-mk-wave-bar] { background: GrayText; }
|
|
50
|
+
[data-mk-wave-bar][data-mk-played], [data-mk-wave-head] { background: Highlight; }
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/* components/voice-message-bubble/voice-message-bubble.css */
|
|
54
|
+
/* Requires waveform-player.css; the bubble composes its player without duplicating it. */
|
|
55
|
+
.mk-voice-message-bubble, mk-voice-message-bubble { display: block; width: min(100%, 25rem); color: var(--mk-text); font-family: var(--mk-font); }
|
|
56
|
+
[data-mk-voice-message-content] { display: grid; gap: .5rem; padding: 1rem 1.25rem .75rem; background: var(--mk-surface-2); border: 0; border-radius: 32px 32px 32px 12px; }
|
|
57
|
+
:is(.mk-voice-message-bubble, mk-voice-message-bubble)[data-mk-direction='outgoing'] { margin-inline-start: auto; }
|
|
58
|
+
:is(.mk-voice-message-bubble, mk-voice-message-bubble)[data-mk-direction='outgoing'] [data-mk-voice-message-content] { background: var(--mk-surface-3); border-radius: 32px 32px 12px 32px; }
|
|
59
|
+
[data-mk-voice-message-header], [data-mk-voice-message-footer] { display: flex; flex-wrap: wrap; align-items: center; gap: .375rem .75rem; font-size: .6875rem; color: var(--mk-muted); }
|
|
60
|
+
[data-mk-voice-message-author] { font-weight: 600; color: var(--mk-text); }
|
|
61
|
+
[data-mk-voice-message-caption] { margin-inline-start: auto; }
|
|
62
|
+
[data-mk-voice-message-footer] { justify-content: flex-end; }
|
|
63
|
+
[data-mk-voice-message-status] { color: var(--mk-accent); }
|
|
64
|
+
/* The track steps one tonal level above its bubble, like the equalizer above the page. */
|
|
65
|
+
[data-mk-voice-message-content] .mk-waveform-player { --mk-wave-surface: var(--mk-surface-3); }
|
|
66
|
+
:is(.mk-voice-message-bubble, mk-voice-message-bubble)[data-mk-direction='outgoing'] .mk-waveform-player { --mk-wave-surface: var(--mk-surface-4); }
|
|
67
|
+
@media (forced-colors: active) { [data-mk-voice-message-content] { border-color: CanvasText; } }
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/* components/waveform-player/waveform-player.css */
|
|
2
|
+
/* Shares the equalizer's vocabulary: tonal track, pill bars, a cut-out head that grows when held. */
|
|
3
|
+
.mk-waveform-player, mk-waveform-player {
|
|
4
|
+
--mk-wave-color: var(--mk-text);
|
|
5
|
+
--mk-wave-track: var(--mk-outline-soft);
|
|
6
|
+
--mk-wave-surface: var(--mk-surface-2);
|
|
7
|
+
--mk-wave-inset: 14px;
|
|
8
|
+
display: block;
|
|
9
|
+
width: 100%;
|
|
10
|
+
min-width: 0;
|
|
11
|
+
color: var(--mk-text);
|
|
12
|
+
font-family: var(--mk-font);
|
|
13
|
+
}
|
|
14
|
+
[data-mk-wave-content] { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: .875rem; }
|
|
15
|
+
[data-mk-wave-toggle] { display: grid; place-items: center; align-self: start; width: 3.5rem; height: 3.5rem; margin-top: .25rem; border: 0; border-radius: 50%; background: var(--mk-text); color: var(--mk-bg); cursor: pointer; transition: border-radius .4s var(--mk-ease-playful); }
|
|
16
|
+
[data-mk-wave-toggle]:hover:enabled { border-radius: 22px; }
|
|
17
|
+
[data-mk-wave-icon] { display: grid; place-items: center; width: 24px; height: 24px; }
|
|
18
|
+
[data-mk-wave-state='playing'] [data-mk-wave-toggle] { border-radius: 20px; }
|
|
19
|
+
[data-mk-wave-toggle] svg { width: 1.4rem; height: 1.4rem; fill: currentColor; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
|
|
20
|
+
[data-mk-wave-body] { display: grid; gap: .5rem; min-width: 0; }
|
|
21
|
+
[data-mk-wave-track] { position: relative; height: 4rem; min-width: 0; border-radius: 24px; background: var(--mk-wave-surface); }
|
|
22
|
+
[data-mk-wave-bars] { position: absolute; inset: 12px var(--mk-wave-inset); display: flex; align-items: center; gap: 3px; pointer-events: none; }
|
|
23
|
+
[data-mk-wave-bar] { display: block; flex: 1 1 0; min-width: 1px; min-height: 4px; border-radius: 64px; background: var(--mk-wave-track); transform-origin: center; transition: background-color .16s; }
|
|
24
|
+
[data-mk-wave-bar][data-mk-played] { background: var(--mk-wave-color); }
|
|
25
|
+
[data-mk-wave-head] { position: absolute; z-index: 2; top: 50%; left: calc(var(--mk-wave-inset) + (100% - 2 * var(--mk-wave-inset)) * var(--mk-wave-progress, 0)); box-sizing: content-box; width: 4px; height: calc(100% - 20px); border: 3px solid var(--mk-wave-surface); border-radius: 64px; background: var(--mk-wave-color); translate: -50% -50%; pointer-events: none; transition: height .35s var(--mk-ease-swatch), border-width .35s var(--mk-ease-swatch); }
|
|
26
|
+
[data-mk-wave-scrubbing] [data-mk-wave-head] { height: calc(100% - 10px); border-width: 5px; }
|
|
27
|
+
@media (hover: hover) { [data-mk-wave-track]:has(input:enabled:hover) [data-mk-wave-head] { height: calc(100% - 14px); } }
|
|
28
|
+
[data-mk-wave-preview] { position: absolute; bottom: calc(100% + 10px); left: calc(var(--mk-wave-inset) + (100% - 2 * var(--mk-wave-inset)) * var(--mk-wave-at, 0)); z-index: 3; padding: .4rem .7rem; border-radius: 99px; background: var(--mk-glass-inverse); color: var(--mk-bg); backdrop-filter: blur(16px); box-shadow: inset 1px 1px 1px color-mix(in srgb, var(--mk-bg) 20%, transparent); font-size: .6875rem; font-variant-numeric: tabular-nums; translate: -50% 0; pointer-events: none; }
|
|
29
|
+
[data-mk-wave-preview][hidden] { display: none; }
|
|
30
|
+
[data-mk-wave-seek] { position: absolute; z-index: 4; inset: 0; box-sizing: border-box; width: 100%; height: 100%; margin: 0; appearance: none; -webkit-appearance: none; background: transparent; opacity: 0; cursor: ew-resize; }
|
|
31
|
+
[data-mk-wave-seek]::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: calc(2 * var(--mk-wave-inset)); height: 4rem; background: transparent; }
|
|
32
|
+
[data-mk-wave-seek]::-moz-range-thumb { width: calc(2 * var(--mk-wave-inset)); height: 4rem; border: 0; background: transparent; }
|
|
33
|
+
[data-mk-wave-track]:has(input:focus-visible) { outline: 2px solid var(--mk-accent); outline-offset: 4px; }
|
|
34
|
+
[data-mk-wave-footer] { display: flex; justify-content: space-between; align-items: center; gap: .75rem; min-height: 2rem; }
|
|
35
|
+
[data-mk-wave-time] { color: var(--mk-muted); font-size: .75rem; font-variant-numeric: tabular-nums; }
|
|
36
|
+
[data-mk-wave-rate] { min-width: 44px; min-height: 36px; padding: .375rem .75rem; border: 0; border-radius: 64px; color: var(--mk-text); background: var(--mk-wave-surface); font: 600 .75rem var(--mk-font); font-variant-numeric: tabular-nums; cursor: pointer; transition: padding .35s var(--mk-ease-swatch), background .15s; }
|
|
37
|
+
[data-mk-wave-rate]:hover:enabled { padding-inline: 1rem; background: color-mix(in srgb, var(--mk-text) 8%, var(--mk-wave-surface)); }
|
|
38
|
+
[data-mk-wave-rate][hidden] { display: none; }
|
|
39
|
+
[data-mk-wave-message] { grid-column: 2; color: var(--mk-muted); font-size: .75rem; line-height: 1.5; }
|
|
40
|
+
[data-mk-wave-message]:empty { display: none; }
|
|
41
|
+
[data-mk-wave-toggle]:focus-visible, [data-mk-wave-rate]:focus-visible { outline: 2px solid var(--mk-accent); outline-offset: 3px; }
|
|
42
|
+
[data-mk-wave-toggle]:disabled, [data-mk-wave-rate]:disabled { opacity: .5; cursor: default; }
|
|
43
|
+
[data-mk-wave-track]:has(input:disabled) { opacity: .55; }
|
|
44
|
+
[data-mk-wave-track]:has(input:disabled) [data-mk-wave-seek] { cursor: default; }
|
|
45
|
+
[data-mk-wave-state='error'] [data-mk-wave-message] { color: var(--mk-error, var(--mk-text)); }
|
|
46
|
+
@media (prefers-reduced-motion: reduce) { [data-mk-wave-bar], [data-mk-wave-toggle], [data-mk-wave-head], [data-mk-wave-rate] { transition: none; } }
|
|
47
|
+
@media (forced-colors: active) {
|
|
48
|
+
[data-mk-wave-toggle], [data-mk-wave-rate] { border: 1px solid ButtonText; }
|
|
49
|
+
[data-mk-wave-bar] { background: GrayText; }
|
|
50
|
+
[data-mk-wave-bar][data-mk-played], [data-mk-wave-head] { background: Highlight; }
|
|
51
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/* components/wheel-picker/wheel-picker.css */
|
|
2
|
+
.mk-wheel-picker, mk-wheel-picker { --mk-wheel-row: 44px; --mk-wheel-rows: 5; display: grid; gap: .75rem; min-width: 0; color: var(--mk-text); font-family: var(--mk-font); }
|
|
3
|
+
[data-mk-wheel-label] { color: var(--mk-muted); font-size: .8125rem; text-align: center; }
|
|
4
|
+
[data-mk-wheel-frame] { position: relative; isolation: isolate; min-width: 0; overflow: hidden; border-radius: var(--mk-radius-xl); background: var(--mk-surface-1); }
|
|
5
|
+
[data-mk-wheel-highlight] { position: absolute; top: calc(50% - var(--mk-wheel-row) / 2); right: .5rem; left: .5rem; height: var(--mk-wheel-row); border-radius: var(--mk-radius-md); background: var(--mk-surface-3); box-shadow: inset 0 1px color-mix(in srgb, var(--mk-text) 5%, transparent), inset 0 -1px color-mix(in srgb, var(--mk-text) 4%, transparent); pointer-events: none; z-index: -1; }
|
|
6
|
+
[data-mk-wheel-viewport] { height: calc(var(--mk-wheel-row) * var(--mk-wheel-rows)); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scroll-snap-type: y mandatory; scrollbar-width: none; -webkit-tap-highlight-color: transparent; mask-image: linear-gradient(transparent, #000 16%, #000 84%, transparent); }
|
|
7
|
+
[data-mk-wheel-viewport]::-webkit-scrollbar { display: none; }
|
|
8
|
+
[data-mk-wheel-viewport]:focus { outline: none; }
|
|
9
|
+
[data-mk-wheel-frame]:has([data-mk-wheel-viewport]:focus-visible) { outline: 2px solid var(--mk-accent); outline-offset: 3px; border-radius: 24px; }
|
|
10
|
+
[data-mk-wheel-list] { padding-block: calc(var(--mk-wheel-row) * (var(--mk-wheel-rows) - 1) / 2); }
|
|
11
|
+
[data-mk-wheel-option] { display: grid; place-items: center; height: var(--mk-wheel-row); min-height: 44px; padding-inline: 1rem; color: var(--mk-text); font-size: 1.35rem; font-variant-numeric: tabular-nums; font-weight: 450; scroll-snap-align: center; cursor: pointer; user-select: none; transform-origin: center; backface-visibility: hidden; transition: color .18s ease; }
|
|
12
|
+
[data-mk-wheel-option][aria-selected='true'] { color: var(--mk-text); font-weight: 650; }
|
|
13
|
+
[data-mk-wheel-option]:not([aria-disabled='true']):hover { color: var(--mk-accent); }
|
|
14
|
+
[data-mk-wheel-option][aria-disabled='true'] { color: var(--mk-muted); cursor: not-allowed; }
|
|
15
|
+
[data-mk-wheel-empty] { display: block; text-align: center; color: var(--mk-muted); font-size: .875rem; }
|
|
16
|
+
[data-mk-disabled] [data-mk-wheel-viewport] { overflow: hidden; opacity: .5; }
|
|
17
|
+
@media (prefers-reduced-motion: reduce) { [data-mk-wheel-option] { transition: none; transform: none !important; } }
|
|
18
|
+
@media (forced-colors: active) { [data-mk-wheel-highlight] { border: 2px solid Highlight; } }
|
package/dist/css/tokens.css
CHANGED
|
@@ -16,6 +16,10 @@
|
|
|
16
16
|
--mk-ease-nav-move: cubic-bezier(0.38, 0.49, 0, 1.2);
|
|
17
17
|
--mk-ease-swatch: cubic-bezier(0.38, 0.49, 0, 1.5);
|
|
18
18
|
--mk-ease-swatch-light: cubic-bezier(0.11, 1, 0, 1);
|
|
19
|
+
--mk-ease-click: cubic-bezier(0.37, 1.42, 0.37, 1);
|
|
20
|
+
--mk-ease-playful: cubic-bezier(0.38, 0.49, 0, 2);
|
|
21
|
+
--mk-ease-pop: cubic-bezier(0.1, 0.8, 0, 1.1);
|
|
22
|
+
--mk-ease-wipe: cubic-bezier(0.38, 0.49, 0, 1);
|
|
19
23
|
--mk-ease-slot: cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
20
24
|
/* Glass, sheet and control curves */
|
|
21
25
|
--mk-ease-glass: cubic-bezier(0.25, 1, 0.5, 1);
|
package/dist/elements/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { I as Instance } from '../types-BkS_raL8.js';
|
|
2
|
-
import {
|
|
3
|
-
import { E as ThemePickerInstance, M as ToasterInstance, C as ChatInstance, d as ChatRole, l as NavInstance, n as NavStyle, o as NavStyleAlias, e as CursorInstance, I as IslandInstance, V as ToolbarInstance, B as BidirectionalSliderInstance, X as VoiceDotsInstance, Z as VoiceState, r as PieChartInstance, s as PieChartOptions, R as RadarChartInstance, u as RadarChartOptions, w as RadialChartInstance, x as RadialChartOptions, S as SankeyChartInstance, z as SankeyChartOptions, H as HeatmapChartInstance, h as HeatmapChartOptions, O as OrbitMenuInstance } from '../store-
|
|
4
|
-
export { an as toast } from '../store-
|
|
2
|
+
import { e2 as StudioDockInstance, e5 as StudioDockView, el as TrailerInstance, bz as DialogInstance, bB as DialogOptions, cs as MenuInstance, cY as QuantityInstance, cI as PaginationInstance, c9 as HoverCardInstance, cf as InputOtpInstance, aO as CalendarInstance, dM as SlotPickerInstance, ax as AttachmentInstance, aw as AttachmentFile, aC as AttachmentStatus, dJ as SkeletonInstance, c$ as QuestionnaireInstance, c_ as QuestionnaireAnswers, b1 as CodeBlockInstance, bg as ContextMenuInstance, ck as LinkPreviewInstance, cV as ProgressInstance, d7 as RangeSliderInstance, d9 as RangeValue, aU as ChartInstance, aV as ChartOptions, bj as CreditCardInstance, bi as CreditCardField, bm as CreditCardValues, aT as CardBrand, be as CommandSearchInstance, bd as CommandItem, c7 as HoldConfirmInstance, cd as ImagePreviewInstance, cB as NotificationBellInstance, cP as PasswordStrengthInstance, dn as ScratchCardInstance, dV as StarRatingInstance, bb as ColorSliderInstance, b3 as ColorAreaInstance, b6 as ColorFieldInstance, b9 as ColorPickerInstance, ec as TimeFieldInstance, d5 as RangeCalendarInstance, bu as DateRange, bv as DateRangePickerInstance, ej as TooltipInstance, cT as PopoverInstance, cn as LoadingButtonInstance, cp as LoadingState, aI as BreadcrumbInstance, bN as EmptyStateInstance, dX as StatCardInstance, aY as ChartTooltipInstance, cw as MultiSelectInstance, e7 as TagInputInstance, bx as DateTimePickerInstance, bZ as FilterBuilderInstance, c1 as FilterGroup, eg as TimelineInstance, ef as TimelineEvent, aq as ActivityFeedInstance, as as ActivityItem, eo as TreeViewInstance, bU as FileExplorerInstance, ci as JsonViewerInstance, er as VirtualListInstance, dc as ResizablePanelInstance, dT as SplitViewInstance, bs as DataTableInstance, bq as DataRow, bI as EditableTableInstance, di as RichTextEditorInstance, dv as SelectInstance, au as AddToCartInstance, dq as ScrollIslandInstance, dE as SignaturePadInstance, dz as SignatureData, dA as SignatureExportOptions, dB as SignaturePNGOptions, ez as WaveformPlayerInstance, eA as WaveformPlayerOptions, eB as WaveformPlayerState, ew as VoiceMessageBubbleInstance, ex as VoiceMessageBubbleOptions, bE as DrilldownMenuInstance, bF as DrilldownMenuItem, eE as WheelPickerInstance, eD as WheelPickerEntry, dZ as StepperInstance, d2 as RadioGroupInstance, bP as EqualizerSliderInstance, e9 as TemperatureSliderInstance, eb as TemperatureUnit, da as RatingScaleInstance, cE as NotificationStackInstance, cG as NotificationStackOptions, cF as NotificationStackItem, aG as BentoGridInstance, aH as BentoGridOptions, ds as ScrollPreviewDockInstance, du as ScrollPreviewDockOptions, dt as ScrollPreviewDockItem, e0 as StickyHeaderInstance, e1 as StickyHeaderOptions, c5 as HandwritingTextInstance, cL as ParticleButtonInstance, cq as MagnetizeButtonInstance, aE as BadgeButtonInstance, cu as MorphingPageDotsInstance, cz as NotFoundInstance } from '../engine-t8d7brjn.js';
|
|
3
|
+
import { E as ThemePickerInstance, M as ToasterInstance, C as ChatInstance, d as ChatRole, l as NavInstance, n as NavStyle, o as NavStyleAlias, e as CursorInstance, I as IslandInstance, V as ToolbarInstance, B as BidirectionalSliderInstance, X as VoiceDotsInstance, Z as VoiceState, r as PieChartInstance, s as PieChartOptions, R as RadarChartInstance, u as RadarChartOptions, w as RadialChartInstance, x as RadialChartOptions, S as SankeyChartInstance, z as SankeyChartOptions, H as HeatmapChartInstance, h as HeatmapChartOptions, O as OrbitMenuInstance } from '../store-6hZNKiee.js';
|
|
4
|
+
export { an as toast } from '../store-6hZNKiee.js';
|
|
5
5
|
import { C as ChatBackgroundInstance, c as StepsInstance, P as PillButtonInstance } from '../engine-5zRIssTO.js';
|
|
6
6
|
import { L as LikeButtonInstance, S as SwipeActionsInstance } from '../engine-QECQnGz1.js';
|
|
7
7
|
import 'gsap/Flip';
|
|
@@ -1003,6 +1003,274 @@ declare class MkOrbitMenuElement extends MkElement<OrbitMenuInstance> {
|
|
|
1003
1003
|
close(): void;
|
|
1004
1004
|
}
|
|
1005
1005
|
|
|
1006
|
+
/** Light-DOM element. `data` accepts versioned JSON; mk:change carries data and history state. */
|
|
1007
|
+
declare class MkSignaturePadElement extends MkElement<SignaturePadInstance> {
|
|
1008
|
+
static options: Record<string, OptionType>;
|
|
1009
|
+
private saved;
|
|
1010
|
+
protected create(options: Record<string, unknown>): SignaturePadInstance;
|
|
1011
|
+
attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
|
|
1012
|
+
disconnectedCallback(): void;
|
|
1013
|
+
connectedCallback(): void;
|
|
1014
|
+
get data(): SignatureData;
|
|
1015
|
+
set data(value: SignatureData);
|
|
1016
|
+
get isEmpty(): boolean;
|
|
1017
|
+
get canUndo(): boolean;
|
|
1018
|
+
get canRedo(): boolean;
|
|
1019
|
+
undo(): void;
|
|
1020
|
+
redo(): void;
|
|
1021
|
+
clear(): void;
|
|
1022
|
+
importData(value: unknown, notify?: boolean): boolean;
|
|
1023
|
+
exportData(): SignatureData;
|
|
1024
|
+
exportSVG(options?: SignatureExportOptions): string;
|
|
1025
|
+
exportPNG(options?: SignaturePNGOptions): Promise<Blob | null>;
|
|
1026
|
+
}
|
|
1027
|
+
declare const defineSignaturePad: () => void;
|
|
1028
|
+
|
|
1029
|
+
declare class MkWaveformPlayerElement extends MkElement<WaveformPlayerInstance> {
|
|
1030
|
+
static options: Record<string, OptionType>;
|
|
1031
|
+
protected create(options: Record<string, unknown>): WaveformPlayerInstance;
|
|
1032
|
+
play(): Promise<boolean>;
|
|
1033
|
+
pause(): void;
|
|
1034
|
+
seek(seconds: number): void;
|
|
1035
|
+
update(options: Partial<WaveformPlayerOptions>): void;
|
|
1036
|
+
get state(): WaveformPlayerState | undefined;
|
|
1037
|
+
get audio(): HTMLAudioElement | null;
|
|
1038
|
+
attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
|
|
1039
|
+
}
|
|
1040
|
+
declare const defineWaveformPlayer: () => void;
|
|
1041
|
+
|
|
1042
|
+
declare class MkVoiceMessageBubbleElement extends MkElement<VoiceMessageBubbleInstance> {
|
|
1043
|
+
static options: Record<string, OptionType>;
|
|
1044
|
+
protected create(options: Record<string, unknown>): VoiceMessageBubbleInstance;
|
|
1045
|
+
play(): Promise<boolean>;
|
|
1046
|
+
pause(): void;
|
|
1047
|
+
seek(seconds: number): void;
|
|
1048
|
+
update(options: Partial<VoiceMessageBubbleOptions>): void;
|
|
1049
|
+
get state(): WaveformPlayerState | undefined;
|
|
1050
|
+
get audio(): HTMLAudioElement | null;
|
|
1051
|
+
attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
|
|
1052
|
+
}
|
|
1053
|
+
declare const defineVoiceMessageBubble: () => void;
|
|
1054
|
+
|
|
1055
|
+
/** Light DOM action menu; items/path accept JSON. Emits mk:select and mk:path-change. */
|
|
1056
|
+
declare class MkDrilldownMenuElement extends MkElement<DrilldownMenuInstance> {
|
|
1057
|
+
static options: Record<string, OptionType>;
|
|
1058
|
+
private pendingItems;
|
|
1059
|
+
private pendingPath;
|
|
1060
|
+
protected create(options: Record<string, unknown>): DrilldownMenuInstance;
|
|
1061
|
+
attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
|
|
1062
|
+
get items(): DrilldownMenuItem[];
|
|
1063
|
+
set items(items: DrilldownMenuItem[]);
|
|
1064
|
+
get path(): string[];
|
|
1065
|
+
set path(path: string[]);
|
|
1066
|
+
open(id: string): boolean;
|
|
1067
|
+
back(): boolean;
|
|
1068
|
+
root(): void;
|
|
1069
|
+
reset(): void;
|
|
1070
|
+
setItems(items: DrilldownMenuItem[]): void;
|
|
1071
|
+
setPath(path: string[]): void;
|
|
1072
|
+
focusItem(id: string): void;
|
|
1073
|
+
}
|
|
1074
|
+
declare const defineDrilldownMenu: () => void;
|
|
1075
|
+
|
|
1076
|
+
declare class MkWheelPickerElement extends MkElement<WheelPickerInstance> {
|
|
1077
|
+
static options: Record<string, OptionType>;
|
|
1078
|
+
private savedValue;
|
|
1079
|
+
private savedItems;
|
|
1080
|
+
protected create(options: Record<string, unknown>): WheelPickerInstance;
|
|
1081
|
+
attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
|
|
1082
|
+
disconnectedCallback(): void;
|
|
1083
|
+
get value(): string;
|
|
1084
|
+
set value(next: string);
|
|
1085
|
+
setValue(value: string, notify?: boolean): void;
|
|
1086
|
+
setItems(items: WheelPickerEntry[], notify?: boolean): void;
|
|
1087
|
+
}
|
|
1088
|
+
declare const defineWheelPicker: () => void;
|
|
1089
|
+
|
|
1090
|
+
/** Light DOM; attribute changes keep the current imperative value and reset baseline. */
|
|
1091
|
+
declare class MkStepperElement extends MkElement<StepperInstance> {
|
|
1092
|
+
static options: Record<string, OptionType>;
|
|
1093
|
+
private baseline;
|
|
1094
|
+
private saved;
|
|
1095
|
+
protected create(options: Record<string, unknown>): StepperInstance;
|
|
1096
|
+
disconnectedCallback(): void;
|
|
1097
|
+
attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
|
|
1098
|
+
get value(): number;
|
|
1099
|
+
set value(next: number);
|
|
1100
|
+
setValue(value: number, notify?: boolean): void;
|
|
1101
|
+
reset(notify?: boolean): void;
|
|
1102
|
+
next(notify?: boolean): void;
|
|
1103
|
+
previous(notify?: boolean): void;
|
|
1104
|
+
}
|
|
1105
|
+
declare const defineStepper: () => void;
|
|
1106
|
+
|
|
1107
|
+
/** Light DOM; attribute changes keep the current imperative value and reset baseline. */
|
|
1108
|
+
declare class MkRadioGroupElement extends MkElement<RadioGroupInstance> {
|
|
1109
|
+
static options: Record<string, OptionType>;
|
|
1110
|
+
private baseline;
|
|
1111
|
+
private saved;
|
|
1112
|
+
protected create(options: Record<string, unknown>): RadioGroupInstance;
|
|
1113
|
+
disconnectedCallback(): void;
|
|
1114
|
+
attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
|
|
1115
|
+
get value(): string | null;
|
|
1116
|
+
set value(next: string | null);
|
|
1117
|
+
setValue(value: string | null, notify?: boolean): void;
|
|
1118
|
+
reset(notify?: boolean): void;
|
|
1119
|
+
}
|
|
1120
|
+
declare const defineRadioGroup: () => void;
|
|
1121
|
+
|
|
1122
|
+
/** Light DOM; attribute changes keep the current imperative value and reset baseline. */
|
|
1123
|
+
declare class MkEqualizerSliderElement extends MkElement<EqualizerSliderInstance> {
|
|
1124
|
+
static options: Record<string, OptionType>;
|
|
1125
|
+
private baseline;
|
|
1126
|
+
private saved;
|
|
1127
|
+
protected create(options: Record<string, unknown>): EqualizerSliderInstance;
|
|
1128
|
+
disconnectedCallback(): void;
|
|
1129
|
+
attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
|
|
1130
|
+
get value(): number;
|
|
1131
|
+
set value(next: number);
|
|
1132
|
+
setValue(value: number, notify?: boolean): void;
|
|
1133
|
+
reset(notify?: boolean): void;
|
|
1134
|
+
}
|
|
1135
|
+
declare const defineEqualizerSlider: () => void;
|
|
1136
|
+
|
|
1137
|
+
/** Light DOM; attribute changes keep the current imperative value and reset baseline. */
|
|
1138
|
+
declare class MkTemperatureSliderElement extends MkElement<TemperatureSliderInstance> {
|
|
1139
|
+
static options: Record<string, OptionType>;
|
|
1140
|
+
private baseline;
|
|
1141
|
+
private saved;
|
|
1142
|
+
private syncing;
|
|
1143
|
+
protected create(options: Record<string, unknown>): TemperatureSliderInstance;
|
|
1144
|
+
disconnectedCallback(): void;
|
|
1145
|
+
attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
|
|
1146
|
+
get value(): number;
|
|
1147
|
+
set value(next: number);
|
|
1148
|
+
setValue(value: number, notify?: boolean): void;
|
|
1149
|
+
reset(notify?: boolean): void;
|
|
1150
|
+
get unit(): TemperatureUnit;
|
|
1151
|
+
/** Converts in place and glides; the unit, min and max attributes follow without remounting. */
|
|
1152
|
+
setUnit(unit: TemperatureUnit, notify?: boolean): void;
|
|
1153
|
+
}
|
|
1154
|
+
declare const defineTemperatureSlider: () => void;
|
|
1155
|
+
|
|
1156
|
+
/** Light DOM; attribute changes keep the current imperative value and reset baseline. */
|
|
1157
|
+
declare class MkRatingScaleElement extends MkElement<RatingScaleInstance> {
|
|
1158
|
+
static options: Record<string, OptionType>;
|
|
1159
|
+
private baseline;
|
|
1160
|
+
private saved;
|
|
1161
|
+
protected create(options: Record<string, unknown>): RatingScaleInstance;
|
|
1162
|
+
disconnectedCallback(): void;
|
|
1163
|
+
attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
|
|
1164
|
+
get value(): number | null;
|
|
1165
|
+
set value(next: number | null);
|
|
1166
|
+
setValue(value: number | null, notify?: boolean): void;
|
|
1167
|
+
reset(notify?: boolean): void;
|
|
1168
|
+
}
|
|
1169
|
+
declare const defineRatingScale: () => void;
|
|
1170
|
+
|
|
1171
|
+
declare class MkNotificationStackElement extends MkElement<NotificationStackInstance> {
|
|
1172
|
+
static options: Record<string, OptionType>;
|
|
1173
|
+
protected create(options: Record<string, unknown>): NotificationStackInstance;
|
|
1174
|
+
setOptions(options: Partial<NotificationStackOptions>): void;
|
|
1175
|
+
push(item: NotificationStackItem): void;
|
|
1176
|
+
dismiss(id: string): void;
|
|
1177
|
+
clear(): void;
|
|
1178
|
+
expand(): void;
|
|
1179
|
+
collapse(): void;
|
|
1180
|
+
toggle(): void;
|
|
1181
|
+
get expanded(): boolean;
|
|
1182
|
+
set expanded(value: boolean);
|
|
1183
|
+
get items(): NotificationStackItem[];
|
|
1184
|
+
set items(value: NotificationStackItem[]);
|
|
1185
|
+
attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
|
|
1186
|
+
}
|
|
1187
|
+
declare const defineNotificationStack: () => void;
|
|
1188
|
+
|
|
1189
|
+
declare class MkBentoGridElement extends MkElement<BentoGridInstance> {
|
|
1190
|
+
static options: Record<string, OptionType>;
|
|
1191
|
+
protected create(options: Record<string, unknown>): BentoGridInstance;
|
|
1192
|
+
setOptions(options: Partial<BentoGridOptions>): void;
|
|
1193
|
+
refresh(): void;
|
|
1194
|
+
setFilter(filter: string | null): void;
|
|
1195
|
+
reorder(keys: string[]): void;
|
|
1196
|
+
mutate(change: () => void): void;
|
|
1197
|
+
get filter(): string | null;
|
|
1198
|
+
get keys(): string[];
|
|
1199
|
+
attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
|
|
1200
|
+
}
|
|
1201
|
+
declare const defineBentoGrid: () => void;
|
|
1202
|
+
|
|
1203
|
+
declare class MkScrollPreviewDockElement extends MkElement<ScrollPreviewDockInstance> {
|
|
1204
|
+
static options: Record<string, OptionType>;
|
|
1205
|
+
protected create(options: Record<string, unknown>): ScrollPreviewDockInstance;
|
|
1206
|
+
setOptions(options: Partial<ScrollPreviewDockOptions>): void;
|
|
1207
|
+
select(id: string): void;
|
|
1208
|
+
update(): void;
|
|
1209
|
+
get value(): string;
|
|
1210
|
+
set items(value: ScrollPreviewDockItem[]);
|
|
1211
|
+
attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
|
|
1212
|
+
}
|
|
1213
|
+
declare const defineScrollPreviewDock: () => void;
|
|
1214
|
+
|
|
1215
|
+
declare class MkStickyHeaderElement extends MkElement<StickyHeaderInstance> {
|
|
1216
|
+
static options: Record<string, OptionType>;
|
|
1217
|
+
protected create(options: Record<string, unknown>): StickyHeaderInstance;
|
|
1218
|
+
setOptions(options: Partial<StickyHeaderOptions>): void;
|
|
1219
|
+
update(): void;
|
|
1220
|
+
get compact(): boolean;
|
|
1221
|
+
get progress(): number;
|
|
1222
|
+
attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
|
|
1223
|
+
}
|
|
1224
|
+
declare const defineStickyHeader: () => void;
|
|
1225
|
+
|
|
1226
|
+
declare class MkHandwritingTextElement extends MkElement<HandwritingTextInstance> {
|
|
1227
|
+
static options: Record<string, OptionType>;
|
|
1228
|
+
private retained;
|
|
1229
|
+
protected create(options: Record<string, unknown>): HandwritingTextInstance;
|
|
1230
|
+
disconnectedCallback(): void;
|
|
1231
|
+
attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
|
|
1232
|
+
}
|
|
1233
|
+
declare const defineHandwritingText: () => void;
|
|
1234
|
+
|
|
1235
|
+
declare class MkParticleButtonElement extends MkElement<ParticleButtonInstance> {
|
|
1236
|
+
static options: Record<string, OptionType>;
|
|
1237
|
+
protected create(options: Record<string, unknown>): ParticleButtonInstance;
|
|
1238
|
+
attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
|
|
1239
|
+
}
|
|
1240
|
+
declare const defineParticleButton: () => void;
|
|
1241
|
+
|
|
1242
|
+
declare class MkMagnetizeButtonElement extends MkElement<MagnetizeButtonInstance> {
|
|
1243
|
+
static options: Record<string, OptionType>;
|
|
1244
|
+
protected create(options: Record<string, unknown>): MagnetizeButtonInstance;
|
|
1245
|
+
attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
|
|
1246
|
+
}
|
|
1247
|
+
declare const defineMagnetizeButton: () => void;
|
|
1248
|
+
|
|
1249
|
+
declare class MkBadgeButtonElement extends MkElement<BadgeButtonInstance> {
|
|
1250
|
+
static options: Record<string, OptionType>;
|
|
1251
|
+
private retained;
|
|
1252
|
+
protected create(options: Record<string, unknown>): BadgeButtonInstance;
|
|
1253
|
+
disconnectedCallback(): void;
|
|
1254
|
+
attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
|
|
1255
|
+
}
|
|
1256
|
+
declare const defineBadgeButton: () => void;
|
|
1257
|
+
|
|
1258
|
+
declare class MkMorphingPageDotsElement extends MkElement<MorphingPageDotsInstance> {
|
|
1259
|
+
static options: Record<string, OptionType>;
|
|
1260
|
+
private retained;
|
|
1261
|
+
protected create(options: Record<string, unknown>): MorphingPageDotsInstance;
|
|
1262
|
+
disconnectedCallback(): void;
|
|
1263
|
+
attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
|
|
1264
|
+
}
|
|
1265
|
+
declare const defineMorphingPageDots: () => void;
|
|
1266
|
+
|
|
1267
|
+
declare class MkNotFoundElement extends MkElement<NotFoundInstance> {
|
|
1268
|
+
static options: Record<string, OptionType>;
|
|
1269
|
+
protected create(options: Record<string, unknown>): NotFoundInstance;
|
|
1270
|
+
attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
|
|
1271
|
+
}
|
|
1272
|
+
declare const defineNotFound: () => void;
|
|
1273
|
+
|
|
1006
1274
|
/** Tag name → element class, for every component. */
|
|
1007
1275
|
declare const ELEMENTS: {
|
|
1008
1276
|
readonly 'mk-theme-picker': typeof MkThemePickerElement;
|
|
@@ -1085,9 +1353,29 @@ declare const ELEMENTS: {
|
|
|
1085
1353
|
readonly 'mk-sankey-chart': typeof MkSankeyChartElement;
|
|
1086
1354
|
readonly 'mk-heatmap-chart': typeof MkHeatmapChartElement;
|
|
1087
1355
|
readonly 'mk-orbit-menu': typeof MkOrbitMenuElement;
|
|
1356
|
+
readonly 'mk-signature-pad': typeof MkSignaturePadElement;
|
|
1357
|
+
readonly 'mk-waveform-player': typeof MkWaveformPlayerElement;
|
|
1358
|
+
readonly 'mk-voice-message-bubble': typeof MkVoiceMessageBubbleElement;
|
|
1359
|
+
readonly 'mk-drilldown-menu': typeof MkDrilldownMenuElement;
|
|
1360
|
+
readonly 'mk-wheel-picker': typeof MkWheelPickerElement;
|
|
1361
|
+
readonly 'mk-stepper': typeof MkStepperElement;
|
|
1362
|
+
readonly 'mk-radio-group': typeof MkRadioGroupElement;
|
|
1363
|
+
readonly 'mk-equalizer-slider': typeof MkEqualizerSliderElement;
|
|
1364
|
+
readonly 'mk-temperature-slider': typeof MkTemperatureSliderElement;
|
|
1365
|
+
readonly 'mk-rating-scale': typeof MkRatingScaleElement;
|
|
1366
|
+
readonly 'mk-notification-stack': typeof MkNotificationStackElement;
|
|
1367
|
+
readonly 'mk-bento-grid': typeof MkBentoGridElement;
|
|
1368
|
+
readonly 'mk-scroll-preview-dock': typeof MkScrollPreviewDockElement;
|
|
1369
|
+
readonly 'mk-sticky-header': typeof MkStickyHeaderElement;
|
|
1370
|
+
readonly 'mk-handwriting-text': typeof MkHandwritingTextElement;
|
|
1371
|
+
readonly 'mk-particle-button': typeof MkParticleButtonElement;
|
|
1372
|
+
readonly 'mk-magnetize-button': typeof MkMagnetizeButtonElement;
|
|
1373
|
+
readonly 'mk-badge-button': typeof MkBadgeButtonElement;
|
|
1374
|
+
readonly 'mk-morphing-page-dots': typeof MkMorphingPageDotsElement;
|
|
1375
|
+
readonly 'mk-not-found': typeof MkNotFoundElement;
|
|
1088
1376
|
};
|
|
1089
1377
|
type ElementName = keyof typeof ELEMENTS;
|
|
1090
1378
|
/** Register every motion-kit element (or the ones named). Safe to call more than once. */
|
|
1091
1379
|
declare function defineElements(names?: ElementName[]): void;
|
|
1092
1380
|
|
|
1093
|
-
export { ELEMENTS, type ElementName, MkActivityFeedElement, MkAddToCartElement, MkAttachmentElement, MkBidirectionalSliderElement, MkBreadcrumbElement, MkCalendarElement, MkChartElement, MkChartTooltipElement, MkChatBackgroundElement, MkChatElement, MkCodeBlockElement, MkColorAreaElement, MkColorFieldElement, MkColorPickerElement, MkColorSliderElement, MkCommandSearchElement, MkContextMenuElement, MkCreditCardElement, MkCursorElement, MkDataTableElement, MkDateRangePickerElement, MkDateTimePickerElement, MkDialogElement, MkDrawerElement, MkEditableTableElement, MkElement, MkEmptyStateElement, MkFileExplorerElement, MkFilterBuilderElement, MkHeatmapChartElement, MkHoldConfirmElement, MkHoverCardElement, MkImagePreviewElement, MkInputOtpElement, MkIslandElement, MkJsonViewerElement, MkLikeButtonElement, MkLinkPreviewElement, MkLoadingButtonElement, MkMenuElement, MkMultiSelectElement, MkNavElement, MkNotificationBellElement, MkOrbitMenuElement, MkPaginationElement, MkPasswordStrengthElement, MkPieChartElement, MkPillButtonElement, MkPopoverElement, MkProgressElement, MkQuantityElement, MkQuestionnaireElement, MkRadarChartElement, MkRadialChartElement, MkRangeCalendarElement, MkRangeSliderElement, MkResizablePanelElement, MkRichTextEditorElement, MkSankeyChartElement, MkScratchCardElement, MkScrollIslandElement, MkSelectElement, MkSkeletonElement, MkSlotPickerElement, MkSplitViewElement, MkStarRatingElement, MkStatCardElement, MkStepsElement, MkStudioDockElement, MkSwipeActionsElement, MkTagInputElement, MkThemePickerElement, MkTimeFieldElement, MkTimelineElement, MkToasterElement, MkToolbarElement, MkTooltipElement, MkTrailerElement, MkTreeViewElement, MkVirtualListElement, MkVoiceDotsElement, type OptionType, SafeHTMLElement, defineElement, defineElements, defineStudioDock, defineTrailer };
|
|
1381
|
+
export { ELEMENTS, type ElementName, MkActivityFeedElement, MkAddToCartElement, MkAttachmentElement, MkBadgeButtonElement, MkBentoGridElement, MkBidirectionalSliderElement, MkBreadcrumbElement, MkCalendarElement, MkChartElement, MkChartTooltipElement, MkChatBackgroundElement, MkChatElement, MkCodeBlockElement, MkColorAreaElement, MkColorFieldElement, MkColorPickerElement, MkColorSliderElement, MkCommandSearchElement, MkContextMenuElement, MkCreditCardElement, MkCursorElement, MkDataTableElement, MkDateRangePickerElement, MkDateTimePickerElement, MkDialogElement, MkDrawerElement, MkDrilldownMenuElement, MkEditableTableElement, MkElement, MkEmptyStateElement, MkEqualizerSliderElement, MkFileExplorerElement, MkFilterBuilderElement, MkHandwritingTextElement, MkHeatmapChartElement, MkHoldConfirmElement, MkHoverCardElement, MkImagePreviewElement, MkInputOtpElement, MkIslandElement, MkJsonViewerElement, MkLikeButtonElement, MkLinkPreviewElement, MkLoadingButtonElement, MkMagnetizeButtonElement, MkMenuElement, MkMorphingPageDotsElement, MkMultiSelectElement, MkNavElement, MkNotFoundElement, MkNotificationBellElement, MkNotificationStackElement, MkOrbitMenuElement, MkPaginationElement, MkParticleButtonElement, MkPasswordStrengthElement, MkPieChartElement, MkPillButtonElement, MkPopoverElement, MkProgressElement, MkQuantityElement, MkQuestionnaireElement, MkRadarChartElement, MkRadialChartElement, MkRadioGroupElement, MkRangeCalendarElement, MkRangeSliderElement, MkRatingScaleElement, MkResizablePanelElement, MkRichTextEditorElement, MkSankeyChartElement, MkScratchCardElement, MkScrollIslandElement, MkScrollPreviewDockElement, MkSelectElement, MkSignaturePadElement, MkSkeletonElement, MkSlotPickerElement, MkSplitViewElement, MkStarRatingElement, MkStatCardElement, MkStepperElement, MkStepsElement, MkStickyHeaderElement, MkStudioDockElement, MkSwipeActionsElement, MkTagInputElement, MkTemperatureSliderElement, MkThemePickerElement, MkTimeFieldElement, MkTimelineElement, MkToasterElement, MkToolbarElement, MkTooltipElement, MkTrailerElement, MkTreeViewElement, MkVirtualListElement, MkVoiceDotsElement, MkVoiceMessageBubbleElement, MkWaveformPlayerElement, MkWheelPickerElement, type OptionType, SafeHTMLElement, defineBadgeButton, defineBentoGrid, defineDrilldownMenu, defineElement, defineElements, defineEqualizerSlider, defineHandwritingText, defineMagnetizeButton, defineMorphingPageDots, defineNotFound, defineNotificationStack, defineParticleButton, defineRadioGroup, defineRatingScale, defineScrollPreviewDock, defineSignaturePad, defineStepper, defineStickyHeader, defineStudioDock, defineTemperatureSlider, defineTrailer, defineVoiceMessageBubble, defineWaveformPlayer, defineWheelPicker };
|