@kernel4632/kima 0.9.2 → 0.9.4

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.
@@ -1,69 +1,138 @@
1
+ import { onBeforeUnmount as e } from "vue";
1
2
  // src/utils/motion.js
2
- var e = /* @__PURE__ */ new WeakMap(), t = /* @__PURE__ */ new WeakMap();
3
- function n(e) {
3
+ var t = /* @__PURE__ */ new WeakMap();
4
+ function n(t, n = "[data-kima-flip-key]") {
5
+ let r = /* @__PURE__ */ new Map(), a = 0, o = !1;
6
+ function s() {
7
+ let e = t?.value ?? t;
8
+ return e?.nodeType === 1 ? e : e?.$el?.nodeType === 1 ? e.$el : null;
9
+ }
10
+ function c(e) {
11
+ return e.getAttribute(n.slice(1, -1)) || e.dataset.kimaFlipKey || e;
12
+ }
13
+ function l() {
14
+ let e = s();
15
+ e && (r = new Map([...e.children].map((e) => {
16
+ let t = e.getBoundingClientRect();
17
+ return [c(e), {
18
+ node: e,
19
+ x: t.x,
20
+ y: t.y
21
+ }];
22
+ })));
23
+ }
24
+ function u() {
25
+ cancelAnimationFrame(a), a = requestAnimationFrame(() => {
26
+ if (o) return;
27
+ let e = s();
28
+ if (!e || i(e) || !e.animate) {
29
+ r.clear();
30
+ return;
31
+ }
32
+ let t = getComputedStyle(e), n = t.getPropertyValue("--kima-duration-slow").trim(), a = n ? parseFloat(n) * (n.endsWith("ms") ? 1 : 1e3) : 300;
33
+ if (!Number.isFinite(a) || a <= 0) r.clear();
34
+ else {
35
+ for (let n of e.children) {
36
+ let e = r.get(c(n));
37
+ if (!e) continue;
38
+ let i = n.getBoundingClientRect(), o = e.x - i.x, s = e.y - i.y;
39
+ Math.abs(o) < .5 && Math.abs(s) < .5 || n.animate([{ transform: `translate(${o}px, ${s}px)` }, { transform: "translate(0, 0)" }], {
40
+ duration: a,
41
+ easing: t.getPropertyValue("--kima-curve-emphasized").trim() || "ease-out"
42
+ });
43
+ }
44
+ r.clear();
45
+ }
46
+ });
47
+ }
48
+ return e(() => {
49
+ o = !0, cancelAnimationFrame(a);
50
+ }), {
51
+ capture: l,
52
+ play: u
53
+ };
54
+ }
55
+ var r = /* @__PURE__ */ new WeakMap();
56
+ function i(e) {
4
57
  return (e?.closest?.("[data-kima-reduced-motion]"))?.getAttribute("data-kima-reduced-motion") === "reduce" ? !0 : e?.ownerDocument?.defaultView?.matchMedia?.("(prefers-reduced-motion: reduce)").matches ?? !1;
5
58
  }
6
- function r(e) {
59
+ function a(e) {
7
60
  let t = parseFloat(e) || 0;
8
61
  return e.trim().endsWith("ms") ? t : t * 1e3;
9
62
  }
10
- function i(e) {
63
+ function o(e) {
11
64
  e.inert = !0, e.setAttribute("aria-hidden", "true");
12
65
  }
13
- function a(e) {
66
+ function s(e) {
14
67
  e.inert = !1, e.removeAttribute("aria-hidden");
15
68
  }
16
- var o = {
17
- onBeforeEnter: a,
18
- onBeforeLeave: i
19
- };
20
- function s(e) {
69
+ var c = {
70
+ onBeforeEnter: s,
71
+ onBeforeLeave: o
72
+ }, l = /* @__PURE__ */ new WeakMap();
73
+ function u(e) {
74
+ let t = l.get(e);
75
+ t && (Object.assign(e.style, t), l.delete(e)), s(e);
76
+ }
77
+ function d(e) {
21
78
  let t = e.parentElement;
22
79
  if (!t) return;
23
80
  let n = e.getBoundingClientRect(), r = t.getBoundingClientRect();
24
- e.ownerDocument.defaultView.getComputedStyle(t).position === "static" && (t.style.position = "relative"), Object.assign(e.style, {
81
+ e.ownerDocument.defaultView.getComputedStyle(t).position === "static" && (t.style.position = "relative"), l.has(e) || l.set(e, Object.fromEntries([
82
+ "position",
83
+ "top",
84
+ "left",
85
+ "right",
86
+ "bottom",
87
+ "width",
88
+ "height",
89
+ "boxSizing",
90
+ "margin"
91
+ ].map((t) => [t, e.style[t]]))), Object.assign(e.style, {
25
92
  position: "absolute",
26
- insetBlockStart: `${n.top - r.top + t.scrollTop}px`,
27
- insetInlineStart: `${n.left - r.left + t.scrollLeft}px`,
93
+ top: `${n.top - r.top - t.clientTop + t.scrollTop}px`,
94
+ left: `${n.left - r.left - t.clientLeft + t.scrollLeft}px`,
95
+ right: "auto",
96
+ bottom: "auto",
28
97
  width: `${n.width}px`,
29
98
  height: `${n.height}px`,
30
99
  boxSizing: "border-box",
31
100
  margin: "0"
32
- }), i(e);
101
+ }), o(e);
33
102
  }
34
- var c = /* @__PURE__ */ new WeakMap();
35
- function l(e) {
103
+ var f = /* @__PURE__ */ new WeakMap();
104
+ function p(e) {
36
105
  let t = e?.getBoundingClientRect().height || 0;
37
- t > 0 && c.set(e, t);
106
+ t > 0 && f.set(e, t);
38
107
  }
39
- function u(n) {
40
- let r = e.get(n);
41
- r && (t.set(n, {
42
- height: n.getBoundingClientRect().height,
43
- opacity: getComputedStyle(n).opacity
44
- }), r.observer?.disconnect(), e.delete(n), r.animation?.cancel(), n.style.overflow = r.overflow);
108
+ function m(e) {
109
+ let n = t.get(e);
110
+ n && (r.set(e, {
111
+ height: e.getBoundingClientRect().height,
112
+ opacity: getComputedStyle(e).opacity
113
+ }), n.observer?.disconnect(), t.delete(e), n.animation?.cancel(), e.style.overflow = n.overflow);
45
114
  }
46
- function d(i, a, o) {
47
- let s = i.ownerDocument.defaultView, l = i.style.display === "none" || s.getComputedStyle(i).display === "none";
48
- o && l && (i.style.display = "");
49
- let u = s.getComputedStyle(i), d = t.get(i);
50
- t.delete(i);
51
- let f = i.getBoundingClientRect().height || c.get(i) || 0, p = n(i) ? 0 : r(u.getPropertyValue("--kima-duration-slow") || "300ms"), m = u.getPropertyValue("--kima-curve-emphasized").trim() || "ease-out";
52
- if (!p || !i.animate) {
53
- a();
115
+ function h(e, n, o) {
116
+ let s = e.ownerDocument.defaultView, c = e.style.display === "none" || s.getComputedStyle(e).display === "none";
117
+ o && c && (e.style.display = "");
118
+ let l = s.getComputedStyle(e), u = r.get(e);
119
+ r.delete(e);
120
+ let d = e.getBoundingClientRect().height || f.get(e) || 0, p = i(e) ? 0 : a(l.getPropertyValue("--kima-duration-slow") || "300ms"), m = l.getPropertyValue("--kima-curve-emphasized").trim() || "ease-out";
121
+ if (!p || !e.animate) {
122
+ n();
54
123
  return;
55
124
  }
56
125
  let h = {
57
- overflow: i.style.overflow,
126
+ overflow: e.style.overflow,
58
127
  animation: null,
59
128
  observer: null
60
129
  };
61
- e.set(i, h), i.style.overflow = "clip";
62
- let g = o ? f : 0;
63
- function _(t, n) {
64
- let r = i.animate([{
65
- height: `${t}px`,
66
- opacity: n
130
+ t.set(e, h), e.style.overflow = "clip";
131
+ let g = o ? d : 0;
132
+ function _(r, i) {
133
+ let a = e.animate([{
134
+ height: `${r}px`,
135
+ opacity: i
67
136
  }, {
68
137
  height: `${g}px`,
69
138
  opacity: +!!o
@@ -72,24 +141,24 @@ function d(i, a, o) {
72
141
  easing: m,
73
142
  fill: "both"
74
143
  });
75
- h.animation = r, r.finished.then(() => {
76
- e.get(i) === h && h.animation === r && (h.observer?.disconnect(), e.delete(i), i.style.overflow = h.overflow, a(), r.cancel());
144
+ h.animation = a, a.finished.then(() => {
145
+ t.get(e) === h && h.animation === a && (h.observer?.disconnect(), t.delete(e), e.style.overflow = h.overflow, n(), a.cancel());
77
146
  }).catch(() => {});
78
147
  }
79
- if (_(d?.height ?? (o ? 0 : f), d?.opacity ?? (o ? 0 : u.opacity)), o && s.ResizeObserver && i.firstElementChild) {
80
- let t = i.firstElementChild.getBoundingClientRect().height;
148
+ if (_(u?.height ?? (o ? 0 : d), u?.opacity ?? (o ? 0 : l.opacity)), o && s.ResizeObserver && e.firstElementChild) {
149
+ let n = e.firstElementChild.getBoundingClientRect().height;
81
150
  h.observer = new s.ResizeObserver(() => {
82
- let n = i.firstElementChild?.getBoundingClientRect().height ?? t;
83
- if (Math.abs(n - t) < .5 || e.get(i) !== h) return;
84
- let r = i.getBoundingClientRect().height, a = s.getComputedStyle(i).opacity;
85
- g += n - t, t = n, h.animation.cancel(), _(r, a);
86
- }), h.observer.observe(i.firstElementChild);
151
+ let r = e.firstElementChild?.getBoundingClientRect().height ?? n;
152
+ if (Math.abs(r - n) < .5 || t.get(e) !== h) return;
153
+ let i = e.getBoundingClientRect().height, a = s.getComputedStyle(e).opacity;
154
+ g += r - n, n = r, h.animation.cancel(), _(i, a);
155
+ }), h.observer.observe(e.firstElementChild);
87
156
  }
88
157
  }
89
- var f = {
90
- onEnter: (e, t) => d(e, t, !0),
91
- onLeave: (e, t) => d(e, t, !1),
92
- onEnterCancelled: u,
93
- onLeaveCancelled: u
158
+ var g = {
159
+ onEnter: (e, t) => h(e, t, !0),
160
+ onLeave: (e, t) => h(e, t, !1),
161
+ onEnterCancelled: m,
162
+ onLeaveCancelled: m
94
163
  };
95
- export { a as activateMotionElement, f as collapseTransition, s as freezeLeaveLayout, n as prefersReducedMotion, o as presenceTransition, l as rememberCollapseHeight, i as retireMotionElement };
164
+ export { s as activateMotionElement, g as collapseTransition, d as freezeLeaveLayout, i as prefersReducedMotion, c as presenceTransition, p as rememberCollapseHeight, u as restoreLeaveLayout, o as retireMotionElement, n as useLayoutFlip };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kernel4632/kima",
3
- "version": "0.9.2",
3
+ "version": "0.9.4",
4
4
  "description": "KIMA (Kinetic, Interaction, Motion, Alive) - a Material 3 style Web UI design system and component library.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -1 +0,0 @@
1
- @keyframes kima-ripple-glow-1cfa12e4{0%{opacity:.14}55%{opacity:.1}to{opacity:0}}.kima-notification-enter-active[data-v-1cfa12e4]{transition:opacity var(--kima-duration-medium) var(--kima-curve-emphasized), transform var(--kima-duration-medium) var(--kima-curve-emphasized)}.kima-notification-leave-active[data-v-1cfa12e4]{pointer-events:none;transition:opacity var(--kima-duration-fast) var(--kima-curve-standard), transform var(--kima-duration-fast) var(--kima-curve-standard)}.kima-notification-enter-from[data-v-1cfa12e4],.kima-notification-leave-to[data-v-1cfa12e4]{opacity:0}.kima-notification--top-right.kima-notification-enter-from[data-v-1cfa12e4],.kima-notification--top-right.kima-notification-leave-to[data-v-1cfa12e4],.kima-notification--bottom-right.kima-notification-enter-from[data-v-1cfa12e4],.kima-notification--bottom-right.kima-notification-leave-to[data-v-1cfa12e4]{transform:translate(calc(100% + 24px))}.kima-notification--top-left.kima-notification-enter-from[data-v-1cfa12e4],.kima-notification--top-left.kima-notification-leave-to[data-v-1cfa12e4],.kima-notification--bottom-left.kima-notification-enter-from[data-v-1cfa12e4],.kima-notification--bottom-left.kima-notification-leave-to[data-v-1cfa12e4]{transform:translate(calc(-100% - 24px))}.kima-notification--slide-right.kima-notification-enter-from[data-v-1cfa12e4],.kima-notification--slide-right.kima-notification-leave-to[data-v-1cfa12e4]{transform:translate(calc(100% + 24px))}.kima-notification--slide-left.kima-notification-enter-from[data-v-1cfa12e4],.kima-notification--slide-left.kima-notification-leave-to[data-v-1cfa12e4]{transform:translate(calc(-100% - 24px))}.kima-notification--slide-up.kima-notification-enter-from[data-v-1cfa12e4],.kima-notification--slide-up.kima-notification-leave-to[data-v-1cfa12e4]{transform:translateY(calc(-100% - 24px))}.kima-notification--slide-down.kima-notification-enter-from[data-v-1cfa12e4],.kima-notification--slide-down.kima-notification-leave-to[data-v-1cfa12e4]{transform:translateY(calc(100% + 24px))}.kima-notification--top.kima-notification-enter-from[data-v-1cfa12e4],.kima-notification--top-center.kima-notification-enter-from[data-v-1cfa12e4],.kima-notification--top.kima-notification-leave-to[data-v-1cfa12e4],.kima-notification--top-center.kima-notification-leave-to[data-v-1cfa12e4]{transform:translate(-50%)translateY(calc(-100% - 24px))}.kima-notification--bottom.kima-notification-enter-from[data-v-1cfa12e4],.kima-notification--bottom-center.kima-notification-enter-from[data-v-1cfa12e4],.kima-notification--bottom.kima-notification-leave-to[data-v-1cfa12e4],.kima-notification--bottom-center.kima-notification-leave-to[data-v-1cfa12e4]{transform:translate(-50%)translateY(calc(100% + 24px))}.kima-notification[data-v-1cfa12e4]{box-sizing:border-box;z-index:1100;align-items:flex-start;gap:var(--kima-space-3);width:min(420px,100vw - 32px);max-height:calc(100dvh - 32px);padding:var(--kima-space-4);border-radius:var(--kima-radius-l);color:var(--kima-color-on-surface);background:var(--kima-color-popup);box-shadow:var(--kima-elevation-4);font-family:var(--kima-font-family);border:0;display:flex;overflow:auto}.kima-notification--stacked[data-v-1cfa12e4]{pointer-events:auto;width:100%;position:relative;inset:auto}.kima-notification__icon[data-v-1cfa12e4]{width:24px;height:calc(var(--kima-font-size-md) * 1.3);opacity:.9;flex:none;justify-content:center;align-items:center;display:inline-flex}.kima-notification--top[data-v-1cfa12e4],.kima-notification--top-center[data-v-1cfa12e4],.kima-notification--top-left[data-v-1cfa12e4],.kima-notification--top-right[data-v-1cfa12e4]{top:var(--kima-space-4)}.kima-notification--bottom[data-v-1cfa12e4],.kima-notification--bottom-center[data-v-1cfa12e4],.kima-notification--bottom-left[data-v-1cfa12e4],.kima-notification--bottom-right[data-v-1cfa12e4]{bottom:var(--kima-space-4)}.kima-notification--top[data-v-1cfa12e4],.kima-notification--bottom[data-v-1cfa12e4],.kima-notification--top-center[data-v-1cfa12e4],.kima-notification--bottom-center[data-v-1cfa12e4]{left:50%;transform:translate(-50%)}.kima-notification--top-left[data-v-1cfa12e4],.kima-notification--bottom-left[data-v-1cfa12e4]{left:var(--kima-space-4)}.kima-notification--top-right[data-v-1cfa12e4],.kima-notification--bottom-right[data-v-1cfa12e4]{right:var(--kima-space-4)}.kima-notification--info[data-v-1cfa12e4]{color:var(--kima-color-on-primary-container);background:var(--kima-color-primary-container)}.kima-notification--warning[data-v-1cfa12e4]{color:var(--kima-color-on-warning);background:var(--kima-color-warning)}.kima-notification--success[data-v-1cfa12e4]{color:var(--kima-color-on-success);background:var(--kima-color-success)}.kima-notification--danger[data-v-1cfa12e4]{color:var(--kima-color-on-danger);background:var(--kima-color-danger)}.kima-notification__copy[data-v-1cfa12e4]{gap:var(--kima-space-1);overflow-wrap:anywhere;flex-direction:column;flex:auto;min-width:0;display:flex}.kima-notification__title[data-v-1cfa12e4]{font-size:var(--kima-font-size-md);font-weight:var(--kima-font-weight-bold);line-height:1.3}.kima-notification__message[data-v-1cfa12e4]{font-size:var(--kima-font-size-sm);line-height:1.45}.kima-notification__action[data-v-1cfa12e4]{margin-top:var(--kima-space-2);gap:var(--kima-space-2);flex-wrap:wrap;display:flex}.kima-notification__action[data-v-1cfa12e4]:empty{display:none}.kima-notification__close[data-v-1cfa12e4]{width:32px;height:32px;margin:calc((var(--kima-font-size-md) * 1.3 - 32px) / 2) calc(var(--kima-space-1) * -1) 0 0;border-radius:var(--kima-radius-full);color:inherit;background:var(--kima-color-transparent);cursor:pointer;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.kima-notification__close[data-v-1cfa12e4]:after{content:"";z-index:1;border-radius:inherit;opacity:0;pointer-events:none;transition:opacity var(--kima-duration-effects) var(--kima-curve-standard);background:currentColor;position:absolute;inset:0}.kima-notification__close[data-v-1cfa12e4]>*{z-index:2;position:relative}.kima-notification__close[data-v-1cfa12e4]:hover:not(:disabled):not([aria-disabled=true]):after{opacity:var(--kima-state-hover)}.kima-notification__close[data-v-1cfa12e4]:focus-visible:after{opacity:var(--kima-state-focus)}.kima-notification__close[data-v-1cfa12e4]:active:not(:disabled):not([aria-disabled=true]):after{opacity:var(--kima-state-pressed)}.kima-notification__close[data-v-1cfa12e4]:focus-visible{outline:var(--kima-focus-ring-width) solid var(--kima-color-primary);outline-offset:var(--kima-focus-ring-offset)}.kima-notification__close[data-v-1cfa12e4]{position:relative;overflow:hidden}.kima-notification__close[data-v-1cfa12e4] .kima-ripple{z-index:2;pointer-events:none;animation:kima-ripple-glow-1cfa12e4 var(--kima-duration-slower) linear forwards;background:currentColor;position:absolute;inset:0}.kima-notification__close[data-v-1cfa12e4]{transition:background-color var(--kima-duration-effects) var(--kima-curve-standard)}.kima-notification__close[data-v-1cfa12e4]:hover{background:color-mix(in srgb, currentColor 12%, var(--kima-color-transparent))}@media (prefers-reduced-motion:reduce){.kima-notification__close[data-v-1cfa12e4]{transition:none}.kima-notification-enter-active[data-v-1cfa12e4],.kima-notification-leave-active[data-v-1cfa12e4]{transition-duration:1ms}.kima-notification-enter-from[data-v-1cfa12e4],.kima-notification-leave-to[data-v-1cfa12e4]{transform:none}.kima-notification--top[data-v-1cfa12e4],.kima-notification--top-center[data-v-1cfa12e4],.kima-notification--bottom[data-v-1cfa12e4],.kima-notification--bottom-center[data-v-1cfa12e4]{transform:translate(-50%)}}@media (width<=600px){.kima-notification--top[data-v-1cfa12e4],.kima-notification--top-left[data-v-1cfa12e4],.kima-notification--top-center[data-v-1cfa12e4],.kima-notification--top-right[data-v-1cfa12e4]{top:var(--kima-space-3)}.kima-notification--bottom[data-v-1cfa12e4],.kima-notification--bottom-left[data-v-1cfa12e4],.kima-notification--bottom-center[data-v-1cfa12e4],.kima-notification--bottom-right[data-v-1cfa12e4]{bottom:var(--kima-space-3)}.kima-notification--top-left[data-v-1cfa12e4],.kima-notification--bottom-left[data-v-1cfa12e4]{left:var(--kima-space-3)}.kima-notification--top-right[data-v-1cfa12e4],.kima-notification--bottom-right[data-v-1cfa12e4]{right:var(--kima-space-3)}}
@@ -1 +0,0 @@
1
- .kima-notification-queue[data-v-8ff80bbb]{z-index:1100;pointer-events:none;width:min(420px,100vw - 32px);font-family:var(--kima-font-family);position:fixed}.kima-notification-queue--top[data-v-8ff80bbb],.kima-notification-queue--top-center[data-v-8ff80bbb],.kima-notification-queue--top-left[data-v-8ff80bbb],.kima-notification-queue--top-right[data-v-8ff80bbb]{top:var(--kima-space-4)}.kima-notification-queue--bottom[data-v-8ff80bbb],.kima-notification-queue--bottom-center[data-v-8ff80bbb],.kima-notification-queue--bottom-left[data-v-8ff80bbb],.kima-notification-queue--bottom-right[data-v-8ff80bbb]{bottom:var(--kima-space-4)}.kima-notification-queue--top[data-v-8ff80bbb],.kima-notification-queue--bottom[data-v-8ff80bbb],.kima-notification-queue--top-center[data-v-8ff80bbb],.kima-notification-queue--bottom-center[data-v-8ff80bbb]{left:50%;transform:translate(-50%)}.kima-notification-queue--top-left[data-v-8ff80bbb],.kima-notification-queue--bottom-left[data-v-8ff80bbb]{left:var(--kima-space-4)}.kima-notification-queue--top-right[data-v-8ff80bbb],.kima-notification-queue--bottom-right[data-v-8ff80bbb]{right:var(--kima-space-4)}.kima-notification-queue--slide-right .kima-notification-queue-enter-from[data-v-8ff80bbb],.kima-notification-queue--slide-right .kima-notification-queue-leave-to[data-v-8ff80bbb]{transform:translate(calc(100% + 24px))}.kima-notification-queue--slide-left .kima-notification-queue-enter-from[data-v-8ff80bbb],.kima-notification-queue--slide-left .kima-notification-queue-leave-to[data-v-8ff80bbb]{transform:translate(calc(-100% - 24px))}.kima-notification-queue--slide-up .kima-notification-queue-enter-from[data-v-8ff80bbb],.kima-notification-queue--slide-up .kima-notification-queue-leave-to[data-v-8ff80bbb]{transform:translateY(calc(-100% - 24px))}.kima-notification-queue--slide-down .kima-notification-queue-enter-from[data-v-8ff80bbb],.kima-notification-queue--slide-down .kima-notification-queue-leave-to[data-v-8ff80bbb]{transform:translateY(calc(100% + 24px))}.kima-notification-queue__stack[data-v-8ff80bbb]{gap:var(--kima-space-3);pointer-events:none;display:grid}.kima-notification-queue__item[data-v-8ff80bbb]{min-width:0}.kima-notification-queue__item.kima-notification-queue-enter-active[data-v-8ff80bbb],.kima-notification-queue__item.kima-notification-queue-leave-active[data-v-8ff80bbb]{transition:opacity var(--kima-duration-medium) var(--kima-curve-emphasized), transform var(--kima-duration-medium) var(--kima-curve-emphasized)}.kima-notification-queue__item.kima-notification-queue-leave-active[data-v-8ff80bbb]{pointer-events:none;position:absolute;inset-inline:0}.kima-notification-queue__item.kima-notification-queue-enter-from[data-v-8ff80bbb],.kima-notification-queue__item.kima-notification-queue-leave-to[data-v-8ff80bbb]{opacity:0}@media (prefers-reduced-motion:reduce){.kima-notification-queue__item.kima-notification-queue-enter-active[data-v-8ff80bbb],.kima-notification-queue__item.kima-notification-queue-leave-active[data-v-8ff80bbb],.kima-notification-queue__item.kima-notification-queue-move[data-v-8ff80bbb]{transition-duration:1ms}}
@@ -1 +0,0 @@
1
- .kima-tag-group[data-v-892954ad]{color:var(--kima-color-on-surface);font-family:var(--kima-font-family)}.kima-tag-group__items[data-v-892954ad]{gap:var(--kima-space-2);flex-wrap:wrap;display:flex;position:relative}