@geajs/ui 0.1.3 → 0.1.5

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 (127) hide show
  1. package/dist/_virtual_gea-hmr.mjs +11 -0
  2. package/dist/accordion.d.mts +34 -0
  3. package/dist/accordion.mjs +137 -0
  4. package/dist/accordion.mjs.map +1 -0
  5. package/dist/alert.d.mts +15 -0
  6. package/dist/alert.mjs +93 -0
  7. package/dist/alert.mjs.map +1 -0
  8. package/dist/avatar.d.mts +26 -0
  9. package/dist/avatar.mjs +95 -0
  10. package/dist/avatar.mjs.map +1 -0
  11. package/dist/badge.d.mts +9 -0
  12. package/dist/badge.mjs +47 -0
  13. package/dist/badge.mjs.map +1 -0
  14. package/dist/button.d.mts +21 -0
  15. package/dist/button.mjs +86 -0
  16. package/dist/button.mjs.map +1 -0
  17. package/dist/card.d.mts +24 -0
  18. package/dist/card.mjs +152 -0
  19. package/dist/card.mjs.map +1 -0
  20. package/dist/checkbox.d.mts +37 -0
  21. package/dist/checkbox.mjs +78 -0
  22. package/dist/checkbox.mjs.map +1 -0
  23. package/dist/clipboard.d.mts +33 -0
  24. package/dist/clipboard.mjs +96 -0
  25. package/dist/clipboard.mjs.map +1 -0
  26. package/dist/cn.mjs +10 -0
  27. package/dist/cn.mjs.map +1 -0
  28. package/dist/collapsible.d.mts +29 -0
  29. package/dist/collapsible.mjs +75 -0
  30. package/dist/collapsible.mjs.map +1 -0
  31. package/dist/combobox.d.mts +67 -0
  32. package/dist/combobox.mjs +314 -0
  33. package/dist/combobox.mjs.map +1 -0
  34. package/dist/dialog.d.mts +57 -0
  35. package/dist/dialog.mjs +137 -0
  36. package/dist/dialog.mjs.map +1 -0
  37. package/dist/dnd-manager.d.mts +67 -0
  38. package/dist/dnd-manager.mjs +373 -0
  39. package/dist/dnd-manager.mjs.map +1 -0
  40. package/dist/drag-drop-context.d.mts +11 -0
  41. package/dist/drag-drop-context.mjs +41 -0
  42. package/dist/drag-drop-context.mjs.map +1 -0
  43. package/dist/draggable.d.mts +11 -0
  44. package/dist/draggable.mjs +62 -0
  45. package/dist/draggable.mjs.map +1 -0
  46. package/dist/droppable.d.mts +14 -0
  47. package/dist/droppable.mjs +61 -0
  48. package/dist/droppable.mjs.map +1 -0
  49. package/dist/file-upload.d.mts +38 -0
  50. package/dist/file-upload.mjs +157 -0
  51. package/dist/file-upload.mjs.map +1 -0
  52. package/dist/hover-card.d.mts +33 -0
  53. package/dist/hover-card.mjs +87 -0
  54. package/dist/hover-card.mjs.map +1 -0
  55. package/dist/index.d.mts +41 -1068
  56. package/dist/index.mjs +41 -4332
  57. package/dist/input.d.mts +9 -0
  58. package/dist/input.mjs +62 -0
  59. package/dist/input.mjs.map +1 -0
  60. package/dist/label.d.mts +9 -0
  61. package/dist/label.mjs +37 -0
  62. package/dist/label.mjs.map +1 -0
  63. package/dist/menu.d.mts +36 -0
  64. package/dist/menu.mjs +86 -0
  65. package/dist/menu.mjs.map +1 -0
  66. package/dist/number-input.d.mts +46 -0
  67. package/dist/number-input.mjs +87 -0
  68. package/dist/number-input.mjs.map +1 -0
  69. package/dist/pagination.d.mts +37 -0
  70. package/dist/pagination.mjs +95 -0
  71. package/dist/pagination.mjs.map +1 -0
  72. package/dist/pin-input.d.mts +45 -0
  73. package/dist/pin-input.mjs +135 -0
  74. package/dist/pin-input.mjs.map +1 -0
  75. package/dist/popover.d.mts +39 -0
  76. package/dist/popover.mjs +107 -0
  77. package/dist/popover.mjs.map +1 -0
  78. package/dist/progress.d.mts +34 -0
  79. package/dist/progress.mjs +84 -0
  80. package/dist/progress.mjs.map +1 -0
  81. package/dist/radio-group.d.mts +37 -0
  82. package/dist/radio-group.mjs +154 -0
  83. package/dist/radio-group.mjs.map +1 -0
  84. package/dist/rating-group.d.mts +38 -0
  85. package/dist/rating-group.mjs +159 -0
  86. package/dist/rating-group.mjs.map +1 -0
  87. package/dist/select.d.mts +54 -0
  88. package/dist/select.mjs +235 -0
  89. package/dist/select.mjs.map +1 -0
  90. package/dist/separator.d.mts +9 -0
  91. package/dist/separator.mjs +44 -0
  92. package/dist/separator.mjs.map +1 -0
  93. package/dist/skeleton.d.mts +9 -0
  94. package/dist/skeleton.mjs +41 -0
  95. package/dist/skeleton.mjs.map +1 -0
  96. package/dist/slider.d.mts +44 -0
  97. package/dist/slider.mjs +114 -0
  98. package/dist/slider.mjs.map +1 -0
  99. package/dist/switch.d.mts +37 -0
  100. package/dist/switch.mjs +78 -0
  101. package/dist/switch.mjs.map +1 -0
  102. package/dist/tabs.d.mts +36 -0
  103. package/dist/tabs.mjs +175 -0
  104. package/dist/tabs.mjs.map +1 -0
  105. package/dist/tags-input.d.mts +48 -0
  106. package/dist/tags-input.mjs +213 -0
  107. package/dist/tags-input.mjs.map +1 -0
  108. package/dist/textarea.d.mts +9 -0
  109. package/dist/textarea.mjs +62 -0
  110. package/dist/textarea.mjs.map +1 -0
  111. package/dist/toast.d.mts +33 -0
  112. package/dist/toast.mjs +211 -0
  113. package/dist/toast.mjs.map +1 -0
  114. package/dist/toggle-group.d.mts +32 -0
  115. package/dist/toggle-group.mjs +112 -0
  116. package/dist/toggle-group.mjs.map +1 -0
  117. package/dist/tooltip.d.mts +39 -0
  118. package/dist/tooltip.mjs +83 -0
  119. package/dist/tooltip.mjs.map +1 -0
  120. package/dist/tree-view.d.mts +35 -0
  121. package/dist/tree-view.mjs +92 -0
  122. package/dist/tree-view.mjs.map +1 -0
  123. package/dist/zag-component.d.mts +39 -0
  124. package/dist/zag-component.mjs +127 -0
  125. package/dist/zag-component.mjs.map +1 -0
  126. package/package.json +8 -2
  127. package/dist/index.mjs.map +0 -1
