@geajs/ui 0.2.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/accordion.mjs +12 -12
  2. package/dist/accordion.mjs.map +1 -1
  3. package/dist/alert.mjs +44 -23
  4. package/dist/alert.mjs.map +1 -1
  5. package/dist/avatar.mjs +11 -11
  6. package/dist/avatar.mjs.map +1 -1
  7. package/dist/badge.mjs +19 -12
  8. package/dist/badge.mjs.map +1 -1
  9. package/dist/button.mjs +33 -23
  10. package/dist/button.mjs.map +1 -1
  11. package/dist/card.mjs +85 -43
  12. package/dist/card.mjs.map +1 -1
  13. package/dist/checkbox.mjs +5 -5
  14. package/dist/checkbox.mjs.map +1 -1
  15. package/dist/clipboard.mjs +10 -10
  16. package/dist/clipboard.mjs.map +1 -1
  17. package/dist/collapsible.mjs +18 -11
  18. package/dist/collapsible.mjs.map +1 -1
  19. package/dist/combobox.mjs +62 -48
  20. package/dist/combobox.mjs.map +1 -1
  21. package/dist/dialog.mjs +19 -12
  22. package/dist/dialog.mjs.map +1 -1
  23. package/dist/dnd-manager.mjs +18 -26
  24. package/dist/dnd-manager.mjs.map +1 -1
  25. package/dist/drag-drop-context.mjs +15 -8
  26. package/dist/drag-drop-context.mjs.map +1 -1
  27. package/dist/draggable.mjs +39 -19
  28. package/dist/draggable.mjs.map +1 -1
  29. package/dist/droppable.mjs +22 -12
  30. package/dist/droppable.mjs.map +1 -1
  31. package/dist/file-upload.mjs +24 -21
  32. package/dist/file-upload.mjs.map +1 -1
  33. package/dist/hover-card.mjs +27 -17
  34. package/dist/hover-card.mjs.map +1 -1
  35. package/dist/input.mjs +36 -24
  36. package/dist/input.mjs.map +1 -1
  37. package/dist/label.mjs +22 -12
  38. package/dist/label.mjs.map +1 -1
  39. package/dist/menu.mjs +9 -9
  40. package/dist/menu.mjs.map +1 -1
  41. package/dist/number-input.mjs +5 -5
  42. package/dist/number-input.mjs.map +1 -1
  43. package/dist/pagination.mjs +8 -9
  44. package/dist/pagination.mjs.map +1 -1
  45. package/dist/pin-input.mjs +11 -11
  46. package/dist/pin-input.mjs.map +1 -1
  47. package/dist/popover.mjs +19 -12
  48. package/dist/popover.mjs.map +1 -1
  49. package/dist/progress.mjs +8 -8
  50. package/dist/progress.mjs.map +1 -1
  51. package/dist/radio-group.mjs +16 -12
  52. package/dist/radio-group.mjs.map +1 -1
  53. package/dist/rating-group.mjs +21 -15
  54. package/dist/rating-group.mjs.map +1 -1
  55. package/dist/select.d.mts +1 -0
  56. package/dist/select.mjs +22 -17
  57. package/dist/select.mjs.map +1 -1
  58. package/dist/separator.mjs +12 -9
  59. package/dist/separator.mjs.map +1 -1
  60. package/dist/skeleton.mjs +6 -7
  61. package/dist/skeleton.mjs.map +1 -1
  62. package/dist/slider.mjs +5 -5
  63. package/dist/slider.mjs.map +1 -1
  64. package/dist/switch.mjs +5 -5
  65. package/dist/switch.mjs.map +1 -1
  66. package/dist/tabs.mjs +28 -20
  67. package/dist/tabs.mjs.map +1 -1
  68. package/dist/tags-input.mjs +18 -14
  69. package/dist/tags-input.mjs.map +1 -1
  70. package/dist/textarea.mjs +28 -19
  71. package/dist/textarea.mjs.map +1 -1
  72. package/dist/theme.css +198 -165
  73. package/dist/toast.mjs +6 -7
  74. package/dist/toast.mjs.map +1 -1
  75. package/dist/toggle-group.mjs +16 -12
  76. package/dist/toggle-group.mjs.map +1 -1
  77. package/dist/tooltip.mjs +18 -11
  78. package/dist/tooltip.mjs.map +1 -1
  79. package/dist/tree-view.mjs +17 -10
  80. package/dist/tree-view.mjs.map +1 -1
  81. package/dist/zag-component.mjs.map +1 -1
  82. package/package.json +1 -2
  83. package/dist/tailwind-preset.d.mts +0 -51
  84. package/dist/tailwind-preset.mjs +0 -50
  85. package/dist/tailwind-preset.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"clipboard.mjs","names":["clipboard","normalizeProps","ZagComponent","Clipboard","GEA_CTOR_TAG_NAME","constructor","args","props","geaCondValueSymbol","copied","label","GEA_REGISTER_COND","geaEscapeHtml","String","createMachine","_props","machine","getMachineProps","id","value","defaultValue","timeout","onStatusChange","details","CopyStatusDetails","connectApi","service","connect","getSpreadMap","api","getIndicatorProps","syncState","template","__id","Component","_register","class","trim","__onPropChange","key","__el","GEA_ELEMENT","__boundValue","__newClass","className","GEA_PATCH_COND","__observe_local_copied","change","GEA_RENDERED","geaCondPatchedSymbol","queueMicrotask","GEA_SETUP_LOCAL_STATE_OBSERVERS","__store","GEA_OBSERVE"],"sources":["../src/components/clipboard.tsx"],"sourcesContent":["import * as clipboard from '@zag-js/clipboard'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class Clipboard extends ZagComponent {\n copied = false\n\n createMachine(_props: any): any {\n return clipboard.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n value: props.value,\n defaultValue: props.defaultValue,\n timeout: props.timeout ?? 2000,\n onStatusChange: (details: clipboard.CopyStatusDetails) => {\n this.copied = details.copied\n props.onStatusChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return clipboard.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=\"trigger\"]': 'getTriggerProps',\n '[data-part=\"input\"]': 'getInputProps',\n '[data-part=\"indicator-copied\"]': (api) => api.getIndicatorProps({ copied: true }),\n '[data-part=\"indicator-not-copied\"]': (api) => api.getIndicatorProps({ copied: false }),\n }\n }\n\n syncState(api: any) {\n this.copied = api.copied\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=\"clipboard-label text-sm font-medium mb-1 block\">\n {props.label}\n </label>\n )}\n <div data-part=\"control\" class=\"clipboard-control flex gap-2\">\n <input\n data-part=\"input\"\n class=\"clipboard-input flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm\"\n />\n <button\n data-part=\"trigger\"\n class=\"clipboard-trigger inline-flex h-9 items-center justify-center rounded-md border border-input bg-background px-3 text-sm shadow-sm hover:bg-accent\"\n >\n {this.copied ? (\n <span data-part=\"indicator-copied\">&#x2713; Copied</span>\n ) : (\n <span data-part=\"indicator-not-copied\">Copy</span>\n )}\n </button>\n </div>\n </div>\n )\n }\n}\n"],"mappings":";;;;;AAIA,IAAqBG,YAArB,cAAuCD,aAAa;;OAAAE,qBAAA;;CAHpDC,YAAsB,GAAGC,MAAI;AAAA,QAAA,GAAAA,KAAA;gBAIlB;AAuCU,OAAAC;AAAA,OAAAC,mBAAA,EAAA,IAAA,CAAA,CAiBR,KAAKC;AAAM,OAAAD,mBAAA,EAAA,IAAA,CAAA,CAAA,KAAAD,MAdTG;AAAK,OAAAC,mBAAA,GAAA,YAAA;AAHC,QAAAJ;AAAA,UAiBR,KAAKE;WAAM;AAjBH,QAAAF;AAAA,UAAA;WAAA;AAAA,QAAAA;AAAA,UAAA;IAAA;AAAA,OAAAI,mBAAA,GAAA,YAAA;AAAA,QAAAJ;AAAA,UAAA,KAAAA,MAGNG;WAAK;AAHC,QAAAH;AAAA,UAAA,mFAAAK,cAAAC,OAAA,KAAAN,MAKFG,MAAK,CAAA,CAAA;KAAA,KAAA;;CA1CtBI,cAAcC,QAAkB;AAC9B,SAAOf,UAAUgB;;CAGnBC,gBAAgBV,OAAY;AAC1B,SAAO;GACLW,IAAI,KAAKA;GACTC,OAAOZ,MAAMY;GACbC,cAAcb,MAAMa;GACpBC,SAASd,MAAMc,WAAW;GAC1BC,iBAAiBC,YAAyC;AACxD,SAAKd,SAASc,QAAQd;AACtBF,UAAMe,iBAAiBC,QAAQ;;GAElC;;CAGHE,WAAWC,SAAc;AACvB,SAAO1B,UAAU2B,QAAQD,SAASzB,eAAe;;CAGnD2B,eAAe;AACb,SAAO;GACL,wBAAsB;GACtB,yBAAuB;GACvB,2BAAyB;GACzB,2BAAyB;GACzB,yBAAuB;GACvB,qCAAmCC,QAAQA,IAAIC,kBAAkB,EAAErB,QAAQ,MAAM,CAAC;GAClF,yCAAuCoB,QAAQA,IAAIC,kBAAkB,EAAErB,QAAQ,OAAO,CAAA;GACvF;;CAGHsB,UAAUF,KAAU;AAClB,OAAKpB,SAASoB,IAAIpB;;CAGpBuB,SAASzB,OAAY;EAAA,MAAA0B,OAAA,KAAAf;AAAAgB,YAAAC,UAAAjC,cAAA,gBAAA;AACnB,SAAA,YAAA+B,KAAA,qBAC+B1B,MAAM6B,SAAS,OAAE,SAAjB7B,MAAM6B,SAAS,QAAE,QAAA,KAAA,aAAjB7B,MAAM6B,SAAS,OAAE,OAAAvB,OAAjBN,MAAM6B,SAAS,GAAE,GAAA,IAAAC,MAAA,CAAA,GAAA,OAAAJ,OAAA,MAAA,KAC3C1B,MAAMG,SAAK,mFAAAE,cAAAC,OAEPN,MAAMG,MAAK,CAAA,CAAA,aAAA,GAAA,MAAAuB,OAAA,UAAA,0YAAAA,OAAA,MAAA,MAYX,KAAKxB,SAAM,uDAAA,yDAAA,GAAA,MAAAwB,OAAA,UAAA;;CA5DxBK,eAAsBC,KAAKpB,OAAK;AAAA,MAAAoB,QAAA,SAAA;GAAA,MAAAC,OAAA,KAAAC;AA2CX,QAAAlC;GAAA,MAAAmC,eAAAvB,SAE6B;AAAE,OAAAqB,MAAA;IAAA,MAAAG,cAAAD,gBAAA,OAAA7B,OAAA6B,aAAA,GAAA,IAAAL,MAAA;AAAA,QAAAG,KAAAI,cAAAD,WAAAH,MAAAI,YAAAD;;;AAAA,OAAAE,gBAAA,EAAA;AAAA,MAAAN,QAAA,QAAA,MAAAM,gBAAA,EAAA;;CA7CpDC,uBAAsB3B,OAAO4B,QAAQ;AAAA,MAAA,KAAAC,eAAA;AAAA,OAAA,KAAAC,qBAAA,EAAA,EAAA;AAAA,QAAAA,qBAAA,EAAA,IAAA,KAAAJ,gBAAA,EAAA;AAAA,OAAA,KAAAI,qBAAA,EAAA,EAAAC,sBAAA,KAAAD,qBAAA,EAAA,IAAA,MAAA;AAAA,OAAA,KAAAA,qBAAA,EAAA,EAAA;;;CAAE,CAAAE,mCAAA;AAAvC,MAAI,CAAA,KAAAC,QAA0B;AAAS,OAAAC,aAAA,MAAA,CAAA,SAAA,EAAA,KAAAP,uBAAA"}
