mn-angular-lib 1.0.75 → 1.0.77
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/fesm2022/mn-angular-lib.mjs +676 -664
- package/fesm2022/mn-angular-lib.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/features/mn-grid/mn-grid.component.css +63 -0
- package/src/lib/features/mn-modal/components/mn-modal-shell/mn-modal-shell.component.css +9 -0
- package/src/lib/features/mn-skeleton/mn-skeleton.css +9 -1
- package/types/mn-angular-lib.d.ts +627 -513
package/package.json
CHANGED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Responsive card grid driven by CSS custom properties set inline by the
|
|
3
|
+
* component. Dynamic Tailwind classes (e.g. md:grid-cols-3) can't be used: the
|
|
4
|
+
* consuming app's JIT can't see runtime values and would drop them. Breakpoints
|
|
5
|
+
* match Tailwind defaults (sm 640, md 768, lg 1024, xl 1280).
|
|
6
|
+
*
|
|
7
|
+
* Each `--mn-grid-cols-*` falls back to the next-smaller breakpoint so consumers
|
|
8
|
+
* only set the breakpoints they care about.
|
|
9
|
+
*/
|
|
10
|
+
:host {
|
|
11
|
+
display: block;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.mn-grid {
|
|
15
|
+
display: grid;
|
|
16
|
+
gap: var(--mn-grid-gap, 1rem);
|
|
17
|
+
grid-template-columns: repeat(var(--mn-grid-cols-base, 1), minmax(0, 1fr));
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@media (min-width: 640px) {
|
|
21
|
+
.mn-grid {
|
|
22
|
+
grid-template-columns: repeat(
|
|
23
|
+
var(--mn-grid-cols-sm, var(--mn-grid-cols-base, 1)),
|
|
24
|
+
minmax(0, 1fr)
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@media (min-width: 768px) {
|
|
30
|
+
.mn-grid {
|
|
31
|
+
grid-template-columns: repeat(
|
|
32
|
+
var(--mn-grid-cols-md, var(--mn-grid-cols-sm, var(--mn-grid-cols-base, 1))),
|
|
33
|
+
minmax(0, 1fr)
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@media (min-width: 1024px) {
|
|
39
|
+
.mn-grid {
|
|
40
|
+
grid-template-columns: repeat(
|
|
41
|
+
var(--mn-grid-cols-lg, var(--mn-grid-cols-md, var(--mn-grid-cols-sm, var(--mn-grid-cols-base, 1)))),
|
|
42
|
+
minmax(0, 1fr)
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@media (min-width: 1280px) {
|
|
48
|
+
.mn-grid {
|
|
49
|
+
grid-template-columns: repeat(
|
|
50
|
+
var(--mn-grid-cols-xl, var(--mn-grid-cols-lg, var(--mn-grid-cols-md, var(--mn-grid-cols-sm, var(--mn-grid-cols-base, 1))))),
|
|
51
|
+
minmax(0, 1fr)
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/*
|
|
57
|
+
* auto-fit layout (minCardWidth). Two classes → higher specificity than the
|
|
58
|
+
* single-class media-query rules above, so it wins at every width regardless of
|
|
59
|
+
* any `cols` vars that may also be set.
|
|
60
|
+
*/
|
|
61
|
+
.mn-grid.mn-grid--auto {
|
|
62
|
+
grid-template-columns: repeat(auto-fit, minmax(var(--mn-grid-min, 18rem), 1fr));
|
|
63
|
+
}
|
|
@@ -24,6 +24,15 @@
|
|
|
24
24
|
transition: none;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
/* A swipe past the dismiss threshold glides the sheet off-screen via its transform
|
|
28
|
+
transition. Suppress the slide-up keyframe (it would snap back to 0 first); the
|
|
29
|
+
backdrop still fades out via its own .closing animation. */
|
|
30
|
+
:host(.swipe-dismissing) .modal-container,
|
|
31
|
+
:host(.swipe-dismissing).closing .modal-container {
|
|
32
|
+
animation: none !important;
|
|
33
|
+
transition: transform 0.2s ease-in;
|
|
34
|
+
}
|
|
35
|
+
|
|
27
36
|
@keyframes fadeIn {
|
|
28
37
|
from { opacity: 0; }
|
|
29
38
|
to { opacity: 1; }
|
|
@@ -14,11 +14,19 @@
|
|
|
14
14
|
.mn-skeleton-shimmer-bar {
|
|
15
15
|
position: absolute;
|
|
16
16
|
inset: 0;
|
|
17
|
+
/* Highlight band derives from a theme token (base-100) so it contrasts against
|
|
18
|
+
the base-300 surface in both light and dark themes, instead of a fixed white. */
|
|
17
19
|
background: linear-gradient(
|
|
18
20
|
90deg,
|
|
19
21
|
transparent 0%,
|
|
20
|
-
|
|
22
|
+
color-mix(in srgb, var(--color-base-100) 65%, transparent) 50%,
|
|
21
23
|
transparent 100%
|
|
22
24
|
);
|
|
23
25
|
animation: mn-skeleton-shimmer 1.5s ease-in-out infinite;
|
|
24
26
|
}
|
|
27
|
+
|
|
28
|
+
@media (prefers-reduced-motion: reduce) {
|
|
29
|
+
.mn-skeleton-shimmer-bar {
|
|
30
|
+
animation: none;
|
|
31
|
+
}
|
|
32
|
+
}
|