@geajs/ui 0.2.1 → 0.2.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/accordion.mjs +12 -12
- package/dist/accordion.mjs.map +1 -1
- package/dist/alert.mjs +44 -23
- package/dist/alert.mjs.map +1 -1
- package/dist/avatar.mjs +11 -11
- package/dist/avatar.mjs.map +1 -1
- package/dist/badge.mjs +19 -12
- package/dist/badge.mjs.map +1 -1
- package/dist/button.mjs +33 -23
- package/dist/button.mjs.map +1 -1
- package/dist/card.mjs +85 -43
- package/dist/card.mjs.map +1 -1
- package/dist/checkbox.mjs +5 -5
- package/dist/checkbox.mjs.map +1 -1
- package/dist/clipboard.mjs +10 -10
- package/dist/clipboard.mjs.map +1 -1
- package/dist/collapsible.mjs +18 -11
- package/dist/collapsible.mjs.map +1 -1
- package/dist/combobox.mjs +62 -48
- package/dist/combobox.mjs.map +1 -1
- package/dist/dialog.mjs +19 -12
- package/dist/dialog.mjs.map +1 -1
- package/dist/dnd-manager.mjs +18 -26
- package/dist/dnd-manager.mjs.map +1 -1
- package/dist/drag-drop-context.mjs +15 -8
- package/dist/drag-drop-context.mjs.map +1 -1
- package/dist/draggable.mjs +39 -19
- package/dist/draggable.mjs.map +1 -1
- package/dist/droppable.mjs +22 -12
- package/dist/droppable.mjs.map +1 -1
- package/dist/file-upload.mjs +24 -21
- package/dist/file-upload.mjs.map +1 -1
- package/dist/hover-card.mjs +27 -17
- package/dist/hover-card.mjs.map +1 -1
- package/dist/input.mjs +36 -24
- package/dist/input.mjs.map +1 -1
- package/dist/label.mjs +22 -12
- package/dist/label.mjs.map +1 -1
- package/dist/menu.mjs +9 -9
- package/dist/menu.mjs.map +1 -1
- package/dist/number-input.mjs +5 -5
- package/dist/number-input.mjs.map +1 -1
- package/dist/pagination.mjs +8 -9
- package/dist/pagination.mjs.map +1 -1
- package/dist/pin-input.mjs +11 -11
- package/dist/pin-input.mjs.map +1 -1
- package/dist/popover.mjs +19 -12
- package/dist/popover.mjs.map +1 -1
- package/dist/progress.mjs +8 -8
- package/dist/progress.mjs.map +1 -1
- package/dist/radio-group.mjs +16 -12
- package/dist/radio-group.mjs.map +1 -1
- package/dist/rating-group.mjs +21 -15
- package/dist/rating-group.mjs.map +1 -1
- package/dist/select.d.mts +1 -0
- package/dist/select.mjs +22 -17
- package/dist/select.mjs.map +1 -1
- package/dist/separator.mjs +12 -9
- package/dist/separator.mjs.map +1 -1
- package/dist/skeleton.mjs +6 -7
- package/dist/skeleton.mjs.map +1 -1
- package/dist/slider.mjs +5 -5
- package/dist/slider.mjs.map +1 -1
- package/dist/switch.mjs +5 -5
- package/dist/switch.mjs.map +1 -1
- package/dist/tabs.mjs +28 -20
- package/dist/tabs.mjs.map +1 -1
- package/dist/tags-input.mjs +18 -14
- package/dist/tags-input.mjs.map +1 -1
- package/dist/textarea.mjs +28 -19
- package/dist/textarea.mjs.map +1 -1
- package/dist/theme.css +198 -165
- package/dist/toast.mjs +6 -7
- package/dist/toast.mjs.map +1 -1
- package/dist/toggle-group.mjs +16 -12
- package/dist/toggle-group.mjs.map +1 -1
- package/dist/tooltip.mjs +18 -11
- package/dist/tooltip.mjs.map +1 -1
- package/dist/tree-view.mjs +17 -10
- package/dist/tree-view.mjs.map +1 -1
- package/dist/zag-component.mjs.map +1 -1
- package/package.json +1 -2
- package/dist/tailwind-preset.d.mts +0 -51
- package/dist/tailwind-preset.mjs +0 -50
- package/dist/tailwind-preset.mjs.map +0 -1
package/dist/button.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as cn } from "./cn.mjs";
|
|
2
|
-
import { Component,
|
|
2
|
+
import { Component, GEA_ELEMENT, GEA_INSTANTIATE_CHILD_COMPONENTS, GEA_MOUNT_COMPILED_CHILD_COMPONENTS, GEA_ON_PROP_CHANGE, GEA_PATCH_NODE } from "@geajs/core";
|
|
3
3
|
//#region src/components/button.tsx
|
|
4
4
|
const variants = {
|
|
5
|
-
default: "bg-primary text-primary-foreground shadow-
|
|
6
|
-
destructive: "bg-destructive text-destructive-foreground shadow-
|
|
7
|
-
outline: "border border-input bg-background shadow-
|
|
8
|
-
secondary: "bg-secondary text-secondary-foreground shadow-
|
|
5
|
+
default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
|
|
6
|
+
destructive: "bg-destructive text-destructive-foreground shadow-xs hover:bg-destructive/90",
|
|
7
|
+
outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground",
|
|
8
|
+
secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",
|
|
9
9
|
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
10
10
|
link: "text-primary underline-offset-4 hover:underline"
|
|
11
11
|
};
|
|
@@ -17,48 +17,48 @@ const sizes = {
|
|
|
17
17
|
};
|
|
18
18
|
var Button = class extends Component {
|
|
19
19
|
static {
|
|
20
|
-
this
|
|
20
|
+
this.__geaTagName = "gea-button";
|
|
21
21
|
}
|
|
22
22
|
template(props) {
|
|
23
23
|
const __id = this.id;
|
|
24
24
|
const variant = variants[props.variant || "default"] || variants.default;
|
|
25
25
|
const size = sizes[props.size || "default"] || sizes.default;
|
|
26
|
-
return `<button id="${__id}"${cn("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-
|
|
26
|
+
return `<button id="${__id}"${cn("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", variant, size, props.class) == null || cn("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", variant, size, props.class) === false ? "" : ` class="${(cn("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", variant, size, props.class) != null ? String(cn("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", variant, size, props.class)) : "").trim()}"`}${(props.type || "button") == null || (props.type || "button") === false ? "" : ` type="${props.type || "button"}"`}${props.disabled == null || props.disabled === false ? "" : ` disabled="${props.disabled}"`}>${props.children}</button>`;
|
|
27
27
|
}
|
|
28
28
|
get events() {
|
|
29
29
|
if (this.__evts && this[GEA_ELEMENT]) return this.__evts;
|
|
30
|
-
const __geaEvtsResult = { click: { [`#${this.id}`]:
|
|
30
|
+
const __geaEvtsResult = { click: { [`#${this.id}`]: this.__event_click_0 } };
|
|
31
31
|
if (this[GEA_ELEMENT]) this.__evts = __geaEvtsResult;
|
|
32
32
|
return __geaEvtsResult;
|
|
33
33
|
}
|
|
34
34
|
__event_click_0(e, targetComponent) {
|
|
35
35
|
(this.props.click || this.props.onClick)?.(e);
|
|
36
36
|
}
|
|
37
|
-
|
|
37
|
+
[GEA_ON_PROP_CHANGE](key, value) {
|
|
38
38
|
if (key === "variant") {
|
|
39
39
|
const __el = this[GEA_ELEMENT];
|
|
40
40
|
const props = this.props;
|
|
41
|
-
const __boundValue = cn("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-
|
|
41
|
+
const __boundValue = cn("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", variants[props.variant || "default"] || variants.default, sizes[props.size || "default"] || sizes.default, this.props.class);
|
|
42
42
|
if (__el) {
|
|
43
|
-
const __newClass =
|
|
43
|
+
const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
|
|
44
44
|
if (__el.className !== __newClass) __el.className = __newClass;
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
if (key === "size") {
|
|
48
48
|
const __el = this[GEA_ELEMENT];
|
|
49
49
|
const props = this.props;
|
|
50
|
-
const __boundValue = cn("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-
|
|
50
|
+
const __boundValue = cn("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", variants[props.variant || "default"] || variants.default, sizes[props.size || "default"] || sizes.default, this.props.class);
|
|
51
51
|
if (__el) {
|
|
52
|
-
const __newClass =
|
|
52
|
+
const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
|
|
53
53
|
if (__el.className !== __newClass) __el.className = __newClass;
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
if (key === "class") {
|
|
57
57
|
const __el = this[GEA_ELEMENT];
|
|
58
58
|
const props = this.props;
|
|
59
|
-
const __boundValue = cn("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-
|
|
59
|
+
const __boundValue = cn("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", variants[props.variant || "default"] || variants.default, sizes[props.size || "default"] || sizes.default, value);
|
|
60
60
|
if (__el) {
|
|
61
|
-
const __newClass =
|
|
61
|
+
const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
|
|
62
62
|
if (__el.className !== __newClass) __el.className = __newClass;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
@@ -66,10 +66,13 @@ var Button = class extends Component {
|
|
|
66
66
|
const __el = this[GEA_ELEMENT];
|
|
67
67
|
this.props;
|
|
68
68
|
const __boundValue = value || "button";
|
|
69
|
-
if (__el)
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
if (__el) {
|
|
70
|
+
var __av = __boundValue;
|
|
71
|
+
if (__av == null || __av === false) __el.removeAttribute("type");
|
|
72
|
+
else {
|
|
73
|
+
const __newAttr = String(__av);
|
|
74
|
+
if (__el.getAttribute("type") !== __newAttr) __el.setAttribute("type", __newAttr);
|
|
75
|
+
}
|
|
73
76
|
}
|
|
74
77
|
}
|
|
75
78
|
if (key === "disabled") {
|
|
@@ -82,10 +85,17 @@ var Button = class extends Component {
|
|
|
82
85
|
}
|
|
83
86
|
if (key === "children") {
|
|
84
87
|
const __el = this[GEA_ELEMENT];
|
|
85
|
-
if (__el
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
88
|
+
if (__el) {
|
|
89
|
+
const __tw = document.createElement("template");
|
|
90
|
+
__tw.innerHTML = value;
|
|
91
|
+
const __newEl = __tw.content.firstElementChild;
|
|
92
|
+
const __existEl = __el.firstElementChild;
|
|
93
|
+
if (__newEl && __existEl && __tw.content.childNodes.length === 1) this.constructor[GEA_PATCH_NODE](__existEl, __newEl, true);
|
|
94
|
+
else if (__el.innerHTML !== value) {
|
|
95
|
+
__el.innerHTML = value;
|
|
96
|
+
this[GEA_INSTANTIATE_CHILD_COMPONENTS]();
|
|
97
|
+
if (this.parentComponent) this.parentComponent[GEA_MOUNT_COMPILED_CHILD_COMPONENTS]();
|
|
98
|
+
}
|
|
89
99
|
}
|
|
90
100
|
}
|
|
91
101
|
}
|
package/dist/button.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.mjs","names":["Component","
|
|
1
|
+
{"version":3,"file":"button.mjs","names":["Component","GEA_ELEMENT","GEA_ON_PROP_CHANGE","GEA_PATCH_NODE","GEA_INSTANTIATE_CHILD_COMPONENTS","GEA_MOUNT_COMPILED_CHILD_COMPONENTS","MouseEventHandler","ReactNode","cn","ButtonVariant","ButtonSize","ButtonProps","variant","size","type","disabled","class","click","HTMLButtonElement","onClick","children","variants","Record","default","destructive","outline","secondary","ghost","link","sizes","sm","lg","icon","Button","__geaTagName","template","props","__id","id","String","trim","events","__evts","__geaEvtsResult","__event_click_0","e","targetComponent","handleClick","key","value","__el","__boundValue","__newClass","replace","className","__av","removeAttribute","__newAttr","getAttribute","setAttribute","__tw","document","createElement","innerHTML","__newEl","content","firstElementChild","__existEl","childNodes","length","constructor","parentComponent"],"sources":["../src/components/button.tsx"],"sourcesContent":["import { Component } from '@geajs/core'\nimport type { MouseEventHandler, ReactNode } from 'react'\nimport { cn } from '../utils/cn'\n\nexport type ButtonVariant = 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link'\nexport type ButtonSize = 'default' | 'sm' | 'lg' | 'icon'\n\nexport interface ButtonProps {\n variant?: ButtonVariant | (string & {})\n size?: ButtonSize | (string & {})\n type?: 'button' | 'submit' | 'reset'\n disabled?: boolean\n class?: string\n click?: MouseEventHandler<HTMLButtonElement>\n onClick?: MouseEventHandler<HTMLButtonElement>\n children?: ReactNode\n}\n\nconst variants: Record<string, string> = {\n default: 'bg-primary text-primary-foreground shadow-xs hover:bg-primary/90',\n destructive: 'bg-destructive text-destructive-foreground shadow-xs hover:bg-destructive/90',\n outline: 'border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground',\n secondary: 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n link: 'text-primary underline-offset-4 hover:underline',\n}\n\nconst sizes: Record<string, string> = {\n default: 'h-9 px-4 py-2',\n sm: 'h-8 rounded-md px-3 text-xs',\n lg: 'h-10 rounded-md px-8',\n icon: 'h-9 w-9',\n}\n\nexport default class Button extends Component<ButtonProps> {\n template(props: ButtonProps) {\n const variant = variants[props.variant || 'default'] || variants.default\n const size = sizes[props.size || 'default'] || sizes.default\n const handleClick = props.click || props.onClick\n\n return (\n <button\n class={cn(\n 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50',\n variant,\n size,\n props.class,\n )}\n type={props.type || 'button'}\n disabled={props.disabled}\n click={(e: any) => handleClick?.(e)}\n >\n {props.children}\n </button>\n )\n }\n}\n"],"mappings":"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"}
|
package/dist/card.mjs
CHANGED
|
@@ -1,164 +1,206 @@
|
|
|
1
1
|
import { t as cn } from "./cn.mjs";
|
|
2
|
-
import { Component,
|
|
2
|
+
import { Component, GEA_ELEMENT, GEA_INSTANTIATE_CHILD_COMPONENTS, GEA_MOUNT_COMPILED_CHILD_COMPONENTS, GEA_ON_PROP_CHANGE, GEA_PATCH_NODE } from "@geajs/core";
|
|
3
3
|
//#region src/components/card.tsx
|
|
4
4
|
var Card = class extends Component {
|
|
5
5
|
static {
|
|
6
|
-
this
|
|
6
|
+
this.__geaTagName = "gea-card";
|
|
7
7
|
}
|
|
8
8
|
template(props) {
|
|
9
9
|
return `<div id="${this.id}"${cn("rounded-xl border bg-card text-card-foreground shadow", props.class) == null || cn("rounded-xl border bg-card text-card-foreground shadow", props.class) === false ? "" : ` class="${(cn("rounded-xl border bg-card text-card-foreground shadow", props.class) != null ? String(cn("rounded-xl border bg-card text-card-foreground shadow", props.class)) : "").trim()}"`}>${props.children}</div>`;
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
[GEA_ON_PROP_CHANGE](key, value) {
|
|
12
12
|
if (key === "class") {
|
|
13
13
|
const __el = this[GEA_ELEMENT];
|
|
14
14
|
this.props;
|
|
15
15
|
const __boundValue = cn("rounded-xl border bg-card text-card-foreground shadow", value);
|
|
16
16
|
if (__el) {
|
|
17
|
-
const __newClass =
|
|
17
|
+
const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
|
|
18
18
|
if (__el.className !== __newClass) __el.className = __newClass;
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
if (key === "children") {
|
|
22
22
|
const __el = this[GEA_ELEMENT];
|
|
23
|
-
if (__el
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
if (__el) {
|
|
24
|
+
const __tw = document.createElement("template");
|
|
25
|
+
__tw.innerHTML = value;
|
|
26
|
+
const __newEl = __tw.content.firstElementChild;
|
|
27
|
+
const __existEl = __el.firstElementChild;
|
|
28
|
+
if (__newEl && __existEl && __tw.content.childNodes.length === 1) this.constructor[GEA_PATCH_NODE](__existEl, __newEl, true);
|
|
29
|
+
else if (__el.innerHTML !== value) {
|
|
30
|
+
__el.innerHTML = value;
|
|
31
|
+
this[GEA_INSTANTIATE_CHILD_COMPONENTS]();
|
|
32
|
+
if (this.parentComponent) this.parentComponent[GEA_MOUNT_COMPILED_CHILD_COMPONENTS]();
|
|
33
|
+
}
|
|
27
34
|
}
|
|
28
35
|
}
|
|
29
36
|
}
|
|
30
37
|
};
|
|
31
38
|
var CardHeader = class extends Component {
|
|
32
39
|
static {
|
|
33
|
-
this
|
|
40
|
+
this.__geaTagName = "card-header";
|
|
34
41
|
}
|
|
35
42
|
template(props) {
|
|
36
43
|
return `<div id="${this.id}"${cn("flex flex-col space-y-1.5 p-6", props.class) == null || cn("flex flex-col space-y-1.5 p-6", props.class) === false ? "" : ` class="${(cn("flex flex-col space-y-1.5 p-6", props.class) != null ? String(cn("flex flex-col space-y-1.5 p-6", props.class)) : "").trim()}"`}>${props.children}</div>`;
|
|
37
44
|
}
|
|
38
|
-
|
|
45
|
+
[GEA_ON_PROP_CHANGE](key, value) {
|
|
39
46
|
if (key === "class") {
|
|
40
47
|
const __el = this[GEA_ELEMENT];
|
|
41
48
|
this.props;
|
|
42
49
|
const __boundValue = cn("flex flex-col space-y-1.5 p-6", value);
|
|
43
50
|
if (__el) {
|
|
44
|
-
const __newClass =
|
|
51
|
+
const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
|
|
45
52
|
if (__el.className !== __newClass) __el.className = __newClass;
|
|
46
53
|
}
|
|
47
54
|
}
|
|
48
55
|
if (key === "children") {
|
|
49
56
|
const __el = this[GEA_ELEMENT];
|
|
50
|
-
if (__el
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
57
|
+
if (__el) {
|
|
58
|
+
const __tw = document.createElement("template");
|
|
59
|
+
__tw.innerHTML = value;
|
|
60
|
+
const __newEl = __tw.content.firstElementChild;
|
|
61
|
+
const __existEl = __el.firstElementChild;
|
|
62
|
+
if (__newEl && __existEl && __tw.content.childNodes.length === 1) this.constructor[GEA_PATCH_NODE](__existEl, __newEl, true);
|
|
63
|
+
else if (__el.innerHTML !== value) {
|
|
64
|
+
__el.innerHTML = value;
|
|
65
|
+
this[GEA_INSTANTIATE_CHILD_COMPONENTS]();
|
|
66
|
+
if (this.parentComponent) this.parentComponent[GEA_MOUNT_COMPILED_CHILD_COMPONENTS]();
|
|
67
|
+
}
|
|
54
68
|
}
|
|
55
69
|
}
|
|
56
70
|
}
|
|
57
71
|
};
|
|
58
72
|
var CardTitle = class extends Component {
|
|
59
73
|
static {
|
|
60
|
-
this
|
|
74
|
+
this.__geaTagName = "card-title";
|
|
61
75
|
}
|
|
62
76
|
template(props) {
|
|
63
77
|
return `<h3 id="${this.id}"${cn("font-semibold leading-none tracking-tight", props.class) == null || cn("font-semibold leading-none tracking-tight", props.class) === false ? "" : ` class="${(cn("font-semibold leading-none tracking-tight", props.class) != null ? String(cn("font-semibold leading-none tracking-tight", props.class)) : "").trim()}"`}>${props.children}</h3>`;
|
|
64
78
|
}
|
|
65
|
-
|
|
79
|
+
[GEA_ON_PROP_CHANGE](key, value) {
|
|
66
80
|
if (key === "class") {
|
|
67
81
|
const __el = this[GEA_ELEMENT];
|
|
68
82
|
this.props;
|
|
69
83
|
const __boundValue = cn("font-semibold leading-none tracking-tight", value);
|
|
70
84
|
if (__el) {
|
|
71
|
-
const __newClass =
|
|
85
|
+
const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
|
|
72
86
|
if (__el.className !== __newClass) __el.className = __newClass;
|
|
73
87
|
}
|
|
74
88
|
}
|
|
75
89
|
if (key === "children") {
|
|
76
90
|
const __el = this[GEA_ELEMENT];
|
|
77
|
-
if (__el
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
91
|
+
if (__el) {
|
|
92
|
+
const __tw = document.createElement("template");
|
|
93
|
+
__tw.innerHTML = value;
|
|
94
|
+
const __newEl = __tw.content.firstElementChild;
|
|
95
|
+
const __existEl = __el.firstElementChild;
|
|
96
|
+
if (__newEl && __existEl && __tw.content.childNodes.length === 1) this.constructor[GEA_PATCH_NODE](__existEl, __newEl, true);
|
|
97
|
+
else if (__el.innerHTML !== value) {
|
|
98
|
+
__el.innerHTML = value;
|
|
99
|
+
this[GEA_INSTANTIATE_CHILD_COMPONENTS]();
|
|
100
|
+
if (this.parentComponent) this.parentComponent[GEA_MOUNT_COMPILED_CHILD_COMPONENTS]();
|
|
101
|
+
}
|
|
81
102
|
}
|
|
82
103
|
}
|
|
83
104
|
}
|
|
84
105
|
};
|
|
85
106
|
var CardDescription = class extends Component {
|
|
86
107
|
static {
|
|
87
|
-
this
|
|
108
|
+
this.__geaTagName = "card-description";
|
|
88
109
|
}
|
|
89
110
|
template(props) {
|
|
90
111
|
return `<p id="${this.id}"${cn("text-sm text-muted-foreground", props.class) == null || cn("text-sm text-muted-foreground", props.class) === false ? "" : ` class="${(cn("text-sm text-muted-foreground", props.class) != null ? String(cn("text-sm text-muted-foreground", props.class)) : "").trim()}"`}>${props.children}</p>`;
|
|
91
112
|
}
|
|
92
|
-
|
|
113
|
+
[GEA_ON_PROP_CHANGE](key, value) {
|
|
93
114
|
if (key === "class") {
|
|
94
115
|
const __el = this[GEA_ELEMENT];
|
|
95
116
|
this.props;
|
|
96
117
|
const __boundValue = cn("text-sm text-muted-foreground", value);
|
|
97
118
|
if (__el) {
|
|
98
|
-
const __newClass =
|
|
119
|
+
const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
|
|
99
120
|
if (__el.className !== __newClass) __el.className = __newClass;
|
|
100
121
|
}
|
|
101
122
|
}
|
|
102
123
|
if (key === "children") {
|
|
103
124
|
const __el = this[GEA_ELEMENT];
|
|
104
|
-
if (__el
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
125
|
+
if (__el) {
|
|
126
|
+
const __tw = document.createElement("template");
|
|
127
|
+
__tw.innerHTML = value;
|
|
128
|
+
const __newEl = __tw.content.firstElementChild;
|
|
129
|
+
const __existEl = __el.firstElementChild;
|
|
130
|
+
if (__newEl && __existEl && __tw.content.childNodes.length === 1) this.constructor[GEA_PATCH_NODE](__existEl, __newEl, true);
|
|
131
|
+
else if (__el.innerHTML !== value) {
|
|
132
|
+
__el.innerHTML = value;
|
|
133
|
+
this[GEA_INSTANTIATE_CHILD_COMPONENTS]();
|
|
134
|
+
if (this.parentComponent) this.parentComponent[GEA_MOUNT_COMPILED_CHILD_COMPONENTS]();
|
|
135
|
+
}
|
|
108
136
|
}
|
|
109
137
|
}
|
|
110
138
|
}
|
|
111
139
|
};
|
|
112
140
|
var CardContent = class extends Component {
|
|
113
141
|
static {
|
|
114
|
-
this
|
|
142
|
+
this.__geaTagName = "card-content";
|
|
115
143
|
}
|
|
116
144
|
template(props) {
|
|
117
145
|
return `<div id="${this.id}"${cn("p-6 pt-0", props.class) == null || cn("p-6 pt-0", props.class) === false ? "" : ` class="${(cn("p-6 pt-0", props.class) != null ? String(cn("p-6 pt-0", props.class)) : "").trim()}"`}>${props.children}</div>`;
|
|
118
146
|
}
|
|
119
|
-
|
|
147
|
+
[GEA_ON_PROP_CHANGE](key, value) {
|
|
120
148
|
if (key === "class") {
|
|
121
149
|
const __el = this[GEA_ELEMENT];
|
|
122
150
|
this.props;
|
|
123
151
|
const __boundValue = cn("p-6 pt-0", value);
|
|
124
152
|
if (__el) {
|
|
125
|
-
const __newClass =
|
|
153
|
+
const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
|
|
126
154
|
if (__el.className !== __newClass) __el.className = __newClass;
|
|
127
155
|
}
|
|
128
156
|
}
|
|
129
157
|
if (key === "children") {
|
|
130
158
|
const __el = this[GEA_ELEMENT];
|
|
131
|
-
if (__el
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
159
|
+
if (__el) {
|
|
160
|
+
const __tw = document.createElement("template");
|
|
161
|
+
__tw.innerHTML = value;
|
|
162
|
+
const __newEl = __tw.content.firstElementChild;
|
|
163
|
+
const __existEl = __el.firstElementChild;
|
|
164
|
+
if (__newEl && __existEl && __tw.content.childNodes.length === 1) this.constructor[GEA_PATCH_NODE](__existEl, __newEl, true);
|
|
165
|
+
else if (__el.innerHTML !== value) {
|
|
166
|
+
__el.innerHTML = value;
|
|
167
|
+
this[GEA_INSTANTIATE_CHILD_COMPONENTS]();
|
|
168
|
+
if (this.parentComponent) this.parentComponent[GEA_MOUNT_COMPILED_CHILD_COMPONENTS]();
|
|
169
|
+
}
|
|
135
170
|
}
|
|
136
171
|
}
|
|
137
172
|
}
|
|
138
173
|
};
|
|
139
174
|
var CardFooter = class extends Component {
|
|
140
175
|
static {
|
|
141
|
-
this
|
|
176
|
+
this.__geaTagName = "card-footer";
|
|
142
177
|
}
|
|
143
178
|
template(props) {
|
|
144
179
|
return `<div id="${this.id}"${cn("flex items-center p-6 pt-0", props.class) == null || cn("flex items-center p-6 pt-0", props.class) === false ? "" : ` class="${(cn("flex items-center p-6 pt-0", props.class) != null ? String(cn("flex items-center p-6 pt-0", props.class)) : "").trim()}"`}>${props.children}</div>`;
|
|
145
180
|
}
|
|
146
|
-
|
|
181
|
+
[GEA_ON_PROP_CHANGE](key, value) {
|
|
147
182
|
if (key === "class") {
|
|
148
183
|
const __el = this[GEA_ELEMENT];
|
|
149
184
|
this.props;
|
|
150
185
|
const __boundValue = cn("flex items-center p-6 pt-0", value);
|
|
151
186
|
if (__el) {
|
|
152
|
-
const __newClass =
|
|
187
|
+
const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
|
|
153
188
|
if (__el.className !== __newClass) __el.className = __newClass;
|
|
154
189
|
}
|
|
155
190
|
}
|
|
156
191
|
if (key === "children") {
|
|
157
192
|
const __el = this[GEA_ELEMENT];
|
|
158
|
-
if (__el
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
193
|
+
if (__el) {
|
|
194
|
+
const __tw = document.createElement("template");
|
|
195
|
+
__tw.innerHTML = value;
|
|
196
|
+
const __newEl = __tw.content.firstElementChild;
|
|
197
|
+
const __existEl = __el.firstElementChild;
|
|
198
|
+
if (__newEl && __existEl && __tw.content.childNodes.length === 1) this.constructor[GEA_PATCH_NODE](__existEl, __newEl, true);
|
|
199
|
+
else if (__el.innerHTML !== value) {
|
|
200
|
+
__el.innerHTML = value;
|
|
201
|
+
this[GEA_INSTANTIATE_CHILD_COMPONENTS]();
|
|
202
|
+
if (this.parentComponent) this.parentComponent[GEA_MOUNT_COMPILED_CHILD_COMPONENTS]();
|
|
203
|
+
}
|
|
162
204
|
}
|
|
163
205
|
}
|
|
164
206
|
}
|
package/dist/card.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.mjs","names":["Component","
|
|
1
|
+
{"version":3,"file":"card.mjs","names":["Component","GEA_ON_PROP_CHANGE","GEA_ELEMENT","GEA_PATCH_NODE","GEA_INSTANTIATE_CHILD_COMPONENTS","GEA_MOUNT_COMPILED_CHILD_COMPONENTS","cn","Card","__geaTagName","template","props","__id","id","class","String","trim","children","key","value","__el","__boundValue","__newClass","replace","className","__tw","document","createElement","innerHTML","__newEl","content","firstElementChild","__existEl","childNodes","length","constructor","parentComponent","CardHeader","CardTitle","CardDescription","CardContent","CardFooter"],"sources":["../src/components/card.tsx"],"sourcesContent":["import { Component } from '@geajs/core'\nimport { cn } from '../utils/cn'\n\nexport class Card extends Component {\n template(props: any) {\n return <div class={cn('rounded-xl border bg-card text-card-foreground shadow', props.class)}>{props.children}</div>\n }\n}\n\nexport class CardHeader extends Component {\n template(props: any) {\n return <div class={cn('flex flex-col space-y-1.5 p-6', props.class)}>{props.children}</div>\n }\n}\n\nexport class CardTitle extends Component {\n template(props: any) {\n return <h3 class={cn('font-semibold leading-none tracking-tight', props.class)}>{props.children}</h3>\n }\n}\n\nexport class CardDescription extends Component {\n template(props: any) {\n return <p class={cn('text-sm text-muted-foreground', props.class)}>{props.children}</p>\n }\n}\n\nexport class CardContent extends Component {\n template(props: any) {\n return <div class={cn('p-6 pt-0', props.class)}>{props.children}</div>\n }\n}\n\nexport class CardFooter extends Component {\n template(props: any) {\n return <div class={cn('flex items-center p-6 pt-0', props.class)}>{props.children}</div>\n }\n}\n"],"mappings":"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"}
|
package/dist/checkbox.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as ZagComponent } from "./zag-component.mjs";
|
|
2
|
-
import { Component,
|
|
2
|
+
import { Component, GEA_ELEMENT, GEA_ON_PROP_CHANGE, GEA_PATCH_COND, GEA_REGISTER_COND, geaCondValueSymbol, geaEscapeHtml } from "@geajs/core";
|
|
3
3
|
import { normalizeProps } from "@zag-js/vanilla";
|
|
4
4
|
import * as checkbox from "@zag-js/checkbox";
|
|
5
5
|
//#region src/components/checkbox.tsx
|
|
6
6
|
var Checkbox = class extends ZagComponent {
|
|
7
7
|
static {
|
|
8
|
-
this
|
|
8
|
+
this.__geaTagName = "gea-checkbox";
|
|
9
9
|
}
|
|
10
10
|
constructor(...args) {
|
|
11
11
|
super(...args);
|
|
@@ -59,15 +59,15 @@ var Checkbox = class extends ZagComponent {
|
|
|
59
59
|
template(props) {
|
|
60
60
|
const __id = this.id;
|
|
61
61
|
Component._register(ZagComponent, "zag-component");
|
|
62
|
-
return `<label id="${__id}" data-part="root" class="${`checkbox-root inline-flex items-center gap-2 cursor-pointer ${props.class || ""}`.trim()}"><input data-part="hidden-input" type="checkbox" class="sr-only" /><div data-part="control" class="checkbox-control h-4 w-4 shrink-0 rounded-
|
|
62
|
+
return `<label id="${__id}" data-part="root" class="${`checkbox-root inline-flex items-center gap-2 cursor-pointer ${props.class || ""}`.trim()}"><input data-part="hidden-input" type="checkbox" class="sr-only" /><div data-part="control" class="checkbox-control h-4 w-4 shrink-0 rounded-xs border border-primary shadow transition-colors data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground"><span data-part="indicator" class="checkbox-indicator flex items-center justify-center text-current h-full w-full"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="h-3 w-3"><polyline points="20 6 9 17 4 12"></polyline></svg></span></div><!--${__id + "-c0"}-->${props.label && `<span data-part="label" class="checkbox-label text-sm font-medium leading-none">${geaEscapeHtml(String(props.label))}</span>` || ""}<!--${__id + "-c0-end"}--></label>`;
|
|
63
63
|
}
|
|
64
|
-
|
|
64
|
+
[GEA_ON_PROP_CHANGE](key, value) {
|
|
65
65
|
if (key === "class") {
|
|
66
66
|
const __el = this[GEA_ELEMENT];
|
|
67
67
|
this.props;
|
|
68
68
|
const __boundValue = `checkbox-root inline-flex items-center gap-2 cursor-pointer ${value || ""}`;
|
|
69
69
|
if (__el) {
|
|
70
|
-
const __newClass =
|
|
70
|
+
const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
|
|
71
71
|
if (__el.className !== __newClass) __el.className = __newClass;
|
|
72
72
|
}
|
|
73
73
|
}
|
package/dist/checkbox.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.mjs","names":["
|
|
1
|
+
{"version":3,"file":"checkbox.mjs","names":["Component","geaCondValueSymbol","GEA_REGISTER_COND","geaEscapeHtml","GEA_ON_PROP_CHANGE","GEA_ELEMENT","GEA_PATCH_COND","checkbox","normalizeProps","ZagComponent","Checkbox","__geaTagName","constructor","args","props","label","String","checked","createMachine","_props","machine","getMachineProps","id","defaultChecked","disabled","invalid","required","readOnly","name","form","value","onCheckedChange","details","CheckedChangeDetails","connectApi","service","connect","getSpreadMap","syncState","api","checkedState","template","__id","_register","class","trim","key","__el","__boundValue","__newClass","replace","className"],"sources":["../src/components/checkbox.tsx"],"sourcesContent":["import * as checkbox from '@zag-js/checkbox'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class Checkbox extends ZagComponent {\n checked: boolean | 'indeterminate' = false\n\n createMachine(_props: any): any {\n return checkbox.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n checked: props.checked,\n defaultChecked: props.defaultChecked,\n disabled: props.disabled,\n invalid: props.invalid,\n required: props.required,\n readOnly: props.readOnly,\n name: props.name,\n form: props.form,\n value: props.value ?? 'on',\n onCheckedChange: (details: checkbox.CheckedChangeDetails) => {\n this.checked = details.checked\n props.onCheckedChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return checkbox.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"root\"]': 'getRootProps',\n '[data-part=\"label\"]': 'getLabelProps',\n '[data-part=\"control\"]': 'getControlProps',\n '[data-part=\"indicator\"]': 'getIndicatorProps',\n '[data-part=\"hidden-input\"]': 'getHiddenInputProps',\n }\n }\n\n syncState(api: any) {\n this.checked = api.checkedState\n }\n\n template(props: any) {\n return (\n <label\n data-part=\"root\"\n class={`checkbox-root inline-flex items-center gap-2 cursor-pointer ${props.class || ''}`}\n >\n <input data-part=\"hidden-input\" type=\"checkbox\" class=\"sr-only\" />\n <div\n data-part=\"control\"\n class=\"checkbox-control h-4 w-4 shrink-0 rounded-xs border border-primary shadow transition-colors data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground\"\n >\n <span\n data-part=\"indicator\"\n class=\"checkbox-indicator flex items-center justify-center text-current h-full w-full\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"h-3 w-3\"\n >\n <polyline points=\"20 6 9 17 4 12\"></polyline>\n </svg>\n </span>\n </div>\n {props.label && (\n <span data-part=\"label\" class=\"checkbox-label text-sm font-medium leading-none\">\n {props.label}\n </span>\n )}\n </label>\n )\n }\n}\n"],"mappings":";;;;;AAIA,IAAqBU,WAArB,cAAsCD,aAAa;;sBAAA;;CAHnDG,YAAsB,GAAGC,MAAI;AAA7B,QAAM,GAAGA,KAAK;iBAIyB;AA2ClB,OAAAC;AAAA,OAAAb,mBAAA,EAAA,IAAA,CAAA,CA/CrB,KAAKa,MA4EUC;AA5Ef,OAAIb,mBAAuB,GAAA,YAAA;AA+CN,QAAAY;AAAA,UA/CrB,KAAKA,MA4EUC;WAAK;AA7BC,QAAAD;AAAA,UAAA,mFA/CrBX,cAAca,OAAd,KAAKF,MA8EcC,MA9EwB,CAAC,CAAA;KAAA,KAAA;;CAM1CG,cAAcC,QAAkB;AAC9B,SAAOZ,SAASa;;CAGlBC,gBAAgBP,OAAY;AAC1B,SAAO;GACLQ,IAAI,KAAKA;GACTL,SAASH,MAAMG;GACfM,gBAAgBT,MAAMS;GACtBC,UAAUV,MAAMU;GAChBC,SAASX,MAAMW;GACfC,UAAUZ,MAAMY;GAChBC,UAAUb,MAAMa;GAChBC,MAAMd,MAAMc;GACZC,MAAMf,MAAMe;GACZC,OAAOhB,MAAMgB,SAAS;GACtBC,kBAAkBC,YAA2C;AAC3D,SAAKf,UAAUe,QAAQf;AACvBH,UAAMiB,kBAAkBC,QAAQ;;GAEnC;;CAGHE,WAAWC,SAAc;AACvB,SAAO5B,SAAS6B,QAAQD,SAAS3B,eAAe;;CAGlD6B,eAAe;AACb,SAAO;GACL,wBAAsB;GACtB,yBAAuB;GACvB,2BAAyB;GACzB,6BAA2B;GAC3B,gCAA8B;GAC/B;;CAGHC,UAAUC,KAAU;AAClB,OAAKtB,UAAUsB,IAAIC;;CAGrBC,SAAS3B,OAAY;EAAA,MAAA4B,OAAA,KAAApB;AAAAtB,YAAA2C,UAAAlC,cAAA,gBAAA;AACnB,SAAA,cAAAiC,KAAA,4BAGW,+DAA+D5B,MAAM8B,SAAS,KAAIC,MAAA,CAAA,qnBAnDjGH,OAAU,MAAK,KA4EN5B,MAAMC,SAAK,mFA5EpBZ,cAAca,OA8EDF,MAAMC,MA9EwB,CAAC,CAAA,YAAA,GAAA,MAA5C2B,OAAU,UAAS;;CAAnB,CAAAtC,oBAAwB0C,KAAKhB,OAAK;AAAA,MAAAgB,QAAA,SAAA;GAAA,MAAAC,OAAA,KAAA1C;AA+Cb,QAAAS;GAAA,MAAAkC,eAIN,+DAA+DlB,SAAe;AAAI,OAAAiB,MAnDjG;IACM,MAAME,aADXjC,OAAOgC,gBAAyB,GAAG,CAAEH,MAAM,CAACK,QAAQ,QAAQ,IACf;AACxC,QAAIH,KAAsBI,cAAcF,WAAYF,MAAsBI,YAAYF;;;AACvF,MAAAH,QAAA,QAHL,MAAIxC,gBAAwB,EAAE"}
|
package/dist/clipboard.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as ZagComponent } from "./zag-component.mjs";
|
|
2
|
-
import { Component,
|
|
2
|
+
import { Component, GEA_ELEMENT, GEA_OBSERVE, GEA_ON_PROP_CHANGE, GEA_PATCH_COND, GEA_REGISTER_COND, GEA_RENDERED, GEA_SETUP_LOCAL_STATE_OBSERVERS, GEA_STORE_ROOT, geaCondPatchedSymbol, geaCondValueSymbol, geaEscapeHtml } from "@geajs/core";
|
|
3
3
|
import { normalizeProps } from "@zag-js/vanilla";
|
|
4
4
|
import * as clipboard from "@zag-js/clipboard";
|
|
5
5
|
//#region src/components/clipboard.tsx
|
|
6
6
|
var Clipboard = class extends ZagComponent {
|
|
7
7
|
static {
|
|
8
|
-
this
|
|
8
|
+
this.__geaTagName = "gea-clipboard";
|
|
9
9
|
}
|
|
10
10
|
constructor(...args) {
|
|
11
11
|
super(...args);
|
|
@@ -66,15 +66,15 @@ var Clipboard = class extends ZagComponent {
|
|
|
66
66
|
template(props) {
|
|
67
67
|
const __id = this.id;
|
|
68
68
|
Component._register(ZagComponent, "zag-component");
|
|
69
|
-
return `<div id="${__id}" data-part="root"${(props.class || "") == null || (props.class || "") === false ? "" : ` class="${((props.class || "") != null ? String(props.class || "") : "").trim()}"`}><!--${__id + "-c1"}-->${props.label && `<label data-part="label" class="clipboard-label text-sm font-medium mb-1 block">${geaEscapeHtml(String(props.label))}</label>` || ""}<!--${__id + "-c1-end"}--><div data-part="control" class="clipboard-control flex gap-2"><input data-part="input" class="clipboard-input flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-
|
|
69
|
+
return `<div id="${__id}" data-part="root"${(props.class || "") == null || (props.class || "") === false ? "" : ` class="${((props.class || "") != null ? String(props.class || "") : "").trim()}"`}><!--${__id + "-c1"}-->${props.label && `<label data-part="label" class="clipboard-label text-sm font-medium mb-1 block">${geaEscapeHtml(String(props.label))}</label>` || ""}<!--${__id + "-c1-end"}--><div data-part="control" class="clipboard-control flex gap-2"><input data-part="input" class="clipboard-input flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs" /><button data-part="trigger" class="clipboard-trigger inline-flex h-9 items-center justify-center rounded-md border border-input bg-background px-3 text-sm shadow-xs hover:bg-accent"><!--${__id + "-c0"}-->${(this.copied ? `<span data-part="indicator-copied">✓ Copied</span>` : `<span data-part="indicator-not-copied">Copy</span>`) || ""}<!--${__id + "-c0-end"}--></button></div></div>`;
|
|
70
70
|
}
|
|
71
|
-
|
|
71
|
+
[GEA_ON_PROP_CHANGE](key, value) {
|
|
72
72
|
if (key === "class") {
|
|
73
73
|
const __el = this[GEA_ELEMENT];
|
|
74
74
|
this.props;
|
|
75
75
|
const __boundValue = value || "";
|
|
76
76
|
if (__el) {
|
|
77
|
-
const __newClass =
|
|
77
|
+
const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
|
|
78
78
|
if (__el.className !== __newClass) __el.className = __newClass;
|
|
79
79
|
}
|
|
80
80
|
}
|
|
@@ -83,14 +83,14 @@ var Clipboard = class extends ZagComponent {
|
|
|
83
83
|
}
|
|
84
84
|
__observe_local_copied(value, change) {
|
|
85
85
|
if (this[GEA_RENDERED]) {
|
|
86
|
-
if (this[geaCondPatchedSymbol(0)])
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
86
|
+
if (!this[geaCondPatchedSymbol(0)]) {
|
|
87
|
+
this[geaCondPatchedSymbol(0)] = this[GEA_PATCH_COND](0);
|
|
88
|
+
if (this[geaCondPatchedSymbol(0)]) queueMicrotask(() => this[geaCondPatchedSymbol(0)] = false);
|
|
89
|
+
}
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
[GEA_SETUP_LOCAL_STATE_OBSERVERS]() {
|
|
93
|
-
if (!this
|
|
93
|
+
if (!this[GEA_STORE_ROOT]) return;
|
|
94
94
|
this[GEA_OBSERVE](this, ["copied"], this.__observe_local_copied);
|
|
95
95
|
}
|
|
96
96
|
};
|