1
+ {"version":3,"file":"clipboard.mjs","names":["Component","geaCondValueSymbol","GEA_REGISTER_COND","geaEscapeHtml","GEA_ON_PROP_CHANGE","GEA_ELEMENT","GEA_PATCH_COND","GEA_RENDERED","geaCondPatchedSymbol","GEA_SETUP_LOCAL_STATE_OBSERVERS","GEA_STORE_ROOT","GEA_OBSERVE","clipboard","normalizeProps","ZagComponent","Clipboard","__geaTagName","constructor","args","props","copied","label","String","createMachine","_props","machine","getMachineProps","id","value","defaultValue","timeout","onStatusChange","details","CopyStatusDetails","connectApi","service","connect","getSpreadMap","api","getIndicatorProps","syncState","template","__id","_register","class","trim","key","__el","__boundValue","__newClass","replace","className","__observe_local_copied","change","queueMicrotask"],"sources":["../src/components/clipboard.tsx"],"sourcesContent":["import * as clipboard from '@zag-js/clipboard'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class Clipboard extends ZagComponent {\n copied = false\n\n createMachine(_props: any): any {\n return clipboard.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n value: props.value,\n defaultValue: props.defaultValue,\n timeout: props.timeout ?? 2000,\n onStatusChange: (details: clipboard.CopyStatusDetails) => {\n this.copied = details.copied\n props.onStatusChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return clipboard.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=\"trigger\"]': 'getTriggerProps',\n '[data-part=\"input\"]': 'getInputProps',\n '[data-part=\"indicator-copied\"]': (api) => api.getIndicatorProps({ copied: true }),\n '[data-part=\"indicator-not-copied\"]': (api) => api.getIndicatorProps({ copied: false }),\n }\n }\n\n syncState(api: any) {\n this.copied = api.copied\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=\"clipboard-label text-sm font-medium mb-1 block\">\n {props.label}\n </label>\n )}\n <div data-part=\"control\" class=\"clipboard-control flex gap-2\">\n <input\n data-part=\"input\"\n class=\"clipboard-input flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs\"\n />\n <button\n data-part=\"trigger\"\n class=\"clipboard-trigger inline-flex h-9 items-center justify-center rounded-md border border-input bg-background px-3 text-sm shadow-xs hover:bg-accent\"\n >\n {this.copied ? (\n <span data-part=\"indicator-copied\">&#x2713; Copied</span>\n ) : (\n <span data-part=\"indicator-not-copied\">Copy</span>\n )}\n </button>\n </div>\n </div>\n )\n }\n}\n"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { t as ZagComponent } from "./zag-component.mjs";
2
- import { Component, GEA_CTOR_TAG_NAME, GEA_ELEMENT, geaEscapeHtml } from "@geajs/core";
2
+ import { Component, GEA_ELEMENT, GEA_INSTANTIATE_CHILD_COMPONENTS, GEA_MOUNT_COMPILED_CHILD_COMPONENTS, GEA_ON_PROP_CHANGE, GEA_PATCH_NODE, geaEscapeHtml } from "@geajs/core";
3
3
  import { normalizeProps } from "@zag-js/vanilla";
4
4
  import * as collapsible from "@zag-js/collapsible";
5
5
  //#region src/components/collapsible.tsx
6
6
  var Collapsible = class extends ZagComponent {
7
7
  static {
8
- this[GEA_CTOR_TAG_NAME] = "collapsible";
8
+ this.__geaTagName = "gea-collapsible";
9
9
  }
10
10
  createMachine(_props) {
11
11
  return collapsible.machine;
@@ -40,33 +40,40 @@ var Collapsible = class extends ZagComponent {
40
40
  Component._register(ZagComponent, "zag-component");
41
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>`;
42
42
  }
43
- __onPropChange(key, value) {
43
+ [GEA_ON_PROP_CHANGE](key, value) {
44
44
  const __id = this.id;
45
45
  if (key === "class") {
46
46
  const __el = this[GEA_ELEMENT];
47
47
  this.props;
48
48
  const __boundValue = value || "";
49
49
  if (__el) {
50
- const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
50
+ const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
51
51
  if (__el.className !== __newClass) __el.className = __newClass;
52
52
  }
53
53
  }
54
54
  if (key === "label") {
55
- const __el = this.__e0 || (this.__e0 = document.getElementById(__id + "-b1"));
55
+ const __el = this.__e0 || (this.__e0 = __gid(__id + "-b1"));
56
56
  this.props;
57
57
  const __boundValue = value || "Toggle";
58
58
  if (__el && __el.textContent !== __boundValue) __el.textContent = __boundValue;
59
59
  }
60
60
  if (key === "children") {
61
- const __el = this.__e1 || (this.__e1 = document.getElementById(__id + "-b2"));
62
- if (__el && __el.innerHTML !== value) {
63
- __el.innerHTML = value;
64
- this.instantiateChildComponents_();
65
- if (this.parentComponent) this.parentComponent.mountCompiledChildComponents_();
61
+ const __el = this.__e1 || (this.__e1 = __gid(__id + "-b2"));
62
+ if (__el) {
63
+ const __tw = document.createElement("template");
64
+ __tw.innerHTML = value;
65
+ const __newEl = __tw.content.firstElementChild;
66
+ const __existEl = __el.firstElementChild;
67
+ if (__newEl && __existEl && __tw.content.childNodes.length === 1) this.constructor[GEA_PATCH_NODE](__existEl, __newEl, true);
68
+ else if (__el.innerHTML !== value) {
69
+ __el.innerHTML = value;
70
+ this[GEA_INSTANTIATE_CHILD_COMPONENTS]();
71
+ if (this.parentComponent) this.parentComponent[GEA_MOUNT_COMPILED_CHILD_COMPONENTS]();
72
+ }
66
73
  }
67
74
  }
68
75
  }
69
- *GEA_RESET_ELS() {
76
+ __resetEls() {
70
77
  this.__e0 = null;
71
78
  this.__e1 = null;
72
79
  }
@@ -1 +1 @@
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
+ {"version":3,"file":"collapsible.mjs","names":["Component","geaEscapeHtml","GEA_ON_PROP_CHANGE","GEA_ELEMENT","GEA_PATCH_NODE","GEA_INSTANTIATE_CHILD_COMPONENTS","GEA_MOUNT_COMPILED_CHILD_COMPONENTS","collapsible","normalizeProps","ZagComponent","Collapsible","__geaTagName","open","createMachine","_props","machine","getMachineProps","props","id","defaultOpen","disabled","onOpenChange","details","OpenChangeDetails","connectApi","service","connect","getSpreadMap","syncState","api","template","__id","_register","class","String","trim","label","children","key","value","__el","__boundValue","__newClass","replace","className","__e0","__gid","textContent","__e1","__tw","document","createElement","innerHTML","__newEl","content","firstElementChild","__existEl","childNodes","length","constructor","parentComponent","__resetEls"],"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,IAAqBU,cAArB,cAAyCD,aAAa;;sBAAA;;CAGpDI,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;AAAAlB,YAAAgC,UAAAvB,cAAA,gBAAA;AACnB,SAAA,YAAAsB,KAAA,qBAC+Bd,MAAMgB,SAAS,OAAE,SAAjBhB,MAAMgB,SAAS,QAAE,QAAA,KAAA,aAAjBhB,MAAMgB,SAAS,OAAE,OAAAC,OAAjBjB,MAAMgB,SAAS,GAAE,GAAA,IAAAE,MAAA,CAAA,GAAA,eAzCpDJ,OAAU,MAAK,sHAAf9B,cAAciC,OA8CHjB,MAAMmB,SAAS,SA9CiB,CAAC,CAAA,yFAA5CL,OAAU,MAAK,iBAiDcd,MAAMoB,SAAQ;;CAjD3C,CAAAnC,oBAAwBoC,KAAKC,OAAK;EAAA,MAAAR,OAAA,KAAAb;AAAA,MAAAoB,QAAA,SAAA;GAAA,MAAAE,OAAA,KAAArC;AAuCb,QAAAc;GAAA,MAAAwB,eAEcF,SAAe;AAAE,OAAAC,MAzCpD;IACM,MAAME,aADXR,OAAOO,gBAAyB,GAAG,CAAEN,MAAM,CAACQ,QAAQ,QAAQ,IACf;AACxC,QAAIH,KAAsBI,cAAcF,WAAYF,MAAsBI,YAAYF;;;AACvF,MAAAJ,QAAA,SAAA;GAAA,MAAAE,OAAA,KAAAK,SAAA,KAAAA,OAAAC,MAAAf,OAAA,MAAA;AAoCgB,QAAAd;GAAA,MAAAwB,eAOVF,SAAe;AAAQ,OAAAC,QA9C9BA,KAAsBO,gBAAWN,aAArCD,MAAsBO,cAAWN;;AAAqD,MAAAH,QAAA,YAAA;GAAA,MAAAE,OAAA,KAAAQ,SAAA,KAAAA,OAAAF,MAAAf,OAAA,MAAA;AAAA,OAAAS,MAAtF;IACI,MAAMS,OAAOC,SAASC,cAAc,WAAW;AAC/CF,SAAKG,YAASb;IACd,MAAMc,UAAUJ,KAAKK,QAAQC;IAC7B,MAAMC,YAAYhB,KAAsBe;AACxC,QAAIF,WAAWG,aAAaP,KAAKK,QAAQG,WAAWC,WAAW,EAC7D,MAAKC,YAAWvD,gBAAwBoD,WAAWH,SAAS,KAAK;aACxDb,KAAsBY,cAASb,OAA4B;AACpEC,UAAsBY,YAASb;AAC/B,UAAIlC,mCAAyB;AAC7B,SAAI,KAAKuD,gBAAiB,MAAKA,gBAAetD,sCAAyB;;;;;CAV7EuD,aAAU;AAAV,OAAIhB,OAAyB;AAA7B,OAAIG,OAAyB"}
package/dist/combobox.mjs CHANGED
@@ -1,12 +1,12 @@
1
1
  import { t as ZagComponent } from "./zag-component.mjs";
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";
2
+ import { Component, GEA_APPLY_LIST_CHANGES, GEA_DOM_ITEM, GEA_DOM_KEY, GEA_ELEMENT, GEA_ENSURE_ARRAY_CONFIGS, GEA_OBSERVE, GEA_ON_PROP_CHANGE, GEA_PATCH_COND, GEA_REGISTER_COND, GEA_SETUP_LOCAL_STATE_OBSERVERS, GEA_STORE_ROOT, geaCondValueSymbol, geaEscapeHtml } from "@geajs/core";
3
3
  import { normalizeProps } from "@zag-js/vanilla";
4
4
  import * as combobox from "@zag-js/combobox";
5
5
  //#region src/components/combobox.tsx
6
6
  const __v = (v) => v != null && typeof v === "object" ? v.valueOf() : v;
7
7
  var Combobox = class extends ZagComponent {
8
8
  static {
9
- this[GEA_CTOR_TAG_NAME] = "combobox";
9
+ this.__geaTagName = "gea-combobox";
10
10
  }
11
11
  #__rowEls_b1;
12
12
  #__dc_b1;
@@ -132,37 +132,37 @@ var Combobox = class extends ZagComponent {
132
132
  template(props) {
133
133
  const __id = this.id;
134
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>`;
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-xs focus-visible:outline-hidden 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>`;
136
136
  }
137
- __onPropChange(key, value) {
137
+ [GEA_ON_PROP_CHANGE](key, value) {
138
138
  if (key === "class") {
139
139
  const __el = this[GEA_ELEMENT];
140
140
  this.props;
141
141
  const __boundValue = value || "";
142
142
  if (__el) {
143
- const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
143
+ const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
144
144
  if (__el.className !== __newClass) __el.className = __newClass;
145
145
  }
146
146
  }
147
147
  if (key === "label") this[GEA_PATCH_COND](0);
148
148
  }
149
149
  renderFilteredItemsItem(item) {
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>`;
150
+ return `<div data-gid="${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-xs px-2 py-1.5 text-sm outline-hidden 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>`;
151
151
  }
152
152
  createFilteredItemsItem(item) {
153
153
  var __c = this.#__dc_b1 || (this.#__dc_b1 = this.__filteredItems_container);
154
- if (!__c[GEA_MAP_CONFIG_TPL]) try {
154
+ if (!__c.__geaTpl) try {
155
155
  var __tw = document.createElement("template");
156
156
  __tw.innerHTML = this.renderFilteredItemsItem({
157
157
  value: 0,
158
158
  label: " "
159
159
  });
160
- __c[GEA_MAP_CONFIG_TPL] = __tw.content.firstElementChild;
161
- __c[GEA_MAP_CONFIG_TPL]?.removeAttribute("data-gea-item-id");
160
+ __c.__geaTpl = __tw.content.firstElementChild;
161
+ __c.__geaTpl?.removeAttribute("data-gid");
162
162
  } catch (__err) {
163
163
  console.error(__err);
164
164
  }
165
- if (__c[GEA_MAP_CONFIG_TPL]) var el = __c[GEA_MAP_CONFIG_TPL].cloneNode(true);
165
+ if (__c.__geaTpl) var el = __c.__geaTpl.cloneNode(true);
166
166
  else {
167
167
  var __fw = document.createElement("template");
168
168
  __fw.innerHTML = this.renderFilteredItemsItem(item);
@@ -194,7 +194,9 @@ var Combobox = class extends ZagComponent {
194
194
  const __newAttr = String(__av);
195
195
  if (el.__ref_0.getAttribute("data-label") !== __newAttr) el.__ref_0.setAttribute("data-label", __newAttr);
196
196
  }
197
- el.__ref_0.firstChild.nodeValue = `
197
+ if (el.__ref_0.textContent !== `
198
+ ${item.label}
199
+ `) el.__ref_0.textContent = `
198
200
  ${item.label}
199
201
  `;
200
202
  var __av = item.value;
@@ -241,7 +243,9 @@ var Combobox = class extends ZagComponent {
241
243
  const __newAttr = String(__av);
242
244
  if (row.__ref_0.getAttribute("data-label") !== __newAttr) row.__ref_0.setAttribute("data-label", __newAttr);
243
245
  }
244
- row.__ref_0.firstChild.nodeValue = `
246
+ if (row.__ref_0.textContent !== `
247
+ ${item.label}
248
+ `) row.__ref_0.textContent = `
245
249
  ${item.label}
246
250
  `;
247
251
  var __av = item.value;
@@ -262,7 +266,7 @@ var Combobox = class extends ZagComponent {
262
266
  }
263
267
  __observe_local_filteredItems(filteredItems, change) {
264
268
  const __id = this.id;
265
- if (!this.__filteredItems_container) this.__filteredItems_container = document.getElementById(__id + "-b1");
269
+ if (!this.__filteredItems_container) this.__filteredItems_container = __gid(__id + "-b1");
266
270
  if (!this.__filteredItems_container) return;
267
271
  if (Array.isArray(filteredItems) && filteredItems.length === 0) {
268
272
  this.#__rowEls_b1 = null;
@@ -282,90 +286,100 @@ var Combobox = class extends ZagComponent {
282
286
  propPatchers: {
283
287
  "value": [
284
288
  (row, value, item) => {
285
- const __target = row;
286
- if (!__target) return;
287
- const __attrValue = item.value;
288
- if (__attrValue == null || __attrValue === false) __target.removeAttribute("data-value");
289
+ var __av = item.value;
290
+ if (__av == null || __av === false) row.removeAttribute("data-value");
289
291
  else {
290
- const __newAttr = String(__attrValue);
291
- if (__target.getAttribute("data-value") !== __newAttr) __target.setAttribute("data-value", __newAttr);
292
+ const __newAttr = String(__av);
293
+ if (row.getAttribute("data-value") !== __newAttr) row.setAttribute("data-value", __newAttr);
292
294
  }
293
295
  },
294
296
  (row, value, item) => {
295
297
  const __target = row.__ref_0 || (row.__ref_0 = row.firstElementChild);
296
298
  if (!__target) return;
297
- const __attrValue = item.value;
298
- if (__attrValue == null || __attrValue === false) __target.removeAttribute("data-value");
299
+ var __av = item.value;
300
+ if (__av == null || __av === false) __target.removeAttribute("data-value");
299
301
  else {
300
- const __newAttr = String(__attrValue);
302
+ const __newAttr = String(__av);
301
303
  if (__target.getAttribute("data-value") !== __newAttr) __target.setAttribute("data-value", __newAttr);
302
304
  }
303
305
  },
304
306
  (row, value, item) => {
305
307
  const __target = row.__ref_1 || (row.__ref_1 = row.firstElementChild.nextElementSibling);
306
308
  if (!__target) return;
307
- const __attrValue = item.value;
308
- if (__attrValue == null || __attrValue === false) __target.removeAttribute("data-value");
309
+ var __av = item.value;
310
+ if (__av == null || __av === false) __target.removeAttribute("data-value");
309
311
  else {
310
- const __newAttr = String(__attrValue);
312
+ const __newAttr = String(__av);
311
313
  if (__target.getAttribute("data-value") !== __newAttr) __target.setAttribute("data-value", __newAttr);
312
314
  }
313
315
  },
314
- (row, value) => row.classList.toggle("value", value),
315
- (row, value) => row.classList.toggle("value", value),
316
- (row, value) => row.classList.toggle("value", value),
317
- (row, value) => row.classList.toggle("value", value)
316
+ (row, value) => {
317
+ row.classList.toggle("value", value);
318
+ },
319
+ (row, value) => {
320
+ row.classList.toggle("value", value);
321
+ },
322
+ (row, value) => {
323
+ row.classList.toggle("value", value);
324
+ },
325
+ (row, value) => {
326
+ row.classList.toggle("value", value);
327
+ }
318
328
  ],
319
329
  "label": [
320
330
  (row, value, item) => {
321
- const __target = row;
322
- if (!__target) return;
323
- const __attrValue = item.label;
324
- if (__attrValue == null || __attrValue === false) __target.removeAttribute("data-label");
331
+ var __av = item.label;
332
+ if (__av == null || __av === false) row.removeAttribute("data-label");
325
333
  else {
326
- const __newAttr = String(__attrValue);
327
- if (__target.getAttribute("data-label") !== __newAttr) __target.setAttribute("data-label", __newAttr);
334
+ const __newAttr = String(__av);
335
+ if (row.getAttribute("data-label") !== __newAttr) row.setAttribute("data-label", __newAttr);
328
336
  }
329
337
  },
330
338
  (row, value, item) => {
331
339
  const __target = row.__ref_0 || (row.__ref_0 = row.firstElementChild);
332
340
  if (!__target) return;
333
- const __attrValue = item.label;
334
- if (__attrValue == null || __attrValue === false) __target.removeAttribute("data-label");
341
+ var __av = item.label;
342
+ if (__av == null || __av === false) __target.removeAttribute("data-label");
335
343
  else {
336
- const __newAttr = String(__attrValue);
344
+ const __newAttr = String(__av);
337
345
  if (__target.getAttribute("data-label") !== __newAttr) __target.setAttribute("data-label", __newAttr);
338
346
  }
339
347
  },
340
348
  (row, value, item) => {
341
349
  const __target = row.__ref_0 || (row.__ref_0 = row.firstElementChild);
342
350
  if (!__target) return;
343
- __target.firstChild && (__target.firstChild.nodeValue = `
351
+ if (__target.textContent !== `
344
352
  ${item.label}
345
- `) || (__target.textContent = `
353
+ `) __target.textContent = `
346
354
  ${item.label}
347
- `);
355
+ `;
348
356
  },
349
357
  (row, value, item) => {
350
358
  const __target = row.__ref_1 || (row.__ref_1 = row.firstElementChild.nextElementSibling);
351
359
  if (!__target) return;
352
- const __attrValue = item.label;
353
- if (__attrValue == null || __attrValue === false) __target.removeAttribute("data-label");
360
+ var __av = item.label;
361
+ if (__av == null || __av === false) __target.removeAttribute("data-label");
354
362
  else {
355
- const __newAttr = String(__attrValue);
363
+ const __newAttr = String(__av);
356
364
  if (__target.getAttribute("data-label") !== __newAttr) __target.setAttribute("data-label", __newAttr);
357
365
  }
358
366
  },
359
- (row, value) => row.classList.toggle("label", value),
360
- (row, value) => row.classList.toggle("label", value),
361
- (row, value) => row.classList.toggle("label", value)
367
+ (row, value) => {
368
+ row.classList.toggle("label", value);
369
+ },
370
+ (row, value) => {
371
+ row.classList.toggle("label", value);
372
+ },
373
+ (row, value) => {
374
+ row.classList.toggle("label", value);
375
+ }
362
376
  ]
363
377
  }
364
378
  };
365
379
  }
366
380
  [GEA_SETUP_LOCAL_STATE_OBSERVERS]() {
367
381
  this[GEA_ENSURE_ARRAY_CONFIGS]();
368
- if (!this.__store) return;
382
+ if (!this[GEA_STORE_ROOT]) return;
369
383
  this[GEA_OBSERVE](this, ["filteredItems"], this.__observe_local_filteredItems);
370
384
  }
371
385
  };
@@ -1 +1 @@
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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"}
1
+ {"version":3,"file":"combobox.mjs","names":["__v","v","valueOf","Component","geaCondValueSymbol","GEA_REGISTER_COND","geaEscapeHtml","GEA_ON_PROP_CHANGE","GEA_ELEMENT","GEA_PATCH_COND","GEA_DOM_KEY","GEA_DOM_ITEM","GEA_ENSURE_ARRAY_CONFIGS","GEA_APPLY_LIST_CHANGES","GEA_SETUP_LOCAL_STATE_OBSERVERS","GEA_STORE_ROOT","GEA_OBSERVE","combobox","normalizeProps","ZagComponent","Combobox","__geaTagName","__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","key","__el","__boundValue","__newClass","replace","className","createFilteredItemsItem","__c","__filteredItems_container","__geaTpl","__tw","document","createElement","innerHTML","content","firstElementChild","removeAttribute","__err","console","error","cloneNode","__fw","__ref_0","__ref_1","nextElementSibling","__av","__newAttr","getAttribute","setAttribute","textContent","patchFilteredItemsItem","row","__prevItem","__observe_local_filteredItems","change","__gid","Array","isArray","length","__filteredItemsListConfig","arrayPathParts","render","bind","create","patchRow","getKey","propPatchers","__target","classList","toggle"],"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-xs focus-visible:outline-hidden 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-xs px-2 py-1.5 text-sm outline-hidden 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.mjs CHANGED
@@ -1,11 +1,11 @@
1
1
  import { t as ZagComponent } from "./zag-component.mjs";
2
- import { Component, GEA_CTOR_TAG_NAME, GEA_ELEMENT, GEA_PATCH_COND, GEA_REGISTER_COND, geaCondValueSymbol, geaEscapeHtml } from "@geajs/core";
2
+ import { Component, GEA_ELEMENT, GEA_INSTANTIATE_CHILD_COMPONENTS, GEA_MOUNT_COMPILED_CHILD_COMPONENTS, GEA_ON_PROP_CHANGE, GEA_PATCH_COND, GEA_PATCH_NODE, GEA_REGISTER_COND, geaCondValueSymbol, geaEscapeHtml } from "@geajs/core";
3
3
  import { normalizeProps } from "@zag-js/vanilla";
4
4
  import * as dialog from "@zag-js/dialog";
5
5
  //#region src/components/dialog.tsx
6
6
  var Dialog = class extends ZagComponent {
7
7
  static {
8
- this[GEA_CTOR_TAG_NAME] = "gea-dialog";
8
+ this.__geaTagName = "gea-dialog";
9
9
  }
10
10
  constructor(...args) {
11
11
  super(...args);
@@ -25,7 +25,7 @@ var Dialog = class extends ZagComponent {
25
25
  return this.props.description;
26
26
  }, () => {
27
27
  this.props;
28
- return `<p data-part="description" class="dialog-description text-sm text-gray-500 mb-4">${geaEscapeHtml(String(this.props.description))}</p>`;
28
+ return `<p data-part="description" class="dialog-description text-sm text-muted-foreground mb-4">${geaEscapeHtml(String(this.props.description))}</p>`;
29
29
  }, null);
30
30
  this[GEA_REGISTER_COND](2, "c2", () => {
31
31
  this.props;
@@ -104,32 +104,39 @@ var Dialog = class extends ZagComponent {
104
104
  template(props) {
105
105
  const __id = this.id;
106
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>`;
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 text-foreground 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-muted-foreground 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-muted-foreground hover:text-foreground">✕</button></div></div></div>`;
108
108
  }
109
- __onPropChange(key, value) {
109
+ [GEA_ON_PROP_CHANGE](key, value) {
110
110
  const __id = this.id;
111
111
  if (key === "class") {
112
112
  const __el = this[GEA_ELEMENT];
113
113
  this.props;
114
114
  const __boundValue = value || "";
115
115
  if (__el) {
116
- const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
116
+ const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
117
117
  if (__el.className !== __newClass) __el.className = __newClass;
118
118
  }
119
119
  }
120
120
  if (key === "children") {
121
- const __el = this.__e0 || (this.__e0 = document.getElementById(__id + "-b1"));
122
- if (__el && __el.innerHTML !== value) {
123
- __el.innerHTML = value;
124
- this.instantiateChildComponents_();
125
- if (this.parentComponent) this.parentComponent.mountCompiledChildComponents_();
121
+ const __el = this.__e0 || (this.__e0 = __gid(__id + "-b1"));
122
+ if (__el) {
123
+ const __tw = document.createElement("template");
124
+ __tw.innerHTML = value;
125
+ const __newEl = __tw.content.firstElementChild;
126
+ const __existEl = __el.firstElementChild;
127
+ if (__newEl && __existEl && __tw.content.childNodes.length === 1) this.constructor[GEA_PATCH_NODE](__existEl, __newEl, true);
128
+ else if (__el.innerHTML !== value) {
129
+ __el.innerHTML = value;
130
+ this[GEA_INSTANTIATE_CHILD_COMPONENTS]();
131
+ if (this.parentComponent) this.parentComponent[GEA_MOUNT_COMPILED_CHILD_COMPONENTS]();
132
+ }
126
133
  }
127
134
  }
128
135
  if (key === "title") this[GEA_PATCH_COND](0);
129
136
  if (key === "description") this[GEA_PATCH_COND](1);
130
137
  if (key === "triggerLabel") this[GEA_PATCH_COND](2);
131
138
  }
132
- *GEA_RESET_ELS() {
139
+ __resetEls() {
133
140
  this.__e0 = null;
134
141
  }
135
142
  };
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.mjs","names":["dialog","OpenChangeDetails","normalizeProps","ReactNode","ZagComponent","DialogProps","class","children","triggerLabel","title","description","open","defaultOpen","modal","closeOnInteractOutside","closeOnEscape","trapFocus","preventScroll","role","onOpenChange","details","Dialog","GEA_CTOR_TAG_NAME","constructor","args","props","geaCondValueSymbol","GEA_REGISTER_COND","geaEscapeHtml","String","createMachine","_props","machine","getMachineProps","id","connectApi","service","connect","getSpreadMap","[data-part=\"positioner\"]","api","getPositionerProps","hidden","[data-part=\"close-trigger\"]","_","getCloseTriggerProps","onclick","e","MouseEvent","defaultPrevented","setOpen","[data-part=\"trigger\"]","getTriggerProps","origOnClick","preventTriggerFocus","PointerEvent","button","preventDefault","onpointerdown","onmousedown","currentTarget","HTMLElement","blur","syncState","template","__id","Component","_register","trim","__onPropChange","key","value","__el","GEA_ELEMENT","__boundValue","__newClass","className","__e0","document","getElementById","innerHTML","instantiateChildComponents_","parentComponent","mountCompiledChildComponents_","GEA_PATCH_COND","GEA_RESET_ELS"],"sources":["../src/components/dialog.tsx"],"sourcesContent":["import * as dialog from '@zag-js/dialog'\nimport type { OpenChangeDetails } from '@zag-js/dialog'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport type { ReactNode } from 'react'\nimport ZagComponent from '../primitives/zag-component'\n\nexport interface DialogProps {\n class?: string\n children?: ReactNode\n triggerLabel?: string\n title?: string\n description?: string\n open?: boolean\n defaultOpen?: boolean\n modal?: boolean\n closeOnInteractOutside?: boolean\n closeOnEscape?: boolean\n trapFocus?: boolean\n preventScroll?: boolean\n role?: string\n 'aria-label'?: string\n onOpenChange?: (details: OpenChangeDetails) => void\n}\n\nexport default class Dialog extends ZagComponent<DialogProps> {\n declare open: boolean\n\n createMachine(_props: DialogProps): any {\n return dialog.machine\n }\n\n getMachineProps(props: DialogProps) {\n return {\n id: this.id,\n open: props.open,\n defaultOpen: props.defaultOpen,\n modal: props.modal ?? true,\n closeOnInteractOutside: props.closeOnInteractOutside ?? true,\n closeOnEscape: props.closeOnEscape ?? true,\n trapFocus: props.trapFocus ?? true,\n preventScroll: props.preventScroll ?? true,\n role: props.role ?? 'dialog',\n 'aria-label': props['aria-label'],\n onOpenChange: (details: OpenChangeDetails) => {\n this.open = details.open\n props.onOpenChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return dialog.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"backdrop\"]': 'getBackdropProps',\n '[data-part=\"positioner\"]': (api: any) => ({\n ...api.getPositionerProps(),\n hidden: !api.open,\n }),\n '[data-part=\"content\"]': 'getContentProps',\n '[data-part=\"title\"]': 'getTitleProps',\n '[data-part=\"description\"]': 'getDescriptionProps',\n '[data-part=\"close-trigger\"]': (api: any) => {\n const { id: _, ...props } = api.getCloseTriggerProps()\n return {\n ...props,\n // normalizeProps lowercases onClick → onclick; must match to override\n // Zag's default handler which calls stopPropagation()\n onclick: (e: MouseEvent) => {\n if (e.defaultPrevented) return\n api.setOpen(false)\n },\n }\n },\n '[data-part=\"trigger\"]': (api: any) => {\n const props = api.getTriggerProps()\n const origOnClick = props.onclick\n const preventTriggerFocus = (e: MouseEvent | PointerEvent) => {\n if ('button' in e && e.button !== 0) return\n e.preventDefault()\n }\n return {\n ...props,\n onpointerdown: preventTriggerFocus,\n onmousedown: preventTriggerFocus,\n onclick: (e: MouseEvent) => {\n ;(e.currentTarget as HTMLElement)?.blur()\n origOnClick?.(e)\n },\n }\n },\n }\n }\n\n syncState(api: any) {\n this.open = api.open\n }\n\n template(props: DialogProps) {\n return (\n <div class={props.class || ''}>\n {props.triggerLabel && (\n <button data-part=\"trigger\" class=\"dialog-trigger\">\n {props.triggerLabel}\n </button>\n )}\n <div data-part=\"backdrop\" class=\"dialog-backdrop fixed inset-0 bg-black/50 z-50\" hidden></div>\n <div\n data-part=\"positioner\"\n class=\"dialog-positioner fixed inset-0 flex items-center justify-center z-50\"\n hidden\n >\n <div data-part=\"content\" class=\"dialog-content bg-white rounded-lg shadow-xl p-6 w-full max-w-md mx-4\">\n {props.title && (\n <h2 data-part=\"title\" class=\"dialog-title text-lg font-semibold mb-2\">\n {props.title}\n </h2>\n )}\n {props.description && (\n <p data-part=\"description\" class=\"dialog-description text-sm text-gray-500 mb-4\">\n {props.description}\n </p>\n )}\n <div class=\"dialog-body\">{props.children}</div>\n <button\n data-part=\"close-trigger\"\n class=\"dialog-close-trigger absolute top-3 right-3 text-gray-400 hover:text-gray-600\"\n >\n &#x2715;\n </button>\n </div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"dialog.mjs","names":["Component","geaCondValueSymbol","GEA_REGISTER_COND","geaEscapeHtml","GEA_ON_PROP_CHANGE","GEA_ELEMENT","GEA_PATCH_NODE","GEA_INSTANTIATE_CHILD_COMPONENTS","GEA_MOUNT_COMPILED_CHILD_COMPONENTS","GEA_PATCH_COND","dialog","OpenChangeDetails","normalizeProps","ReactNode","ZagComponent","DialogProps","class","children","triggerLabel","title","description","open","defaultOpen","modal","closeOnInteractOutside","closeOnEscape","trapFocus","preventScroll","role","onOpenChange","details","Dialog","__geaTagName","constructor","args","props","String","createMachine","_props","machine","getMachineProps","id","connectApi","service","connect","getSpreadMap","[data-part=\"positioner\"]","api","getPositionerProps","hidden","[data-part=\"close-trigger\"]","_","getCloseTriggerProps","onclick","e","MouseEvent","defaultPrevented","setOpen","[data-part=\"trigger\"]","getTriggerProps","origOnClick","preventTriggerFocus","PointerEvent","button","preventDefault","onpointerdown","onmousedown","currentTarget","HTMLElement","blur","syncState","template","__id","_register","trim","key","value","__el","__boundValue","__newClass","replace","className","__e0","__gid","__tw","document","createElement","innerHTML","__newEl","content","firstElementChild","__existEl","childNodes","length","parentComponent","__resetEls"],"sources":["../src/components/dialog.tsx"],"sourcesContent":["import * as dialog from '@zag-js/dialog'\nimport type { OpenChangeDetails } from '@zag-js/dialog'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport type { ReactNode } from 'react'\nimport ZagComponent from '../primitives/zag-component'\n\nexport interface DialogProps {\n class?: string\n children?: ReactNode\n triggerLabel?: string\n title?: string\n description?: string\n open?: boolean\n defaultOpen?: boolean\n modal?: boolean\n closeOnInteractOutside?: boolean\n closeOnEscape?: boolean\n trapFocus?: boolean\n preventScroll?: boolean\n role?: string\n 'aria-label'?: string\n onOpenChange?: (details: OpenChangeDetails) => void\n}\n\nexport default class Dialog extends ZagComponent<DialogProps> {\n declare open: boolean\n\n createMachine(_props: DialogProps): any {\n return dialog.machine\n }\n\n getMachineProps(props: DialogProps) {\n return {\n id: this.id,\n open: props.open,\n defaultOpen: props.defaultOpen,\n modal: props.modal ?? true,\n closeOnInteractOutside: props.closeOnInteractOutside ?? true,\n closeOnEscape: props.closeOnEscape ?? true,\n trapFocus: props.trapFocus ?? true,\n preventScroll: props.preventScroll ?? true,\n role: props.role ?? 'dialog',\n 'aria-label': props['aria-label'],\n onOpenChange: (details: OpenChangeDetails) => {\n this.open = details.open\n props.onOpenChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return dialog.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"backdrop\"]': 'getBackdropProps',\n '[data-part=\"positioner\"]': (api: any) => ({\n ...api.getPositionerProps(),\n hidden: !api.open,\n }),\n '[data-part=\"content\"]': 'getContentProps',\n '[data-part=\"title\"]': 'getTitleProps',\n '[data-part=\"description\"]': 'getDescriptionProps',\n '[data-part=\"close-trigger\"]': (api: any) => {\n const { id: _, ...props } = api.getCloseTriggerProps()\n return {\n ...props,\n // normalizeProps lowercases onClick → onclick; must match to override\n // Zag's default handler which calls stopPropagation()\n onclick: (e: MouseEvent) => {\n if (e.defaultPrevented) return\n api.setOpen(false)\n },\n }\n },\n '[data-part=\"trigger\"]': (api: any) => {\n const props = api.getTriggerProps()\n const origOnClick = props.onclick\n const preventTriggerFocus = (e: MouseEvent | PointerEvent) => {\n if ('button' in e && e.button !== 0) return\n e.preventDefault()\n }\n return {\n ...props,\n onpointerdown: preventTriggerFocus,\n onmousedown: preventTriggerFocus,\n onclick: (e: MouseEvent) => {\n ;(e.currentTarget as HTMLElement)?.blur()\n origOnClick?.(e)\n },\n }\n },\n }\n }\n\n syncState(api: any) {\n this.open = api.open\n }\n\n template(props: DialogProps) {\n return (\n <div class={props.class || ''}>\n {props.triggerLabel && (\n <button data-part=\"trigger\" class=\"dialog-trigger\">\n {props.triggerLabel}\n </button>\n )}\n <div data-part=\"backdrop\" class=\"dialog-backdrop fixed inset-0 bg-black/50 z-50\" hidden></div>\n <div\n data-part=\"positioner\"\n class=\"dialog-positioner fixed inset-0 flex items-center justify-center z-50\"\n hidden\n >\n <div data-part=\"content\" class=\"dialog-content text-foreground rounded-lg shadow-xl p-6 w-full max-w-md mx-4\">\n {props.title && (\n <h2 data-part=\"title\" class=\"dialog-title text-lg font-semibold mb-2\">\n {props.title}\n </h2>\n )}\n {props.description && (\n <p data-part=\"description\" class=\"dialog-description text-sm text-muted-foreground mb-4\">\n {props.description}\n </p>\n )}\n <div class=\"dialog-body\">{props.children}</div>\n <button\n data-part=\"close-trigger\"\n class=\"dialog-close-trigger absolute top-3 right-3 text-muted-foreground hover:text-foreground\"\n >\n &#x2715;\n </button>\n </div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":"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"}