@geajs/ui 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +2 -4
- 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/file-upload.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-upload.mjs","names":["fileUpload","normalizeProps","ZagComponent","FileUpload","
|
|
1
|
+
{"version":3,"file":"file-upload.mjs","names":["Component","geaCondValueSymbol","GEA_REGISTER_COND","geaEscapeHtml","GEA_ON_PROP_CHANGE","GEA_ELEMENT","GEA_PATCH_COND","GEA_RENDERED","geaCondPatchedSymbol","GEA_ENSURE_ARRAY_CONFIGS","GEA_APPLY_LIST_CHANGES","GEA_DOM_KEY","GEA_DOM_ITEM","GEA_SETUP_LOCAL_STATE_OBSERVERS","GEA_STORE_ROOT","GEA_OBSERVE","fileUpload","normalizeProps","ZagComponent","FileUpload","__geaTagName","__rowEls_list","__dc_acceptedFiles","constructor","args","props","label","acceptedFiles","length","String","map","file","File","renderAcceptedFilesItem","join","rejectedFiles","createMachine","_props","machine","getMachineProps","id","accept","maxFiles","maxFileSize","minFileSize","multiple","disabled","allowDrop","name","onFileChange","details","FileChangeDetails","connectApi","service","connect","getSpreadMap","syncState","api","template","__id","_register","class","trim","key","value","__el","__boundValue","__newClass","replace","className","__observe_local_acceptedFiles","change","queueMicrotask","__acceptedFiles_container","$","Array","isArray","textContent","__acceptedFilesListConfig","__observe_local_acceptedFiles__join","createAcceptedFilesItem","item","__c","__geaTpl","__tw","document","createElement","innerHTML","content","firstElementChild","removeAttribute","__err","console","error","el","cloneNode","__fw","__ref_0","patchAcceptedFilesItem","row","__prevItem","arrayPathParts","render","bind","create","patchRow","getKey","propPatchers","__target","classList","toggle"],"sources":["../src/components/file-upload.tsx"],"sourcesContent":["import * as fileUpload from '@zag-js/file-upload'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class FileUpload extends ZagComponent {\n declare acceptedFiles: File[]\n declare rejectedFiles: any[]\n\n createMachine(_props: any): any {\n return fileUpload.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n accept: props.accept,\n maxFiles: props.maxFiles,\n maxFileSize: props.maxFileSize,\n minFileSize: props.minFileSize,\n multiple: props.multiple ?? false,\n disabled: props.disabled,\n allowDrop: props.allowDrop ?? true,\n name: props.name,\n onFileChange: (details: fileUpload.FileChangeDetails) => {\n this.acceptedFiles = details.acceptedFiles\n this.rejectedFiles = details.rejectedFiles\n props.onFileChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return fileUpload.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"root\"]': 'getRootProps',\n '[data-part=\"label\"]': 'getLabelProps',\n '[data-part=\"dropzone\"]': 'getDropzoneProps',\n '[data-part=\"trigger\"]': 'getTriggerProps',\n '[data-part=\"hidden-input\"]': 'getHiddenInputProps',\n '[data-part=\"clear-trigger\"]': 'getClearTriggerProps',\n }\n }\n\n syncState(api: any) {\n this.acceptedFiles = api.acceptedFiles\n this.rejectedFiles = api.rejectedFiles\n }\n\n template(props: any) {\n return (\n <div data-part=\"root\" class={props.class || ''}>\n {props.label && (\n <label data-part=\"label\" class=\"file-upload-label text-sm font-medium mb-2 block\">\n {props.label}\n </label>\n )}\n <div\n data-part=\"dropzone\"\n class=\"file-upload-dropzone flex flex-col items-center justify-center rounded-lg border-2 border-dashed border-muted-foreground/25 p-8 text-center hover:border-muted-foreground/50 transition-colors\"\n >\n <p class=\"text-sm text-muted-foreground mb-2\">Drag and drop files here</p>\n <button\n data-part=\"trigger\"\n class=\"file-upload-trigger inline-flex h-9 items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow hover:bg-primary/90\"\n >\n Choose Files\n </button>\n </div>\n <input data-part=\"hidden-input\" type=\"file\" class=\"sr-only\" />\n {this.acceptedFiles.length > 0 && (\n <div class=\"file-upload-file-list mt-3 space-y-1\">\n {this.acceptedFiles.map((file: File) => (\n <div key={file.name} class=\"flex items-center justify-between rounded-md border px-3 py-2 text-sm\">\n <span>{file.name}</span>\n </div>\n ))}\n <button\n data-part=\"clear-trigger\"\n class=\"file-upload-clear text-xs text-muted-foreground hover:text-foreground mt-1\"\n >\n Clear all\n </button>\n </div>\n )}\n </div>\n )\n }\n}\n"],"mappings":"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"}
|
package/dist/hover-card.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_INSTANTIATE_CHILD_COMPONENTS, GEA_MOUNT_COMPILED_CHILD_COMPONENTS, GEA_ON_PROP_CHANGE, GEA_PATCH_NODE, geaEscapeHtml, geaSanitizeAttr } from "@geajs/core";
|
|
3
3
|
import { normalizeProps } from "@zag-js/vanilla";
|
|
4
4
|
import * as hoverCard from "@zag-js/hover-card";
|
|
5
5
|
//#region src/components/hover-card.tsx
|
|
6
6
|
var HoverCard = class extends ZagComponent {
|
|
7
7
|
static {
|
|
8
|
-
this
|
|
8
|
+
this.__geaTagName = "hover-card";
|
|
9
9
|
}
|
|
10
10
|
createMachine(_props) {
|
|
11
11
|
return hoverCard.machine;
|
|
@@ -42,45 +42,55 @@ var HoverCard = class extends ZagComponent {
|
|
|
42
42
|
template(props) {
|
|
43
43
|
const __id = this.id;
|
|
44
44
|
Component._register(ZagComponent, "zag-component");
|
|
45
|
-
return `<div id="${__id}"${(props.class || "") == null || (props.class || "") === false ? "" : ` class="${((props.class || "") != null ? String(props.class || "") : "").trim()}"`} style="display: inline-block"><a id="${__id + "-b1"}" data-part="trigger"${(props.href || "#") == null || (props.href || "#") === false ? "" : ` href="${geaSanitizeAttr("href", String(props.href || "#"))}"`} class="hover-card-trigger inline-block">${geaEscapeHtml(String(props.triggerLabel || "Hover me"))}</a><div data-part="positioner" class="hover-card-positioner"><div id="${__id + "-b2"}" data-part="content" class="hover-card-content z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-
|
|
45
|
+
return `<div id="${__id}"${(props.class || "") == null || (props.class || "") === false ? "" : ` class="${((props.class || "") != null ? String(props.class || "") : "").trim()}"`} style="display: inline-block"><a id="${__id + "-b1"}" data-part="trigger"${(props.href || "#") == null || (props.href || "#") === false ? "" : ` href="${geaSanitizeAttr("href", String(props.href || "#"))}"`} class="hover-card-trigger inline-block">${geaEscapeHtml(String(props.triggerLabel || "Hover me"))}</a><div data-part="positioner" class="hover-card-positioner"><div id="${__id + "-b2"}" data-part="content" class="hover-card-content z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden">${props.children}</div></div></div>`;
|
|
46
46
|
}
|
|
47
|
-
|
|
47
|
+
[GEA_ON_PROP_CHANGE](key, value) {
|
|
48
48
|
const __id = this.id;
|
|
49
49
|
if (key === "class") {
|
|
50
50
|
const __el = this[GEA_ELEMENT];
|
|
51
51
|
this.props;
|
|
52
52
|
const __boundValue = value || "";
|
|
53
53
|
if (__el) {
|
|
54
|
-
const __newClass =
|
|
54
|
+
const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
|
|
55
55
|
if (__el.className !== __newClass) __el.className = __newClass;
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
if (key === "href") {
|
|
59
|
-
const __el = this.__e0 || (this.__e0 =
|
|
59
|
+
const __el = this.__e0 || (this.__e0 = __gid(__id + "-b1"));
|
|
60
60
|
this.props;
|
|
61
61
|
const __boundValue = value || "#";
|
|
62
|
-
if (__el)
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
if (__el) {
|
|
63
|
+
var __av = __boundValue;
|
|
64
|
+
if (__av == null || __av === void 0) __el.removeAttribute("href");
|
|
65
|
+
else {
|
|
66
|
+
const __newAttr = __sanitizeAttr("href", String(__av));
|
|
67
|
+
if (__el.getAttribute("href") !== __newAttr) __el.setAttribute("href", __newAttr);
|
|
68
|
+
}
|
|
66
69
|
}
|
|
67
70
|
}
|
|
68
71
|
if (key === "triggerLabel") {
|
|
69
|
-
const __el = this.__e1 || (this.__e1 =
|
|
72
|
+
const __el = this.__e1 || (this.__e1 = __gid(__id + "-b1"));
|
|
70
73
|
this.props;
|
|
71
74
|
const __boundValue = value || "Hover me";
|
|
72
75
|
if (__el && __el.textContent !== __boundValue) __el.textContent = __boundValue;
|
|
73
76
|
}
|
|
74
77
|
if (key === "children") {
|
|
75
|
-
const __el = this.__e2 || (this.__e2 =
|
|
76
|
-
if (__el
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
const __el = this.__e2 || (this.__e2 = __gid(__id + "-b2"));
|
|
79
|
+
if (__el) {
|
|
80
|
+
const __tw = document.createElement("template");
|
|
81
|
+
__tw.innerHTML = value;
|
|
82
|
+
const __newEl = __tw.content.firstElementChild;
|
|
83
|
+
const __existEl = __el.firstElementChild;
|
|
84
|
+
if (__newEl && __existEl && __tw.content.childNodes.length === 1) this.constructor[GEA_PATCH_NODE](__existEl, __newEl, true);
|
|
85
|
+
else if (__el.innerHTML !== value) {
|
|
86
|
+
__el.innerHTML = value;
|
|
87
|
+
this[GEA_INSTANTIATE_CHILD_COMPONENTS]();
|
|
88
|
+
if (this.parentComponent) this.parentComponent[GEA_MOUNT_COMPILED_CHILD_COMPONENTS]();
|
|
89
|
+
}
|
|
80
90
|
}
|
|
81
91
|
}
|
|
82
92
|
}
|
|
83
|
-
|
|
93
|
+
__resetEls() {
|
|
84
94
|
this.__e0 = null;
|
|
85
95
|
this.__e1 = null;
|
|
86
96
|
this.__e2 = null;
|
package/dist/hover-card.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hover-card.mjs","names":["hoverCard","normalizeProps","ZagComponent","HoverCard","
|
|
1
|
+
{"version":3,"file":"hover-card.mjs","names":["Component","geaSanitizeAttr","geaEscapeHtml","GEA_ON_PROP_CHANGE","GEA_ELEMENT","GEA_PATCH_NODE","GEA_INSTANTIATE_CHILD_COMPONENTS","GEA_MOUNT_COMPILED_CHILD_COMPONENTS","hoverCard","normalizeProps","ZagComponent","HoverCard","__geaTagName","open","createMachine","_props","machine","getMachineProps","props","id","defaultOpen","openDelay","closeDelay","positioning","onOpenChange","details","OpenChangeDetails","connectApi","service","connect","getSpreadMap","syncState","api","template","__id","_register","class","String","trim","href","triggerLabel","children","key","value","__el","__boundValue","__newClass","replace","className","__e0","__gid","__av","undefined","removeAttribute","__newAttr","__sanitizeAttr","getAttribute","setAttribute","__e1","textContent","__e2","__tw","document","createElement","innerHTML","__newEl","content","firstElementChild","__existEl","childNodes","length","constructor","parentComponent","__resetEls"],"sources":["../src/components/hover-card.tsx"],"sourcesContent":["import * as hoverCard from '@zag-js/hover-card'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class HoverCard extends ZagComponent {\n declare open: boolean\n\n createMachine(_props: any): any {\n return hoverCard.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n open: props.open,\n defaultOpen: props.defaultOpen,\n openDelay: props.openDelay,\n closeDelay: props.closeDelay,\n positioning: props.positioning,\n onOpenChange: (details: hoverCard.OpenChangeDetails) => {\n this.open = details.open\n props.onOpenChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return hoverCard.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"trigger\"]': 'getTriggerProps',\n '[data-part=\"positioner\"]': 'getPositionerProps',\n '[data-part=\"content\"]': 'getContentProps',\n '[data-part=\"arrow\"]': 'getArrowProps',\n '[data-part=\"arrow-tip\"]': 'getArrowTipProps',\n }\n }\n\n syncState(api: any) {\n this.open = api.open\n }\n\n template(props: any) {\n return (\n <div class={props.class || ''} style={{ display: 'inline-block' }}>\n <a data-part=\"trigger\" href={props.href || '#'} class=\"hover-card-trigger inline-block\">\n {props.triggerLabel || 'Hover me'}\n </a>\n <div data-part=\"positioner\" class=\"hover-card-positioner\">\n <div\n data-part=\"content\"\n class=\"hover-card-content z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden\"\n >\n {props.children}\n </div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":"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"}
|
package/dist/input.mjs
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import { t as cn } from "./cn.mjs";
|
|
2
|
-
import { Component,
|
|
2
|
+
import { Component, GEA_ELEMENT, GEA_ON_PROP_CHANGE } from "@geajs/core";
|
|
3
3
|
//#region src/components/input.tsx
|
|
4
4
|
var Input = class extends Component {
|
|
5
5
|
static {
|
|
6
|
-
this
|
|
6
|
+
this.__geaTagName = "gea-input";
|
|
7
7
|
}
|
|
8
8
|
template(props) {
|
|
9
9
|
const __id = this.id;
|
|
10
|
-
return `<input id="${props.inputId}" data-
|
|
10
|
+
return `<input id="${props.inputId}" data-gcc="${__id}"${cn("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", props.class) == null || cn("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", props.class) === false ? "" : ` class="${(cn("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", props.class) != null ? String(cn("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", props.class)) : "").trim()}"`}${(props.type || "text") == null || (props.type || "text") === false ? "" : ` type="${props.type || "text"}"`}${props.placeholder == null || props.placeholder === false ? "" : ` placeholder="${props.placeholder}"`}${props.value == null || props.value === false ? "" : ` value="${props.value}"`}${props.disabled == null || props.disabled === false ? "" : ` disabled="${props.disabled}"`}${props.name == null || props.name === false ? "" : ` name="${props.name}"`} />`;
|
|
11
11
|
}
|
|
12
12
|
get events() {
|
|
13
13
|
if (this.__evts && this[GEA_ELEMENT]) return this.__evts;
|
|
14
|
-
const __geaEvtsResult = { input: { [`#${this.props.inputId}`]:
|
|
14
|
+
const __geaEvtsResult = { input: { [`#${this.props.inputId}`]: this.__event_input_0 } };
|
|
15
15
|
if (this[GEA_ELEMENT]) this.__evts = __geaEvtsResult;
|
|
16
16
|
return __geaEvtsResult;
|
|
17
17
|
}
|
|
18
18
|
__event_input_0(e, targetComponent) {
|
|
19
19
|
this.props.onInput?.(e);
|
|
20
20
|
}
|
|
21
|
-
|
|
21
|
+
[GEA_ON_PROP_CHANGE](key, value) {
|
|
22
22
|
if (key === "class") {
|
|
23
23
|
const __el = this[GEA_ELEMENT];
|
|
24
24
|
this.props;
|
|
25
|
-
const __boundValue = cn("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-
|
|
25
|
+
const __boundValue = cn("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", value);
|
|
26
26
|
if (__el) {
|
|
27
|
-
const __newClass =
|
|
27
|
+
const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
|
|
28
28
|
if (__el.className !== __newClass) __el.className = __newClass;
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -32,23 +32,29 @@ var Input = class extends Component {
|
|
|
32
32
|
const __el = this[GEA_ELEMENT];
|
|
33
33
|
this.props;
|
|
34
34
|
const __boundValue = value || "text";
|
|
35
|
-
if (__el)
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
if (__el) {
|
|
36
|
+
var __av = __boundValue;
|
|
37
|
+
if (__av == null || __av === false) __el.removeAttribute("type");
|
|
38
|
+
else {
|
|
39
|
+
const __newAttr = String(__av);
|
|
40
|
+
if (__el.getAttribute("type") !== __newAttr) __el.setAttribute("type", __newAttr);
|
|
41
|
+
}
|
|
39
42
|
}
|
|
40
43
|
}
|
|
41
44
|
if (key === "placeholder") {
|
|
42
45
|
const __el = this[GEA_ELEMENT];
|
|
43
|
-
if (__el)
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
if (__el) {
|
|
47
|
+
var __av = value;
|
|
48
|
+
if (__av == null || __av === false) __el.removeAttribute("placeholder");
|
|
49
|
+
else {
|
|
50
|
+
const __newAttr = String(__av);
|
|
51
|
+
if (__el.getAttribute("placeholder") !== __newAttr) __el.setAttribute("placeholder", __newAttr);
|
|
52
|
+
}
|
|
47
53
|
}
|
|
48
54
|
}
|
|
49
55
|
if (key === "value") {
|
|
50
56
|
const __el = this[GEA_ELEMENT];
|
|
51
|
-
if (__el) __el.value = value
|
|
57
|
+
if (__el) __el.value = value == null ? "" : String(value);
|
|
52
58
|
}
|
|
53
59
|
if (key === "disabled") {
|
|
54
60
|
const __el = this[GEA_ELEMENT];
|
|
@@ -60,18 +66,24 @@ var Input = class extends Component {
|
|
|
60
66
|
}
|
|
61
67
|
if (key === "name") {
|
|
62
68
|
const __el = this[GEA_ELEMENT];
|
|
63
|
-
if (__el)
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
69
|
+
if (__el) {
|
|
70
|
+
var __av = value;
|
|
71
|
+
if (__av == null || __av === false) __el.removeAttribute("name");
|
|
72
|
+
else {
|
|
73
|
+
const __newAttr = String(__av);
|
|
74
|
+
if (__el.getAttribute("name") !== __newAttr) __el.setAttribute("name", __newAttr);
|
|
75
|
+
}
|
|
67
76
|
}
|
|
68
77
|
}
|
|
69
78
|
if (key === "inputId") {
|
|
70
79
|
const __el = this[GEA_ELEMENT];
|
|
71
|
-
if (__el)
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
80
|
+
if (__el) {
|
|
81
|
+
var __av = value;
|
|
82
|
+
if (__av == null || __av === false) __el.removeAttribute("id");
|
|
83
|
+
else {
|
|
84
|
+
const __newAttr = String(__av);
|
|
85
|
+
if (__el.getAttribute("id") !== __newAttr) __el.setAttribute("id", __newAttr);
|
|
86
|
+
}
|
|
75
87
|
}
|
|
76
88
|
}
|
|
77
89
|
}
|
package/dist/input.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.mjs","names":["Component","
|
|
1
|
+
{"version":3,"file":"input.mjs","names":["Component","GEA_ELEMENT","GEA_ON_PROP_CHANGE","cn","Input","__geaTagName","template","props","__id","id","inputId","class","String","trim","type","placeholder","value","disabled","name","events","__evts","__geaEvtsResult","input","__event_input_0","e","targetComponent","onInput","key","__el","__boundValue","__newClass","replace","className","__av","removeAttribute","__newAttr","getAttribute","setAttribute"],"sources":["../src/components/input.tsx"],"sourcesContent":["import { Component } from '@geajs/core'\nimport { cn } from '../utils/cn'\n\nexport default class Input extends Component {\n template(props: any) {\n return (\n <input\n class={cn(\n 'flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n props.class,\n )}\n type={props.type || 'text'}\n placeholder={props.placeholder}\n value={props.value}\n disabled={props.disabled}\n name={props.name}\n id={props.inputId}\n input={(e: Event) => props.onInput?.(e)}\n />\n )\n }\n}\n"],"mappings":"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"}
|
package/dist/label.mjs
CHANGED
|
@@ -1,37 +1,47 @@
|
|
|
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/label.tsx
|
|
4
4
|
var Label = class extends Component {
|
|
5
5
|
static {
|
|
6
|
-
this
|
|
6
|
+
this.__geaTagName = "gea-label";
|
|
7
7
|
}
|
|
8
8
|
template(props) {
|
|
9
9
|
return `<label id="${this.id}"${cn("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70", props.class) == null || cn("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70", props.class) === false ? "" : ` class="${(cn("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70", props.class) != null ? String(cn("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70", props.class)) : "").trim()}"`}${props.htmlFor == null || props.htmlFor === false ? "" : ` for="${props.htmlFor}"`}>${props.children}</label>`;
|
|
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("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70", 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 === "htmlFor") {
|
|
22
22
|
const __el = this[GEA_ELEMENT];
|
|
23
|
-
if (__el)
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
if (__el) {
|
|
24
|
+
var __av = value;
|
|
25
|
+
if (__av == null || __av === false) __el.removeAttribute("for");
|
|
26
|
+
else {
|
|
27
|
+
const __newAttr = String(__av);
|
|
28
|
+
if (__el.getAttribute("for") !== __newAttr) __el.setAttribute("for", __newAttr);
|
|
29
|
+
}
|
|
27
30
|
}
|
|
28
31
|
}
|
|
29
32
|
if (key === "children") {
|
|
30
33
|
const __el = this[GEA_ELEMENT];
|
|
31
|
-
if (__el
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
if (__el) {
|
|
35
|
+
const __tw = document.createElement("template");
|
|
36
|
+
__tw.innerHTML = value;
|
|
37
|
+
const __newEl = __tw.content.firstElementChild;
|
|
38
|
+
const __existEl = __el.firstElementChild;
|
|
39
|
+
if (__newEl && __existEl && __tw.content.childNodes.length === 1) this.constructor[GEA_PATCH_NODE](__existEl, __newEl, true);
|
|
40
|
+
else if (__el.innerHTML !== value) {
|
|
41
|
+
__el.innerHTML = value;
|
|
42
|
+
this[GEA_INSTANTIATE_CHILD_COMPONENTS]();
|
|
43
|
+
if (this.parentComponent) this.parentComponent[GEA_MOUNT_COMPILED_CHILD_COMPONENTS]();
|
|
44
|
+
}
|
|
35
45
|
}
|
|
36
46
|
}
|
|
37
47
|
}
|
package/dist/label.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"label.mjs","names":["Component","
|
|
1
|
+
{"version":3,"file":"label.mjs","names":["Component","GEA_ON_PROP_CHANGE","GEA_ELEMENT","GEA_PATCH_NODE","GEA_INSTANTIATE_CHILD_COMPONENTS","GEA_MOUNT_COMPILED_CHILD_COMPONENTS","cn","Label","__geaTagName","template","props","__id","id","class","String","trim","htmlFor","children","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/label.tsx"],"sourcesContent":["import { Component } from '@geajs/core'\nimport { cn } from '../utils/cn'\n\nexport default class Label extends Component {\n template(props: any) {\n return (\n <label\n class={cn(\n 'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n props.class,\n )}\n for={props.htmlFor}\n >\n {props.children}\n </label>\n )\n }\n}\n"],"mappings":";;;AAGA,IAAqBO,QAArB,cAAmCP,UAAU;;sBAAA;;CAC3CS,SAASC,OAAY;AACnB,SAAA,cADmB,KAAAE,GACnB,GAEWN,GACL,8FACAI,MAAMG,MACP,IAAA,QAHMP,GACL,8FACAI,MAAMG,MACP,KAAA,QAAA,KAAA,YAHMP,GACL,8FACAI,MAAMG,MACP,IAAA,OAAAC,OAHMR,GACL,8FACAI,MAAMG,MACP,CAAA,GAAA,IAAAE,MAAA,CAAA,KACIL,MAAMM,WAAO,QAAbN,MAAMM,YAAO,QAAA,KAAA,SAAbN,MAAMM,QAAO,GAAA,GAEjBN,MAAMO,SAAQ;;CAZvB,CAAAhB,oBAAwBiB,KAAKC,OAAK;AAAA,MAAAD,QAAA,SAAA;GAAA,MAAAE,OAAA,KAAAlB;AAGb,QAAAQ;GAAA,MAAAW,eAGNf,GACL,8FAA4Fa,MAE7F;AAAA,OAAAC,MATT;IACM,MAAME,aADXR,OAAOO,gBAAyB,GAAG,CAAEN,MAAM,CAACQ,QAAQ,QAAQ,IACf;AACxC,QAAIH,KAAsBI,cAAcF,WAAYF,MAAsBI,YAAYF;;;AACvF,MAAAJ,QAAA,WAAA;GAAA,MAAAE,OAAA,KAAAlB;AAAA,OAAAkB,MAAA;IAFC,IAAIK,OAAIN;AACR,QAAIM,QAAQ,QAAQA,SAAS,MAC3BL,MAAsBM,gBAAgB,MAAM;SACvC;KACL,MAAMC,YAAYb,OAAOW,KAAK;AAC9B,SAAIL,KAAsBQ,aAAa,MAAM,KAAKD,UAChDP,MAAsBS,aAAa,OAAOF,UAAU;;;;AACvD,MAAAT,QAAA,YAAA;GAAA,MAAAE,OAAA,KAAAlB;AAAA,OAAAkB,MARP;IACI,MAAMU,OAAOC,SAASC,cAAc,WAAW;AAC/CF,SAAKG,YAASd;IACd,MAAMe,UAAUJ,KAAKK,QAAQC;IAC7B,MAAMC,YAAYjB,KAAsBgB;AACxC,QAAIF,WAAWG,aAAaP,KAAKK,QAAQG,WAAWC,WAAW,EAC7D,MAAKC,YAAWrC,gBAAwBkC,WAAWH,SAAS,KAAK;aACxDd,KAAsBa,cAASd,OAA4B;AACpEC,UAAsBa,YAASd;AAC/B,UAAIf,mCAAyB;AAC7B,SAAI,KAAKqC,gBAAiB,MAAKA,gBAAepC,sCAAyB"}
|
package/dist/menu.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_REGISTER_MAP, GEA_SYNC_MAP, geaEscapeHtml } from "@geajs/core";
|
|
3
3
|
import { normalizeProps } from "@zag-js/vanilla";
|
|
4
4
|
import * as menu from "@zag-js/menu";
|
|
5
5
|
//#region src/components/menu.tsx
|
|
6
6
|
var Menu = class extends ZagComponent {
|
|
7
7
|
static {
|
|
8
|
-
this
|
|
8
|
+
this.__geaTagName = "gea-menu";
|
|
9
9
|
}
|
|
10
10
|
createMachine(_props) {
|
|
11
11
|
return menu.machine;
|
|
@@ -46,38 +46,38 @@ var Menu = class extends ZagComponent {
|
|
|
46
46
|
const __id = this.id;
|
|
47
47
|
Component._register(ZagComponent, "zag-component");
|
|
48
48
|
const items = props.items || [];
|
|
49
|
-
return `<div id="${__id}"${(props.class || "") == null || (props.class || "") === false ? "" : ` class="${((props.class || "") != null ? String(props.class || "") : "").trim()}"`}><button id="${__id + "-b1"}" data-part="trigger" class="menu-trigger inline-flex items-center justify-center gap-1 rounded-md border border-input bg-background px-4 py-2 text-sm font-medium shadow-
|
|
49
|
+
return `<div id="${__id}"${(props.class || "") == null || (props.class || "") === false ? "" : ` class="${((props.class || "") != null ? String(props.class || "") : "").trim()}"`}><button id="${__id + "-b1"}" data-part="trigger" class="menu-trigger inline-flex items-center justify-center gap-1 rounded-md border border-input bg-background px-4 py-2 text-sm font-medium shadow-xs hover:bg-accent hover:text-accent-foreground">${geaEscapeHtml(String(props.triggerLabel || "Menu"))}</button><div data-part="positioner" class="menu-positioner"><div id="${__id + "-b2"}" data-part="content" class="menu-content z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md">${items.map((item, i) => item.type === "separator" ? `<div data-gid="${String(`sep-${i}`)}" data-part="separator" class="menu-separator -mx-1 my-1 h-px bg-muted"></div>` : `<div data-gid="${item?.id ?? item}" data-part="item"${item.value == null || item.value === false ? "" : ` data-value="${item.value}"`} class="menu-item relative flex cursor-pointer select-none items-center rounded-xs px-2 py-1.5 text-sm outline-hidden data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50">${item.label}</div>`).join("") + "<!---->"}</div></div></div>`;
|
|
50
50
|
}
|
|
51
51
|
render__unresolved_0Item(item, i) {
|
|
52
|
-
return `<div data-
|
|
52
|
+
return `<div data-gid="${item?.id ?? item}" data-part="separator" class="menu-separator -mx-1 my-1 h-px bg-muted"></div>`;
|
|
53
53
|
}
|
|
54
|
-
|
|
54
|
+
[GEA_ON_PROP_CHANGE](key, value) {
|
|
55
55
|
const __id = this.id;
|
|
56
56
|
if (key === "class") {
|
|
57
57
|
const __el = this[GEA_ELEMENT];
|
|
58
58
|
this.props;
|
|
59
59
|
const __boundValue = 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
|
}
|
|
65
65
|
if (key === "triggerLabel") {
|
|
66
|
-
const __el = this.__e0 || (this.__e0 =
|
|
66
|
+
const __el = this.__e0 || (this.__e0 = __gid(__id + "-b1"));
|
|
67
67
|
this.props;
|
|
68
68
|
const __boundValue = value || "Menu";
|
|
69
69
|
if (__el && __el.textContent !== __boundValue) __el.textContent = __boundValue;
|
|
70
70
|
}
|
|
71
71
|
if (key === "items") this[GEA_SYNC_MAP](0);
|
|
72
72
|
}
|
|
73
|
-
|
|
73
|
+
__resetEls() {
|
|
74
74
|
this.__e0 = null;
|
|
75
75
|
}
|
|
76
76
|
__observe_local_props(__v, __c) {
|
|
77
77
|
this[GEA_SYNC_MAP](0);
|
|
78
78
|
}
|
|
79
79
|
createdHooks() {
|
|
80
|
-
this[GEA_REGISTER_MAP](0, "____unresolved_0_container", () =>
|
|
80
|
+
this[GEA_REGISTER_MAP](0, "____unresolved_0_container", () => __gid(this.id + "-b2"), () => {
|
|
81
81
|
return this.props.items || [];
|
|
82
82
|
}, (__item, __idx) => this.create__unresolved_0Item(__item, __idx), (__k, __ki) => String(`sep-${__ki}`));
|
|
83
83
|
}
|
package/dist/menu.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.mjs","names":["menu","normalizeProps","ZagComponent","Menu","
|
|
1
|
+
{"version":3,"file":"menu.mjs","names":["Component","geaEscapeHtml","GEA_ON_PROP_CHANGE","GEA_ELEMENT","GEA_SYNC_MAP","GEA_REGISTER_MAP","menu","normalizeProps","ZagComponent","Menu","__geaTagName","open","createMachine","_props","machine","getMachineProps","props","id","defaultOpen","closeOnSelect","loopFocus","positioning","onOpenChange","details","OpenChangeDetails","onSelect","connectApi","service","connect","getSpreadMap","[data-part=\"item\"]","api","el","getItemProps","value","HTMLElement","dataset","[data-part=\"item-group\"]","getItemGroupProps","groupId","[data-part=\"item-group-label\"]","getItemGroupLabelProps","htmlFor","syncState","template","__id","_register","items","class","String","trim","triggerLabel","map","item","i","type","label","join","render__unresolved_0Item","key","__el","__boundValue","__newClass","replace","className","__e0","__gid","textContent","__resetEls","__observe_local_props","__v","__c","createdHooks","__item","__idx","create__unresolved_0Item","__k","__ki"],"sources":["../src/components/menu.tsx"],"sourcesContent":["import * as menu from '@zag-js/menu'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class Menu extends ZagComponent {\n declare open: boolean\n\n createMachine(_props: any): any {\n return menu.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n open: props.open,\n defaultOpen: props.defaultOpen,\n closeOnSelect: props.closeOnSelect ?? true,\n loopFocus: props.loopFocus ?? false,\n positioning: props.positioning,\n onOpenChange: (details: menu.OpenChangeDetails) => {\n this.open = details.open\n props.onOpenChange?.(details)\n },\n onSelect: props.onSelect,\n }\n }\n\n connectApi(service: any) {\n return menu.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"trigger\"]': 'getTriggerProps',\n '[data-part=\"positioner\"]': 'getPositionerProps',\n '[data-part=\"content\"]': 'getContentProps',\n '[data-part=\"separator\"]': 'getSeparatorProps',\n '[data-part=\"item\"]': (api, el) => api.getItemProps({ value: (el as HTMLElement).dataset.value }),\n '[data-part=\"item-group\"]': (api, el) => api.getItemGroupProps({ id: (el as HTMLElement).dataset.groupId }),\n '[data-part=\"item-group-label\"]': (api, el) =>\n api.getItemGroupLabelProps({ htmlFor: (el as HTMLElement).dataset.htmlFor }),\n }\n }\n\n syncState(api: any) {\n this.open = api.open\n }\n\n template(props: any) {\n const items = props.items || []\n return (\n <div class={props.class || ''}>\n <button\n data-part=\"trigger\"\n class=\"menu-trigger inline-flex items-center justify-center gap-1 rounded-md border border-input bg-background px-4 py-2 text-sm font-medium shadow-xs hover:bg-accent hover:text-accent-foreground\"\n >\n {props.triggerLabel || 'Menu'}\n </button>\n <div data-part=\"positioner\" class=\"menu-positioner\">\n <div\n data-part=\"content\"\n class=\"menu-content z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md\"\n >\n {items.map((item: any, i: number) =>\n item.type === 'separator' ? (\n <div key={`sep-${i}`} data-part=\"separator\" class=\"menu-separator -mx-1 my-1 h-px bg-muted\"></div>\n ) : (\n <div\n key={item.value}\n data-part=\"item\"\n data-value={item.value}\n class=\"menu-item relative flex cursor-pointer select-none items-center rounded-xs px-2 py-1.5 text-sm outline-hidden data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\"\n >\n {item.label}\n </div>\n ),\n )}\n </div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":"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"}
|
package/dist/number-input.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 numberInput from "@zag-js/number-input";
|
|
5
5
|
//#region src/components/number-input.tsx
|
|
6
6
|
var NumberInput = class extends ZagComponent {
|
|
7
7
|
static {
|
|
8
|
-
this
|
|
8
|
+
this.__geaTagName = "number-input";
|
|
9
9
|
}
|
|
10
10
|
constructor(...args) {
|
|
11
11
|
super(...args);
|
|
@@ -68,15 +68,15 @@ var NumberInput = class extends ZagComponent {
|
|
|
68
68
|
template(props) {
|
|
69
69
|
const __id = this.id;
|
|
70
70
|
Component._register(ZagComponent, "zag-component");
|
|
71
|
-
return `<div id="${__id}" data-part="root"${(props.class || "") == null || (props.class || "") === false ? "" : ` class="${((props.class || "") != null ? String(props.class || "") : "").trim()}"`}><!--${__id + "-c0"}-->${props.label && `<label data-part="label" class="number-input-label text-sm font-medium mb-1 block">${geaEscapeHtml(String(props.label))}</label>` || ""}<!--${__id + "-c0-end"}--><div data-part="control" class="number-input-control flex"><button data-part="decrement-trigger" class="number-input-decrement inline-flex h-9 items-center justify-center rounded-l-md border border-r-0 border-input px-2 hover:bg-accent">−</button><input data-part="input" class="number-input-input h-9 w-full border border-input bg-transparent px-3 text-center text-sm focus-visible:outline-
|
|
71
|
+
return `<div id="${__id}" data-part="root"${(props.class || "") == null || (props.class || "") === false ? "" : ` class="${((props.class || "") != null ? String(props.class || "") : "").trim()}"`}><!--${__id + "-c0"}-->${props.label && `<label data-part="label" class="number-input-label text-sm font-medium mb-1 block">${geaEscapeHtml(String(props.label))}</label>` || ""}<!--${__id + "-c0-end"}--><div data-part="control" class="number-input-control flex"><button data-part="decrement-trigger" class="number-input-decrement inline-flex h-9 items-center justify-center rounded-l-md border border-r-0 border-input px-2 hover:bg-accent">−</button><input data-part="input" class="number-input-input h-9 w-full border border-input bg-transparent px-3 text-center text-sm focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring" /><button data-part="increment-trigger" class="number-input-increment inline-flex h-9 items-center justify-center rounded-r-md border border-l-0 border-input px-2 hover:bg-accent">+</button></div></div>`;
|
|
72
72
|
}
|
|
73
|
-
|
|
73
|
+
[GEA_ON_PROP_CHANGE](key, value) {
|
|
74
74
|
if (key === "class") {
|
|
75
75
|
const __el = this[GEA_ELEMENT];
|
|
76
76
|
this.props;
|
|
77
77
|
const __boundValue = value || "";
|
|
78
78
|
if (__el) {
|
|
79
|
-
const __newClass =
|
|
79
|
+
const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
|
|
80
80
|
if (__el.className !== __newClass) __el.className = __newClass;
|
|
81
81
|
}
|
|
82
82
|
}
|