reke-ui 0.1.1 → 0.2.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 +23 -0
- package/cli/install-skills.mjs +169 -0
- package/custom-elements.json +472 -128
- package/dist/__type-checks__/no-lit-in-public-types.d.ts +2 -0
- package/dist/__type-checks__/no-lit-in-public-types.d.ts.map +1 -0
- package/dist/_virtual/_@oxc-project_runtime@0.137.0/helpers/esm/decorate.js +9 -0
- package/dist/components/reke-alert/reke-alert.d.ts.map +1 -1
- package/dist/components/reke-alert/reke-alert.js +45 -0
- package/dist/components/reke-alert/reke-alert.styles.d.ts.map +1 -1
- package/dist/components/reke-alert/reke-alert.styles.js +103 -0
- package/dist/components/reke-badge/reke-badge.d.ts +4 -2
- package/dist/components/reke-badge/reke-badge.d.ts.map +1 -1
- package/dist/components/reke-badge/reke-badge.js +30 -0
- package/dist/components/reke-badge/reke-badge.styles.d.ts.map +1 -1
- package/dist/components/reke-badge/reke-badge.styles.js +92 -0
- package/dist/components/reke-button/reke-button.d.ts.map +1 -1
- package/dist/components/reke-button/reke-button.js +53 -0
- package/dist/components/reke-button/reke-button.styles.d.ts.map +1 -1
- package/dist/components/reke-button/reke-button.styles.js +226 -0
- package/dist/components/reke-card/reke-card.d.ts +7 -0
- package/dist/components/reke-card/reke-card.d.ts.map +1 -1
- package/dist/components/reke-card/reke-card.js +50 -0
- package/dist/components/reke-card/reke-card.styles.d.ts.map +1 -1
- package/dist/components/reke-card/reke-card.styles.js +147 -0
- package/dist/components/reke-checkbox/reke-checkbox.js +57 -0
- package/dist/components/reke-checkbox/reke-checkbox.styles.d.ts.map +1 -1
- package/dist/components/reke-checkbox/reke-checkbox.styles.js +79 -0
- package/dist/components/reke-chip/reke-chip.d.ts.map +1 -1
- package/dist/components/reke-chip/reke-chip.js +62 -0
- package/dist/components/reke-chip/reke-chip.styles.d.ts.map +1 -1
- package/dist/components/reke-chip/reke-chip.styles.js +128 -0
- package/dist/components/reke-date-range/reke-date-range.d.ts.map +1 -1
- package/dist/components/reke-date-range/reke-date-range.js +326 -0
- package/dist/components/reke-date-range/reke-date-range.styles.d.ts.map +1 -1
- package/dist/components/reke-date-range/reke-date-range.styles.js +335 -0
- package/dist/components/reke-dialog/reke-dialog.d.ts.map +1 -1
- package/dist/components/reke-dialog/reke-dialog.js +77 -0
- package/dist/components/reke-dialog/reke-dialog.styles.d.ts.map +1 -1
- package/dist/components/reke-dialog/reke-dialog.styles.js +132 -0
- package/dist/components/reke-file-upload/reke-file-upload.d.ts.map +1 -1
- package/dist/components/reke-file-upload/reke-file-upload.js +84 -0
- package/dist/components/reke-file-upload/reke-file-upload.styles.js +104 -0
- package/dist/components/reke-input/reke-input.js +54 -0
- package/dist/components/reke-input/reke-input.styles.d.ts.map +1 -1
- package/dist/components/reke-input/reke-input.styles.js +78 -0
- package/dist/components/reke-select/reke-select.d.ts.map +1 -1
- package/dist/components/reke-select/reke-select.js +89 -0
- package/dist/components/reke-select/reke-select.styles.d.ts.map +1 -1
- package/dist/components/reke-select/reke-select.styles.js +120 -0
- package/dist/components/reke-table/reke-table.d.ts +144 -13
- package/dist/components/reke-table/reke-table.d.ts.map +1 -1
- package/dist/components/reke-table/reke-table.js +291 -0
- package/dist/components/reke-table/reke-table.styles.d.ts.map +1 -1
- package/dist/components/reke-table/reke-table.styles.js +265 -0
- package/dist/components/reke-textarea/reke-textarea.js +54 -0
- package/dist/components/reke-textarea/reke-textarea.styles.js +73 -0
- package/dist/components/reke-toast/reke-toast.d.ts.map +1 -1
- package/dist/components/reke-toast/reke-toast.js +74 -0
- package/dist/components/reke-toast/reke-toast.styles.d.ts.map +1 -1
- package/dist/components/reke-toast/reke-toast.styles.js +183 -0
- package/dist/components/reke-toggle/reke-toggle.js +50 -0
- package/dist/components/reke-toggle/reke-toggle.styles.js +68 -0
- package/dist/components/reke-tooltip/reke-tooltip.js +51 -0
- package/dist/components/reke-tooltip/reke-tooltip.styles.js +64 -0
- package/dist/index.d.ts +23 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -0
- package/dist/node_modules/lit/directives/ref.js +1 -0
- package/dist/node_modules/lit-html/async-directive.js +55 -0
- package/dist/node_modules/lit-html/directive-helpers.js +5 -0
- package/dist/node_modules/lit-html/directive.js +28 -0
- package/dist/node_modules/lit-html/directives/ref.js +30 -0
- package/dist/node_modules/lit-html/lit-html.js +234 -0
- package/dist/react-bridge/table.d.ts +58 -0
- package/dist/react-bridge/table.d.ts.map +1 -0
- package/dist/react-bridge/table.js +115 -0
- package/dist/react.d.ts +12 -26
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +111 -132
- package/dist/shared/base-element.js +14 -0
- package/dist/shared/tailwind-styles.js +6 -0
- package/dist/shared/tailwind.js +4 -0
- package/dist/tokens/reke-tokens.css +70 -0
- package/package.json +43 -23
- package/dist/reke-chip-DexKxhxn.js +0 -3358
- package/dist/reke-ui.js +0 -20
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-lit-in-public-types.d.ts","sourceRoot":"","sources":["../../src/__type-checks__/no-lit-in-public-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorate.js
|
|
2
|
+
function e(e, t, n, r) {
|
|
3
|
+
var i = arguments.length, a = i < 3 ? t : r === null ? r = Object.getOwnPropertyDescriptor(t, n) : r, o;
|
|
4
|
+
if (typeof Reflect == "object" && typeof Reflect.decorate == "function") a = Reflect.decorate(e, t, n, r);
|
|
5
|
+
else for (var s = e.length - 1; s >= 0; s--) (o = e[s]) && (a = (i < 3 ? o(a) : i > 3 ? o(t, n, a) : o(t, n)) || a);
|
|
6
|
+
return i > 3 && a && Object.defineProperty(t, n, a), a;
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { e as __decorate };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reke-alert.d.ts","sourceRoot":"","sources":["../../../src/components/reke-alert/reke-alert.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG3D,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEpE;;;;;;;;;;;;;;;GAeG;AACH,qBACa,SAAU,SAAQ,WAAW;IACxC,OAAgB,MAAM,4BAAU;IAGhC,OAAO,EAAE,YAAY,CAAU;IAG/B,WAAW,UAAS;IAEpB,OAAO,CAAC,WAAW;IAKV,MAAM;
|
|
1
|
+
{"version":3,"file":"reke-alert.d.ts","sourceRoot":"","sources":["../../../src/components/reke-alert/reke-alert.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG3D,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEpE;;;;;;;;;;;;;;;GAeG;AACH,qBACa,SAAU,SAAQ,WAAW;IACxC,OAAgB,MAAM,4BAAU;IAGhC,OAAO,EAAE,YAAY,CAAU;IAG/B,WAAW,UAAS;IAEpB,OAAO,CAAC,WAAW;IAKV,MAAM;CA2BhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,SAAS,CAAC;KACzB;CACF"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { RekeElement as e } from "../../shared/base-element.js";
|
|
2
|
+
import { styles as t } from "./reke-alert.styles.js";
|
|
3
|
+
import { __decorate as n } from "../../_virtual/_@oxc-project_runtime@0.137.0/helpers/esm/decorate.js";
|
|
4
|
+
import { html as r, nothing as i } from "lit";
|
|
5
|
+
import { customElement as a, property as o } from "lit/decorators.js";
|
|
6
|
+
import { classMap as s } from "lit/directives/class-map.js";
|
|
7
|
+
//#region src/components/reke-alert/reke-alert.ts
|
|
8
|
+
var c = class extends e {
|
|
9
|
+
constructor(...e) {
|
|
10
|
+
super(...e), this.variant = "info", this.dismissible = !1;
|
|
11
|
+
}
|
|
12
|
+
static {
|
|
13
|
+
this.styles = t;
|
|
14
|
+
}
|
|
15
|
+
handleClose() {
|
|
16
|
+
this.emit("reke-close"), this.remove();
|
|
17
|
+
}
|
|
18
|
+
render() {
|
|
19
|
+
return r`
|
|
20
|
+
<div part="alert" class=${s({
|
|
21
|
+
alert: !0,
|
|
22
|
+
[`alert--${this.variant}`]: !0
|
|
23
|
+
})} role="alert">
|
|
24
|
+
<span class="alert__content">
|
|
25
|
+
<slot></slot>
|
|
26
|
+
</span>
|
|
27
|
+
${this.dismissible ? r`
|
|
28
|
+
<button
|
|
29
|
+
class="alert__close"
|
|
30
|
+
@click=${this.handleClose}
|
|
31
|
+
aria-label="Close"
|
|
32
|
+
>
|
|
33
|
+
×
|
|
34
|
+
</button>
|
|
35
|
+
` : i}
|
|
36
|
+
</div>
|
|
37
|
+
`;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
n([o({ reflect: !0 })], c.prototype, "variant", void 0), n([o({
|
|
41
|
+
type: Boolean,
|
|
42
|
+
reflect: !0
|
|
43
|
+
})], c.prototype, "dismissible", void 0), c = n([a("reke-alert")], c);
|
|
44
|
+
//#endregion
|
|
45
|
+
export { c as RekeAlert };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reke-alert.styles.d.ts","sourceRoot":"","sources":["../../../src/components/reke-alert/reke-alert.styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"reke-alert.styles.d.ts","sourceRoot":"","sources":["../../../src/components/reke-alert/reke-alert.styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM,2BAoGlB,CAAC"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { tailwindStyles as e } from "../../shared/tailwind-styles.js";
|
|
2
|
+
import { css as t } from "lit";
|
|
3
|
+
//#region src/components/reke-alert/reke-alert.styles.ts
|
|
4
|
+
var n = [e, t`
|
|
5
|
+
:host {
|
|
6
|
+
display: block;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.alert {
|
|
10
|
+
display: flex;
|
|
11
|
+
align-items: center;
|
|
12
|
+
gap: var(--reke-space-sm, 12px);
|
|
13
|
+
padding: 12px var(--reke-space-md, 16px);
|
|
14
|
+
border-radius: var(--reke-radius, 4px);
|
|
15
|
+
border: none;
|
|
16
|
+
border-left: 3px solid;
|
|
17
|
+
font-family: var(--reke-font-mono, 'JetBrains Mono', ui-monospace, monospace);
|
|
18
|
+
font-size: var(--reke-font-size-xs, 12px);
|
|
19
|
+
line-height: 1.5;
|
|
20
|
+
box-sizing: border-box;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/* === Variants === */
|
|
24
|
+
|
|
25
|
+
.alert--success {
|
|
26
|
+
background-color: color-mix(in srgb, var(--reke-color-primary, #22C55E) 10%, transparent);
|
|
27
|
+
border-color: var(--reke-color-primary, #22C55E);
|
|
28
|
+
color: var(--reke-color-primary, #22C55E);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.alert--error {
|
|
32
|
+
background-color: color-mix(in srgb, var(--reke-color-danger, #EF4444) 10%, transparent);
|
|
33
|
+
border-color: var(--reke-color-danger, #EF4444);
|
|
34
|
+
color: var(--reke-color-danger, #EF4444);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.alert--warning {
|
|
38
|
+
background-color: color-mix(in srgb, var(--reke-color-warning, #F59E0B) 10%, transparent);
|
|
39
|
+
border-color: var(--reke-color-warning, #F59E0B);
|
|
40
|
+
color: var(--reke-color-warning, #F59E0B);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.alert--info {
|
|
44
|
+
background-color: color-mix(in srgb, var(--reke-color-secondary, #3B82F6) 10%, transparent);
|
|
45
|
+
border-color: var(--reke-color-secondary, #3B82F6);
|
|
46
|
+
color: var(--reke-color-secondary, #3B82F6);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/* === Content === */
|
|
50
|
+
|
|
51
|
+
.alert__content {
|
|
52
|
+
flex: 1;
|
|
53
|
+
min-width: 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/* === Dismissible === */
|
|
57
|
+
|
|
58
|
+
.alert__close {
|
|
59
|
+
flex-shrink: 0;
|
|
60
|
+
display: flex;
|
|
61
|
+
align-items: center;
|
|
62
|
+
justify-content: center;
|
|
63
|
+
width: 20px;
|
|
64
|
+
height: 20px;
|
|
65
|
+
background: transparent;
|
|
66
|
+
border: none;
|
|
67
|
+
color: currentColor;
|
|
68
|
+
opacity: 0.5;
|
|
69
|
+
cursor: pointer;
|
|
70
|
+
padding: 0;
|
|
71
|
+
font-size: 16px;
|
|
72
|
+
line-height: 1;
|
|
73
|
+
transition: opacity 0.15s ease;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.alert__close:hover {
|
|
77
|
+
opacity: 1;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.alert__close:focus-visible {
|
|
81
|
+
outline: 2px solid currentColor;
|
|
82
|
+
outline-offset: 2px;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/* === Enter animation === */
|
|
86
|
+
|
|
87
|
+
:host {
|
|
88
|
+
animation: alert-in var(--reke-transition-normal, 0.2s ease) both;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
@keyframes alert-in {
|
|
92
|
+
from {
|
|
93
|
+
opacity: 0;
|
|
94
|
+
transform: translateY(-4px);
|
|
95
|
+
}
|
|
96
|
+
to {
|
|
97
|
+
opacity: 1;
|
|
98
|
+
transform: translateY(0);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
`];
|
|
102
|
+
//#endregion
|
|
103
|
+
export { n as styles };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { RekeElement } from '../../shared/base-element.js';
|
|
2
|
-
export type BadgeVariant = 'default' | 'primary' | 'secondary' | 'danger' | 'warning' | 'success';
|
|
3
|
-
export type BadgeSize = 'sm' | 'md';
|
|
2
|
+
export type BadgeVariant = 'default' | 'primary' | 'secondary' | 'danger' | 'warning' | 'success' | 'outline';
|
|
3
|
+
export type BadgeSize = 'sm' | 'md' | 'lg';
|
|
4
|
+
export type BadgeShape = 'pill' | 'square';
|
|
4
5
|
/**
|
|
5
6
|
* @tag reke-badge
|
|
6
7
|
* @summary A badge component for displaying labels, statuses, and counts.
|
|
@@ -19,6 +20,7 @@ export declare class RekeBadge extends RekeElement {
|
|
|
19
20
|
static styles: import("lit").CSSResult[];
|
|
20
21
|
variant: BadgeVariant;
|
|
21
22
|
size: BadgeSize;
|
|
23
|
+
shape: BadgeShape;
|
|
22
24
|
render(): import("lit-html").TemplateResult<1>;
|
|
23
25
|
}
|
|
24
26
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reke-badge.d.ts","sourceRoot":"","sources":["../../../src/components/reke-badge/reke-badge.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG3D,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,SAAS,GACT,WAAW,GACX,QAAQ,GACR,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"reke-badge.d.ts","sourceRoot":"","sources":["../../../src/components/reke-badge/reke-badge.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG3D,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,SAAS,GACT,WAAW,GACX,QAAQ,GACR,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC3C,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE3C;;;;;;;;;;;;;GAaG;AACH,qBACa,SAAU,SAAQ,WAAW;IACxC,OAAgB,MAAM,4BAAU;IAGhC,OAAO,EAAE,YAAY,CAAa;IAGlC,IAAI,EAAE,SAAS,CAAQ;IAGvB,KAAK,EAAE,UAAU,CAAU;IAElB,MAAM;CAchB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,SAAS,CAAC;KACzB;CACF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { RekeElement as e } from "../../shared/base-element.js";
|
|
2
|
+
import { __decorate as t } from "../../_virtual/_@oxc-project_runtime@0.137.0/helpers/esm/decorate.js";
|
|
3
|
+
import { styles as n } from "./reke-badge.styles.js";
|
|
4
|
+
import { html as r } from "lit";
|
|
5
|
+
import { customElement as i, property as a } from "lit/decorators.js";
|
|
6
|
+
import { classMap as o } from "lit/directives/class-map.js";
|
|
7
|
+
//#region src/components/reke-badge/reke-badge.ts
|
|
8
|
+
var s = class extends e {
|
|
9
|
+
constructor(...e) {
|
|
10
|
+
super(...e), this.variant = "default", this.size = "md", this.shape = "pill";
|
|
11
|
+
}
|
|
12
|
+
static {
|
|
13
|
+
this.styles = n;
|
|
14
|
+
}
|
|
15
|
+
render() {
|
|
16
|
+
return r`
|
|
17
|
+
<span part="badge" class=${o({
|
|
18
|
+
badge: !0,
|
|
19
|
+
[`badge--${this.variant}`]: !0,
|
|
20
|
+
[`badge--${this.size}`]: !0,
|
|
21
|
+
[`badge--${this.shape}`]: !0
|
|
22
|
+
})}>
|
|
23
|
+
<slot></slot>
|
|
24
|
+
</span>
|
|
25
|
+
`;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
t([a({ reflect: !0 })], s.prototype, "variant", void 0), t([a({ reflect: !0 })], s.prototype, "size", void 0), t([a({ reflect: !0 })], s.prototype, "shape", void 0), s = t([i("reke-badge")], s);
|
|
29
|
+
//#endregion
|
|
30
|
+
export { s as RekeBadge };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reke-badge.styles.d.ts","sourceRoot":"","sources":["../../../src/components/reke-badge/reke-badge.styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"reke-badge.styles.d.ts","sourceRoot":"","sources":["../../../src/components/reke-badge/reke-badge.styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM,2BAyFlB,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { tailwindStyles as e } from "../../shared/tailwind-styles.js";
|
|
2
|
+
import { css as t } from "lit";
|
|
3
|
+
//#region src/components/reke-badge/reke-badge.styles.ts
|
|
4
|
+
var n = [e, t`
|
|
5
|
+
:host {
|
|
6
|
+
display: inline-block;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.badge {
|
|
10
|
+
display: inline-flex;
|
|
11
|
+
align-items: center;
|
|
12
|
+
font-family: var(--reke-font-mono, 'JetBrains Mono', ui-monospace, monospace);
|
|
13
|
+
font-weight: var(--reke-font-weight-medium, 500);
|
|
14
|
+
border: 1px solid transparent;
|
|
15
|
+
line-height: 1;
|
|
16
|
+
white-space: nowrap;
|
|
17
|
+
box-sizing: border-box;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/* === Shape === */
|
|
21
|
+
|
|
22
|
+
.badge--pill {
|
|
23
|
+
border-radius: 9999px;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.badge--square {
|
|
27
|
+
border-radius: var(--reke-radius, 4px);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/* === Sizes === */
|
|
31
|
+
|
|
32
|
+
.badge--sm {
|
|
33
|
+
padding: 2px 8px;
|
|
34
|
+
font-size: 11px;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.badge--md {
|
|
38
|
+
padding: 4px 10px;
|
|
39
|
+
font-size: 12px;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.badge--lg {
|
|
43
|
+
padding: 5px 14px;
|
|
44
|
+
font-size: 13px;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/* === Variants === */
|
|
48
|
+
|
|
49
|
+
.badge--default {
|
|
50
|
+
background-color: var(--reke-color-surface, #1A1A1A);
|
|
51
|
+
color: var(--reke-color-text, #E5E5E5);
|
|
52
|
+
border-color: var(--reke-color-border, #252525);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.badge--primary {
|
|
56
|
+
background-color: color-mix(in srgb, var(--reke-color-primary, #22C55E) 15%, transparent);
|
|
57
|
+
color: var(--reke-color-primary, #22C55E);
|
|
58
|
+
border-color: color-mix(in srgb, var(--reke-color-primary, #22C55E) 30%, transparent);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.badge--secondary {
|
|
62
|
+
background-color: color-mix(in srgb, var(--reke-color-secondary, #3B82F6) 15%, transparent);
|
|
63
|
+
color: var(--reke-color-secondary, #3B82F6);
|
|
64
|
+
border-color: color-mix(in srgb, var(--reke-color-secondary, #3B82F6) 30%, transparent);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.badge--danger {
|
|
68
|
+
background-color: color-mix(in srgb, var(--reke-color-danger, #EF4444) 15%, transparent);
|
|
69
|
+
color: var(--reke-color-danger, #EF4444);
|
|
70
|
+
border-color: color-mix(in srgb, var(--reke-color-danger, #EF4444) 30%, transparent);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.badge--warning {
|
|
74
|
+
background-color: color-mix(in srgb, var(--reke-color-warning, #F59E0B) 15%, transparent);
|
|
75
|
+
color: var(--reke-color-warning, #F59E0B);
|
|
76
|
+
border-color: color-mix(in srgb, var(--reke-color-warning, #F59E0B) 30%, transparent);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.badge--success {
|
|
80
|
+
background-color: color-mix(in srgb, var(--reke-color-primary, #22C55E) 15%, transparent);
|
|
81
|
+
color: var(--reke-color-primary, #22C55E);
|
|
82
|
+
border-color: color-mix(in srgb, var(--reke-color-primary, #22C55E) 30%, transparent);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.badge--outline {
|
|
86
|
+
background-color: transparent;
|
|
87
|
+
color: var(--reke-color-text-ghost, #737373);
|
|
88
|
+
border-color: var(--reke-color-border, #252525);
|
|
89
|
+
}
|
|
90
|
+
`];
|
|
91
|
+
//#endregion
|
|
92
|
+
export { n as styles };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reke-button.d.ts","sourceRoot":"","sources":["../../../src/components/reke-button/reke-button.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG3D,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,WAAW,GACX,OAAO,GACP,QAAQ,GACR,gBAAgB,GAChB,WAAW,CAAC;AAEhB,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBACa,UAAW,SAAQ,WAAW;IACzC,OAAgB,MAAM,4BAAU;IAGhC,OAAO,EAAE,aAAa,CAAa;IAGnC,IAAI,EAAE,UAAU,CAAQ;IAGxB,QAAQ,UAAS;IAGjB,OAAO,UAAS;IAEhB,OAAO,CAAC,WAAW;IASV,MAAM;
|
|
1
|
+
{"version":3,"file":"reke-button.d.ts","sourceRoot":"","sources":["../../../src/components/reke-button/reke-button.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG3D,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,WAAW,GACX,OAAO,GACP,QAAQ,GACR,gBAAgB,GAChB,WAAW,CAAC;AAEhB,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBACa,UAAW,SAAQ,WAAW;IACzC,OAAgB,MAAM,4BAAU;IAGhC,OAAO,EAAE,aAAa,CAAa;IAGnC,IAAI,EAAE,UAAU,CAAQ;IAGxB,QAAQ,UAAS;IAGjB,OAAO,UAAS;IAEhB,OAAO,CAAC,WAAW;IASV,MAAM;CAwBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { RekeElement as e } from "../../shared/base-element.js";
|
|
2
|
+
import { __decorate as t } from "../../_virtual/_@oxc-project_runtime@0.137.0/helpers/esm/decorate.js";
|
|
3
|
+
import { styles as n } from "./reke-button.styles.js";
|
|
4
|
+
import { html as r, nothing as i } from "lit";
|
|
5
|
+
import { customElement as a, property as o } from "lit/decorators.js";
|
|
6
|
+
import { classMap as s } from "lit/directives/class-map.js";
|
|
7
|
+
//#region src/components/reke-button/reke-button.ts
|
|
8
|
+
var c = class extends e {
|
|
9
|
+
constructor(...e) {
|
|
10
|
+
super(...e), this.variant = "primary", this.size = "md", this.disabled = !1, this.loading = !1;
|
|
11
|
+
}
|
|
12
|
+
static {
|
|
13
|
+
this.styles = n;
|
|
14
|
+
}
|
|
15
|
+
handleClick(e) {
|
|
16
|
+
if (this.disabled || this.loading) {
|
|
17
|
+
e.preventDefault(), e.stopPropagation();
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
this.emit("reke-click");
|
|
21
|
+
}
|
|
22
|
+
render() {
|
|
23
|
+
return r`
|
|
24
|
+
<button
|
|
25
|
+
part="button"
|
|
26
|
+
class=${s({
|
|
27
|
+
button: !0,
|
|
28
|
+
[`button--${this.variant}`]: !0,
|
|
29
|
+
[`button--${this.size}`]: !0,
|
|
30
|
+
"button--loading": this.loading
|
|
31
|
+
})}
|
|
32
|
+
?disabled=${this.disabled}
|
|
33
|
+
aria-disabled=${this.disabled || this.loading}
|
|
34
|
+
aria-busy=${this.loading}
|
|
35
|
+
@click=${this.handleClick}
|
|
36
|
+
>
|
|
37
|
+
<span class="spinner" aria-hidden="true"></span>
|
|
38
|
+
${this.variant === "icon-only" ? i : r`<slot name="prefix"></slot>`}
|
|
39
|
+
<slot></slot>
|
|
40
|
+
${this.variant === "icon-only" ? i : r`<slot name="suffix"></slot>`}
|
|
41
|
+
</button>
|
|
42
|
+
`;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
t([o({ reflect: !0 })], c.prototype, "variant", void 0), t([o({ reflect: !0 })], c.prototype, "size", void 0), t([o({
|
|
46
|
+
type: Boolean,
|
|
47
|
+
reflect: !0
|
|
48
|
+
})], c.prototype, "disabled", void 0), t([o({
|
|
49
|
+
type: Boolean,
|
|
50
|
+
reflect: !0
|
|
51
|
+
})], c.prototype, "loading", void 0), c = t([a("reke-button")], c);
|
|
52
|
+
//#endregion
|
|
53
|
+
export { c as RekeButton };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reke-button.styles.d.ts","sourceRoot":"","sources":["../../../src/components/reke-button/reke-button.styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"reke-button.styles.d.ts","sourceRoot":"","sources":["../../../src/components/reke-button/reke-button.styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM,2BA+NlB,CAAC"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import { tailwindStyles as e } from "../../shared/tailwind-styles.js";
|
|
2
|
+
import { css as t } from "lit";
|
|
3
|
+
//#region src/components/reke-button/reke-button.styles.ts
|
|
4
|
+
var n = [e, t`
|
|
5
|
+
:host {
|
|
6
|
+
display: inline-block;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
:host([disabled]) {
|
|
10
|
+
pointer-events: none;
|
|
11
|
+
opacity: 0.5;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.button {
|
|
15
|
+
display: inline-flex;
|
|
16
|
+
align-items: center;
|
|
17
|
+
justify-content: center;
|
|
18
|
+
gap: var(--reke-space-xs, 8px);
|
|
19
|
+
border: 1px solid transparent;
|
|
20
|
+
border-radius: var(--reke-radius, 4px);
|
|
21
|
+
font-family: var(--reke-font-mono, 'JetBrains Mono', ui-monospace, monospace);
|
|
22
|
+
font-weight: var(--reke-font-weight-medium, 500);
|
|
23
|
+
cursor: pointer;
|
|
24
|
+
transition:
|
|
25
|
+
background-color var(--reke-transition-fast, 0.12s ease),
|
|
26
|
+
border-color var(--reke-transition-fast, 0.12s ease),
|
|
27
|
+
color var(--reke-transition-fast, 0.12s ease),
|
|
28
|
+
box-shadow var(--reke-transition-normal, 0.2s ease),
|
|
29
|
+
transform var(--reke-transition-normal, 0.2s ease);
|
|
30
|
+
text-decoration: none;
|
|
31
|
+
line-height: 1;
|
|
32
|
+
white-space: nowrap;
|
|
33
|
+
box-sizing: border-box;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.button:focus-visible {
|
|
37
|
+
outline: 2px solid var(--reke-color-primary, #22C55E);
|
|
38
|
+
outline-offset: 2px;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/* === Sizes === */
|
|
42
|
+
|
|
43
|
+
.button--xs {
|
|
44
|
+
padding: var(--reke-space-2xs, 6px) var(--reke-space-xs, 8px);
|
|
45
|
+
font-size: var(--reke-font-size-2xs, 11px);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.button--sm {
|
|
49
|
+
padding: var(--reke-space-xs, 8px) var(--reke-space-md, 16px);
|
|
50
|
+
font-size: var(--reke-font-size-xs, 12px);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.button--md {
|
|
54
|
+
padding: var(--reke-space-sm, 12px) var(--reke-space-xl, 24px);
|
|
55
|
+
font-size: var(--reke-font-size-sm, 13px);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.button--lg {
|
|
59
|
+
padding: var(--reke-space-md, 16px) var(--reke-space-2xl, 28px);
|
|
60
|
+
font-size: var(--reke-font-size-md, 14px);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/* === Variants === */
|
|
64
|
+
|
|
65
|
+
.button--primary {
|
|
66
|
+
background-color: var(--reke-color-primary, #22C55E);
|
|
67
|
+
color: var(--reke-color-on-primary, #0A0A0B);
|
|
68
|
+
border-color: var(--reke-color-primary, #22C55E);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.button--primary:hover:not(:disabled) {
|
|
72
|
+
background-color: color-mix(in srgb, var(--reke-color-primary, #22C55E) 88%, black);
|
|
73
|
+
border-color: color-mix(in srgb, var(--reke-color-primary, #22C55E) 88%, black);
|
|
74
|
+
box-shadow: var(--reke-shadow-glow-primary, 0 0 20px rgba(34, 197, 94, 0.35));
|
|
75
|
+
transform: translateY(-1px);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.button--primary:active:not(:disabled) {
|
|
79
|
+
transform: translateY(0);
|
|
80
|
+
box-shadow: none;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.button--secondary {
|
|
84
|
+
background-color: var(--reke-color-surface, #1A1A1A);
|
|
85
|
+
color: var(--reke-color-text, #E5E5E5);
|
|
86
|
+
border-color: var(--reke-color-border, #252525);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.button--secondary:hover:not(:disabled) {
|
|
90
|
+
background-color: var(--reke-color-surface-hover, #202020);
|
|
91
|
+
border-color: var(--reke-color-border-hover, #3A3A3A);
|
|
92
|
+
color: var(--reke-color-text, #E5E5E5);
|
|
93
|
+
transform: translateY(-1px);
|
|
94
|
+
box-shadow: var(--reke-shadow-lift-sm, 0 4px 16px rgba(0, 0, 0, 0.35));
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.button--secondary:active:not(:disabled) {
|
|
98
|
+
transform: translateY(0);
|
|
99
|
+
box-shadow: none;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.button--ghost {
|
|
103
|
+
background-color: transparent;
|
|
104
|
+
color: var(--reke-color-text-ghost, #737373);
|
|
105
|
+
border-color: transparent;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.button--ghost:hover:not(:disabled) {
|
|
109
|
+
background-color: var(--reke-color-surface, #1A1A1A);
|
|
110
|
+
color: var(--reke-color-text, #E5E5E5);
|
|
111
|
+
border-color: var(--reke-color-border-subtle, #1F1F1F);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.button--danger {
|
|
115
|
+
background-color: var(--reke-color-danger, #EF4444);
|
|
116
|
+
color: #FFFFFF;
|
|
117
|
+
border-color: var(--reke-color-danger, #EF4444);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.button--danger:hover:not(:disabled) {
|
|
121
|
+
background-color: color-mix(in srgb, var(--reke-color-danger, #EF4444) 88%, black);
|
|
122
|
+
border-color: color-mix(in srgb, var(--reke-color-danger, #EF4444) 88%, black);
|
|
123
|
+
box-shadow: var(--reke-shadow-glow-danger, 0 0 20px rgba(239, 68, 68, 0.35));
|
|
124
|
+
transform: translateY(-1px);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.button--danger:active:not(:disabled) {
|
|
128
|
+
transform: translateY(0);
|
|
129
|
+
box-shadow: none;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.button--danger-outline {
|
|
133
|
+
background-color: transparent;
|
|
134
|
+
color: var(--reke-color-danger, #EF4444);
|
|
135
|
+
border-color: var(--reke-color-danger, #EF4444);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.button--danger-outline:hover:not(:disabled) {
|
|
139
|
+
background-color: color-mix(in srgb, var(--reke-color-danger, #EF4444) 10%, transparent);
|
|
140
|
+
box-shadow: var(--reke-shadow-glow-danger, 0 0 20px rgba(239, 68, 68, 0.35));
|
|
141
|
+
transform: translateY(-1px);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.button--danger-outline:active:not(:disabled) {
|
|
145
|
+
transform: translateY(0);
|
|
146
|
+
box-shadow: none;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.button--icon-only {
|
|
150
|
+
background-color: var(--reke-color-surface, #1A1A1A);
|
|
151
|
+
color: var(--reke-color-text, #E5E5E5);
|
|
152
|
+
border-color: var(--reke-color-border, #252525);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.button--icon-only:hover:not(:disabled) {
|
|
156
|
+
background-color: var(--reke-color-surface-hover, #202020);
|
|
157
|
+
border-color: var(--reke-color-border-hover, #3A3A3A);
|
|
158
|
+
color: var(--reke-color-text, #E5E5E5);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.button--icon-only.button--xs {
|
|
162
|
+
padding: var(--reke-space-2xs, 6px);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.button--icon-only.button--sm {
|
|
166
|
+
padding: var(--reke-space-xs, 8px);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.button--icon-only.button--md {
|
|
170
|
+
padding: var(--reke-space-sm, 12px);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
.button--icon-only.button--lg {
|
|
174
|
+
padding: var(--reke-space-md, 16px);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/* === Loading === */
|
|
178
|
+
|
|
179
|
+
.button--loading {
|
|
180
|
+
position: relative;
|
|
181
|
+
color: transparent !important;
|
|
182
|
+
pointer-events: none;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.spinner {
|
|
186
|
+
display: none;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.button--loading .spinner {
|
|
190
|
+
display: block;
|
|
191
|
+
position: absolute;
|
|
192
|
+
width: 1em;
|
|
193
|
+
height: 1em;
|
|
194
|
+
border: 2px solid currentColor;
|
|
195
|
+
border-right-color: transparent;
|
|
196
|
+
border-radius: 50%;
|
|
197
|
+
animation: spin 0.6s linear infinite;
|
|
198
|
+
color: inherit;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
.button--loading.button--primary .spinner {
|
|
202
|
+
color: var(--reke-color-on-primary, #0A0A0B);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
.button--loading.button--secondary .spinner,
|
|
206
|
+
.button--loading.button--ghost .spinner,
|
|
207
|
+
.button--loading.button--icon-only .spinner {
|
|
208
|
+
color: var(--reke-color-text, #E5E5E5);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.button--loading.button--danger .spinner {
|
|
212
|
+
color: #FFFFFF;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.button--loading.button--danger-outline .spinner {
|
|
216
|
+
color: var(--reke-color-danger, #EF4444);
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
@keyframes spin {
|
|
220
|
+
to {
|
|
221
|
+
transform: rotate(360deg);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
`];
|
|
225
|
+
//#endregion
|
|
226
|
+
export { n as styles };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { RekeElement } from '../../shared/base-element.js';
|
|
2
2
|
export type CardVariant = 'default' | 'elevated' | 'outlined';
|
|
3
3
|
export type CardPadding = 'none' | 'sm' | 'md' | 'lg';
|
|
4
|
+
export type CardAccent = 'none' | 'primary' | 'secondary' | 'danger' | 'warning';
|
|
4
5
|
/**
|
|
5
6
|
* @tag reke-card
|
|
6
7
|
* @summary A card container component with multiple variants and padding options.
|
|
@@ -13,11 +14,17 @@ export type CardPadding = 'none' | 'sm' | 'md' | 'lg';
|
|
|
13
14
|
* @cssprop [--reke-color-border=#252525] - Card border color.
|
|
14
15
|
* @cssprop [--reke-shadow-md=0 4px 6px rgba(0,0,0,0.3)] - Elevated variant shadow.
|
|
15
16
|
* @cssprop [--reke-radius=4px] - Card border radius.
|
|
17
|
+
* @cssprop [--reke-shadow-lift] - Shadow applied on hover when interactive.
|
|
18
|
+
* @cssprop [--reke-shadow-glow-primary] - Glow shadow for accent=primary on hover.
|
|
16
19
|
*/
|
|
17
20
|
export declare class RekeCard extends RekeElement {
|
|
18
21
|
static styles: import("lit").CSSResult[];
|
|
19
22
|
variant: CardVariant;
|
|
20
23
|
padding: CardPadding;
|
|
24
|
+
/** Enables hover lift + border glow effect. */
|
|
25
|
+
interactive: boolean;
|
|
26
|
+
/** Accent color shown on hover border (requires interactive=true). */
|
|
27
|
+
accent: CardAccent;
|
|
21
28
|
private _hasHeader;
|
|
22
29
|
private _hasFooter;
|
|
23
30
|
private _onSlotChange;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reke-card.d.ts","sourceRoot":"","sources":["../../../src/components/reke-card/reke-card.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG3D,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"reke-card.d.ts","sourceRoot":"","sources":["../../../src/components/reke-card/reke-card.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG3D,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACtD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjF;;;;;;;;;;;;;;GAcG;AACH,qBACa,QAAS,SAAQ,WAAW;IACvC,OAAgB,MAAM,4BAAU;IAGhC,OAAO,EAAE,WAAW,CAAa;IAGjC,OAAO,EAAE,WAAW,CAAQ;IAE5B,+CAA+C;IAE/C,WAAW,UAAS;IAEpB,sEAAsE;IAEtE,MAAM,EAAE,UAAU,CAAU;IAEnB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;IAEpC,OAAO,CAAC,aAAa;IAOZ,MAAM;CAmChB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,QAAQ,CAAC;KAEvB;CACF"}
|