@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.
Files changed (109) hide show
  1. package/README.md +14 -19
  2. package/dist/accordion.d.mts +3 -3
  3. package/dist/accordion.mjs +57 -27
  4. package/dist/accordion.mjs.map +1 -1
  5. package/dist/alert.mjs +17 -9
  6. package/dist/alert.mjs.map +1 -1
  7. package/dist/avatar.d.mts +3 -3
  8. package/dist/avatar.mjs +12 -10
  9. package/dist/avatar.mjs.map +1 -1
  10. package/dist/badge.mjs +7 -5
  11. package/dist/badge.mjs.map +1 -1
  12. package/dist/button.mjs +22 -12
  13. package/dist/button.mjs.map +1 -1
  14. package/dist/card.mjs +31 -14
  15. package/dist/card.mjs.map +1 -1
  16. package/dist/checkbox.d.mts +3 -3
  17. package/dist/checkbox.mjs +11 -9
  18. package/dist/checkbox.mjs.map +1 -1
  19. package/dist/clipboard.d.mts +3 -3
  20. package/dist/clipboard.mjs +21 -17
  21. package/dist/clipboard.mjs.map +1 -1
  22. package/dist/collapsible.d.mts +3 -3
  23. package/dist/collapsible.mjs +8 -6
  24. package/dist/collapsible.mjs.map +1 -1
  25. package/dist/combobox.d.mts +5 -5
  26. package/dist/combobox.mjs +111 -50
  27. package/dist/combobox.mjs.map +1 -1
  28. package/dist/dialog.d.mts +3 -3
  29. package/dist/dialog.mjs +20 -18
  30. package/dist/dialog.mjs.map +1 -1
  31. package/dist/dnd-manager.mjs +20 -6
  32. package/dist/dnd-manager.mjs.map +1 -1
  33. package/dist/drag-drop-context.mjs +6 -4
  34. package/dist/drag-drop-context.mjs.map +1 -1
  35. package/dist/draggable.mjs +20 -10
  36. package/dist/draggable.mjs.map +1 -1
  37. package/dist/droppable.mjs +11 -6
  38. package/dist/droppable.mjs.map +1 -1
  39. package/dist/file-upload.d.mts +3 -3
  40. package/dist/file-upload.mjs +49 -36
  41. package/dist/file-upload.mjs.map +1 -1
  42. package/dist/hover-card.d.mts +3 -3
  43. package/dist/hover-card.mjs +12 -7
  44. package/dist/hover-card.mjs.map +1 -1
  45. package/dist/input.mjs +37 -17
  46. package/dist/input.mjs.map +1 -1
  47. package/dist/label.mjs +11 -6
  48. package/dist/label.mjs.map +1 -1
  49. package/dist/menu.d.mts +3 -3
  50. package/dist/menu.mjs +13 -11
  51. package/dist/menu.mjs.map +1 -1
  52. package/dist/number-input.d.mts +3 -3
  53. package/dist/number-input.mjs +11 -9
  54. package/dist/number-input.mjs.map +1 -1
  55. package/dist/pagination.d.mts +3 -3
  56. package/dist/pagination.mjs +6 -4
  57. package/dist/pagination.mjs.map +1 -1
  58. package/dist/pin-input.d.mts +3 -3
  59. package/dist/pin-input.mjs +34 -22
  60. package/dist/pin-input.mjs.map +1 -1
  61. package/dist/popover.d.mts +3 -3
  62. package/dist/popover.mjs +16 -14
  63. package/dist/popover.mjs.map +1 -1
  64. package/dist/progress.d.mts +3 -3
  65. package/dist/progress.mjs +15 -13
  66. package/dist/progress.mjs.map +1 -1
  67. package/dist/radio-group.d.mts +3 -3
  68. package/dist/radio-group.mjs +61 -31
  69. package/dist/radio-group.mjs.map +1 -1
  70. package/dist/rating-group.d.mts +3 -3
  71. package/dist/rating-group.mjs +34 -22
  72. package/dist/rating-group.mjs.map +1 -1
  73. package/dist/select.d.mts +3 -3
  74. package/dist/select.mjs +81 -39
  75. package/dist/select.mjs.map +1 -1
  76. package/dist/separator.mjs +11 -6
  77. package/dist/separator.mjs.map +1 -1
  78. package/dist/skeleton.mjs +5 -3
  79. package/dist/skeleton.mjs.map +1 -1
  80. package/dist/slider.d.mts +3 -3
  81. package/dist/slider.mjs +12 -9
  82. package/dist/slider.mjs.map +1 -1
  83. package/dist/switch.d.mts +3 -3
  84. package/dist/switch.mjs +11 -9
  85. package/dist/switch.mjs.map +1 -1
  86. package/dist/tabs.d.mts +3 -3
  87. package/dist/tabs.mjs +59 -37
  88. package/dist/tabs.mjs.map +1 -1
  89. package/dist/tags-input.d.mts +3 -3
  90. package/dist/tags-input.mjs +97 -43
  91. package/dist/tags-input.mjs.map +1 -1
  92. package/dist/textarea.mjs +31 -20
  93. package/dist/textarea.mjs.map +1 -1
  94. package/dist/toast.mjs +6 -4
  95. package/dist/toast.mjs.map +1 -1
  96. package/dist/toggle-group.d.mts +3 -3
  97. package/dist/toggle-group.mjs +32 -20
  98. package/dist/toggle-group.mjs.map +1 -1
  99. package/dist/tooltip.d.mts +3 -3
  100. package/dist/tooltip.mjs +8 -6
  101. package/dist/tooltip.mjs.map +1 -1
  102. package/dist/tree-view.d.mts +3 -3
  103. package/dist/tree-view.mjs +12 -10
  104. package/dist/tree-view.mjs.map +1 -1
  105. package/dist/zag-component.d.mts +6 -5
  106. package/dist/zag-component.mjs +16 -8
  107. package/dist/zag-component.mjs.map +1 -1
  108. package/package.json +4 -9
  109. package/dist/_virtual_gea-hmr.mjs +0 -11
