@geajs/ui 0.1.5 → 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 +14 -19
- package/dist/accordion.d.mts +3 -3
- package/dist/accordion.mjs +57 -27
- package/dist/accordion.mjs.map +1 -1
- package/dist/alert.mjs +17 -9
- package/dist/alert.mjs.map +1 -1
- package/dist/avatar.d.mts +3 -3
- package/dist/avatar.mjs +12 -10
- package/dist/avatar.mjs.map +1 -1
- package/dist/badge.mjs +7 -5
- package/dist/badge.mjs.map +1 -1
- package/dist/button.mjs +22 -12
- package/dist/button.mjs.map +1 -1
- package/dist/card.mjs +31 -14
- package/dist/card.mjs.map +1 -1
- package/dist/checkbox.d.mts +3 -3
- package/dist/checkbox.mjs +11 -9
- package/dist/checkbox.mjs.map +1 -1
- package/dist/clipboard.d.mts +3 -3
- package/dist/clipboard.mjs +21 -17
- package/dist/clipboard.mjs.map +1 -1
- package/dist/collapsible.d.mts +3 -3
- package/dist/collapsible.mjs +8 -6
- package/dist/collapsible.mjs.map +1 -1
- package/dist/combobox.d.mts +5 -5
- package/dist/combobox.mjs +111 -50
- package/dist/combobox.mjs.map +1 -1
- package/dist/dialog.d.mts +3 -3
- package/dist/dialog.mjs +20 -18
- package/dist/dialog.mjs.map +1 -1
- package/dist/dnd-manager.mjs +20 -6
- package/dist/dnd-manager.mjs.map +1 -1
- package/dist/drag-drop-context.mjs +6 -4
- package/dist/drag-drop-context.mjs.map +1 -1
- package/dist/draggable.mjs +20 -10
- package/dist/draggable.mjs.map +1 -1
- package/dist/droppable.mjs +11 -6
- package/dist/droppable.mjs.map +1 -1
- package/dist/file-upload.d.mts +3 -3
- package/dist/file-upload.mjs +49 -36
- package/dist/file-upload.mjs.map +1 -1
- package/dist/hover-card.d.mts +3 -3
- package/dist/hover-card.mjs +12 -7
- package/dist/hover-card.mjs.map +1 -1
- package/dist/input.mjs +37 -17
- package/dist/input.mjs.map +1 -1
- package/dist/label.mjs +11 -6
- package/dist/label.mjs.map +1 -1
- package/dist/menu.d.mts +3 -3
- package/dist/menu.mjs +13 -11
- package/dist/menu.mjs.map +1 -1
- package/dist/number-input.d.mts +3 -3
- package/dist/number-input.mjs +11 -9
- package/dist/number-input.mjs.map +1 -1
- package/dist/pagination.d.mts +3 -3
- package/dist/pagination.mjs +6 -4
- package/dist/pagination.mjs.map +1 -1
- package/dist/pin-input.d.mts +3 -3
- package/dist/pin-input.mjs +34 -22
- package/dist/pin-input.mjs.map +1 -1
- package/dist/popover.d.mts +3 -3
- package/dist/popover.mjs +16 -14
- package/dist/popover.mjs.map +1 -1
- package/dist/progress.d.mts +3 -3
- package/dist/progress.mjs +15 -13
- package/dist/progress.mjs.map +1 -1
- package/dist/radio-group.d.mts +3 -3
- package/dist/radio-group.mjs +61 -31
- package/dist/radio-group.mjs.map +1 -1
- package/dist/rating-group.d.mts +3 -3
- package/dist/rating-group.mjs +34 -22
- package/dist/rating-group.mjs.map +1 -1
- package/dist/select.d.mts +3 -3
- package/dist/select.mjs +81 -39
- package/dist/select.mjs.map +1 -1
- package/dist/separator.mjs +11 -6
- package/dist/separator.mjs.map +1 -1
- package/dist/skeleton.mjs +5 -3
- package/dist/skeleton.mjs.map +1 -1
- package/dist/slider.d.mts +3 -3
- package/dist/slider.mjs +12 -9
- package/dist/slider.mjs.map +1 -1
- package/dist/switch.d.mts +3 -3
- package/dist/switch.mjs +11 -9
- package/dist/switch.mjs.map +1 -1
- package/dist/tabs.d.mts +3 -3
- package/dist/tabs.mjs +59 -37
- package/dist/tabs.mjs.map +1 -1
- package/dist/tags-input.d.mts +3 -3
- package/dist/tags-input.mjs +97 -43
- package/dist/tags-input.mjs.map +1 -1
- package/dist/textarea.mjs +31 -20
- package/dist/textarea.mjs.map +1 -1
- package/dist/toast.mjs +6 -4
- package/dist/toast.mjs.map +1 -1
- package/dist/toggle-group.d.mts +3 -3
- package/dist/toggle-group.mjs +32 -20
- package/dist/toggle-group.mjs.map +1 -1
- package/dist/tooltip.d.mts +3 -3
- package/dist/tooltip.mjs +8 -6
- package/dist/tooltip.mjs.map +1 -1
- package/dist/tree-view.d.mts +3 -3
- package/dist/tree-view.mjs +12 -10
- package/dist/tree-view.mjs.map +1 -1
- package/dist/zag-component.d.mts +6 -5
- package/dist/zag-component.mjs +16 -8
- package/dist/zag-component.mjs.map +1 -1
- package/package.json +4 -9
- package/dist/_virtual_gea-hmr.mjs +0 -11
package/dist/collapsible.mjs
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { t as ZagComponent } from "./zag-component.mjs";
|
|
2
|
-
import "
|
|
3
|
-
import { Component } from "@geajs/core";
|
|
2
|
+
import { Component, GEA_CTOR_TAG_NAME, GEA_ELEMENT, geaEscapeHtml } from "@geajs/core";
|
|
4
3
|
import { normalizeProps } from "@zag-js/vanilla";
|
|
5
4
|
import * as collapsible from "@zag-js/collapsible";
|
|
6
5
|
//#region src/components/collapsible.tsx
|
|
7
6
|
var Collapsible = class extends ZagComponent {
|
|
7
|
+
static {
|
|
8
|
+
this[GEA_CTOR_TAG_NAME] = "collapsible";
|
|
9
|
+
}
|
|
8
10
|
createMachine(_props) {
|
|
9
11
|
return collapsible.machine;
|
|
10
12
|
}
|
|
@@ -35,13 +37,13 @@ var Collapsible = class extends ZagComponent {
|
|
|
35
37
|
}
|
|
36
38
|
template(props) {
|
|
37
39
|
const __id = this.id;
|
|
38
|
-
Component._register(ZagComponent);
|
|
39
|
-
return `<div id="${__id}" data-part="root"${(props.class || "") == null || (props.class || "") === false ? "" : ` class="${((props.class || "") != null ? String(props.class || "") : "").trim()}"`}><button id="${__id + "-b1"}" data-part="trigger" class="collapsible-trigger flex w-full items-center justify-between py-2 text-sm font-medium">${props.label || "Toggle"}</button><div data-part="content" class="collapsible-content overflow-hidden"><div id="${__id + "-b2"}" class="pb-4">${props.children}</div></div></div>`;
|
|
40
|
+
Component._register(ZagComponent, "zag-component");
|
|
41
|
+
return `<div id="${__id}" data-part="root"${(props.class || "") == null || (props.class || "") === false ? "" : ` class="${((props.class || "") != null ? String(props.class || "") : "").trim()}"`}><button id="${__id + "-b1"}" data-part="trigger" class="collapsible-trigger flex w-full items-center justify-between py-2 text-sm font-medium">${geaEscapeHtml(String(props.label || "Toggle"))}</button><div data-part="content" class="collapsible-content overflow-hidden"><div id="${__id + "-b2"}" class="pb-4">${props.children}</div></div></div>`;
|
|
40
42
|
}
|
|
41
43
|
__onPropChange(key, value) {
|
|
42
44
|
const __id = this.id;
|
|
43
45
|
if (key === "class") {
|
|
44
|
-
const __el = this
|
|
46
|
+
const __el = this[GEA_ELEMENT];
|
|
45
47
|
this.props;
|
|
46
48
|
const __boundValue = value || "";
|
|
47
49
|
if (__el) {
|
|
@@ -64,7 +66,7 @@ var Collapsible = class extends ZagComponent {
|
|
|
64
66
|
}
|
|
65
67
|
}
|
|
66
68
|
}
|
|
67
|
-
|
|
69
|
+
*GEA_RESET_ELS() {
|
|
68
70
|
this.__e0 = null;
|
|
69
71
|
this.__e1 = null;
|
|
70
72
|
}
|
package/dist/collapsible.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collapsible.mjs","names":["collapsible","normalizeProps","ZagComponent","
|
|
1
|
+
{"version":3,"file":"collapsible.mjs","names":["collapsible","normalizeProps","ZagComponent","Collapsible","GEA_CTOR_TAG_NAME","open","createMachine","_props","machine","getMachineProps","props","id","defaultOpen","disabled","onOpenChange","details","OpenChangeDetails","connectApi","service","connect","getSpreadMap","syncState","api","template","__id","Component","_register","class","String","trim","geaEscapeHtml","label","children","__onPropChange","key","value","__el","GEA_ELEMENT","__boundValue","__newClass","className","__e0","document","getElementById","textContent","__e1","innerHTML","instantiateChildComponents_","parentComponent","mountCompiledChildComponents_","GEA_RESET_ELS"],"sources":["../src/components/collapsible.tsx"],"sourcesContent":["import * as collapsible from '@zag-js/collapsible'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class Collapsible extends ZagComponent {\n declare open: boolean\n\n createMachine(_props: any): any {\n return collapsible.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n open: props.open,\n defaultOpen: props.defaultOpen,\n disabled: props.disabled,\n onOpenChange: (details: collapsible.OpenChangeDetails) => {\n this.open = details.open\n props.onOpenChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return collapsible.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"root\"]': 'getRootProps',\n '[data-part=\"trigger\"]': 'getTriggerProps',\n '[data-part=\"content\"]': 'getContentProps',\n }\n }\n\n syncState(api: any) {\n this.open = api.open\n }\n\n template(props: any) {\n return (\n <div data-part=\"root\" class={props.class || ''}>\n <button\n data-part=\"trigger\"\n class=\"collapsible-trigger flex w-full items-center justify-between py-2 text-sm font-medium\"\n >\n {props.label || 'Toggle'}\n </button>\n <div data-part=\"content\" class=\"collapsible-content overflow-hidden\">\n <div class=\"pb-4\">{props.children}</div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":";;;;;AAIA,IAAqBG,cAArB,cAAyCD,aAAa;;OAAAE,qBAAA;;CAGpDE,cAAcC,QAAkB;AAC9B,SAAOP,YAAYQ;;CAGrBC,gBAAgBC,OAAY;AAC1B,SAAO;GACLC,IAAI,KAAKA;GACTN,MAAMK,MAAML;GACZO,aAAaF,MAAME;GACnBC,UAAUH,MAAMG;GAChBC,eAAeC,YAA2C;AACxD,SAAKV,OAAOU,QAAQV;AACpBK,UAAMI,eAAeC,QAAQ;;GAEhC;;CAGHE,WAAWC,SAAc;AACvB,SAAOlB,YAAYmB,QAAQD,SAASjB,eAAe;;CAGrDmB,eAAe;AACb,SAAO;GACL,wBAAsB;GACtB,2BAAyB;GACzB,2BAAyB;GAC1B;;CAGHC,UAAUC,KAAU;AAClB,OAAKjB,OAAOiB,IAAIjB;;CAGlBkB,SAASb,OAAY;EAAA,MAAAc,OAAA,KAAAb;AAAAc,YAAAC,UAAAxB,cAAA,gBAAA;AACnB,SAAA,YAAAsB,KAAA,qBAC+Bd,MAAMiB,SAAS,OAAE,SAAjBjB,MAAMiB,SAAS,QAAE,QAAA,KAAA,aAAjBjB,MAAMiB,SAAS,OAAE,OAAAC,OAAjBlB,MAAMiB,SAAS,GAAE,GAAA,IAAAE,MAAA,CAAA,GAAA,eAAAL,OAAA,MAAA,sHAAAM,cAAAF,OAKzClB,MAAMqB,SAAS,SAAQ,CAAA,CAAA,yFAAAP,OAAA,MAAA,iBAGLd,MAAMsB,SAAQ;;CAjD3CC,eAAsBC,KAAKC,OAAK;EAAA,MAAAX,OAAA,KAAAb;AAAA,MAAAuB,QAAA,SAAA;GAAA,MAAAE,OAAA,KAAAC;AAuCX,QAAA3B;GAAA,MAAA4B,eAAAH,SAE6B;AAAE,OAAAC,MAAA;IAAA,MAAAG,cAAAD,gBAAA,OAAAV,OAAAU,aAAA,GAAA,IAAAT,MAAA;AAAA,QAAAO,KAAAI,cAAAD,WAAAH,MAAAI,YAAAD;;;AAAA,MAAAL,QAAA,SAAA;GAAA,MAAAE,OAAA,KAAAK,SAAA,KAAAA,OAAAC,SAAAC,eAAAnB,OAAA,MAAA;AAF/B,QAAAd;GAAA,MAAA4B,eAAAH,SAOK;AAAQ,OAAAC,QAAAA,KAAAQ,gBAAAN,aAAAF,MAAAQ,cAAAN;;AAAA,MAAAJ,QAAA,YAAA;GAAA,MAAAE,OAAA,KAAAS,SAAA,KAAAA,OAAAH,SAAAC,eAAAnB,OAAA,MAAA;AAAA,OAAAY,QAAAA,KAAAU,cAAAX,OAAA;AAAAC,SAAAU,YAAAX;AAAA,SAAAY,6BAAA;AAAA,QAAA,KAAAC,gBAAA,MAAAA,gBAAAC,+BAAA;;;;CA9CE,CAAAC,gBAAA;AAAA,OAAAT,OAAA;AAAA,OAAAI,OAAA"}
|
package/dist/combobox.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as ZagComponent } from "./zag-component.mjs";
|
|
2
2
|
import * as combobox from "@zag-js/combobox";
|
|
3
|
-
import * as _zag_js_types0 from "@zag-js/types";
|
|
4
|
-
import * as _zag_js_collection0 from "@zag-js/collection";
|
|
3
|
+
import * as _$_zag_js_types0 from "@zag-js/types";
|
|
4
|
+
import * as _$_zag_js_collection0 from "@zag-js/collection";
|
|
5
5
|
|
|
6
6
|
//#region src/components/combobox.d.ts
|
|
7
7
|
declare class Combobox extends ZagComponent {
|
|
@@ -12,10 +12,10 @@ declare class Combobox extends ZagComponent {
|
|
|
12
12
|
_allItems: any[];
|
|
13
13
|
created(props: any): void;
|
|
14
14
|
createMachine(_props: any): any;
|
|
15
|
-
_buildCollection(items: any[]): _zag_js_collection0.ListCollection<any>;
|
|
15
|
+
_buildCollection(items: any[]): _$_zag_js_collection0.ListCollection<any>;
|
|
16
16
|
_filterItems(query: string): void;
|
|
17
17
|
getMachineProps(props: any): {
|
|
18
|
-
id:
|
|
18
|
+
id: any;
|
|
19
19
|
collection: any;
|
|
20
20
|
value: any;
|
|
21
21
|
defaultValue: any;
|
|
@@ -42,7 +42,7 @@ declare class Combobox extends ZagComponent {
|
|
|
42
42
|
onInputValueChange: (details: combobox.InputValueChangeDetails) => void;
|
|
43
43
|
onOpenChange: (details: combobox.OpenChangeDetails) => void;
|
|
44
44
|
};
|
|
45
|
-
connectApi(service: any): combobox.Api<_zag_js_types0.PropTypes<{
|
|
45
|
+
connectApi(service: any): combobox.Api<_$_zag_js_types0.PropTypes<{
|
|
46
46
|
[x: string]: any;
|
|
47
47
|
}>, unknown>;
|
|
48
48
|
getSpreadMap(): {
|
package/dist/combobox.mjs
CHANGED
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
import { t as ZagComponent } from "./zag-component.mjs";
|
|
2
|
-
import "
|
|
3
|
-
import { Component } from "@geajs/core";
|
|
2
|
+
import { Component, GEA_APPLY_LIST_CHANGES, GEA_CTOR_TAG_NAME, GEA_DOM_ITEM, GEA_DOM_KEY, GEA_ELEMENT, GEA_ENSURE_ARRAY_CONFIGS, GEA_MAP_CONFIG_TPL, GEA_OBSERVE, GEA_PATCH_COND, GEA_REGISTER_COND, GEA_SETUP_LOCAL_STATE_OBSERVERS, geaCondValueSymbol, geaEscapeHtml } from "@geajs/core";
|
|
4
3
|
import { normalizeProps } from "@zag-js/vanilla";
|
|
5
4
|
import * as combobox from "@zag-js/combobox";
|
|
6
5
|
//#region src/components/combobox.tsx
|
|
7
6
|
const __v = (v) => v != null && typeof v === "object" ? v.valueOf() : v;
|
|
8
7
|
var Combobox = class extends ZagComponent {
|
|
8
|
+
static {
|
|
9
|
+
this[GEA_CTOR_TAG_NAME] = "combobox";
|
|
10
|
+
}
|
|
11
|
+
#__rowEls_b1;
|
|
12
|
+
#__dc_b1;
|
|
9
13
|
constructor(...args) {
|
|
10
14
|
super(...args);
|
|
11
15
|
this.props;
|
|
12
|
-
this
|
|
13
|
-
this
|
|
16
|
+
this[geaCondValueSymbol(0)] = !!this.props.label;
|
|
17
|
+
this[GEA_REGISTER_COND](0, "c0", () => {
|
|
14
18
|
this.props;
|
|
15
19
|
return this.props.label;
|
|
16
20
|
}, () => {
|
|
17
21
|
this.props;
|
|
18
|
-
return `<label data-part="label" class="combobox-label text-sm font-medium mb-1 block">${this.props.label}</label>`;
|
|
22
|
+
return `<label data-part="label" class="combobox-label text-sm font-medium mb-1 block">${geaEscapeHtml(String(this.props.label))}</label>`;
|
|
19
23
|
}, null);
|
|
20
24
|
}
|
|
21
25
|
created(props) {
|
|
@@ -127,12 +131,12 @@ var Combobox = class extends ZagComponent {
|
|
|
127
131
|
}
|
|
128
132
|
template(props) {
|
|
129
133
|
const __id = this.id;
|
|
130
|
-
Component._register(ZagComponent);
|
|
131
|
-
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="combobox-label text-sm font-medium mb-1 block">${props.label}</label>` || ""}<!--${__id + "-c0-end"}--><div data-part="control" class="combobox-control flex"><input data-part="input" class="combobox-input flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring" /><button data-part="trigger" class="combobox-trigger inline-flex h-9 items-center justify-center rounded-r-md border border-l-0 border-input px-2">▼</button></div><div data-part="positioner" class="combobox-positioner"><div data-part="content" class="combobox-content z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md"><div id="${__id + "-b1"}" data-part="list">${this.filteredItems.map((item) => this.renderFilteredItemsItem(item)).join("")}</div></div></div></div>`;
|
|
134
|
+
Component._register(ZagComponent, "zag-component");
|
|
135
|
+
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="combobox-label text-sm font-medium mb-1 block">${geaEscapeHtml(String(props.label))}</label>` || ""}<!--${__id + "-c0-end"}--><div data-part="control" class="combobox-control flex"><input data-part="input" class="combobox-input flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring" /><button data-part="trigger" class="combobox-trigger inline-flex h-9 items-center justify-center rounded-r-md border border-l-0 border-input px-2">▼</button></div><div data-part="positioner" class="combobox-positioner"><div data-part="content" class="combobox-content z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md"><div id="${__id + "-b1"}" data-part="list">${this.filteredItems.map((item) => this.renderFilteredItemsItem(item)).join("")}</div></div></div></div>`;
|
|
132
136
|
}
|
|
133
137
|
__onPropChange(key, value) {
|
|
134
138
|
if (key === "class") {
|
|
135
|
-
const __el = this
|
|
139
|
+
const __el = this[GEA_ELEMENT];
|
|
136
140
|
this.props;
|
|
137
141
|
const __boundValue = value || "";
|
|
138
142
|
if (__el) {
|
|
@@ -140,24 +144,25 @@ var Combobox = class extends ZagComponent {
|
|
|
140
144
|
if (__el.className !== __newClass) __el.className = __newClass;
|
|
141
145
|
}
|
|
142
146
|
}
|
|
143
|
-
if (key === "label") this
|
|
147
|
+
if (key === "label") this[GEA_PATCH_COND](0);
|
|
144
148
|
}
|
|
145
149
|
renderFilteredItemsItem(item) {
|
|
146
150
|
return `<div data-gea-item-id="${item?.value ?? item}" data-part="item"${__v(item.value) == null || __v(item.value) === false ? "" : ` data-value="${item.value}"`}${__v(item.label) == null || __v(item.label) === false ? "" : ` data-label="${item.label}"`} class="combobox-item relative flex cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground"><span data-part="item-text"${__v(item.value) == null || __v(item.value) === false ? "" : ` data-value="${item.value}"`}${__v(item.label) == null || __v(item.label) === false ? "" : ` data-label="${item.label}"`}>${item.label}</span><span data-part="item-indicator"${__v(item.value) == null || __v(item.value) === false ? "" : ` data-value="${item.value}"`}${__v(item.label) == null || __v(item.label) === false ? "" : ` data-label="${item.label}"`} class="combobox-item-indicator ml-auto">✓</span></div>`;
|
|
147
151
|
}
|
|
148
152
|
createFilteredItemsItem(item) {
|
|
149
|
-
var __c = this.__filteredItems_container;
|
|
150
|
-
if (!__c
|
|
153
|
+
var __c = this.#__dc_b1 || (this.#__dc_b1 = this.__filteredItems_container);
|
|
154
|
+
if (!__c[GEA_MAP_CONFIG_TPL]) try {
|
|
151
155
|
var __tw = document.createElement("template");
|
|
152
156
|
__tw.innerHTML = this.renderFilteredItemsItem({
|
|
153
157
|
value: 0,
|
|
154
|
-
label: ""
|
|
158
|
+
label: " "
|
|
155
159
|
});
|
|
156
|
-
__c
|
|
160
|
+
__c[GEA_MAP_CONFIG_TPL] = __tw.content.firstElementChild;
|
|
161
|
+
__c[GEA_MAP_CONFIG_TPL]?.removeAttribute("data-gea-item-id");
|
|
157
162
|
} catch (__err) {
|
|
158
163
|
console.error(__err);
|
|
159
164
|
}
|
|
160
|
-
if (__c
|
|
165
|
+
if (__c[GEA_MAP_CONFIG_TPL]) var el = __c[GEA_MAP_CONFIG_TPL].cloneNode(true);
|
|
161
166
|
else {
|
|
162
167
|
var __fw = document.createElement("template");
|
|
163
168
|
__fw.innerHTML = this.renderFilteredItemsItem(item);
|
|
@@ -167,27 +172,45 @@ var Combobox = class extends ZagComponent {
|
|
|
167
172
|
el.__ref_1 = el.firstElementChild.nextElementSibling;
|
|
168
173
|
var __av = item.value;
|
|
169
174
|
if (__av == null || __av === false) el.removeAttribute("data-value");
|
|
170
|
-
else
|
|
175
|
+
else {
|
|
176
|
+
const __newAttr = String(__av);
|
|
177
|
+
if (el.getAttribute("data-value") !== __newAttr) el.setAttribute("data-value", __newAttr);
|
|
178
|
+
}
|
|
171
179
|
var __av = item.label;
|
|
172
180
|
if (__av == null || __av === false) el.removeAttribute("data-label");
|
|
173
|
-
else
|
|
181
|
+
else {
|
|
182
|
+
const __newAttr = String(__av);
|
|
183
|
+
if (el.getAttribute("data-label") !== __newAttr) el.setAttribute("data-label", __newAttr);
|
|
184
|
+
}
|
|
174
185
|
var __av = item.value;
|
|
175
186
|
if (__av == null || __av === false) el.__ref_0.removeAttribute("data-value");
|
|
176
|
-
else
|
|
187
|
+
else {
|
|
188
|
+
const __newAttr = String(__av);
|
|
189
|
+
if (el.__ref_0.getAttribute("data-value") !== __newAttr) el.__ref_0.setAttribute("data-value", __newAttr);
|
|
190
|
+
}
|
|
177
191
|
var __av = item.label;
|
|
178
192
|
if (__av == null || __av === false) el.__ref_0.removeAttribute("data-label");
|
|
179
|
-
else
|
|
180
|
-
|
|
193
|
+
else {
|
|
194
|
+
const __newAttr = String(__av);
|
|
195
|
+
if (el.__ref_0.getAttribute("data-label") !== __newAttr) el.__ref_0.setAttribute("data-label", __newAttr);
|
|
196
|
+
}
|
|
197
|
+
el.__ref_0.firstChild.nodeValue = `
|
|
181
198
|
${item.label}
|
|
182
199
|
`;
|
|
183
200
|
var __av = item.value;
|
|
184
201
|
if (__av == null || __av === false) el.__ref_1.removeAttribute("data-value");
|
|
185
|
-
else
|
|
202
|
+
else {
|
|
203
|
+
const __newAttr = String(__av);
|
|
204
|
+
if (el.__ref_1.getAttribute("data-value") !== __newAttr) el.__ref_1.setAttribute("data-value", __newAttr);
|
|
205
|
+
}
|
|
186
206
|
var __av = item.label;
|
|
187
207
|
if (__av == null || __av === false) el.__ref_1.removeAttribute("data-label");
|
|
188
|
-
else
|
|
189
|
-
|
|
190
|
-
|
|
208
|
+
else {
|
|
209
|
+
const __newAttr = String(__av);
|
|
210
|
+
if (el.__ref_1.getAttribute("data-label") !== __newAttr) el.__ref_1.setAttribute("data-label", __newAttr);
|
|
211
|
+
}
|
|
212
|
+
el[GEA_DOM_KEY] = String(item?.value ?? item);
|
|
213
|
+
el[GEA_DOM_ITEM] = item;
|
|
191
214
|
return el;
|
|
192
215
|
}
|
|
193
216
|
patchFilteredItemsItem(row, item, __prevItem) {
|
|
@@ -196,40 +219,60 @@ var Combobox = class extends ZagComponent {
|
|
|
196
219
|
if (!row.__ref_1) row.__ref_1 = row.firstElementChild.nextElementSibling;
|
|
197
220
|
var __av = item.value;
|
|
198
221
|
if (__av == null || __av === false) row.removeAttribute("data-value");
|
|
199
|
-
else
|
|
222
|
+
else {
|
|
223
|
+
const __newAttr = String(__av);
|
|
224
|
+
if (row.getAttribute("data-value") !== __newAttr) row.setAttribute("data-value", __newAttr);
|
|
225
|
+
}
|
|
200
226
|
var __av = item.label;
|
|
201
227
|
if (__av == null || __av === false) row.removeAttribute("data-label");
|
|
202
|
-
else
|
|
228
|
+
else {
|
|
229
|
+
const __newAttr = String(__av);
|
|
230
|
+
if (row.getAttribute("data-label") !== __newAttr) row.setAttribute("data-label", __newAttr);
|
|
231
|
+
}
|
|
203
232
|
var __av = item.value;
|
|
204
233
|
if (__av == null || __av === false) row.__ref_0.removeAttribute("data-value");
|
|
205
|
-
else
|
|
234
|
+
else {
|
|
235
|
+
const __newAttr = String(__av);
|
|
236
|
+
if (row.__ref_0.getAttribute("data-value") !== __newAttr) row.__ref_0.setAttribute("data-value", __newAttr);
|
|
237
|
+
}
|
|
206
238
|
var __av = item.label;
|
|
207
239
|
if (__av == null || __av === false) row.__ref_0.removeAttribute("data-label");
|
|
208
|
-
else
|
|
209
|
-
|
|
240
|
+
else {
|
|
241
|
+
const __newAttr = String(__av);
|
|
242
|
+
if (row.__ref_0.getAttribute("data-label") !== __newAttr) row.__ref_0.setAttribute("data-label", __newAttr);
|
|
243
|
+
}
|
|
244
|
+
row.__ref_0.firstChild.nodeValue = `
|
|
210
245
|
${item.label}
|
|
211
246
|
`;
|
|
212
247
|
var __av = item.value;
|
|
213
248
|
if (__av == null || __av === false) row.__ref_1.removeAttribute("data-value");
|
|
214
|
-
else
|
|
249
|
+
else {
|
|
250
|
+
const __newAttr = String(__av);
|
|
251
|
+
if (row.__ref_1.getAttribute("data-value") !== __newAttr) row.__ref_1.setAttribute("data-value", __newAttr);
|
|
252
|
+
}
|
|
215
253
|
var __av = item.label;
|
|
216
254
|
if (__av == null || __av === false) row.__ref_1.removeAttribute("data-label");
|
|
217
|
-
else
|
|
218
|
-
|
|
219
|
-
|
|
255
|
+
else {
|
|
256
|
+
const __newAttr = String(__av);
|
|
257
|
+
if (row.__ref_1.getAttribute("data-label") !== __newAttr) row.__ref_1.setAttribute("data-label", __newAttr);
|
|
258
|
+
}
|
|
259
|
+
row[GEA_DOM_KEY] = String(item?.value ?? item);
|
|
260
|
+
(this.#__rowEls_b1 || (this.#__rowEls_b1 = {}))[String(item?.value ?? item)] = row;
|
|
261
|
+
row[GEA_DOM_ITEM] = item;
|
|
220
262
|
}
|
|
221
263
|
__observe_local_filteredItems(filteredItems, change) {
|
|
222
264
|
const __id = this.id;
|
|
223
265
|
if (!this.__filteredItems_container) this.__filteredItems_container = document.getElementById(__id + "-b1");
|
|
224
266
|
if (!this.__filteredItems_container) return;
|
|
225
|
-
if (Array.isArray(filteredItems) && filteredItems.length === 0
|
|
267
|
+
if (Array.isArray(filteredItems) && filteredItems.length === 0) {
|
|
268
|
+
this.#__rowEls_b1 = null;
|
|
226
269
|
this.__filteredItems_container.textContent = "";
|
|
227
270
|
return;
|
|
228
271
|
}
|
|
229
|
-
this
|
|
230
|
-
this
|
|
272
|
+
this[GEA_ENSURE_ARRAY_CONFIGS]();
|
|
273
|
+
this[GEA_APPLY_LIST_CHANGES](this.__filteredItems_container, filteredItems, change, this.__filteredItemsListConfig);
|
|
231
274
|
}
|
|
232
|
-
|
|
275
|
+
[GEA_ENSURE_ARRAY_CONFIGS]() {
|
|
233
276
|
if (!this.__filteredItemsListConfig) this.__filteredItemsListConfig = {
|
|
234
277
|
arrayPathParts: ["filteredItems"],
|
|
235
278
|
render: this.renderFilteredItemsItem.bind(this),
|
|
@@ -243,21 +286,30 @@ var Combobox = class extends ZagComponent {
|
|
|
243
286
|
if (!__target) return;
|
|
244
287
|
const __attrValue = item.value;
|
|
245
288
|
if (__attrValue == null || __attrValue === false) __target.removeAttribute("data-value");
|
|
246
|
-
else
|
|
289
|
+
else {
|
|
290
|
+
const __newAttr = String(__attrValue);
|
|
291
|
+
if (__target.getAttribute("data-value") !== __newAttr) __target.setAttribute("data-value", __newAttr);
|
|
292
|
+
}
|
|
247
293
|
},
|
|
248
294
|
(row, value, item) => {
|
|
249
|
-
const __target = row.__ref_0;
|
|
295
|
+
const __target = row.__ref_0 || (row.__ref_0 = row.firstElementChild);
|
|
250
296
|
if (!__target) return;
|
|
251
297
|
const __attrValue = item.value;
|
|
252
298
|
if (__attrValue == null || __attrValue === false) __target.removeAttribute("data-value");
|
|
253
|
-
else
|
|
299
|
+
else {
|
|
300
|
+
const __newAttr = String(__attrValue);
|
|
301
|
+
if (__target.getAttribute("data-value") !== __newAttr) __target.setAttribute("data-value", __newAttr);
|
|
302
|
+
}
|
|
254
303
|
},
|
|
255
304
|
(row, value, item) => {
|
|
256
|
-
const __target = row.__ref_1;
|
|
305
|
+
const __target = row.__ref_1 || (row.__ref_1 = row.firstElementChild.nextElementSibling);
|
|
257
306
|
if (!__target) return;
|
|
258
307
|
const __attrValue = item.value;
|
|
259
308
|
if (__attrValue == null || __attrValue === false) __target.removeAttribute("data-value");
|
|
260
|
-
else
|
|
309
|
+
else {
|
|
310
|
+
const __newAttr = String(__attrValue);
|
|
311
|
+
if (__target.getAttribute("data-value") !== __newAttr) __target.setAttribute("data-value", __newAttr);
|
|
312
|
+
}
|
|
261
313
|
},
|
|
262
314
|
(row, value) => row.classList.toggle("value", value),
|
|
263
315
|
(row, value) => row.classList.toggle("value", value),
|
|
@@ -270,17 +322,23 @@ var Combobox = class extends ZagComponent {
|
|
|
270
322
|
if (!__target) return;
|
|
271
323
|
const __attrValue = item.label;
|
|
272
324
|
if (__attrValue == null || __attrValue === false) __target.removeAttribute("data-label");
|
|
273
|
-
else
|
|
325
|
+
else {
|
|
326
|
+
const __newAttr = String(__attrValue);
|
|
327
|
+
if (__target.getAttribute("data-label") !== __newAttr) __target.setAttribute("data-label", __newAttr);
|
|
328
|
+
}
|
|
274
329
|
},
|
|
275
330
|
(row, value, item) => {
|
|
276
|
-
const __target = row.__ref_0;
|
|
331
|
+
const __target = row.__ref_0 || (row.__ref_0 = row.firstElementChild);
|
|
277
332
|
if (!__target) return;
|
|
278
333
|
const __attrValue = item.label;
|
|
279
334
|
if (__attrValue == null || __attrValue === false) __target.removeAttribute("data-label");
|
|
280
|
-
else
|
|
335
|
+
else {
|
|
336
|
+
const __newAttr = String(__attrValue);
|
|
337
|
+
if (__target.getAttribute("data-label") !== __newAttr) __target.setAttribute("data-label", __newAttr);
|
|
338
|
+
}
|
|
281
339
|
},
|
|
282
340
|
(row, value, item) => {
|
|
283
|
-
const __target = row.__ref_0;
|
|
341
|
+
const __target = row.__ref_0 || (row.__ref_0 = row.firstElementChild);
|
|
284
342
|
if (!__target) return;
|
|
285
343
|
__target.firstChild && (__target.firstChild.nodeValue = `
|
|
286
344
|
${item.label}
|
|
@@ -289,11 +347,14 @@ var Combobox = class extends ZagComponent {
|
|
|
289
347
|
`);
|
|
290
348
|
},
|
|
291
349
|
(row, value, item) => {
|
|
292
|
-
const __target = row.__ref_1;
|
|
350
|
+
const __target = row.__ref_1 || (row.__ref_1 = row.firstElementChild.nextElementSibling);
|
|
293
351
|
if (!__target) return;
|
|
294
352
|
const __attrValue = item.label;
|
|
295
353
|
if (__attrValue == null || __attrValue === false) __target.removeAttribute("data-label");
|
|
296
|
-
else
|
|
354
|
+
else {
|
|
355
|
+
const __newAttr = String(__attrValue);
|
|
356
|
+
if (__target.getAttribute("data-label") !== __newAttr) __target.setAttribute("data-label", __newAttr);
|
|
357
|
+
}
|
|
297
358
|
},
|
|
298
359
|
(row, value) => row.classList.toggle("label", value),
|
|
299
360
|
(row, value) => row.classList.toggle("label", value),
|
|
@@ -302,10 +363,10 @@ var Combobox = class extends ZagComponent {
|
|
|
302
363
|
}
|
|
303
364
|
};
|
|
304
365
|
}
|
|
305
|
-
|
|
306
|
-
this
|
|
366
|
+
[GEA_SETUP_LOCAL_STATE_OBSERVERS]() {
|
|
367
|
+
this[GEA_ENSURE_ARRAY_CONFIGS]();
|
|
307
368
|
if (!this.__store) return;
|
|
308
|
-
this
|
|
369
|
+
this[GEA_OBSERVE](this, ["filteredItems"], this.__observe_local_filteredItems);
|
|
309
370
|
}
|
|
310
371
|
};
|
|
311
372
|
//#endregion
|
package/dist/combobox.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combobox.mjs","names":["__v","v","valueOf","Component","combobox","normalizeProps","ZagComponent","handleComponentUpdate","registerHotModule","registerComponentInstance","unregisterComponentInstance","Combobox","constructor","args","props","__geaCond_0","label","__geaRegisterCond","open","value","inputValue","filteredItems","_allItems","created","items","createMachine","_props","machine","_buildCollection","collection","itemToValue","item","itemToString","_filterItems","query","q","toLowerCase","filtered","filter","includes","_machine","updateProps","getMachineProps","col","id","defaultValue","defaultInputValue","defaultOpen","multiple","disabled","readOnly","invalid","required","placeholder","inputBehavior","selectionBehavior","closeOnSelect","allowCustomValue","loopFocus","openOnClick","name","form","positioning","onValueChange","details","ValueChangeDetails","onInputValueChange","InputValueChangeDetails","onOpenChange","OpenChangeDetails","connectApi","service","connect","getSpreadMap","[data-part=\"item\"]","api","el","HTMLElement","dataset","getItemProps","[data-part=\"item-text\"]","getItemTextProps","[data-part=\"item-indicator\"]","getItemIndicatorProps","syncState","template","__id","_register","class","String","trim","map","renderFilteredItemsItem","join","__onPropChange","key","__el","element_","__boundValue","__newClass","className","__geaPatchCond","createFilteredItemsItem","__c","__filteredItems_container","__geaTpl","__tw","document","createElement","innerHTML","content","firstElementChild","__err","console","error","cloneNode","__fw","__ref_0","__ref_1","nextElementSibling","__av","removeAttribute","setAttribute","textContent","__geaItem","patchFilteredItemsItem","row","__prevItem","__observe_local_filteredItems","change","getElementById","Array","isArray","length","children","__ensureArrayConfigs","__applyListChanges","__filteredItemsListConfig","arrayPathParts","render","bind","create","patchRow","getKey","propPatchers","__target","__attrValue","classList","toggle","firstChild","nodeValue","__setupLocalStateObservers","__store","__observe","import","meta","hot","__moduleExports","default","url","accept","newModule","__updatedModule","invalidate","__origCreated","prototype","__geaProps","call","__origDispose","dispose"],"sources":["../src/components/combobox.tsx"],"sourcesContent":["import * as combobox from '@zag-js/combobox'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class Combobox extends ZagComponent {\n declare open: boolean\n declare value: string[]\n declare inputValue: string\n declare filteredItems: any[]\n declare _allItems: any[]\n\n created(props: any) {\n this._allItems = props.items || []\n this.filteredItems = [...this._allItems]\n super.created(props)\n }\n\n createMachine(_props: any): any {\n return combobox.machine\n }\n\n _buildCollection(items: any[]) {\n return combobox.collection({\n items,\n itemToValue: (item: any) => item.value,\n itemToString: (item: any) => item.label || item.value,\n })\n }\n\n _filterItems(query: string) {\n const q = query.toLowerCase()\n const filtered = q\n ? this._allItems.filter((item: any) => (item.label || item.value).toLowerCase().includes(q))\n : [...this._allItems]\n this.filteredItems = filtered\n this._machine?.updateProps({ collection: this._buildCollection(filtered) })\n }\n\n getMachineProps(props: any) {\n const col = props.collection || this._buildCollection(this._allItems)\n\n return {\n id: this.id,\n collection: col,\n value: props.value,\n defaultValue: props.defaultValue,\n inputValue: props.inputValue,\n defaultInputValue: props.defaultInputValue,\n open: props.open,\n defaultOpen: props.defaultOpen,\n multiple: props.multiple,\n disabled: props.disabled,\n readOnly: props.readOnly,\n invalid: props.invalid,\n required: props.required,\n placeholder: props.placeholder,\n inputBehavior: props.inputBehavior ?? 'none',\n selectionBehavior: props.selectionBehavior ?? 'replace',\n closeOnSelect: props.closeOnSelect ?? true,\n allowCustomValue: props.allowCustomValue,\n loopFocus: props.loopFocus ?? true,\n openOnClick: props.openOnClick ?? false,\n name: props.name,\n form: props.form,\n positioning: props.positioning,\n onValueChange: (details: combobox.ValueChangeDetails) => {\n this.value = details.value\n props.onValueChange?.(details)\n },\n onInputValueChange: (details: combobox.InputValueChangeDetails) => {\n this.inputValue = details.inputValue\n this._filterItems(details.inputValue)\n props.onInputValueChange?.(details)\n },\n onOpenChange: (details: combobox.OpenChangeDetails) => {\n this.open = details.open\n props.onOpenChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return combobox.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=\"input\"]': 'getInputProps',\n '[data-part=\"trigger\"]': 'getTriggerProps',\n '[data-part=\"clear-trigger\"]': 'getClearTriggerProps',\n '[data-part=\"positioner\"]': 'getPositionerProps',\n '[data-part=\"content\"]': 'getContentProps',\n '[data-part=\"list\"]': 'getListProps',\n '[data-part=\"item\"]': (api, el) => {\n const value = (el as HTMLElement).dataset.value\n const label = (el as HTMLElement).dataset.label || value\n return api.getItemProps({ item: { value, label } })\n },\n '[data-part=\"item-text\"]': (api, el) => {\n const value = (el as HTMLElement).dataset.value\n const label = (el as HTMLElement).dataset.label || value\n return api.getItemTextProps({ item: { value, label } })\n },\n '[data-part=\"item-indicator\"]': (api, el) => {\n const value = (el as HTMLElement).dataset.value\n const label = (el as HTMLElement).dataset.label || value\n return api.getItemIndicatorProps({ item: { value, label } })\n },\n }\n }\n\n syncState(api: any) {\n this.open = api.open\n this.value = api.value\n this.inputValue = api.inputValue\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=\"combobox-label text-sm font-medium mb-1 block\">\n {props.label}\n </label>\n )}\n <div data-part=\"control\" class=\"combobox-control flex\">\n <input\n data-part=\"input\"\n class=\"combobox-input flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring\"\n />\n <button\n data-part=\"trigger\"\n class=\"combobox-trigger inline-flex h-9 items-center justify-center rounded-r-md border border-l-0 border-input px-2\"\n >\n ▼\n </button>\n </div>\n <div data-part=\"positioner\" class=\"combobox-positioner\">\n <div\n data-part=\"content\"\n class=\"combobox-content z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md\"\n >\n <div data-part=\"list\">\n {this.filteredItems.map((item: any) => (\n <div\n key={item.value}\n data-part=\"item\"\n data-value={item.value}\n data-label={item.label}\n class=\"combobox-item relative flex cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground\"\n >\n <span data-part=\"item-text\" data-value={item.value} data-label={item.label}>\n {item.label}\n </span>\n <span\n data-part=\"item-indicator\"\n data-value={item.value}\n data-label={item.label}\n class=\"combobox-item-indicator ml-auto\"\n >\n ✓\n </span>\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"combobox.mjs","names":["__v","v","valueOf","Component","GEA_RENDERED","GEA_ELEMENT","GEA_MAPS","GEA_CONDS","GEA_RESET_ELS","GEA_OBSERVE","GEA_OBSERVE_LIST","GEA_EL","GEA_UPDATE_TEXT","GEA_REQUEST_RENDER","GEA_UPDATE_PROPS","GEA_SYNC_MAP","GEA_REGISTER_MAP","GEA_PATCH_COND","GEA_REGISTER_COND","GEA_REFRESH_LIST","GEA_RECONCILE_LIST","GEA_ENSURE_ARRAY_CONFIGS","GEA_APPLY_LIST_CHANGES","GEA_SWAP_CHILD","GEA_SWAP_STATE_CHILDREN","GEA_CHILD","GEA_LIST_CONFIG_REFRESHING","GEA_DOM_KEY","GEA_DOM_ITEM","GEA_DOM_PROPS","GEA_MAP_CONFIG_TPL","GEA_MAP_CONFIG_PREV","GEA_MAP_CONFIG_COUNT","geaCondPatchedSymbol","geaCondValueSymbol","geaObservePrevSymbol","geaPrevGuardSymbol","GEA_SETUP_LOCAL_STATE_OBSERVERS","geaSanitizeAttr","geaEscapeHtml","GEA_CTOR_TAG_NAME","combobox","normalizeProps","ZagComponent","Combobox","__rowEls_b1","__dc_b1","constructor","args","props","label","String","open","value","inputValue","filteredItems","_allItems","created","items","createMachine","_props","machine","_buildCollection","collection","itemToValue","item","itemToString","_filterItems","query","q","toLowerCase","filtered","filter","includes","_machine","updateProps","getMachineProps","col","id","defaultValue","defaultInputValue","defaultOpen","multiple","disabled","readOnly","invalid","required","placeholder","inputBehavior","selectionBehavior","closeOnSelect","allowCustomValue","loopFocus","openOnClick","name","form","positioning","onValueChange","details","ValueChangeDetails","onInputValueChange","InputValueChangeDetails","onOpenChange","OpenChangeDetails","connectApi","service","connect","getSpreadMap","[data-part=\"item\"]","api","el","HTMLElement","dataset","getItemProps","[data-part=\"item-text\"]","getItemTextProps","[data-part=\"item-indicator\"]","getItemIndicatorProps","syncState","template","__id","_register","class","trim","map","renderFilteredItemsItem","join","__onPropChange","key","__el","__boundValue","__newClass","className","createFilteredItemsItem","__c","__filteredItems_container","__tw","document","createElement","innerHTML","content","firstElementChild","removeAttribute","__err","console","error","cloneNode","__fw","__ref_0","__ref_1","nextElementSibling","__av","__newAttr","getAttribute","setAttribute","firstChild","nodeValue","patchFilteredItemsItem","row","__prevItem","__observe_local_filteredItems","change","getElementById","Array","isArray","length","textContent","__filteredItemsListConfig","arrayPathParts","render","bind","create","patchRow","getKey","propPatchers","__target","__attrValue","classList","toggle","__store"],"sources":["../src/components/combobox.tsx"],"sourcesContent":["import * as combobox from '@zag-js/combobox'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class Combobox extends ZagComponent {\n declare open: boolean\n declare value: string[]\n declare inputValue: string\n declare filteredItems: any[]\n declare _allItems: any[]\n\n created(props: any) {\n this._allItems = props.items || []\n this.filteredItems = [...this._allItems]\n super.created(props)\n }\n\n createMachine(_props: any): any {\n return combobox.machine\n }\n\n _buildCollection(items: any[]) {\n return combobox.collection({\n items,\n itemToValue: (item: any) => item.value,\n itemToString: (item: any) => item.label || item.value,\n })\n }\n\n _filterItems(query: string) {\n const q = query.toLowerCase()\n const filtered = q\n ? this._allItems.filter((item: any) => (item.label || item.value).toLowerCase().includes(q))\n : [...this._allItems]\n this.filteredItems = filtered\n this._machine?.updateProps({ collection: this._buildCollection(filtered) })\n }\n\n getMachineProps(props: any) {\n const col = props.collection || this._buildCollection(this._allItems)\n\n return {\n id: this.id,\n collection: col,\n value: props.value,\n defaultValue: props.defaultValue,\n inputValue: props.inputValue,\n defaultInputValue: props.defaultInputValue,\n open: props.open,\n defaultOpen: props.defaultOpen,\n multiple: props.multiple,\n disabled: props.disabled,\n readOnly: props.readOnly,\n invalid: props.invalid,\n required: props.required,\n placeholder: props.placeholder,\n inputBehavior: props.inputBehavior ?? 'none',\n selectionBehavior: props.selectionBehavior ?? 'replace',\n closeOnSelect: props.closeOnSelect ?? true,\n allowCustomValue: props.allowCustomValue,\n loopFocus: props.loopFocus ?? true,\n openOnClick: props.openOnClick ?? false,\n name: props.name,\n form: props.form,\n positioning: props.positioning,\n onValueChange: (details: combobox.ValueChangeDetails) => {\n this.value = details.value\n props.onValueChange?.(details)\n },\n onInputValueChange: (details: combobox.InputValueChangeDetails) => {\n this.inputValue = details.inputValue\n this._filterItems(details.inputValue)\n props.onInputValueChange?.(details)\n },\n onOpenChange: (details: combobox.OpenChangeDetails) => {\n this.open = details.open\n props.onOpenChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return combobox.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=\"input\"]': 'getInputProps',\n '[data-part=\"trigger\"]': 'getTriggerProps',\n '[data-part=\"clear-trigger\"]': 'getClearTriggerProps',\n '[data-part=\"positioner\"]': 'getPositionerProps',\n '[data-part=\"content\"]': 'getContentProps',\n '[data-part=\"list\"]': 'getListProps',\n '[data-part=\"item\"]': (api, el) => {\n const value = (el as HTMLElement).dataset.value\n const label = (el as HTMLElement).dataset.label || value\n return api.getItemProps({ item: { value, label } })\n },\n '[data-part=\"item-text\"]': (api, el) => {\n const value = (el as HTMLElement).dataset.value\n const label = (el as HTMLElement).dataset.label || value\n return api.getItemTextProps({ item: { value, label } })\n },\n '[data-part=\"item-indicator\"]': (api, el) => {\n const value = (el as HTMLElement).dataset.value\n const label = (el as HTMLElement).dataset.label || value\n return api.getItemIndicatorProps({ item: { value, label } })\n },\n }\n }\n\n syncState(api: any) {\n this.open = api.open\n this.value = api.value\n this.inputValue = api.inputValue\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=\"combobox-label text-sm font-medium mb-1 block\">\n {props.label}\n </label>\n )}\n <div data-part=\"control\" class=\"combobox-control flex\">\n <input\n data-part=\"input\"\n class=\"combobox-input flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring\"\n />\n <button\n data-part=\"trigger\"\n class=\"combobox-trigger inline-flex h-9 items-center justify-center rounded-r-md border border-l-0 border-input px-2\"\n >\n ▼\n </button>\n </div>\n <div data-part=\"positioner\" class=\"combobox-positioner\">\n <div\n data-part=\"content\"\n class=\"combobox-content z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md\"\n >\n <div data-part=\"list\">\n {this.filteredItems.map((item: any) => (\n <div\n key={item.value}\n data-part=\"item\"\n data-value={item.value}\n data-label={item.label}\n class=\"combobox-item relative flex cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground\"\n >\n <span data-part=\"item-text\" data-value={item.value} data-label={item.label}>\n {item.label}\n </span>\n <span\n data-part=\"item-indicator\"\n data-value={item.value}\n data-label={item.label}\n class=\"combobox-item-indicator ml-auto\"\n >\n ✓\n </span>\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":"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"}
|
package/dist/dialog.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as ZagComponent } from "./zag-component.mjs";
|
|
2
2
|
import * as dialog from "@zag-js/dialog";
|
|
3
3
|
import { OpenChangeDetails } from "@zag-js/dialog";
|
|
4
|
-
import * as _zag_js_types0 from "@zag-js/types";
|
|
4
|
+
import * as _$_zag_js_types0 from "@zag-js/types";
|
|
5
5
|
|
|
6
6
|
//#region src/components/dialog.d.ts
|
|
7
7
|
interface DialogProps {
|
|
@@ -25,7 +25,7 @@ declare class Dialog extends ZagComponent<DialogProps> {
|
|
|
25
25
|
open: boolean;
|
|
26
26
|
createMachine(_props: DialogProps): any;
|
|
27
27
|
getMachineProps(props: DialogProps): {
|
|
28
|
-
id:
|
|
28
|
+
id: any;
|
|
29
29
|
open: boolean;
|
|
30
30
|
defaultOpen: boolean;
|
|
31
31
|
modal: boolean;
|
|
@@ -37,7 +37,7 @@ declare class Dialog extends ZagComponent<DialogProps> {
|
|
|
37
37
|
'aria-label': string;
|
|
38
38
|
onOpenChange: (details: OpenChangeDetails) => void;
|
|
39
39
|
};
|
|
40
|
-
connectApi(service: any): dialog.Api<_zag_js_types0.PropTypes<{
|
|
40
|
+
connectApi(service: any): dialog.Api<_$_zag_js_types0.PropTypes<{
|
|
41
41
|
[x: string]: any;
|
|
42
42
|
}>>;
|
|
43
43
|
getSpreadMap(): {
|
package/dist/dialog.mjs
CHANGED
|
@@ -1,36 +1,38 @@
|
|
|
1
1
|
import { t as ZagComponent } from "./zag-component.mjs";
|
|
2
|
-
import "
|
|
3
|
-
import { Component } from "@geajs/core";
|
|
2
|
+
import { Component, GEA_CTOR_TAG_NAME, GEA_ELEMENT, GEA_PATCH_COND, GEA_REGISTER_COND, geaCondValueSymbol, geaEscapeHtml } from "@geajs/core";
|
|
4
3
|
import { normalizeProps } from "@zag-js/vanilla";
|
|
5
4
|
import * as dialog from "@zag-js/dialog";
|
|
6
5
|
//#region src/components/dialog.tsx
|
|
7
6
|
var Dialog = class extends ZagComponent {
|
|
7
|
+
static {
|
|
8
|
+
this[GEA_CTOR_TAG_NAME] = "gea-dialog";
|
|
9
|
+
}
|
|
8
10
|
constructor(...args) {
|
|
9
11
|
super(...args);
|
|
10
12
|
this.props;
|
|
11
|
-
this
|
|
12
|
-
this
|
|
13
|
-
this
|
|
14
|
-
this
|
|
13
|
+
this[geaCondValueSymbol(0)] = !!this.props.title;
|
|
14
|
+
this[geaCondValueSymbol(1)] = !!this.props.description;
|
|
15
|
+
this[geaCondValueSymbol(2)] = !!this.props.triggerLabel;
|
|
16
|
+
this[GEA_REGISTER_COND](0, "c0", () => {
|
|
15
17
|
this.props;
|
|
16
18
|
return this.props.title;
|
|
17
19
|
}, () => {
|
|
18
20
|
this.props;
|
|
19
|
-
return `<h2 data-part="title" class="dialog-title text-lg font-semibold mb-2">${this.props.title}</h2>`;
|
|
21
|
+
return `<h2 data-part="title" class="dialog-title text-lg font-semibold mb-2">${geaEscapeHtml(String(this.props.title))}</h2>`;
|
|
20
22
|
}, null);
|
|
21
|
-
this
|
|
23
|
+
this[GEA_REGISTER_COND](1, "c1", () => {
|
|
22
24
|
this.props;
|
|
23
25
|
return this.props.description;
|
|
24
26
|
}, () => {
|
|
25
27
|
this.props;
|
|
26
|
-
return `<p data-part="description" class="dialog-description text-sm text-gray-500 mb-4">${this.props.description}</p>`;
|
|
28
|
+
return `<p data-part="description" class="dialog-description text-sm text-gray-500 mb-4">${geaEscapeHtml(String(this.props.description))}</p>`;
|
|
27
29
|
}, null);
|
|
28
|
-
this
|
|
30
|
+
this[GEA_REGISTER_COND](2, "c2", () => {
|
|
29
31
|
this.props;
|
|
30
32
|
return this.props.triggerLabel;
|
|
31
33
|
}, () => {
|
|
32
34
|
this.props;
|
|
33
|
-
return `<button data-part="trigger" class="dialog-trigger">${this.props.triggerLabel}</button>`;
|
|
35
|
+
return `<button data-part="trigger" class="dialog-trigger">${geaEscapeHtml(String(this.props.triggerLabel))}</button>`;
|
|
34
36
|
}, null);
|
|
35
37
|
}
|
|
36
38
|
createMachine(_props) {
|
|
@@ -101,13 +103,13 @@ var Dialog = class extends ZagComponent {
|
|
|
101
103
|
}
|
|
102
104
|
template(props) {
|
|
103
105
|
const __id = this.id;
|
|
104
|
-
Component._register(ZagComponent);
|
|
105
|
-
return `<div id="${__id}"${(props.class || "") == null || (props.class || "") === false ? "" : ` class="${((props.class || "") != null ? String(props.class || "") : "").trim()}"`}><!--${__id + "-c2"}-->${props.triggerLabel && `<button data-part="trigger" class="dialog-trigger">${props.triggerLabel}</button>` || ""}<!--${__id + "-c2-end"}--><div data-part="backdrop" class="dialog-backdrop fixed inset-0 bg-black/50 z-50" hidden></div><div data-part="positioner" class="dialog-positioner fixed inset-0 flex items-center justify-center z-50" hidden><div data-part="content" class="dialog-content bg-white rounded-lg shadow-xl p-6 w-full max-w-md mx-4"><!--${__id + "-c0"}-->${props.title && `<h2 data-part="title" class="dialog-title text-lg font-semibold mb-2">${props.title}</h2>` || ""}<!--${__id + "-c0-end"}--><!--${__id + "-c1"}-->${props.description && `<p data-part="description" class="dialog-description text-sm text-gray-500 mb-4">${props.description}</p>` || ""}<!--${__id + "-c1-end"}--><div id="${__id + "-b1"}" class="dialog-body">${props.children}</div><button data-part="close-trigger" class="dialog-close-trigger absolute top-3 right-3 text-gray-400 hover:text-gray-600">✕</button></div></div></div>`;
|
|
106
|
+
Component._register(ZagComponent, "zag-component");
|
|
107
|
+
return `<div id="${__id}"${(props.class || "") == null || (props.class || "") === false ? "" : ` class="${((props.class || "") != null ? String(props.class || "") : "").trim()}"`}><!--${__id + "-c2"}-->${props.triggerLabel && `<button data-part="trigger" class="dialog-trigger">${geaEscapeHtml(String(props.triggerLabel))}</button>` || ""}<!--${__id + "-c2-end"}--><div data-part="backdrop" class="dialog-backdrop fixed inset-0 bg-black/50 z-50" hidden></div><div data-part="positioner" class="dialog-positioner fixed inset-0 flex items-center justify-center z-50" hidden><div data-part="content" class="dialog-content bg-white rounded-lg shadow-xl p-6 w-full max-w-md mx-4"><!--${__id + "-c0"}-->${props.title && `<h2 data-part="title" class="dialog-title text-lg font-semibold mb-2">${geaEscapeHtml(String(props.title))}</h2>` || ""}<!--${__id + "-c0-end"}--><!--${__id + "-c1"}-->${props.description && `<p data-part="description" class="dialog-description text-sm text-gray-500 mb-4">${geaEscapeHtml(String(props.description))}</p>` || ""}<!--${__id + "-c1-end"}--><div id="${__id + "-b1"}" class="dialog-body">${props.children}</div><button data-part="close-trigger" class="dialog-close-trigger absolute top-3 right-3 text-gray-400 hover:text-gray-600">✕</button></div></div></div>`;
|
|
106
108
|
}
|
|
107
109
|
__onPropChange(key, value) {
|
|
108
110
|
const __id = this.id;
|
|
109
111
|
if (key === "class") {
|
|
110
|
-
const __el = this
|
|
112
|
+
const __el = this[GEA_ELEMENT];
|
|
111
113
|
this.props;
|
|
112
114
|
const __boundValue = value || "";
|
|
113
115
|
if (__el) {
|
|
@@ -123,11 +125,11 @@ var Dialog = class extends ZagComponent {
|
|
|
123
125
|
if (this.parentComponent) this.parentComponent.mountCompiledChildComponents_();
|
|
124
126
|
}
|
|
125
127
|
}
|
|
126
|
-
if (key === "title") this
|
|
127
|
-
if (key === "description") this
|
|
128
|
-
if (key === "triggerLabel") this
|
|
128
|
+
if (key === "title") this[GEA_PATCH_COND](0);
|
|
129
|
+
if (key === "description") this[GEA_PATCH_COND](1);
|
|
130
|
+
if (key === "triggerLabel") this[GEA_PATCH_COND](2);
|
|
129
131
|
}
|
|
130
|
-
|
|
132
|
+
*GEA_RESET_ELS() {
|
|
131
133
|
this.__e0 = null;
|
|
132
134
|
}
|
|
133
135
|
};
|