@yewdiel21/motion-kit 0.14.0 → 0.15.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 +174 -155
- package/bin/motion-kit.mjs +3 -3
- package/dist/auto/index.d.ts +6 -3
- package/dist/auto/index.js +8 -2
- package/dist/auto/index.js.map +1 -1
- package/dist/{chunk-EY4BJKC4.js → chunk-6IRJYXJU.js} +2 -2
- package/dist/{chunk-CU6SXW3E.js → chunk-A6QQCF6V.js} +1309 -310
- package/dist/chunk-A6QQCF6V.js.map +1 -0
- package/dist/chunk-JXRS3OEA.js +3638 -0
- package/dist/chunk-JXRS3OEA.js.map +1 -0
- package/dist/css/components/add-to-cart.css +72 -0
- package/dist/css/components/bidirectional-slider.css +168 -0
- package/dist/css/components/data-table.css +121 -26
- package/dist/css/components/filter-builder.css +10 -15
- package/dist/css/components/heatmap-chart.css +391 -0
- package/dist/css/components/hover-card.css +8 -2
- package/dist/css/components/image-preview.css +90 -2
- package/dist/css/components/json-viewer.css +33 -1
- package/dist/css/components/nav.css +102 -102
- package/dist/css/components/orbit-menu.css +130 -0
- package/dist/css/components/pagination.css +10 -5
- package/dist/css/components/pie-chart.css +390 -0
- package/dist/css/components/pill-button.css +135 -0
- package/dist/css/components/radar-chart.css +370 -0
- package/dist/css/components/radial-chart.css +398 -0
- package/dist/css/components/sankey-chart.css +358 -0
- package/dist/css/components/scroll-island.css +111 -0
- package/dist/css/components/select.css +136 -0
- package/dist/css/components/toolbar.css +122 -0
- package/dist/css/components/tree-view.css +79 -0
- package/dist/css/components/voice-dots.css +70 -0
- package/dist/elements/index.d.ts +180 -7
- package/dist/elements/index.js +287 -6
- package/dist/elements/index.js.map +1 -1
- package/dist/{engine-Cn6IhE3z.d.ts → engine-5zRIssTO.d.ts} +11 -1
- package/dist/index.css +1832 -168
- package/dist/index.d.ts +4 -4
- package/dist/index.js +33 -3
- package/dist/index.js.map +1 -1
- package/dist/react/index.d.ts +117 -11
- package/dist/react/index.js +314 -13
- package/dist/react/index.js.map +1 -1
- package/dist/{reduced-BBUusld6.d.ts → reduced-6X_bns60.d.ts} +1 -1
- package/dist/{reveal-DEvp6U6T.d.ts → reveal-BfyKKsw4.d.ts} +97 -4
- package/dist/store-CA2Qcun_.d.ts +453 -0
- package/package.json +9 -16
- package/registry.json +1096 -948
- package/src/auto/auto-init.ts +6 -0
- package/src/components/add-to-cart/README.md +34 -0
- package/src/components/add-to-cart/add-to-cart.css +71 -0
- package/src/components/add-to-cart/element.ts +20 -0
- package/src/components/add-to-cart/engine.ts +206 -0
- package/src/components/add-to-cart/react.tsx +29 -0
- package/src/components/bidirectional-slider/README.md +46 -0
- package/src/components/bidirectional-slider/bidirectional-slider.css +167 -0
- package/src/components/bidirectional-slider/element.ts +42 -0
- package/src/components/bidirectional-slider/engine.ts +289 -0
- package/src/components/bidirectional-slider/react.tsx +45 -0
- package/src/components/chart/README.md +10 -0
- package/src/components/chart/element.ts +2 -0
- package/src/components/chart/engine.ts +50 -23
- package/src/components/chart/parts.ts +237 -0
- package/src/components/chart/react.tsx +2 -2
- package/src/components/chart/use-chart.ts +55 -0
- package/src/components/data-table/README.md +3 -3
- package/src/components/data-table/data-table.css +121 -26
- package/src/components/data-table/engine.ts +81 -29
- package/src/components/editable-table/engine.ts +67 -11
- package/src/components/filter-builder/engine.ts +33 -2
- package/src/components/filter-builder/filter-builder.css +10 -15
- package/src/components/heatmap-chart/README.md +48 -0
- package/src/components/heatmap-chart/element.ts +21 -0
- package/src/components/heatmap-chart/engine.ts +281 -0
- package/src/components/heatmap-chart/heatmap-chart.css +93 -0
- package/src/components/heatmap-chart/react.tsx +14 -0
- package/src/components/hover-card/engine.ts +30 -1
- package/src/components/hover-card/hover-card.css +8 -2
- package/src/components/image-preview/element.ts +1 -1
- package/src/components/image-preview/engine.ts +95 -15
- package/src/components/image-preview/image-preview.css +90 -2
- package/src/components/image-preview/react.tsx +3 -3
- package/src/components/json-viewer/engine.ts +11 -2
- package/src/components/json-viewer/json-viewer.css +33 -1
- package/src/components/nav/README.md +12 -10
- package/src/components/nav/element.ts +5 -5
- package/src/components/nav/engine.ts +21 -14
- package/src/components/nav/nav.css +102 -102
- package/src/components/nav/react.tsx +4 -4
- package/src/components/orbit-menu/README.md +46 -0
- package/src/components/orbit-menu/element.ts +27 -0
- package/src/components/orbit-menu/engine.ts +179 -0
- package/src/components/orbit-menu/orbit-menu.css +129 -0
- package/src/components/orbit-menu/react.tsx +44 -0
- package/src/components/pagination/README.md +1 -1
- package/src/components/pagination/engine.ts +50 -4
- package/src/components/pagination/pagination.css +10 -5
- package/src/components/pie-chart/README.md +48 -0
- package/src/components/pie-chart/element.ts +30 -0
- package/src/components/pie-chart/engine.ts +283 -0
- package/src/components/pie-chart/pie-chart.css +92 -0
- package/src/components/pie-chart/react.tsx +14 -0
- package/src/components/pill-button/README.md +46 -0
- package/src/components/pill-button/element.ts +16 -0
- package/src/components/pill-button/engine.ts +77 -0
- package/src/components/pill-button/pill-button.css +134 -0
- package/src/components/pill-button/react.tsx +32 -0
- package/src/components/radar-chart/README.md +48 -0
- package/src/components/radar-chart/element.ts +30 -0
- package/src/components/radar-chart/engine.ts +327 -0
- package/src/components/radar-chart/radar-chart.css +72 -0
- package/src/components/radar-chart/react.tsx +14 -0
- package/src/components/radial-chart/README.md +48 -0
- package/src/components/radial-chart/element.ts +30 -0
- package/src/components/radial-chart/engine.ts +290 -0
- package/src/components/radial-chart/radial-chart.css +100 -0
- package/src/components/radial-chart/react.tsx +14 -0
- package/src/components/sankey-chart/README.md +48 -0
- package/src/components/sankey-chart/element.ts +31 -0
- package/src/components/sankey-chart/engine.ts +401 -0
- package/src/components/sankey-chart/react.tsx +14 -0
- package/src/components/sankey-chart/sankey-chart.css +60 -0
- package/src/components/scroll-island/README.md +34 -0
- package/src/components/scroll-island/element.ts +16 -0
- package/src/components/scroll-island/engine.ts +252 -0
- package/src/components/scroll-island/react.tsx +26 -0
- package/src/components/scroll-island/scroll-island.css +110 -0
- package/src/components/select/README.md +34 -0
- package/src/components/select/element.ts +26 -0
- package/src/components/select/engine.ts +267 -0
- package/src/components/select/react.tsx +33 -0
- package/src/components/select/select.css +135 -0
- package/src/components/toolbar/README.md +46 -0
- package/src/components/toolbar/element.ts +30 -0
- package/src/components/toolbar/engine.ts +230 -0
- package/src/components/toolbar/react.tsx +34 -0
- package/src/components/toolbar/toolbar.css +121 -0
- package/src/components/tree-view/element.ts +1 -1
- package/src/components/tree-view/engine.ts +174 -0
- package/src/components/tree-view/react.tsx +7 -3
- package/src/components/tree-view/tree-view.css +79 -0
- package/src/components/voice-dots/README.md +48 -0
- package/src/components/voice-dots/element.ts +45 -0
- package/src/components/voice-dots/engine.ts +243 -0
- package/src/components/voice-dots/react.tsx +52 -0
- package/src/components/voice-dots/voice-dots.css +69 -0
- package/src/elements/index.ts +39 -0
- package/src/index.ts +16 -0
- package/src/motion/liquid.ts +14 -4
- package/src/react/index.ts +14 -1
- package/dist/chunk-6P4P7NU6.js +0 -1401
- package/dist/chunk-6P4P7NU6.js.map +0 -1
- package/dist/chunk-CU6SXW3E.js.map +0 -1
- package/dist/store-DjkTBX7f.d.ts +0 -195
- /package/dist/{chunk-EY4BJKC4.js.map → chunk-6IRJYXJU.js.map} +0 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/* components/add-to-cart/add-to-cart.css */
|
|
2
|
+
/* add-to-cart — the little box that carries the product to the cart: a kraft front with a tape stripe in the accent,
|
|
3
|
+
two flaps that close over the picture, a soft shadow; it flies above everything and never takes the pointer. */
|
|
4
|
+
.mk-add-to-cart,
|
|
5
|
+
mk-add-to-cart {
|
|
6
|
+
display: inline-flex;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
[data-mk-cart-box] {
|
|
10
|
+
--mk-cart-box: #c99a62;
|
|
11
|
+
--mk-cart-box-shade: #b0824d;
|
|
12
|
+
--mk-cart-tape: var(--mk-accent);
|
|
13
|
+
position: fixed;
|
|
14
|
+
z-index: 2147483646;
|
|
15
|
+
pointer-events: none;
|
|
16
|
+
filter: drop-shadow(0 10px 14px rgb(0 0 0 / 0.28));
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
[data-mk-cart-thumb] {
|
|
20
|
+
position: absolute;
|
|
21
|
+
top: 6px;
|
|
22
|
+
left: 50%;
|
|
23
|
+
width: 40px;
|
|
24
|
+
height: 40px;
|
|
25
|
+
margin-left: -20px;
|
|
26
|
+
border-radius: 8px;
|
|
27
|
+
object-fit: cover;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
[data-mk-cart-front] {
|
|
31
|
+
position: absolute;
|
|
32
|
+
right: 0;
|
|
33
|
+
bottom: 0;
|
|
34
|
+
left: 0;
|
|
35
|
+
height: 70%;
|
|
36
|
+
border-radius: 4px 4px 8px 8px;
|
|
37
|
+
background: linear-gradient(180deg, var(--mk-cart-box), var(--mk-cart-box-shade));
|
|
38
|
+
transform-origin: 50% 100%;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
[data-mk-cart-tape] {
|
|
42
|
+
position: absolute;
|
|
43
|
+
top: 0;
|
|
44
|
+
left: 50%;
|
|
45
|
+
width: 10px;
|
|
46
|
+
height: 100%;
|
|
47
|
+
margin-left: -5px;
|
|
48
|
+
border-radius: 0 0 2px 2px;
|
|
49
|
+
background: var(--mk-cart-tape);
|
|
50
|
+
opacity: 0.9;
|
|
51
|
+
transform-origin: 50% 0;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
[data-mk-cart-flap] {
|
|
55
|
+
position: absolute;
|
|
56
|
+
top: 18%;
|
|
57
|
+
width: 50%;
|
|
58
|
+
height: 14%;
|
|
59
|
+
background: var(--mk-cart-box-shade);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
[data-mk-cart-flap='left'] {
|
|
63
|
+
left: 0;
|
|
64
|
+
border-radius: 4px 0 0 2px;
|
|
65
|
+
transform-origin: 0 100%;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
[data-mk-cart-flap='right'] {
|
|
69
|
+
right: 0;
|
|
70
|
+
border-radius: 0 4px 2px 0;
|
|
71
|
+
transform-origin: 100% 100%;
|
|
72
|
+
}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/* components/bidirectional-slider/bidirectional-slider.css */
|
|
2
|
+
/* bidirectional-slider — a chunky 12 px track whose fill grows from the origin notch towards the thumb:
|
|
3
|
+
"more" in the accent, "less" in a tint of it. − and + sit at the ends; the bubble shows the signed value while held. */
|
|
4
|
+
.mk-bidirectional-slider,
|
|
5
|
+
mk-bidirectional-slider {
|
|
6
|
+
--mk-bislider-height: 2.75rem;
|
|
7
|
+
--mk-bislider-track: var(--mk-surface-2);
|
|
8
|
+
--mk-bislider-more: var(--mk-accent);
|
|
9
|
+
--mk-bislider-less: color-mix(in srgb, var(--mk-accent) 45%, var(--mk-surface-2));
|
|
10
|
+
display: grid;
|
|
11
|
+
grid-template-columns: auto minmax(6rem, 1fr) auto;
|
|
12
|
+
align-items: center;
|
|
13
|
+
gap: 0.375rem;
|
|
14
|
+
width: 100%;
|
|
15
|
+
max-width: 26rem;
|
|
16
|
+
color: var(--mk-text);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
[data-mk-bislider-track] {
|
|
20
|
+
position: relative;
|
|
21
|
+
height: var(--mk-bislider-height);
|
|
22
|
+
border-radius: 12px;
|
|
23
|
+
background: var(--mk-bislider-track);
|
|
24
|
+
touch-action: none;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
[data-mk-bislider-track]:has(input:focus-visible) {
|
|
28
|
+
outline: 2px solid var(--mk-accent);
|
|
29
|
+
outline-offset: 3px;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
[data-mk-bislider-clip] {
|
|
33
|
+
position: absolute;
|
|
34
|
+
inset: 0;
|
|
35
|
+
overflow: hidden;
|
|
36
|
+
border-radius: inherit;
|
|
37
|
+
pointer-events: none;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
[data-mk-bislider-fill] {
|
|
41
|
+
position: absolute;
|
|
42
|
+
top: 0;
|
|
43
|
+
bottom: 0;
|
|
44
|
+
background: var(--mk-bislider-more);
|
|
45
|
+
transition: background-color 0.2s ease;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
:is(.mk-bidirectional-slider, mk-bidirectional-slider)[data-mk-side='less'] [data-mk-bislider-fill] {
|
|
49
|
+
background: var(--mk-bislider-less);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
[data-mk-bislider-notch] {
|
|
53
|
+
position: absolute;
|
|
54
|
+
top: 30%;
|
|
55
|
+
bottom: 30%;
|
|
56
|
+
width: 2px;
|
|
57
|
+
margin-left: -1px;
|
|
58
|
+
border-radius: 2px;
|
|
59
|
+
background: color-mix(in srgb, var(--mk-text) 30%, transparent);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
[data-mk-bislider-thumb] {
|
|
63
|
+
position: absolute;
|
|
64
|
+
top: 20%;
|
|
65
|
+
bottom: 20%;
|
|
66
|
+
width: 4px;
|
|
67
|
+
margin-left: -2px;
|
|
68
|
+
border-radius: 4px;
|
|
69
|
+
background: var(--mk-text);
|
|
70
|
+
pointer-events: none;
|
|
71
|
+
transition: transform 0.35s var(--mk-ease-swatch);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
:is(.mk-bidirectional-slider, mk-bidirectional-slider)[data-mk-held] [data-mk-bislider-thumb] {
|
|
75
|
+
transform: scale(1.5, 1.2);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
[data-mk-bislider-bubble] {
|
|
79
|
+
position: absolute;
|
|
80
|
+
bottom: calc(100% + 0.5rem);
|
|
81
|
+
padding: 0.2rem 0.55rem;
|
|
82
|
+
border-radius: var(--mk-radius-full);
|
|
83
|
+
background: var(--mk-glass-inverse);
|
|
84
|
+
box-shadow: var(--mk-glass-bevel);
|
|
85
|
+
color: var(--mk-on-glass-inverse);
|
|
86
|
+
font: 600 0.75rem/1.2 var(--mk-font);
|
|
87
|
+
font-variant-numeric: tabular-nums;
|
|
88
|
+
white-space: nowrap;
|
|
89
|
+
pointer-events: none;
|
|
90
|
+
opacity: 0;
|
|
91
|
+
transform: translate(-50%, 4px) scale(0.85);
|
|
92
|
+
transform-origin: 50% 100%;
|
|
93
|
+
transition:
|
|
94
|
+
opacity 0.15s ease,
|
|
95
|
+
transform 0.3s var(--mk-ease-swatch);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
:is(.mk-bidirectional-slider, mk-bidirectional-slider):is([data-mk-held], :has(input:focus-visible)) [data-mk-bislider-bubble] {
|
|
99
|
+
opacity: 1;
|
|
100
|
+
transform: translate(-50%, 0) scale(1);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
[data-mk-bislider-input] {
|
|
104
|
+
position: absolute;
|
|
105
|
+
inset: 0;
|
|
106
|
+
width: 100%;
|
|
107
|
+
height: 100%;
|
|
108
|
+
margin: 0;
|
|
109
|
+
opacity: 0;
|
|
110
|
+
cursor: grab;
|
|
111
|
+
appearance: none;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
:is(.mk-bidirectional-slider, mk-bidirectional-slider)[data-mk-held] [data-mk-bislider-input] {
|
|
115
|
+
cursor: grabbing;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
:is([data-mk-bislider-less], [data-mk-bislider-more]) {
|
|
119
|
+
display: grid;
|
|
120
|
+
place-items: center;
|
|
121
|
+
width: var(--mk-bislider-height);
|
|
122
|
+
height: var(--mk-bislider-height);
|
|
123
|
+
padding: 0;
|
|
124
|
+
border: 0;
|
|
125
|
+
border-radius: 12px;
|
|
126
|
+
background: transparent;
|
|
127
|
+
color: inherit;
|
|
128
|
+
cursor: pointer;
|
|
129
|
+
transition: background-color 0.15s ease;
|
|
130
|
+
-webkit-tap-highlight-color: transparent;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
:is([data-mk-bislider-less], [data-mk-bislider-more]) svg {
|
|
134
|
+
width: 1.25rem;
|
|
135
|
+
height: 1.25rem;
|
|
136
|
+
fill: none;
|
|
137
|
+
stroke: currentColor;
|
|
138
|
+
stroke-width: 2;
|
|
139
|
+
stroke-linecap: round;
|
|
140
|
+
stroke-linejoin: round;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
@media (hover: hover) {
|
|
144
|
+
:is([data-mk-bislider-less], [data-mk-bislider-more]):hover {
|
|
145
|
+
background: var(--mk-surface-2);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
:is(.mk-bidirectional-slider, mk-bidirectional-slider):has(input:disabled) {
|
|
150
|
+
opacity: 0.5;
|
|
151
|
+
pointer-events: none;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
@media (prefers-reduced-motion: reduce) {
|
|
155
|
+
[data-mk-bislider-thumb],
|
|
156
|
+
[data-mk-bislider-bubble] {
|
|
157
|
+
transition: opacity 0.15s ease;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
@media (forced-colors: active) {
|
|
162
|
+
[data-mk-bislider-fill] {
|
|
163
|
+
background: Highlight !important;
|
|
164
|
+
}
|
|
165
|
+
[data-mk-bislider-track] {
|
|
166
|
+
border: 1px solid CanvasText;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/* components/data-table/data-table.css */
|
|
2
2
|
/* data-table — a toolbar (a 12 px search on surface-3, 12 px tool buttons with an accent count), the filter sentence
|
|
3
3
|
on accent-soft, then the table on a 20 px panel: a sticky muted header with sort buttons whose arrow turns, 3rem
|
|
4
|
-
rows on hairlines, chosen rows tinted
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
rows on hairlines, chosen rows softly tinted with an accent edge (their data stays readable), 18 px checks that
|
|
5
|
+
draw themselves, an 8 px row menu button and shimmering bones while loading; the foot with the range, the rows
|
|
6
|
+
per page menu and the pager; the bar of the chosen rows takes the toolbar's place, so it never covers a row.
|
|
7
|
+
Panels and menus (columns, filters, rows per page, row actions) are anchored .mk-dialog (dialog.css) surfaces with
|
|
8
|
+
20 px corners and 8 px items. The table scrolls sideways inside its panel when it is wider; --mk-dt-max-height
|
|
9
|
+
lets it scroll down too. */
|
|
8
10
|
.mk-data-table,
|
|
9
11
|
mk-data-table {
|
|
10
12
|
--mk-dt-max-height: none;
|
|
@@ -18,6 +20,8 @@ mk-data-table {
|
|
|
18
20
|
|
|
19
21
|
/* ── The toolbar ─────────────────────────────────────────────────────────── */
|
|
20
22
|
[data-mk-dt-bar] {
|
|
23
|
+
grid-row: 1;
|
|
24
|
+
grid-column: 1;
|
|
21
25
|
display: flex;
|
|
22
26
|
flex-wrap: wrap;
|
|
23
27
|
align-items: center;
|
|
@@ -87,6 +91,7 @@ mk-data-table {
|
|
|
87
91
|
}
|
|
88
92
|
|
|
89
93
|
[data-mk-dt-tool]:focus-visible,
|
|
94
|
+
[data-mk-dt-size-button]:focus-visible,
|
|
90
95
|
[data-mk-dt-sort]:focus-visible,
|
|
91
96
|
[data-mk-dt-row-menu]:focus-visible,
|
|
92
97
|
[data-mk-dt-pager] button:focus-visible,
|
|
@@ -224,8 +229,17 @@ mk-data-table {
|
|
|
224
229
|
background: color-mix(in srgb, var(--mk-text) 3%, transparent);
|
|
225
230
|
}
|
|
226
231
|
|
|
232
|
+
/* A chosen row: a light tint and an accent edge, never a fill that hides the data (on OLED the accent is white). */
|
|
227
233
|
[data-mk-dt-table] tbody tr[data-selected] {
|
|
228
|
-
background: color-mix(in srgb, var(--mk-accent
|
|
234
|
+
background: color-mix(in srgb, var(--mk-accent) 7%, transparent);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
[data-mk-dt-table] tbody tr[data-selected]:hover {
|
|
238
|
+
background: color-mix(in srgb, var(--mk-accent) 11%, transparent);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
[data-mk-dt-table] tbody tr[data-selected] > :first-child {
|
|
242
|
+
box-shadow: inset 3px 0 0 var(--mk-accent);
|
|
229
243
|
}
|
|
230
244
|
|
|
231
245
|
[data-mk-dt-table] td mark {
|
|
@@ -297,7 +311,7 @@ th[data-direction='desc'] [data-mk-dt-sort] svg {
|
|
|
297
311
|
width: 1.125rem;
|
|
298
312
|
height: 1.125rem;
|
|
299
313
|
box-sizing: border-box;
|
|
300
|
-
border:
|
|
314
|
+
border: 2px solid var(--mk-outline);
|
|
301
315
|
border-radius: 5px;
|
|
302
316
|
color: transparent;
|
|
303
317
|
vertical-align: middle;
|
|
@@ -318,6 +332,9 @@ th[data-direction='desc'] [data-mk-dt-sort] svg {
|
|
|
318
332
|
}
|
|
319
333
|
|
|
320
334
|
[data-mk-dt-check] svg {
|
|
335
|
+
display: block;
|
|
336
|
+
width: 100%;
|
|
337
|
+
height: 100%;
|
|
321
338
|
pointer-events: none;
|
|
322
339
|
}
|
|
323
340
|
|
|
@@ -423,14 +440,35 @@ th[data-direction='desc'] [data-mk-dt-sort] svg {
|
|
|
423
440
|
margin-left: auto;
|
|
424
441
|
}
|
|
425
442
|
|
|
426
|
-
[data-mk-dt-size]
|
|
443
|
+
[data-mk-dt-size-button] {
|
|
444
|
+
display: inline-flex;
|
|
445
|
+
align-items: center;
|
|
446
|
+
gap: 0.25rem;
|
|
427
447
|
height: 2rem;
|
|
428
|
-
padding: 0 0.
|
|
448
|
+
padding: 0 0.375rem 0 0.75rem;
|
|
429
449
|
border: 1px solid var(--mk-outline-soft);
|
|
430
450
|
border-radius: 8px;
|
|
431
451
|
background: var(--mk-surface-1);
|
|
432
452
|
color: var(--mk-text);
|
|
433
453
|
font: inherit;
|
|
454
|
+
font-variant-numeric: tabular-nums;
|
|
455
|
+
cursor: pointer;
|
|
456
|
+
transition: background-color 0.15s;
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
[data-mk-dt-size-button]:hover,
|
|
460
|
+
[data-mk-dt-size-button][aria-expanded='true'] {
|
|
461
|
+
background: var(--mk-surface-2);
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
[data-mk-dt-size-button] svg {
|
|
465
|
+
flex: none;
|
|
466
|
+
color: var(--mk-muted);
|
|
467
|
+
transition: transform 0.3s cubic-bezier(0.38, 0.49, 0, 1.5);
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
[data-mk-dt-size-button][aria-expanded='true'] svg {
|
|
471
|
+
transform: rotate(180deg);
|
|
434
472
|
}
|
|
435
473
|
|
|
436
474
|
[data-mk-dt-pager] {
|
|
@@ -464,24 +502,28 @@ th[data-direction='desc'] [data-mk-dt-sort] svg {
|
|
|
464
502
|
}
|
|
465
503
|
|
|
466
504
|
/* ── The bar of the chosen rows ──────────────────────────────────────────── */
|
|
505
|
+
/* It shares the toolbar's grid cell and covers it while rows are chosen: the rows stay in view. */
|
|
467
506
|
[data-mk-dt-bulk] {
|
|
468
|
-
position:
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
z-index: 3;
|
|
507
|
+
position: relative;
|
|
508
|
+
z-index: 2;
|
|
509
|
+
grid-row: 1;
|
|
510
|
+
grid-column: 1;
|
|
473
511
|
display: flex;
|
|
474
512
|
flex-wrap: wrap;
|
|
475
513
|
align-items: center;
|
|
514
|
+
align-self: stretch;
|
|
476
515
|
gap: 0.25rem 0.5rem;
|
|
477
|
-
width:
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
516
|
+
min-width: 0;
|
|
517
|
+
min-height: 2.5rem;
|
|
518
|
+
padding: 0.25rem 0.25rem 0.25rem 1rem;
|
|
519
|
+
border-radius: 12px;
|
|
520
|
+
background: var(--mk-surface-3);
|
|
521
|
+
color: var(--mk-text);
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
.mk-data-table:has(> [data-mk-dt-bulk]:not([hidden])) > [data-mk-dt-bar],
|
|
525
|
+
mk-data-table:has(> [data-mk-dt-bulk]:not([hidden])) > [data-mk-dt-bar] {
|
|
526
|
+
visibility: hidden;
|
|
485
527
|
}
|
|
486
528
|
|
|
487
529
|
[data-mk-dt-bulk-label] {
|
|
@@ -505,12 +547,17 @@ th[data-direction='desc'] [data-mk-dt-sort] svg {
|
|
|
505
547
|
height: 2rem;
|
|
506
548
|
padding: 0 0.75rem;
|
|
507
549
|
border: 0;
|
|
508
|
-
border-radius:
|
|
509
|
-
background:
|
|
550
|
+
border-radius: 8px;
|
|
551
|
+
background: var(--mk-surface-1);
|
|
510
552
|
color: inherit;
|
|
511
553
|
font: inherit;
|
|
512
554
|
font-weight: 500;
|
|
513
555
|
cursor: pointer;
|
|
556
|
+
transition: background-color 0.15s;
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
[data-mk-dt-bulk] button:hover {
|
|
560
|
+
background: var(--mk-surface-2);
|
|
514
561
|
}
|
|
515
562
|
|
|
516
563
|
[data-mk-dt-bulk] button[data-danger] {
|
|
@@ -518,23 +565,31 @@ th[data-direction='desc'] [data-mk-dt-sort] svg {
|
|
|
518
565
|
color: var(--mk-on-error, #fff);
|
|
519
566
|
}
|
|
520
567
|
|
|
521
|
-
[data-mk-dt-select-all] {
|
|
568
|
+
[data-mk-dt-bulk] [data-mk-dt-select-all] {
|
|
569
|
+
background: none;
|
|
522
570
|
text-decoration: underline;
|
|
523
571
|
text-underline-offset: 3px;
|
|
524
572
|
}
|
|
525
573
|
|
|
526
|
-
|
|
574
|
+
/* The close button is a square with its cross in the middle (the bar's button padding must not reach it). */
|
|
575
|
+
[data-mk-dt-bulk] [data-mk-dt-bulk-close] {
|
|
527
576
|
display: inline-grid;
|
|
528
577
|
place-items: center;
|
|
529
578
|
width: 2rem;
|
|
579
|
+
margin-left: auto;
|
|
530
580
|
padding: 0;
|
|
531
581
|
}
|
|
532
582
|
|
|
583
|
+
[data-mk-dt-bulk-close] svg {
|
|
584
|
+
display: block;
|
|
585
|
+
}
|
|
586
|
+
|
|
533
587
|
/* ── Panels and the row menu ─────────────────────────────────────────────── */
|
|
534
588
|
.mk-dialog.mk-dt-panel {
|
|
535
589
|
--mk-dialog-radius: 20px;
|
|
536
590
|
--mk-dialog-bg: var(--mk-surface-1);
|
|
537
|
-
|
|
591
|
+
/* A hairline keeps the panel apart from the table under it (on OLED both are near black). */
|
|
592
|
+
--mk-dialog-shadow: 0 0 0 1px var(--mk-outline-soft), 0 16px 48px -12px color-mix(in srgb, var(--mk-shadow-color, #000) 35%, transparent);
|
|
538
593
|
gap: 0.5rem;
|
|
539
594
|
width: max-content;
|
|
540
595
|
min-width: min(14rem, calc(100vw - 32px));
|
|
@@ -575,6 +630,45 @@ th[data-direction='desc'] [data-mk-dt-sort] svg {
|
|
|
575
630
|
background: var(--mk-surface-2);
|
|
576
631
|
}
|
|
577
632
|
|
|
633
|
+
/* The row menu and the rows per page menu look like the panels: 20 px surface, 8 px items, the same hover. */
|
|
634
|
+
.mk-dialog.mk-dt-panel.mk-dt-menu {
|
|
635
|
+
gap: 0.125rem;
|
|
636
|
+
min-width: 9rem;
|
|
637
|
+
padding: 0.375rem;
|
|
638
|
+
-webkit-backdrop-filter: none;
|
|
639
|
+
backdrop-filter: none;
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
.mk-dialog.mk-dt-menu [data-mk-item] {
|
|
643
|
+
gap: 0.625rem;
|
|
644
|
+
min-height: 2.25rem;
|
|
645
|
+
padding: 0 0.625rem;
|
|
646
|
+
border-radius: 8px;
|
|
647
|
+
font-family: inherit;
|
|
648
|
+
font-size: 0.875rem;
|
|
649
|
+
font-weight: 500;
|
|
650
|
+
letter-spacing: normal;
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
.mk-dialog.mk-dt-menu [data-mk-item]:hover,
|
|
654
|
+
.mk-dialog.mk-dt-menu [data-mk-item]:focus-visible {
|
|
655
|
+
background: var(--mk-surface-2);
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
.mk-dialog.mk-dt-menu [data-mk-item] svg {
|
|
659
|
+
flex: none;
|
|
660
|
+
margin-left: auto;
|
|
661
|
+
opacity: 0;
|
|
662
|
+
}
|
|
663
|
+
|
|
664
|
+
.mk-dialog.mk-dt-menu [data-mk-item][aria-checked='true'] {
|
|
665
|
+
font-weight: 600;
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
.mk-dialog.mk-dt-menu [data-mk-item][aria-checked='true'] svg {
|
|
669
|
+
opacity: 1;
|
|
670
|
+
}
|
|
671
|
+
|
|
578
672
|
.mk-dialog.mk-dt-menu [data-mk-item][data-danger] {
|
|
579
673
|
color: var(--mk-error);
|
|
580
674
|
}
|
|
@@ -585,6 +679,7 @@ th[data-direction='desc'] [data-mk-dt-sort] svg {
|
|
|
585
679
|
}
|
|
586
680
|
|
|
587
681
|
[data-mk-dt-sort] svg,
|
|
682
|
+
[data-mk-dt-size-button] svg,
|
|
588
683
|
[data-mk-dt-check] {
|
|
589
684
|
transition: none;
|
|
590
685
|
}
|
|
@@ -89,7 +89,13 @@ mk-filter-builder {
|
|
|
89
89
|
min-width: 0;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
|
|
92
|
+
/* Choices are the kit's select (select.css draws the button); inputs share its look. */
|
|
93
|
+
[data-mk-fb-rule] .mk-select {
|
|
94
|
+
min-width: 8rem;
|
|
95
|
+
max-width: 100%;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
[data-mk-fb-rule] input {
|
|
93
99
|
box-sizing: border-box;
|
|
94
100
|
min-width: 0;
|
|
95
101
|
height: 2.5rem;
|
|
@@ -104,22 +110,11 @@ mk-filter-builder {
|
|
|
104
110
|
transition: box-shadow 0.2s ease;
|
|
105
111
|
}
|
|
106
112
|
|
|
107
|
-
[data-mk-fb-rule] select {
|
|
108
|
-
max-width: 100%;
|
|
109
|
-
padding-right: 1.9rem;
|
|
110
|
-
appearance: none;
|
|
111
|
-
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
|
|
112
|
-
background-position: right 0.55rem center;
|
|
113
|
-
background-repeat: no-repeat;
|
|
114
|
-
background-size: 1rem;
|
|
115
|
-
cursor: pointer;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
113
|
[data-mk-fb-rule] input {
|
|
119
114
|
width: 9rem;
|
|
120
115
|
}
|
|
121
116
|
|
|
122
|
-
[data-mk-fb-rule]
|
|
117
|
+
[data-mk-fb-rule] input:focus-visible {
|
|
123
118
|
box-shadow: 0 0 0 3px color-mix(in srgb, var(--mk-accent) 35%, transparent);
|
|
124
119
|
}
|
|
125
120
|
|
|
@@ -218,7 +213,7 @@ mk-filter-builder {
|
|
|
218
213
|
}
|
|
219
214
|
|
|
220
215
|
@media (max-width: 480px) {
|
|
221
|
-
[data-mk-fb-rule] :is(select, input) {
|
|
216
|
+
[data-mk-fb-rule] :is(.mk-select, input) {
|
|
222
217
|
flex: 1 1 8rem;
|
|
223
218
|
}
|
|
224
219
|
}
|
|
@@ -226,7 +221,7 @@ mk-filter-builder {
|
|
|
226
221
|
@media (prefers-reduced-motion: reduce) {
|
|
227
222
|
[data-mk-fb-combinator] [role='radio'],
|
|
228
223
|
[data-mk-fb-actions] button,
|
|
229
|
-
[data-mk-fb-rule]
|
|
224
|
+
[data-mk-fb-rule] input {
|
|
230
225
|
transition: none;
|
|
231
226
|
}
|
|
232
227
|
}
|