@@ -0,0 +1,41 @@
1
+ import "./_virtual_gea-hmr.mjs";
2
+ import { dndManager } from "./dnd-manager.mjs";
3
+ import { Component } from "@geajs/core";
4
+ //#region src/components/drag-drop-context.tsx
5
+ var DragDropContext = class extends Component {
6
+ created() {
7
+ dndManager.onDragEnd = (result) => {
8
+ this.props.onDragEnd?.(result);
9
+ };
10
+ }
11
+ dispose() {
12
+ dndManager.destroy();
13
+ super.dispose();
14
+ }
15
+ template(props) {
16
+ return `<div id="${this.id}" class="${`gea-dnd-context ${props.class || ""}`.trim()}">${props.children}</div>`;
17
+ }
18
+ __onPropChange(key, value) {
19
+ if (key === "class") {
20
+ const __el = this.element_;
21
+ this.props;
22
+ const __boundValue = `gea-dnd-context ${value || ""}`;
23
+ if (__el) {
24
+ const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
25
+ if (__el.className !== __newClass) __el.className = __newClass;
26
+ }
27
+ }
28
+ if (key === "children") {
29
+ const __el = this.element_;
30
+ if (__el && __el.innerHTML !== value) {
31
+ __el.innerHTML = value;
32
+ this.instantiateChildComponents_();
33
+ if (this.parentComponent) this.parentComponent.mountCompiledChildComponents_();
34
+ }
35
+ }
36
+ }
37
+ };
38
+ //#endregion
39
+ export { DragDropContext as default };
40
+
41
+ //# sourceMappingURL=drag-drop-context.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drag-drop-context.mjs","names":["Component","dndManager","DragResult","handleComponentUpdate","registerHotModule","registerComponentInstance","unregisterComponentInstance","DragDropContext","created","onDragEnd","result","props","dispose","destroy","template","__id","id","class","trim","children","__onPropChange","key","value","__el","element_","__boundValue","__newClass","String","className","innerHTML","instantiateChildComponents_","parentComponent","mountCompiledChildComponents_","import","meta","hot","__moduleExports","default","url","accept","newModule","__updatedModule","invalidate","__origCreated","prototype","__geaProps","constructor","name","call","__origDispose"],"sources":["../src/components/drag-drop-context.tsx"],"sourcesContent":["import { Component } from '@geajs/core'\nimport { dndManager } from './dnd-manager'\nimport type { DragResult } from './dnd-manager'\n\nexport default class DragDropContext extends Component {\n created() {\n dndManager.onDragEnd = (result: DragResult) => {\n ;(this.props as any).onDragEnd?.(result)\n }\n }\n\n dispose() {\n dndManager.destroy()\n super.dispose()\n }\n\n template(props: any) {\n return <div class={`gea-dnd-context ${props.class || ''}`}>{props.children}</div>\n }\n}\n"],"mappings":";;;;AAIA,IAAqBO,kBAArB,cAA6CP,UAAU;CACrDQ,UAAU;AACRP,aAAWQ,aAAaC,WAAuB;AAC3C,QAAKC,MAAcF,YAAYC,OAAO;;;CAI5CE,UAAU;AACRX,aAAWY,SAAS;AACpB,QAAMD,SAAS;;CAGjBE,SAASH,OAAY;AACnB,SAAA,YADmB,KAAAK,GACnB,WAAmB,mBAAmBL,MAAMM,SAAS,KAAIC,MAAA,CAAA,IAAGP,MAAMQ,SAAQ;;CAhB9EC,eAAsBC,KAAKC,OAAK;AAAA,MAAAD,QAAA,SAAA;GAAA,MAAAE,OAAA,KAAAC;AAeX,QAAAb;GAAA,MAAAc,eAAA,mBAAAH,SACoC;AAAE,OAAAC,MAAA;IAAA,MAAAG,cAAAD,gBAAA,OAAAE,OAAAF,aAAA,GAAA,IAAAP,MAAA;AAAA,QAAAK,KAAAK,cAAAF,WAAAH,MAAAK,YAAAF;;;AAAA,MAAAL,QAAA,YAAA;GAAA,MAAAE,OAAA,KAAAC;AAAA,OAAAD,QAAAA,KAAAM,cAAAP,OAAA;AAAAC,SAAAM,YAAAP;AAAA,SAAAQ,6BAAA;AAAA,QAAA,KAAAC,gBAAA,MAAAA,gBAAAC,+BAAA"}
@@ -0,0 +1,11 @@
1
+ import { Component } from "@geajs/core";
2
+
3
+ //#region src/components/draggable.d.ts
4
+ declare class Draggable extends Component {
5
+ _didDrag: boolean;
6
+ _onPointerDown(e: PointerEvent): void;
7
+ template(props: any): string;
8
+ }
9
+ //#endregion
10
+ export { Draggable as default };
11
+ //# sourceMappingURL=draggable.d.mts.map
@@ -0,0 +1,62 @@
1
+ import "./_virtual_gea-hmr.mjs";
2
+ import { dndManager } from "./dnd-manager.mjs";
3
+ import { Component } from "@geajs/core";
4
+ //#region src/components/draggable.tsx
5
+ var Draggable = class extends Component {
6
+ constructor(..._args) {
7
+ super(..._args);
8
+ this._didDrag = false;
9
+ }
10
+ _onPointerDown(e) {
11
+ const el = e.currentTarget.closest(".gea-draggable");
12
+ if (!el) return;
13
+ this._didDrag = false;
14
+ dndManager.startTracking(e, this.props.draggableId, el);
15
+ }
16
+ template(props) {
17
+ return `<div id="${this.id}" class="${`gea-draggable ${props.class || ""}`.trim()}"${props.draggableId == null || props.draggableId === false ? "" : ` data-draggable-id="${props.draggableId}"`}${props.index == null || props.index === false ? "" : ` data-index="${props.index}"`}${` pointerdown="${(e) => this._onPointerDown(e)}"`}>${props.children}</div>`;
18
+ }
19
+ get events() {
20
+ if (this.__evts) return this.__evts;
21
+ return this.__evts = { click: { [`#${this.id}`]: this.__event_click_0 } };
22
+ }
23
+ __event_click_0(e, targetComponent) {
24
+ if (dndManager.isDragging) {
25
+ e.preventDefault();
26
+ e.stopPropagation();
27
+ }
28
+ }
29
+ __onPropChange(key, value) {
30
+ if (key === "class") {
31
+ const __el = this.element_;
32
+ this.props;
33
+ const __boundValue = `gea-draggable ${value || ""}`;
34
+ if (__el) {
35
+ const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
36
+ if (__el.className !== __newClass) __el.className = __newClass;
37
+ }
38
+ }
39
+ if (key === "draggableId") {
40
+ const __el = this.element_;
41
+ if (__el) if (value === null || value === void 0) __el.removeAttribute("data-draggable-id");
42
+ else __el.setAttribute("data-draggable-id", String(value));
43
+ }
44
+ if (key === "index") {
45
+ const __el = this.element_;
46
+ if (__el) if (value === null || value === void 0) __el.removeAttribute("data-index");
47
+ else __el.setAttribute("data-index", String(value));
48
+ }
49
+ if (key === "children") {
50
+ const __el = this.element_;
51
+ if (__el && __el.innerHTML !== value) {
52
+ __el.innerHTML = value;
53
+ this.instantiateChildComponents_();
54
+ if (this.parentComponent) this.parentComponent.mountCompiledChildComponents_();
55
+ }
56
+ }
57
+ }
58
+ };
59
+ //#endregion
60
+ export { Draggable as default };
61
+
62
+ //# sourceMappingURL=draggable.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draggable.mjs","names":["Component","dndManager","handleComponentUpdate","registerHotModule","registerComponentInstance","unregisterComponentInstance","Draggable","_didDrag","_onPointerDown","e","PointerEvent","el","currentTarget","HTMLElement","closest","startTracking","props","draggableId","template","__id","id","class","trim","index","children","events","__evts","click","__event_click_0","targetComponent","isDragging","preventDefault","stopPropagation","__onPropChange","key","value","__el","element_","__boundValue","__newClass","String","className","undefined","removeAttribute","setAttribute","innerHTML","instantiateChildComponents_","parentComponent","mountCompiledChildComponents_","import","meta","hot","__moduleExports","default","url","accept","newModule","__updatedModule","invalidate","__origCreated","prototype","created","__geaProps","constructor","name","call","__origDispose","dispose"],"sources":["../src/components/draggable.tsx"],"sourcesContent":["import { Component } from '@geajs/core'\nimport { dndManager } from './dnd-manager'\n\nexport default class Draggable extends Component {\n _didDrag = false\n\n _onPointerDown(e: PointerEvent) {\n const el = (e.currentTarget as HTMLElement).closest('.gea-draggable') as HTMLElement\n if (!el) return\n this._didDrag = false\n dndManager.startTracking(e, this.props.draggableId as string, el)\n }\n\n template(props: any) {\n return (\n <div\n class={`gea-draggable ${props.class || ''}`}\n data-draggable-id={props.draggableId}\n data-index={props.index}\n pointerdown={(e: PointerEvent) => this._onPointerDown(e)}\n click={(e: MouseEvent) => {\n if (dndManager.isDragging) {\n e.preventDefault()\n e.stopPropagation()\n }\n }}\n >\n {props.children}\n </div>\n )\n }\n}\n"],"mappings":";;;;AAGA,IAAqBM,YAArB,cAAuCN,UAAU;;;kBACpC;;CAEXQ,eAAeC,GAAiB;EAC9B,MAAME,KAAMF,EAAEG,cAA8BE,QAAQ,iBAAiB;AACrE,MAAI,CAACH,GAAI;AACT,OAAKJ,WAAW;AAChBN,aAAWc,cAAcN,GAAG,KAAKO,MAAMC,aAAuBN,GAAG;;CAGnEO,SAASF,OAAY;AACnB,SAAA,YADmB,KAAAI,GACnB,WAEW,iBAAiBJ,MAAMK,SAAS,KAAIC,MAAA,CAAA,GACxBN,MAAMC,eAAW,QAAjBD,MAAMC,gBAAW,QAAA,KAAA,uBAAjBD,MAAMC,YAAW,KACxBD,MAAMO,SAAK,QAAXP,MAAMO,UAAK,QAAA,KAAA,gBAAXP,MAAMO,MAAK,KACiC,kBAA1Cd,MAAoB,KAAKD,eAAeC,EAAE,CAAA,GAAA,GAQvDO,MAAMQ,SAAQ;;CAGpB,IAAAC,SAAA;AAAA,MAAA,KAAAC,OAAA,QAAA,KAAAA;AAAA,SAAA,KAAAA,SAAA,EAAAC,OAAA,GAAA,IAAA,KAAAP,OAAA,KAAAQ,iBAAA,EAAA;;CA7BHA,gBAAsBnB,GAAGoB,iBAAiB;AAAA,MAoB5B5B,WAAW6B,YAAU;AACvBrB,KAAEsB,gBAAc;AAChBtB,KAAEuB,iBAAe;;;CAtB7BC,eAAsBC,KAAKC,OAAK;AAAA,MAAAD,QAAA,SAAA;GAAA,MAAAE,OAAA,KAAAC;AAYX,QAAArB;GAAA,MAAAsB,eAAA,iBAAAH,SAG0B;AAAE,OAAAC,MAAA;IAAA,MAAAG,cAAAD,gBAAA,OAAAE,OAAAF,aAAA,GAAA,IAAAhB,MAAA;AAAA,QAAAc,KAAAK,cAAAF,WAAAH,MAAAK,YAAAF;;;AAAA,MAAAL,QAAA,eAAA;GAAA,MAAAE,OAAA,KAAAC;AAAA,OAAAD,KAAA,KAAAD,UAAA,QAAAA,UAAAO,KAAAA,EAAAN,MAAAO,gBAAA,oBAAA;OAAAP,MAAAQ,aAAA,qBAAAJ,OAAAL,MAAA,CAAA;;AAAA,MAAAD,QAAA,SAAA;GAAA,MAAAE,OAAA,KAAAC;AAAA,OAAAD,KAAA,KAAAD,UAAA,QAAAA,UAAAO,KAAAA,EAAAN,MAAAO,gBAAA,aAAA;OAAAP,MAAAQ,aAAA,cAAAJ,OAAAL,MAAA,CAAA;;AAAA,MAAAD,QAAA,YAAA;GAAA,MAAAE,OAAA,KAAAC;AAAA,OAAAD,QAAAA,KAAAS,cAAAV,OAAA;AAAAC,SAAAS,YAAAV;AAAA,SAAAW,6BAAA;AAAA,QAAA,KAAAC,gBAAA,MAAAA,gBAAAC,+BAAA"}
@@ -0,0 +1,14 @@
1
+ import { Component } from "@geajs/core";
2
+
3
+ //#region src/components/droppable.d.ts
4
+ declare class Droppable extends Component {
5
+ private _registered;
6
+ _registerWithManager(): void;
7
+ created(): void;
8
+ onAfterRender(): void;
9
+ dispose(): void;
10
+ template(props: any): string;
11
+ }
12
+ //#endregion
13
+ export { Droppable as default };
14
+ //# sourceMappingURL=droppable.d.mts.map
@@ -0,0 +1,61 @@
1
+ import "./_virtual_gea-hmr.mjs";
2
+ import { dndManager } from "./dnd-manager.mjs";
3
+ import { Component } from "@geajs/core";
4
+ //#region src/components/droppable.tsx
5
+ var Droppable = class extends Component {
6
+ constructor(..._args) {
7
+ super(..._args);
8
+ this._registered = false;
9
+ }
10
+ _registerWithManager() {
11
+ const el = this.el?.querySelector("[data-droppable-id]");
12
+ if (el && !this._registered) {
13
+ dndManager.registerDroppable(this.props.droppableId, el);
14
+ this._registered = true;
15
+ }
16
+ }
17
+ created() {
18
+ queueMicrotask(() => this._registerWithManager());
19
+ }
20
+ onAfterRender() {
21
+ this._registerWithManager();
22
+ }
23
+ dispose() {
24
+ if (this._registered) {
25
+ dndManager.unregisterDroppable(this.props.droppableId);
26
+ this._registered = false;
27
+ }
28
+ super.dispose();
29
+ }
30
+ template(props) {
31
+ return `<div id="${this.id}" class="${`gea-droppable ${props.class || ""}`.trim()}"${props.droppableId == null || props.droppableId === false ? "" : ` data-droppable-id="${props.droppableId}"`}>${props.children}</div>`;
32
+ }
33
+ __onPropChange(key, value) {
34
+ if (key === "class") {
35
+ const __el = this.element_;
36
+ this.props;
37
+ const __boundValue = `gea-droppable ${value || ""}`;
38
+ if (__el) {
39
+ const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
40
+ if (__el.className !== __newClass) __el.className = __newClass;
41
+ }
42
+ }
43
+ if (key === "droppableId") {
44
+ const __el = this.element_;
45
+ if (__el) if (value === null || value === void 0) __el.removeAttribute("data-droppable-id");
46
+ else __el.setAttribute("data-droppable-id", String(value));
47
+ }
48
+ if (key === "children") {
49
+ const __el = this.element_;
50
+ if (__el && __el.innerHTML !== value) {
51
+ __el.innerHTML = value;
52
+ this.instantiateChildComponents_();
53
+ if (this.parentComponent) this.parentComponent.mountCompiledChildComponents_();
54
+ }
55
+ }
56
+ }
57
+ };
58
+ //#endregion
59
+ export { Droppable as default };
60
+
61
+ //# sourceMappingURL=droppable.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"droppable.mjs","names":["Component","dndManager","handleComponentUpdate","registerHotModule","registerComponentInstance","unregisterComponentInstance","Droppable","_registered","_registerWithManager","el","querySelector","HTMLElement","registerDroppable","props","droppableId","created","queueMicrotask","onAfterRender","dispose","unregisterDroppable","template","__id","id","class","trim","children","__onPropChange","key","value","__el","element_","__boundValue","__newClass","String","className","undefined","removeAttribute","setAttribute","innerHTML","instantiateChildComponents_","parentComponent","mountCompiledChildComponents_","import","meta","hot","__moduleExports","default","url","accept","newModule","__updatedModule","invalidate","__origCreated","prototype","__geaProps","constructor","name","call","__origDispose"],"sources":["../src/components/droppable.tsx"],"sourcesContent":["import { Component } from '@geajs/core'\nimport { dndManager } from './dnd-manager'\n\nexport default class Droppable extends Component {\n private _registered = false\n\n _registerWithManager() {\n const el = this.el?.querySelector('[data-droppable-id]') as HTMLElement\n if (el && !this._registered) {\n dndManager.registerDroppable(this.props.droppableId as string, el)\n this._registered = true\n }\n }\n\n created() {\n queueMicrotask(() => this._registerWithManager())\n }\n\n onAfterRender() {\n this._registerWithManager()\n }\n\n dispose() {\n if (this._registered) {\n dndManager.unregisterDroppable(this.props.droppableId as string)\n this._registered = false\n }\n super.dispose()\n }\n\n template(props: any) {\n return (\n <div class={`gea-droppable ${props.class || ''}`} data-droppable-id={props.droppableId}>\n {props.children}\n </div>\n )\n }\n}\n"],"mappings":";;;;AAGA,IAAqBM,YAArB,cAAuCN,UAAU;;;qBACzB;;CAEtBQ,uBAAuB;EACrB,MAAMC,KAAK,KAAKA,IAAIC,cAAc,sBAAsB;AACxD,MAAID,MAAM,CAAC,KAAKF,aAAa;AAC3BN,cAAWW,kBAAkB,KAAKC,MAAMC,aAAuBL,GAAG;AAClE,QAAKF,cAAc;;;CAIvBQ,UAAU;AACRC,uBAAqB,KAAKR,sBAAsB,CAAC;;CAGnDS,gBAAgB;AACd,OAAKT,sBAAsB;;CAG7BU,UAAU;AACR,MAAI,KAAKX,aAAa;AACpBN,cAAWkB,oBAAoB,KAAKN,MAAMC,YAAsB;AAChE,QAAKP,cAAc;;AAErB,QAAMW,SAAS;;CAGjBE,SAASP,OAAY;AACnB,SAAA,YADmB,KAAAS,GACnB,WACc,iBAAiBT,MAAMU,SAAS,KAAIC,MAAA,CAAA,GAAqBX,MAAMC,eAAW,QAAjBD,MAAMC,gBAAW,QAAA,KAAA,uBAAjBD,MAAMC,YAAW,GAAA,GACnFD,MAAMY,SAAQ;;CAhCvBC,eAAsBC,KAAKC,OAAK;AAAA,MAAAD,QAAA,SAAA;GAAA,MAAAE,OAAA,KAAAC;AA6BX,QAAAjB;GAAA,MAAAkB,eAAA,iBAAAH,SAE6B;AAAE,OAAAC,MAAA;IAAA,MAAAG,cAAAD,gBAAA,OAAAE,OAAAF,aAAA,GAAA,IAAAP,MAAA;AAAA,QAAAK,KAAAK,cAAAF,WAAAH,MAAAK,YAAAF;;;AAAA,MAAAL,QAAA,eAAA;GAAA,MAAAE,OAAA,KAAAC;AAAA,OAAAD,KAAA,KAAAD,UAAA,QAAAA,UAAAO,KAAAA,EAAAN,MAAAO,gBAAA,oBAAA;OAAAP,MAAAQ,aAAA,qBAAAJ,OAAAL,MAAA,CAAA;;AAAA,MAAAD,QAAA,YAAA;GAAA,MAAAE,OAAA,KAAAC;AAAA,OAAAD,QAAAA,KAAAS,cAAAV,OAAA;AAAAC,SAAAS,YAAAV;AAAA,SAAAW,6BAAA;AAAA,QAAA,KAAAC,gBAAA,MAAAA,gBAAAC,+BAAA"}
@@ -0,0 +1,38 @@
1
+ import { n as ZagComponent } from "./zag-component.mjs";
2
+ import * as fileUpload from "@zag-js/file-upload";
3
+ import * as _zag_js_types0 from "@zag-js/types";
4
+
5
+ //#region src/components/file-upload.d.ts
6
+ declare class FileUpload extends ZagComponent {
7
+ acceptedFiles: File[];
8
+ rejectedFiles: any[];
9
+ createMachine(_props: any): any;
10
+ getMachineProps(props: any): {
11
+ id: string;
12
+ accept: any;
13
+ maxFiles: any;
14
+ maxFileSize: any;
15
+ minFileSize: any;
16
+ multiple: any;
17
+ disabled: any;
18
+ allowDrop: any;
19
+ name: any;
20
+ onFileChange: (details: fileUpload.FileChangeDetails) => void;
21
+ };
22
+ connectApi(service: any): fileUpload.Api<_zag_js_types0.PropTypes<{
23
+ [x: string]: any;
24
+ }>>;
25
+ getSpreadMap(): {
26
+ '[data-part="root"]': string;
27
+ '[data-part="label"]': string;
28
+ '[data-part="dropzone"]': string;
29
+ '[data-part="trigger"]': string;
30
+ '[data-part="hidden-input"]': string;
31
+ '[data-part="clear-trigger"]': string;
32
+ };
33
+ syncState(api: any): void;
34
+ template(props: any): string;
35
+ }
36
+ //#endregion
37
+ export { FileUpload as default };
38
+ //# sourceMappingURL=file-upload.d.mts.map
@@ -0,0 +1,157 @@
1
+ import { t as ZagComponent } from "./zag-component.mjs";
2
+ import "./_virtual_gea-hmr.mjs";
3
+ import { Component } from "@geajs/core";
4
+ import { normalizeProps } from "@zag-js/vanilla";
5
+ import * as fileUpload from "@zag-js/file-upload";
6
+ //#region src/components/file-upload.tsx
7
+ var FileUpload = class extends ZagComponent {
8
+ constructor(...args) {
9
+ super(...args);
10
+ this.props;
11
+ this.__geaCond_0 = !!this.props.label;
12
+ this.__geaCond_1 = !!(this.acceptedFiles.length > 0);
13
+ this.__geaRegisterCond(0, "c0", () => {
14
+ this.props;
15
+ return this.props.label;
16
+ }, () => {
17
+ this.props;
18
+ return `<label data-part="label" class="file-upload-label text-sm font-medium mb-2 block">${this.props.label}</label>`;
19
+ }, null);
20
+ this.__geaRegisterCond(1, "c1", () => {
21
+ this.props;
22
+ return this.acceptedFiles.length > 0;
23
+ }, () => {
24
+ this.props;
25
+ return `<div class="file-upload-file-list mt-3 space-y-1">${this.acceptedFiles.map((file) => this.renderAcceptedFilesItem(file)).join("")}<button data-part="clear-trigger" class="file-upload-clear text-xs text-muted-foreground hover:text-foreground mt-1">Clear all</button></div>`;
26
+ }, null);
27
+ }
28
+ createMachine(_props) {
29
+ return fileUpload.machine;
30
+ }
31
+ getMachineProps(props) {
32
+ return {
33
+ id: this.id,
34
+ accept: props.accept,
35
+ maxFiles: props.maxFiles,
36
+ maxFileSize: props.maxFileSize,
37
+ minFileSize: props.minFileSize,
38
+ multiple: props.multiple ?? false,
39
+ disabled: props.disabled,
40
+ allowDrop: props.allowDrop ?? true,
41
+ name: props.name,
42
+ onFileChange: (details) => {
43
+ this.acceptedFiles = details.acceptedFiles;
44
+ this.rejectedFiles = details.rejectedFiles;
45
+ props.onFileChange?.(details);
46
+ }
47
+ };
48
+ }
49
+ connectApi(service) {
50
+ return fileUpload.connect(service, normalizeProps);
51
+ }
52
+ getSpreadMap() {
53
+ return {
54
+ "[data-part=\"root\"]": "getRootProps",
55
+ "[data-part=\"label\"]": "getLabelProps",
56
+ "[data-part=\"dropzone\"]": "getDropzoneProps",
57
+ "[data-part=\"trigger\"]": "getTriggerProps",
58
+ "[data-part=\"hidden-input\"]": "getHiddenInputProps",
59
+ "[data-part=\"clear-trigger\"]": "getClearTriggerProps"
60
+ };
61
+ }
62
+ syncState(api) {
63
+ this.acceptedFiles = api.acceptedFiles;
64
+ this.rejectedFiles = api.rejectedFiles;
65
+ }
66
+ template(props) {
67
+ const __id = this.id;
68
+ Component._register(ZagComponent);
69
+ 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="file-upload-label text-sm font-medium mb-2 block">${props.label}</label>` || ""}<!--${__id + "-c0-end"}--><div data-part="dropzone" class="file-upload-dropzone flex flex-col items-center justify-center rounded-lg border-2 border-dashed border-muted-foreground/25 p-8 text-center hover:border-muted-foreground/50 transition-colors"><p class="text-sm text-muted-foreground mb-2">Drag and drop files here</p><button data-part="trigger" class="file-upload-trigger inline-flex h-9 items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow hover:bg-primary/90">Choose Files</button></div><input data-part="hidden-input" type="file" class="sr-only" /><!--${__id + "-c1"}-->${this.acceptedFiles.length > 0 && `<div class="file-upload-file-list mt-3 space-y-1">${this.acceptedFiles.map((file) => this.renderAcceptedFilesItem(file)).join("")}<button data-part="clear-trigger" class="file-upload-clear text-xs text-muted-foreground hover:text-foreground mt-1">Clear all</button></div>` || ""}<!--${__id + "-c1-end"}--></div>`;
70
+ }
71
+ __onPropChange(key, value) {
72
+ if (key === "class") {
73
+ const __el = this.element_;
74
+ this.props;
75
+ const __boundValue = value || "";
76
+ if (__el) {
77
+ const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
78
+ if (__el.className !== __newClass) __el.className = __newClass;
79
+ }
80
+ }
81
+ if (key === "label") this.__geaPatchCond(0);
82
+ this.__geaPatchCond(1);
83
+ }
84
+ __observe_local_acceptedFiles(value, change) {
85
+ if (this.rendered_) this.__geaCondPatched_1 = this.__geaPatchCond(1);
86
+ if (!this.__acceptedFiles_container) this.__acceptedFiles_container = this.$(":scope");
87
+ if (!this.__acceptedFiles_container) return;
88
+ if (Array.isArray(value) && value.length === 0 && this.__acceptedFiles_container.children.length > 0) {
89
+ this.__acceptedFiles_container.textContent = "";
90
+ return;
91
+ }
92
+ this.__ensureArrayConfigs();
93
+ this.__applyListChanges(this.__acceptedFiles_container, value, change, this.__acceptedFilesListConfig);
94
+ }
95
+ __observe_local_acceptedFiles__join(value, change) {
96
+ if (this.rendered_) {
97
+ this.__geaCondPatched_1 = this.__geaPatchCond(1);
98
+ if (this.__geaCondPatched_1) return;
99
+ }
100
+ }
101
+ renderAcceptedFilesItem(file) {
102
+ return `<div data-gea-item-id="${file?.name ?? file}" class="flex items-center justify-between rounded-md border px-3 py-2 text-sm"><span>${file.name}</span></div>`;
103
+ }
104
+ createAcceptedFilesItem(item) {
105
+ var __c = this.__acceptedFiles_container;
106
+ if (!__c.__geaTpl) try {
107
+ var __tw = document.createElement("template");
108
+ __tw.innerHTML = this.renderAcceptedFilesItem({ name: 0 });
109
+ __c.__geaTpl = __tw.content.firstElementChild;
110
+ } catch (__err) {
111
+ console.error(__err);
112
+ }
113
+ if (__c.__geaTpl) var el = __c.__geaTpl.cloneNode(true);
114
+ else {
115
+ var __fw = document.createElement("template");
116
+ __fw.innerHTML = this.renderAcceptedFilesItem(item);
117
+ var el = __fw.content.firstElementChild;
118
+ }
119
+ el.__ref_0 = el.firstElementChild;
120
+ el.__ref_0.textContent = `${item.name}`;
121
+ el.setAttribute("data-gea-item-id", item?.name ?? item);
122
+ el.__geaItem = item;
123
+ return el;
124
+ }
125
+ patchAcceptedFilesItem(row, item, __prevItem) {
126
+ if (!row) return;
127
+ if (!row.__ref_0) row.__ref_0 = row.firstElementChild;
128
+ row.__ref_0.textContent = `${item.name}`;
129
+ row.setAttribute("data-gea-item-id", item?.name ?? item);
130
+ row.__geaItem = item;
131
+ }
132
+ __ensureArrayConfigs() {
133
+ if (!this.__acceptedFilesListConfig) this.__acceptedFilesListConfig = {
134
+ arrayPathParts: ["acceptedFiles"],
135
+ render: this.renderAcceptedFilesItem.bind(this),
136
+ create: this.createAcceptedFilesItem.bind(this),
137
+ patchRow: this.patchAcceptedFilesItem && this.patchAcceptedFilesItem.bind(this),
138
+ getKey: (item) => String(item?.name ?? item),
139
+ propPatchers: { "name": [(row, value, item) => {
140
+ const __target = row.__ref_0;
141
+ if (!__target) return;
142
+ __target.firstChild && (__target.firstChild.nodeValue = `${item.name}`) || (__target.textContent = `${item.name}`);
143
+ }, (row, value) => row.classList.toggle("name", value)] }
144
+ };
145
+ }
146
+ __setupLocalStateObservers() {
147
+ this.__ensureArrayConfigs();
148
+ if (!this.__store) return;
149
+ this.__observe(this, ["acceptedFiles"], this.__observe_local_acceptedFiles);
150
+ this.__observe(this, ["acceptedFiles", "join"], this.__observe_local_acceptedFiles__join);
151
+ this.__observe(this, ["acceptedFiles", "map"], this.__observe_local_acceptedFiles__join);
152
+ }
153
+ };
154
+ //#endregion
155
+ export { FileUpload as default };
156
+
157
+ //# sourceMappingURL=file-upload.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-upload.mjs","names":["fileUpload","normalizeProps","ZagComponent","handleComponentUpdate","registerHotModule","registerComponentInstance","unregisterComponentInstance","FileUpload","constructor","args","props","__geaCond_0","label","__geaCond_1","acceptedFiles","length","__geaRegisterCond","map","file","File","renderAcceptedFilesItem","join","rejectedFiles","createMachine","_props","machine","getMachineProps","id","accept","maxFiles","maxFileSize","minFileSize","multiple","disabled","allowDrop","name","onFileChange","details","FileChangeDetails","connectApi","service","connect","getSpreadMap","syncState","api","template","__id","Component","_register","class","String","trim","__onPropChange","key","value","__el","element_","__boundValue","__newClass","className","__geaPatchCond","__observe_local_acceptedFiles","change","rendered_","__geaCondPatched_1","__acceptedFiles_container","$","Array","isArray","children","textContent","__ensureArrayConfigs","__applyListChanges","__acceptedFilesListConfig","__observe_local_acceptedFiles__join","createAcceptedFilesItem","item","__c","__geaTpl","__tw","document","createElement","innerHTML","content","firstElementChild","__err","console","error","el","cloneNode","__fw","__ref_0","setAttribute","__geaItem","patchAcceptedFilesItem","row","__prevItem","arrayPathParts","render","bind","create","patchRow","getKey","propPatchers","__target","firstChild","nodeValue","classList","toggle","__setupLocalStateObservers","__store","__observe","import","meta","hot","__moduleExports","default","url","newModule","__updatedModule","invalidate","__origCreated","prototype","created","__geaProps","call","__origDispose","dispose"],"sources":["../src/components/file-upload.tsx"],"sourcesContent":["import * as fileUpload from '@zag-js/file-upload'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class FileUpload extends ZagComponent {\n declare acceptedFiles: File[]\n declare rejectedFiles: any[]\n\n createMachine(_props: any): any {\n return fileUpload.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n accept: props.accept,\n maxFiles: props.maxFiles,\n maxFileSize: props.maxFileSize,\n minFileSize: props.minFileSize,\n multiple: props.multiple ?? false,\n disabled: props.disabled,\n allowDrop: props.allowDrop ?? true,\n name: props.name,\n onFileChange: (details: fileUpload.FileChangeDetails) => {\n this.acceptedFiles = details.acceptedFiles\n this.rejectedFiles = details.rejectedFiles\n props.onFileChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return fileUpload.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"root\"]': 'getRootProps',\n '[data-part=\"label\"]': 'getLabelProps',\n '[data-part=\"dropzone\"]': 'getDropzoneProps',\n '[data-part=\"trigger\"]': 'getTriggerProps',\n '[data-part=\"hidden-input\"]': 'getHiddenInputProps',\n '[data-part=\"clear-trigger\"]': 'getClearTriggerProps',\n }\n }\n\n syncState(api: any) {\n this.acceptedFiles = api.acceptedFiles\n this.rejectedFiles = api.rejectedFiles\n }\n\n template(props: any) {\n return (\n <div data-part=\"root\" class={props.class || ''}>\n {props.label && (\n <label data-part=\"label\" class=\"file-upload-label text-sm font-medium mb-2 block\">\n {props.label}\n </label>\n )}\n <div\n data-part=\"dropzone\"\n class=\"file-upload-dropzone flex flex-col items-center justify-center rounded-lg border-2 border-dashed border-muted-foreground/25 p-8 text-center hover:border-muted-foreground/50 transition-colors\"\n >\n <p class=\"text-sm text-muted-foreground mb-2\">Drag and drop files here</p>\n <button\n data-part=\"trigger\"\n class=\"file-upload-trigger inline-flex h-9 items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow hover:bg-primary/90\"\n >\n Choose Files\n </button>\n </div>\n <input data-part=\"hidden-input\" type=\"file\" class=\"sr-only\" />\n {this.acceptedFiles.length > 0 && (\n <div class=\"file-upload-file-list mt-3 space-y-1\">\n {this.acceptedFiles.map((file: File) => (\n <div key={file.name} class=\"flex items-center justify-between rounded-md border px-3 py-2 text-sm\">\n <span>{file.name}</span>\n </div>\n ))}\n <button\n data-part=\"clear-trigger\"\n class=\"file-upload-clear text-xs text-muted-foreground hover:text-foreground mt-1\"\n >\n Clear all\n </button>\n </div>\n )}\n </div>\n )\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { n as ZagComponent } from "./zag-component.mjs";
2
+ import * as hoverCard from "@zag-js/hover-card";
3
+ import * as _zag_js_types0 from "@zag-js/types";
4
+
5
+ //#region src/components/hover-card.d.ts
6
+ declare class HoverCard extends ZagComponent {
7
+ open: boolean;
8
+ createMachine(_props: any): any;
9
+ getMachineProps(props: any): {
10
+ id: string;
11
+ open: any;
12
+ defaultOpen: any;
13
+ openDelay: any;
14
+ closeDelay: any;
15
+ positioning: any;
16
+ onOpenChange: (details: hoverCard.OpenChangeDetails) => void;
17
+ };
18
+ connectApi(service: any): hoverCard.Api<_zag_js_types0.PropTypes<{
19
+ [x: string]: any;
20
+ }>>;
21
+ getSpreadMap(): {
22
+ '[data-part="trigger"]': string;
23
+ '[data-part="positioner"]': string;
24
+ '[data-part="content"]': string;
25
+ '[data-part="arrow"]': string;
26
+ '[data-part="arrow-tip"]': string;
27
+ };
28
+ syncState(api: any): void;
29
+ template(props: any): string;
30
+ }
31
+ //#endregion
32
+ export { HoverCard as default };
33
+ //# sourceMappingURL=hover-card.d.mts.map
@@ -0,0 +1,87 @@
1
+ import { t as ZagComponent } from "./zag-component.mjs";
2
+ import "./_virtual_gea-hmr.mjs";
3
+ import { Component } from "@geajs/core";
4
+ import { normalizeProps } from "@zag-js/vanilla";
5
+ import * as hoverCard from "@zag-js/hover-card";
6
+ //#region src/components/hover-card.tsx
7
+ var HoverCard = class extends ZagComponent {
8
+ createMachine(_props) {
9
+ return hoverCard.machine;
10
+ }
11
+ getMachineProps(props) {
12
+ return {
13
+ id: this.id,
14
+ open: props.open,
15
+ defaultOpen: props.defaultOpen,
16
+ openDelay: props.openDelay,
17
+ closeDelay: props.closeDelay,
18
+ positioning: props.positioning,
19
+ onOpenChange: (details) => {
20
+ this.open = details.open;
21
+ props.onOpenChange?.(details);
22
+ }
23
+ };
24
+ }
25
+ connectApi(service) {
26
+ return hoverCard.connect(service, normalizeProps);
27
+ }
28
+ getSpreadMap() {
29
+ return {
30
+ "[data-part=\"trigger\"]": "getTriggerProps",
31
+ "[data-part=\"positioner\"]": "getPositionerProps",
32
+ "[data-part=\"content\"]": "getContentProps",
33
+ "[data-part=\"arrow\"]": "getArrowProps",
34
+ "[data-part=\"arrow-tip\"]": "getArrowTipProps"
35
+ };
36
+ }
37
+ syncState(api) {
38
+ this.open = api.open;
39
+ }
40
+ template(props) {
41
+ const __id = this.id;
42
+ Component._register(ZagComponent);
43
+ return `<div id="${__id}"${(props.class || "") == null || (props.class || "") === false ? "" : ` class="${((props.class || "") != null ? String(props.class || "") : "").trim()}"`} style="display: inline-block"><a id="${__id + "-b1"}" data-part="trigger"${(props.href || "#") == null || (props.href || "#") === false ? "" : ` href="${props.href || "#"}"`} class="hover-card-trigger inline-block">${props.triggerLabel || "Hover me"}</a><div data-part="positioner" class="hover-card-positioner"><div id="${__id + "-b2"}" data-part="content" class="hover-card-content z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none">${props.children}</div></div></div>`;
44
+ }
45
+ __onPropChange(key, value) {
46
+ const __id = this.id;
47
+ if (key === "class") {
48
+ const __el = this.element_;
49
+ this.props;
50
+ const __boundValue = value || "";
51
+ if (__el) {
52
+ const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
53
+ if (__el.className !== __newClass) __el.className = __newClass;
54
+ }
55
+ }
56
+ if (key === "href") {
57
+ const __el = this.__e0 || (this.__e0 = document.getElementById(__id + "-b1"));
58
+ this.props;
59
+ const __boundValue = value || "#";
60
+ if (__el) if (__boundValue === null || __boundValue === void 0) __el.removeAttribute("href");
61
+ else __el.setAttribute("href", String(__boundValue));
62
+ }
63
+ if (key === "triggerLabel") {
64
+ const __el = this.__e1 || (this.__e1 = document.getElementById(__id + "-b1"));
65
+ this.props;
66
+ const __boundValue = value || "Hover me";
67
+ if (__el && __el.textContent !== __boundValue) __el.textContent = __boundValue;
68
+ }
69
+ if (key === "children") {
70
+ const __el = this.__e2 || (this.__e2 = document.getElementById(__id + "-b2"));
71
+ if (__el && __el.innerHTML !== value) {
72
+ __el.innerHTML = value;
73
+ this.instantiateChildComponents_();
74
+ if (this.parentComponent) this.parentComponent.mountCompiledChildComponents_();
75
+ }
76
+ }
77
+ }
78
+ __resetEls() {
79
+ this.__e0 = null;
80
+ this.__e1 = null;
81
+ this.__e2 = null;
82
+ }
83
+ };
84
+ //#endregion
85
+ export { HoverCard as default };
86
+
87
+ //# sourceMappingURL=hover-card.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hover-card.mjs","names":["hoverCard","normalizeProps","ZagComponent","handleComponentUpdate","registerHotModule","registerComponentInstance","unregisterComponentInstance","HoverCard","open","createMachine","_props","machine","getMachineProps","props","id","defaultOpen","openDelay","closeDelay","positioning","onOpenChange","details","OpenChangeDetails","connectApi","service","connect","getSpreadMap","syncState","api","template","__id","Component","_register","class","String","trim","href","triggerLabel","children","__onPropChange","key","value","__el","element_","__boundValue","__newClass","className","__e0","document","getElementById","undefined","removeAttribute","setAttribute","__e1","textContent","__e2","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/hover-card.tsx"],"sourcesContent":["import * as hoverCard from '@zag-js/hover-card'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class HoverCard extends ZagComponent {\n declare open: boolean\n\n createMachine(_props: any): any {\n return hoverCard.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n open: props.open,\n defaultOpen: props.defaultOpen,\n openDelay: props.openDelay,\n closeDelay: props.closeDelay,\n positioning: props.positioning,\n onOpenChange: (details: hoverCard.OpenChangeDetails) => {\n this.open = details.open\n props.onOpenChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return hoverCard.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"trigger\"]': 'getTriggerProps',\n '[data-part=\"positioner\"]': 'getPositionerProps',\n '[data-part=\"content\"]': 'getContentProps',\n '[data-part=\"arrow\"]': 'getArrowProps',\n '[data-part=\"arrow-tip\"]': 'getArrowTipProps',\n }\n }\n\n syncState(api: any) {\n this.open = api.open\n }\n\n template(props: any) {\n return (\n <div class={props.class || ''} style={{ display: 'inline-block' }}>\n <a data-part=\"trigger\" href={props.href || '#'} class=\"hover-card-trigger inline-block\">\n {props.triggerLabel || 'Hover me'}\n </a>\n <div data-part=\"positioner\" class=\"hover-card-positioner\">\n <div\n data-part=\"content\"\n class=\"hover-card-content z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none\"\n >\n {props.children}\n </div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":";;;;;;AAIA,IAAqBO,YAArB,cAAuCL,aAAa;CAGlDO,cAAcC,QAAkB;AAC9B,SAAOV,UAAUW;;CAGnBC,gBAAgBC,OAAY;AAC1B,SAAO;GACLC,IAAI,KAAKA;GACTN,MAAMK,MAAML;GACZO,aAAaF,MAAME;GACnBC,WAAWH,MAAMG;GACjBC,YAAYJ,MAAMI;GAClBC,aAAaL,MAAMK;GACnBC,eAAeC,YAAyC;AACtD,SAAKZ,OAAOY,QAAQZ;AACpBK,UAAMM,eAAeC,QAAQ;;GAEhC;;CAGHE,WAAWC,SAAc;AACvB,SAAOvB,UAAUwB,QAAQD,SAAStB,eAAe;;CAGnDwB,eAAe;AACb,SAAO;GACL,2BAAyB;GACzB,8BAA4B;GAC5B,2BAAyB;GACzB,yBAAuB;GACvB,6BAA2B;GAC5B;;CAGHC,UAAUC,KAAU;AAClB,OAAKnB,OAAOmB,IAAInB;;CAGlBoB,SAASf,OAAY;EAAA,MAAAgB,OAAA,KAAAf;AAAAgB,YAAAC,UAAA7B,aAAA;AACnB,SAAA,YAAA2B,KAAA,IACchB,MAAMmB,SAAS,OAAE,SAAjBnB,MAAMmB,SAAS,QAAE,QAAA,KAAA,aAAjBnB,MAAMmB,SAAS,OAAE,OAAAC,OAAjBpB,MAAMmB,SAAS,GAAE,GAAA,IAAAE,MAAA,CAAA,GAAA,wCAAAL,OAAA,MAAA,wBACEhB,MAAMsB,QAAQ,QAAG,SAAjBtB,MAAMsB,QAAQ,SAAG,QAAA,KAAA,UAAjBtB,MAAMsB,QAAQ,IAAG,GAAA,2CAC3CtB,MAAMuB,gBAAgB,WAAU,yEAAAP,OAAA,MAAA,6IAO9BhB,MAAMwB,SAAQ;;CAtD3BC,eAAsBC,KAAKC,OAAK;EAAA,MAAAX,OAAA,KAAAf;AAAA,MAAAyB,QAAA,SAAA;GAAA,MAAAE,OAAA,KAAAC;AA2CX,QAAA7B;GAAA,MAAA8B,eAAAH,SAEY;AAAE,OAAAC,MAAA;IAAA,MAAAG,cAAAD,gBAAA,OAAAV,OAAAU,aAAA,GAAA,IAAAT,MAAA;AAAA,QAAAO,KAAAI,cAAAD,WAAAH,MAAAI,YAAAD;;;AAAA,MAAAL,QAAA,QAAA;GAAA,MAAAE,OAAA,KAAAK,SAAA,KAAAA,OAAAC,SAAAC,eAAAnB,OAAA,MAAA;AAFd,QAAAhB;GAAA,MAAA8B,eAAAH,SAG8B;AAAG,OAAAC,KAAA,KAAAE,iBAAA,QAAAA,iBAAAM,KAAAA,EAAAR,MAAAS,gBAAA,OAAA;OAAAT,MAAAU,aAAA,QAAAlB,OAAAU,aAAA,CAAA;;AAAA,MAAAJ,QAAA,gBAAA;GAAA,MAAAE,OAAA,KAAAW,SAAA,KAAAA,OAAAL,SAAAC,eAAAnB,OAAA,MAAA;AAHjC,QAAAhB;GAAA,MAAA8B,eAAAH,SAIY;AAAU,OAAAC,QAAAA,KAAAY,gBAAAV,aAAAF,MAAAY,cAAAV;;AAAA,MAAAJ,QAAA,YAAA;GAAA,MAAAE,OAAA,KAAAa,SAAA,KAAAA,OAAAP,SAAAC,eAAAnB,OAAA,MAAA;AAAA,OAAAY,QAAAA,KAAAc,cAAAf,OAAA;AAAAC,SAAAc,YAAAf;AAAA,SAAAgB,6BAAA;AAAA,QAAA,KAAAC,gBAAA,MAAAA,gBAAAC,+BAAA;;;;CA/CPC,aAAA;AAAA,OAAAb,OAAA;AAAA,OAAAM,OAAA;AAAA,OAAAE,OAAA"}