@ac-design/design-system 2.4.1 → 2.4.3
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/dist/lib/compat.css
CHANGED
|
@@ -770,15 +770,21 @@ button:is([data-ac-ds], [data-ac-ds] *), input:where([type="button"], [type="res
|
|
|
770
770
|
.ac-scrollbar:where([data-ac-ds], [data-ac-ds] *) {
|
|
771
771
|
overflow: auto !important;
|
|
772
772
|
scrollbar-width: thin !important;
|
|
773
|
-
scrollbar-color:
|
|
773
|
+
scrollbar-color: transparent transparent !important;
|
|
774
|
+
&:hover:where([data-ac-ds], [data-ac-ds] *), &:focus-within:where([data-ac-ds], [data-ac-ds] *) {
|
|
775
|
+
scrollbar-color: rgb(176 176 176 / 0.55) transparent !important;
|
|
776
|
+
}
|
|
774
777
|
&:where([data-ac-ds], [data-ac-ds] *)::-webkit-scrollbar {
|
|
775
778
|
width: 4px !important;
|
|
776
779
|
height: 4px !important;
|
|
777
780
|
}
|
|
778
781
|
&:where([data-ac-ds], [data-ac-ds] *)::-webkit-scrollbar-thumb {
|
|
779
|
-
background-color:
|
|
782
|
+
background-color: transparent !important;
|
|
780
783
|
border-radius: 9999px !important;
|
|
781
784
|
}
|
|
785
|
+
&:hover:where([data-ac-ds], [data-ac-ds] *)::-webkit-scrollbar-thumb, &:focus-within:where([data-ac-ds], [data-ac-ds] *)::-webkit-scrollbar-thumb {
|
|
786
|
+
background-color: #b0b0b0 !important;
|
|
787
|
+
}
|
|
782
788
|
&:where([data-ac-ds], [data-ac-ds] *)::-webkit-scrollbar-track {
|
|
783
789
|
background: transparent !important;
|
|
784
790
|
}
|
|
@@ -32,7 +32,7 @@ export interface Props {
|
|
|
32
32
|
isOfflineInstaller?: boolean;
|
|
33
33
|
/** Replaces the built-in AppsCode list. Entries without `url` get one built from `baseUrl`; the self-host and org-type rules aren't applied. */
|
|
34
34
|
apps?: AppSwitcherApp[];
|
|
35
|
-
/**
|
|
35
|
+
/** Hides the current app; defaults to `true` to match the old component. */
|
|
36
36
|
hideCurrent?: boolean;
|
|
37
37
|
/** Accessible name of the grid button, and the panel heading. */
|
|
38
38
|
label?: string;
|
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
import { fixedFrame as e } from "./fixedFrame.js";
|
|
2
2
|
import t from "./AcLogo.js";
|
|
3
3
|
import n from "./AcNavbarItem.js";
|
|
4
|
-
import { Fragment as r, Teleport as i, Transition as a, computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createVNode as d, defineComponent as f, mergeModels as p, nextTick as m, normalizeClass as h, normalizeStyle as
|
|
5
|
-
import {
|
|
4
|
+
import { Fragment as r, Teleport as i, Transition as a, computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createVNode as d, defineComponent as f, mergeModels as p, nextTick as m, normalizeClass as h, normalizeStyle as ee, onBeforeUnmount as g, openBlock as _, ref as v, renderList as y, renderSlot as b, resolveDynamicComponent as te, toDisplayString as x, unref as S, useId as C, useModel as w, watch as T, withCtx as ne } from "vue";
|
|
5
|
+
import { Check as re, Grip as ie } from "@lucide/vue";
|
|
6
6
|
//#region src/lib/components/AcAppSwitcher.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
-
var
|
|
7
|
+
var ae = {
|
|
8
8
|
class: "inline-flex",
|
|
9
9
|
"data-ac-ds": "",
|
|
10
10
|
"data-testid": "ac-app-switcher"
|
|
11
|
-
},
|
|
11
|
+
}, oe = {
|
|
12
12
|
role: "list",
|
|
13
13
|
class: "grid grid-cols-3 gap-1"
|
|
14
|
-
},
|
|
14
|
+
}, se = [
|
|
15
15
|
"href",
|
|
16
16
|
"aria-current",
|
|
17
17
|
"title",
|
|
18
18
|
"onClick"
|
|
19
|
-
],
|
|
19
|
+
], ce = ["src"], le = {
|
|
20
20
|
key: 3,
|
|
21
21
|
class: "text-lg font-semibold"
|
|
22
|
-
},
|
|
22
|
+
}, ue = { class: "w-full truncate text-xs font-medium text-heading" }, de = {
|
|
23
23
|
key: 0,
|
|
24
24
|
class: "sr-only"
|
|
25
|
-
},
|
|
25
|
+
}, fe = {
|
|
26
26
|
key: 1,
|
|
27
27
|
class: "absolute top-1.5 right-1.5 inline-flex size-4 items-center justify-center rounded-full bg-primary text-white",
|
|
28
28
|
"aria-hidden": "true"
|
|
29
|
-
},
|
|
29
|
+
}, pe = {
|
|
30
30
|
key: 0,
|
|
31
31
|
class: "mt-2 border-t border-border pt-2"
|
|
32
|
-
},
|
|
32
|
+
}, E = "id", D = 3, O = 6, k = /*@__PURE__*/ f({
|
|
33
33
|
__name: "AcAppSwitcher",
|
|
34
34
|
props: /*@__PURE__*/ p({
|
|
35
35
|
currentApp: { default: "platform" },
|
|
@@ -44,7 +44,7 @@ var ge = {
|
|
|
44
44
|
apps: { default: void 0 },
|
|
45
45
|
hideCurrent: {
|
|
46
46
|
type: Boolean,
|
|
47
|
-
default: !
|
|
47
|
+
default: !0
|
|
48
48
|
},
|
|
49
49
|
label: { default: "AppsCode apps" },
|
|
50
50
|
align: { default: "end" }
|
|
@@ -57,77 +57,71 @@ var ge = {
|
|
|
57
57
|
}),
|
|
58
58
|
emits: /*@__PURE__*/ p(["select"], ["update:open"]),
|
|
59
59
|
setup(f, { emit: p }) {
|
|
60
|
-
let
|
|
60
|
+
let k = f, A = w(f, "open"), j = p, M = [
|
|
61
61
|
{
|
|
62
|
-
name:
|
|
62
|
+
name: E,
|
|
63
63
|
title: "Platform",
|
|
64
64
|
port: "8080",
|
|
65
|
-
subtitle: "Manage your platform & accounts"
|
|
65
|
+
subtitle: "Manage your platform & accounts",
|
|
66
|
+
iconUrl: "https://cdn.appscode.com/images/products/platform/platform.svg"
|
|
66
67
|
},
|
|
67
68
|
{
|
|
68
69
|
name: "db",
|
|
69
70
|
title: "KubeDB",
|
|
70
71
|
port: "5996",
|
|
71
72
|
subtitle: "Manage your databases",
|
|
72
|
-
|
|
73
|
-
color: "purple"
|
|
73
|
+
iconUrl: "https://cdn.appscode.com/images/products/kubedb/kubedb-512x512_1.svg"
|
|
74
74
|
},
|
|
75
75
|
{
|
|
76
76
|
name: "grafana",
|
|
77
77
|
title: "Grafana",
|
|
78
78
|
port: "3005",
|
|
79
79
|
subtitle: "Analyze your activities",
|
|
80
|
-
|
|
81
|
-
color: "yellow"
|
|
80
|
+
iconUrl: "https://cdn.appscode.com/images/products/others/logos/grafana.svg"
|
|
82
81
|
},
|
|
83
82
|
{
|
|
84
83
|
name: "observe",
|
|
85
84
|
title: "Observe",
|
|
86
85
|
port: "5992",
|
|
87
86
|
subtitle: "Observe your system",
|
|
88
|
-
|
|
89
|
-
color: "green"
|
|
87
|
+
iconUrl: "https://cdn.appscode.com/images/products/observe/logos/observe.png"
|
|
90
88
|
},
|
|
91
89
|
{
|
|
92
90
|
name: "selfhost",
|
|
93
91
|
title: "SelfHost",
|
|
94
92
|
port: "5993",
|
|
95
93
|
subtitle: "Host AppsCode on your own cluster",
|
|
96
|
-
|
|
97
|
-
color: "slate"
|
|
94
|
+
iconUrl: "https://cdn.appscode.com/images/products/selfhost/logos/selfhost.svg"
|
|
98
95
|
},
|
|
99
96
|
{
|
|
100
97
|
name: "billing",
|
|
101
98
|
title: "Billing",
|
|
102
99
|
port: "5995",
|
|
103
100
|
subtitle: "Manage your contracts, licenses & billings",
|
|
104
|
-
|
|
105
|
-
color: "primary"
|
|
101
|
+
iconUrl: "https://cdn.appscode.com/images/products/billing/logos/billing.svg"
|
|
106
102
|
},
|
|
107
103
|
{
|
|
108
104
|
name: "learn",
|
|
109
105
|
title: "Learn",
|
|
110
106
|
port: "5988",
|
|
111
107
|
subtitle: "Be an Expert in Cloud Native technologies",
|
|
112
|
-
|
|
113
|
-
color: "red"
|
|
108
|
+
iconUrl: "https://cdn.appscode.com/images/products/learn/logos/learn.svg"
|
|
114
109
|
}
|
|
115
|
-
],
|
|
110
|
+
], N = {
|
|
116
111
|
name: "console",
|
|
117
112
|
title: "Console",
|
|
118
113
|
port: "5990",
|
|
119
114
|
subtitle: "Manage your kubernetes clusters",
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}, ye = [
|
|
115
|
+
iconUrl: "https://cdn.appscode.com/images/products/console/console_512x512.svg"
|
|
116
|
+
}, P = [
|
|
123
117
|
"https://appscode.ninja",
|
|
124
118
|
"https://appscode.com",
|
|
125
119
|
"http://bb.test:8080"
|
|
126
|
-
],
|
|
120
|
+
], F = [
|
|
127
121
|
"billing",
|
|
128
122
|
"selfhost",
|
|
129
123
|
"learn"
|
|
130
|
-
],
|
|
124
|
+
], I = {
|
|
131
125
|
primary: "bg-primary/10 text-primary-strong ring-primary/25",
|
|
132
126
|
blue: "bg-info/10 text-info-strong ring-info/25",
|
|
133
127
|
green: "bg-success/10 text-success-strong ring-success/25",
|
|
@@ -135,15 +129,15 @@ var ge = {
|
|
|
135
129
|
purple: "bg-pending/10 text-pending-strong ring-pending/25",
|
|
136
130
|
red: "bg-danger/10 text-danger-strong ring-danger/25",
|
|
137
131
|
slate: "bg-surface-sunken text-muted ring-border"
|
|
138
|
-
}, L =
|
|
139
|
-
let e = [...
|
|
140
|
-
return
|
|
141
|
-
}), G = o(() => (
|
|
132
|
+
}, L = C(), R = `${L}-panel`, z = `${L}-heading`, B = v(null), V = v(null), H = v({}), U = v(!0), W = o(() => k.currentApp === "platform" ? E : k.currentApp), me = o(() => !P.includes(k.baseUrl)), he = o(() => {
|
|
133
|
+
let e = [...M];
|
|
134
|
+
return k.activeOrgType !== D && e.splice(1, 0, N), e.filter((e) => !me.value || !F.includes(e.name) || e.name === "billing" && k.isOfflineInstaller && k.activeOrgType === O);
|
|
135
|
+
}), G = o(() => (k.apps ?? he.value).filter((e) => !k.hideCurrent || e.name !== W.value).map((e) => ({
|
|
142
136
|
...e,
|
|
143
|
-
url: e.url ??
|
|
137
|
+
url: e.url ?? ge(e)
|
|
144
138
|
})));
|
|
145
|
-
function
|
|
146
|
-
return
|
|
139
|
+
function ge(e) {
|
|
140
|
+
return k.baseUrl.includes("bb.test") ? `http://bb.test:${e.port}/${e.name}/` : k.baseUrl.includes("localhost") ? `http://localhost:${e.port}/${e.name}/` : `${k.baseUrl}/${e.name}/`;
|
|
147
141
|
}
|
|
148
142
|
function K(e) {
|
|
149
143
|
return e.name === W.value;
|
|
@@ -154,7 +148,7 @@ var ge = {
|
|
|
154
148
|
function J() {
|
|
155
149
|
return [...V.value?.querySelectorAll("[data-app-tile]") ?? []];
|
|
156
150
|
}
|
|
157
|
-
function
|
|
151
|
+
function _e(e) {
|
|
158
152
|
let t = e[0]?.offsetTop, n = e.filter((e) => e.offsetTop === t).length;
|
|
159
153
|
return Math.max(n, 1);
|
|
160
154
|
}
|
|
@@ -165,7 +159,7 @@ var ge = {
|
|
|
165
159
|
function X() {
|
|
166
160
|
let t = q();
|
|
167
161
|
if (!t || !V.value) return;
|
|
168
|
-
let n = t.getBoundingClientRect(), r = e(), { offsetWidth: i, offsetHeight: a } = V.value, o = r.bottom - n.bottom - 6 - 8, s = n.top - r.top - 6 - 8, c = o < a && s > o, l = (
|
|
162
|
+
let n = t.getBoundingClientRect(), r = e(), { offsetWidth: i, offsetHeight: a } = V.value, o = r.bottom - n.bottom - 6 - 8, s = n.top - r.top - 6 - 8, c = o < a && s > o, l = (k.align === "end" ? n.right - i : n.left) - r.left;
|
|
169
163
|
U.value = !c, H.value = {
|
|
170
164
|
[c ? "bottom" : "top"]: `${c ? r.bottom - n.top + 6 : n.bottom + 6 - r.top}px`,
|
|
171
165
|
left: `${Math.max(8, Math.min(l, r.width - i - 8))}px`,
|
|
@@ -173,35 +167,35 @@ var ge = {
|
|
|
173
167
|
};
|
|
174
168
|
}
|
|
175
169
|
function Z(e = !0) {
|
|
176
|
-
|
|
170
|
+
A.value && (A.value = !1, e && q()?.focus());
|
|
177
171
|
}
|
|
178
|
-
function
|
|
179
|
-
|
|
172
|
+
function ve() {
|
|
173
|
+
A.value ? Z() : A.value = !0;
|
|
180
174
|
}
|
|
181
|
-
function
|
|
182
|
-
let e = [`gorg=${encodeURIComponent(
|
|
183
|
-
|
|
175
|
+
function ye() {
|
|
176
|
+
let e = [`gorg=${encodeURIComponent(k.activeOrganization)}`, "path=/"];
|
|
177
|
+
k.rootDomain && e.push(`domain=${k.rootDomain}`), document.cookie = e.join("; ");
|
|
184
178
|
}
|
|
185
|
-
function
|
|
186
|
-
e.name === "grafana" &&
|
|
179
|
+
function be(e) {
|
|
180
|
+
e.name === "grafana" && ye(), j("select", e);
|
|
187
181
|
}
|
|
188
|
-
function
|
|
189
|
-
e.key !== "ArrowDown" ||
|
|
182
|
+
function xe(e) {
|
|
183
|
+
e.key !== "ArrowDown" || A.value || (e.preventDefault(), A.value = !0);
|
|
190
184
|
}
|
|
191
|
-
function
|
|
192
|
-
let t = J(), n = t.indexOf(document.activeElement), r =
|
|
185
|
+
function Se(e) {
|
|
186
|
+
let t = J(), n = t.indexOf(document.activeElement), r = _e(t), i = {
|
|
193
187
|
ArrowRight: 1,
|
|
194
188
|
ArrowLeft: -1,
|
|
195
189
|
ArrowDown: r,
|
|
196
190
|
ArrowUp: -r
|
|
197
191
|
};
|
|
198
|
-
e.key in i && n >= 0 ? (e.preventDefault(), Y(n + i[e.key])) : e.key === "Home" || e.key === "End" ? (e.preventDefault(), Y(e.key === "Home" ? 0 : t.length - 1)) : e.key === "Escape" ? (e.preventDefault(), Z()) : e.key === "Tab" &&
|
|
192
|
+
e.key in i && n >= 0 ? (e.preventDefault(), Y(n + i[e.key])) : e.key === "Home" || e.key === "End" ? (e.preventDefault(), Y(e.key === "Home" ? 0 : t.length - 1)) : e.key === "Escape" ? (e.preventDefault(), Z()) : e.key === "Tab" && Ce(e);
|
|
199
193
|
}
|
|
200
|
-
function
|
|
194
|
+
function Ce(e) {
|
|
201
195
|
let t = [...V.value?.querySelectorAll("a[href], button:not([disabled])") ?? []], n = t[0], r = t[t.length - 1];
|
|
202
196
|
e.shiftKey && document.activeElement === n ? (e.preventDefault(), Z()) : !e.shiftKey && document.activeElement === r && Z();
|
|
203
197
|
}
|
|
204
|
-
function
|
|
198
|
+
function we(e) {
|
|
205
199
|
let t = e.target;
|
|
206
200
|
q()?.contains(t) || V.value?.contains(t) || Z(!1);
|
|
207
201
|
}
|
|
@@ -210,27 +204,27 @@ var ge = {
|
|
|
210
204
|
}
|
|
211
205
|
function $(e) {
|
|
212
206
|
let t = e ? "addEventListener" : "removeEventListener";
|
|
213
|
-
document[t]("pointerdown",
|
|
207
|
+
document[t]("pointerdown", we, !0), window[t]("scroll", Q, !0), window[t]("resize", Q);
|
|
214
208
|
}
|
|
215
|
-
return
|
|
209
|
+
return T(A, async (e) => {
|
|
216
210
|
if ($(e), !e) return;
|
|
217
211
|
await m(), X();
|
|
218
212
|
let t = J(), n = G.value.findIndex(K);
|
|
219
213
|
Y(n >= 0 && t[n] ? n : 0);
|
|
220
|
-
}),
|
|
214
|
+
}), g(() => $(!1)), (e, o) => (_(), l("div", ae, [d(n, {
|
|
221
215
|
ref_key: "trigger",
|
|
222
216
|
ref: B,
|
|
223
217
|
label: f.label,
|
|
224
|
-
icon:
|
|
218
|
+
icon: S(ie),
|
|
225
219
|
"icon-only": "",
|
|
226
220
|
"aria-haspopup": "dialog",
|
|
227
|
-
"aria-expanded":
|
|
228
|
-
"aria-controls":
|
|
229
|
-
class: h(
|
|
221
|
+
"aria-expanded": A.value,
|
|
222
|
+
"aria-controls": A.value ? R : void 0,
|
|
223
|
+
class: h(A.value && "bg-surface-sunken text-heading"),
|
|
230
224
|
"data-ac-ds": "",
|
|
231
225
|
"data-testid": "ac-app-switcher-trigger",
|
|
232
|
-
onClick:
|
|
233
|
-
onKeydown:
|
|
226
|
+
onClick: ve,
|
|
227
|
+
onKeydown: xe
|
|
234
228
|
}, null, 8, [
|
|
235
229
|
"label",
|
|
236
230
|
"icon",
|
|
@@ -243,7 +237,7 @@ var ge = {
|
|
|
243
237
|
"leave-active-class": "transition duration-100 ease-in",
|
|
244
238
|
"leave-to-class": "opacity-0"
|
|
245
239
|
}, {
|
|
246
|
-
default:
|
|
240
|
+
default: ne(() => [A.value ? (_(), l("div", {
|
|
247
241
|
key: 0,
|
|
248
242
|
id: R,
|
|
249
243
|
ref_key: "panel",
|
|
@@ -251,16 +245,16 @@ var ge = {
|
|
|
251
245
|
role: "dialog",
|
|
252
246
|
"aria-labelledby": z,
|
|
253
247
|
class: h(["ac-scrollbar fixed z-[90] flex w-[calc(340px*var(--ac-scale))] max-w-[calc(100vw-16px)] flex-col rounded-14 border border-border bg-surface p-2 shadow-lg", U.value ? "origin-top-right" : "origin-bottom-right"]),
|
|
254
|
-
style:
|
|
248
|
+
style: ee(H.value),
|
|
255
249
|
"data-ac-ds": "",
|
|
256
250
|
"data-testid": "ac-app-switcher-panel",
|
|
257
|
-
onKeydown:
|
|
251
|
+
onKeydown: Se
|
|
258
252
|
}, [
|
|
259
253
|
u("p", {
|
|
260
254
|
id: z,
|
|
261
255
|
class: "px-3 pt-2 pb-2 text-sm font-semibold tracking-[0.08em] text-muted uppercase"
|
|
262
|
-
},
|
|
263
|
-
u("ul",
|
|
256
|
+
}, x(f.label), 1),
|
|
257
|
+
u("ul", oe, [(_(!0), l(r, null, y(G.value, (e) => (_(), l("li", { key: e.name }, [u("a", {
|
|
264
258
|
href: e.url,
|
|
265
259
|
"data-app-tile": "",
|
|
266
260
|
"aria-current": K(e) ? "page" : void 0,
|
|
@@ -268,37 +262,37 @@ var ge = {
|
|
|
268
262
|
class: "group relative flex h-full flex-col items-center gap-2 rounded-8 px-1.5 pt-3 pb-2.5 text-center no-underline outline-none transition-colors duration-200 hover:bg-surface-sunken focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset aria-[current=page]:bg-accent",
|
|
269
263
|
"data-ac-ds": "",
|
|
270
264
|
"data-testid": "ac-app-switcher-app",
|
|
271
|
-
onClick: (t) =>
|
|
265
|
+
onClick: (t) => be(e)
|
|
272
266
|
}, [
|
|
273
267
|
u("span", {
|
|
274
|
-
class: h(["relative inline-flex size-10 shrink-0 items-center justify-center overflow-hidden rounded-10 ring-1 transition-transform duration-200 ring-inset motion-safe:group-hover:-translate-y-px", e.iconUrl || e.name ===
|
|
268
|
+
class: h(["relative inline-flex size-10 shrink-0 items-center justify-center overflow-hidden rounded-10 ring-1 transition-transform duration-200 ring-inset motion-safe:group-hover:-translate-y-px", e.iconUrl || e.name === E && !e.icon ? "bg-surface ring-border" : I[e.color ?? "slate"]]),
|
|
275
269
|
"aria-hidden": "true"
|
|
276
270
|
}, [e.iconUrl ? (_(), l("img", {
|
|
277
271
|
key: 0,
|
|
278
272
|
src: e.iconUrl,
|
|
279
273
|
alt: "",
|
|
280
274
|
class: "size-7 object-contain"
|
|
281
|
-
}, null, 8,
|
|
275
|
+
}, null, 8, ce)) : e.icon ? (_(), s(te(e.icon), {
|
|
282
276
|
key: 1,
|
|
283
277
|
class: "size-5"
|
|
284
|
-
})) : e.name ===
|
|
278
|
+
})) : e.name === E ? (_(), s(t, {
|
|
285
279
|
key: 2,
|
|
286
280
|
variant: "mark",
|
|
287
281
|
size: 28,
|
|
288
282
|
label: ""
|
|
289
|
-
})) : (_(), l("span",
|
|
290
|
-
u("span",
|
|
291
|
-
e.subtitle ? (_(), l("span",
|
|
292
|
-
K(e) ? (_(), l("span",
|
|
283
|
+
})) : (_(), l("span", le, x(e.title.charAt(0)), 1))], 2),
|
|
284
|
+
u("span", ue, x(e.title), 1),
|
|
285
|
+
e.subtitle ? (_(), l("span", de, x(e.subtitle), 1)) : c("", !0),
|
|
286
|
+
K(e) ? (_(), l("span", fe, [d(S(re), {
|
|
293
287
|
class: "size-2.5",
|
|
294
288
|
"stroke-width": 3
|
|
295
289
|
})])) : c("", !0)
|
|
296
|
-
], 8,
|
|
297
|
-
e.$slots.footer ? (_(), l("div",
|
|
290
|
+
], 8, se)]))), 128))]),
|
|
291
|
+
e.$slots.footer ? (_(), l("div", pe, [b(e.$slots, "footer", { close: Z })])) : c("", !0)
|
|
298
292
|
], 38)) : c("", !0)]),
|
|
299
293
|
_: 3
|
|
300
294
|
})]))]));
|
|
301
295
|
}
|
|
302
296
|
});
|
|
303
297
|
//#endregion
|
|
304
|
-
export {
|
|
298
|
+
export { k as default };
|
package/dist/lib/theme.css
CHANGED
|
@@ -615,15 +615,24 @@
|
|
|
615
615
|
padding-inline: calc(var(--spacing) * 4);
|
|
616
616
|
}
|
|
617
617
|
|
|
618
|
+
/* Thin scrollbar, hidden until the pointer is over the area or focus is inside it (cloud-ui's `custom-scrollbar`). */
|
|
618
619
|
@utility ac-scrollbar {
|
|
619
620
|
overflow: auto;
|
|
620
621
|
scrollbar-width: thin;
|
|
621
|
-
scrollbar-color:
|
|
622
|
+
scrollbar-color: transparent transparent;
|
|
623
|
+
&:hover, &:focus-within { scrollbar-color: rgb(176 176 176 / 0.55) transparent; }
|
|
622
624
|
&::-webkit-scrollbar { width: 4px; height: 4px; }
|
|
623
|
-
&::-webkit-scrollbar-thumb { background-color:
|
|
625
|
+
&::-webkit-scrollbar-thumb { background-color: transparent; border-radius: 9999px; }
|
|
626
|
+
&:hover::-webkit-scrollbar-thumb, &:focus-within::-webkit-scrollbar-thumb { background-color: #b0b0b0; }
|
|
624
627
|
&::-webkit-scrollbar-track { background: transparent; }
|
|
625
628
|
}
|
|
626
629
|
|
|
630
|
+
/* With `ac-scrollbar`: keeps the thumb visible all the time (cloud-ui's `custom-scrollbar-true`). */
|
|
631
|
+
@utility ac-scrollbar-visible {
|
|
632
|
+
&.ac-scrollbar { scrollbar-color: rgb(176 176 176 / 0.55) transparent; }
|
|
633
|
+
&.ac-scrollbar::-webkit-scrollbar-thumb { background-color: #b0b0b0; }
|
|
634
|
+
}
|
|
635
|
+
|
|
627
636
|
/* Keyframes for AcSkeleton's shimmer and AcProgress's indeterminate bar; kept here so the library ships no extra CSS file. */
|
|
628
637
|
@keyframes ac-skeleton-shimmer {
|
|
629
638
|
from { background-position: 150% 0; }
|