@@ -1,10 +1,12 @@
1
1
  import { t as ZagComponent } from "./zag-component.mjs";
2
- import "./_virtual_gea-hmr.mjs";
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.element_;
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
- __resetEls() {
69
+ *GEA_RESET_ELS() {
68
70
  this.__e0 = null;
69
71
  this.__e1 = null;
70
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"collapsible.mjs","names":["collapsible","normalizeProps","ZagComponent","handleComponentUpdate","registerHotModule","registerComponentInstance","unregisterComponentInstance","Collapsible","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","label","children","__onPropChange","key","value","__el","element_","__boundValue","__newClass","className","__e0","document","getElementById","textContent","__e1","innerHTML","instantiateChildComponents_","parentComponent","mountCompiledChildComponents_","__resetEls","import","meta","hot","__moduleExports","default","url","accept","newModule","__updatedModule","invalidate","__origCreated","prototype","created","__geaProps","constructor","name","call","__origDispose","dispose"],"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,IAAqBO,cAArB,cAAyCL,aAAa;CAGpDO,cAAcC,QAAkB;AAC9B,SAAOV,YAAYW;;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,SAAOrB,YAAYsB,QAAQD,SAASpB,eAAe;;CAGrDsB,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,UAAA3B,aAAA;AACnB,SAAA,YAAAyB,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,sHAKzCd,MAAMoB,SAAS,SAAQ,yFAAAN,OAAA,MAAA,iBAGLd,MAAMqB,SAAQ;;CAjD3CC,eAAsBC,KAAKC,OAAK;EAAA,MAAAV,OAAA,KAAAb;AAAA,MAAAsB,QAAA,SAAA;GAAA,MAAAE,OAAA,KAAAC;AAuCX,QAAA1B;GAAA,MAAA2B,eAAAH,SAE6B;AAAE,OAAAC,MAAA;IAAA,MAAAG,cAAAD,gBAAA,OAAAT,OAAAS,aAAA,GAAA,IAAAR,MAAA;AAAA,QAAAM,KAAAI,cAAAD,WAAAH,MAAAI,YAAAD;;;AAAA,MAAAL,QAAA,SAAA;GAAA,MAAAE,OAAA,KAAAK,SAAA,KAAAA,OAAAC,SAAAC,eAAAlB,OAAA,MAAA;AAF/B,QAAAd;GAAA,MAAA2B,eAAAH,SAOK;AAAQ,OAAAC,QAAAA,KAAAQ,gBAAAN,aAAAF,MAAAQ,cAAAN;;AAAA,MAAAJ,QAAA,YAAA;GAAA,MAAAE,OAAA,KAAAS,SAAA,KAAAA,OAAAH,SAAAC,eAAAlB,OAAA,MAAA;AAAA,OAAAW,QAAAA,KAAAU,cAAAX,OAAA;AAAAC,SAAAU,YAAAX;AAAA,SAAAY,6BAAA;AAAA,QAAA,KAAAC,gBAAA,MAAAA,gBAAAC,+BAAA;;;;CA9CEC,aAAA;AAAA,OAAAT,OAAA;AAAA,OAAAI,OAAA"}
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"}
@@ -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: string;
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 "./_virtual_gea-hmr.mjs";
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.__geaCond_0 = !!this.props.label;
13
- this.__geaRegisterCond(0, "c0", () => {
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.element_;
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.__geaPatchCond(0);
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.__geaTpl) try {
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.__geaTpl = __tw.content.firstElementChild;
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.__geaTpl) var el = __c.__geaTpl.cloneNode(true);
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 el.setAttribute("data-value", String(__av));
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 el.setAttribute("data-label", String(__av));
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 el.__ref_0.setAttribute("data-value", String(__av));
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 el.__ref_0.setAttribute("data-label", String(__av));
180
- el.__ref_0.textContent = `
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 el.__ref_1.setAttribute("data-value", String(__av));
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 el.__ref_1.setAttribute("data-label", String(__av));
189
- el.setAttribute("data-gea-item-id", item?.value ?? item);
190
- el.__geaItem = item;
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 row.setAttribute("data-value", String(__av));
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 row.setAttribute("data-label", String(__av));
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 row.__ref_0.setAttribute("data-value", String(__av));
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 row.__ref_0.setAttribute("data-label", String(__av));
209
- row.__ref_0.textContent = `
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 row.__ref_1.setAttribute("data-value", String(__av));
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 row.__ref_1.setAttribute("data-label", String(__av));
218
- row.setAttribute("data-gea-item-id", item?.value ?? item);
219
- row.__geaItem = item;
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 && this.__filteredItems_container.children.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.__ensureArrayConfigs();
230
- this.__applyListChanges(this.__filteredItems_container, filteredItems, change, this.__filteredItemsListConfig);
272
+ this[GEA_ENSURE_ARRAY_CONFIGS]();
273
+ this[GEA_APPLY_LIST_CHANGES](this.__filteredItems_container, filteredItems, change, this.__filteredItemsListConfig);
231
274
  }
232
- __ensureArrayConfigs() {
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 __target.setAttribute("data-value", String(__attrValue));
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 __target.setAttribute("data-value", String(__attrValue));
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 __target.setAttribute("data-value", String(__attrValue));
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 __target.setAttribute("data-label", String(__attrValue));
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 __target.setAttribute("data-label", String(__attrValue));
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 __target.setAttribute("data-label", String(__attrValue));
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
- __setupLocalStateObservers() {
306
- this.__ensureArrayConfigs();
366
+ [GEA_SETUP_LOCAL_STATE_OBSERVERS]() {
367
+ this[GEA_ENSURE_ARRAY_CONFIGS]();
307
368
  if (!this.__store) return;
308
- this.__observe(this, ["filteredItems"], this.__observe_local_filteredItems);
369
+ this[GEA_OBSERVE](this, ["filteredItems"], this.__observe_local_filteredItems);
309
370
  }
310
371
  };
311
372
  //#endregion
@@ -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 &#x25BC;\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 &#x2713;\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 &#x25BC;\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 &#x2713;\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: string;
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 "./_virtual_gea-hmr.mjs";
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.__geaCond_0 = !!this.props.title;
12
- this.__geaCond_1 = !!this.props.description;
13
- this.__geaCond_2 = !!this.props.triggerLabel;
14
- this.__geaRegisterCond(0, "c0", () => {
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.__geaRegisterCond(1, "c1", () => {
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.__geaRegisterCond(2, "c2", () => {
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.element_;
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.__geaPatchCond(0);
127
- if (key === "description") this.__geaPatchCond(1);
128
- if (key === "triggerLabel") this.__geaPatchCond(2);
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
- __resetEls() {
132
+ *GEA_RESET_ELS() {
131
133
  this.__e0 = null;
132
134
  }
133
135
  };