@geajs/ui 0.1.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/README.md +14 -19
  2. package/dist/accordion.d.mts +34 -0
  3. package/dist/accordion.mjs +167 -0
  4. package/dist/accordion.mjs.map +1 -0
  5. package/dist/alert.d.mts +15 -0
  6. package/dist/alert.mjs +101 -0
  7. package/dist/alert.mjs.map +1 -0
  8. package/dist/avatar.d.mts +26 -0
  9. package/dist/avatar.mjs +97 -0
  10. package/dist/avatar.mjs.map +1 -0
  11. package/dist/badge.d.mts +9 -0
  12. package/dist/badge.mjs +49 -0
  13. package/dist/badge.mjs.map +1 -0
  14. package/dist/button.d.mts +21 -0
  15. package/dist/button.mjs +96 -0
  16. package/dist/button.mjs.map +1 -0
  17. package/dist/card.d.mts +24 -0
  18. package/dist/card.mjs +169 -0
  19. package/dist/card.mjs.map +1 -0
  20. package/dist/checkbox.d.mts +37 -0
  21. package/dist/checkbox.mjs +80 -0
  22. package/dist/checkbox.mjs.map +1 -0
  23. package/dist/clipboard.d.mts +33 -0
  24. package/dist/clipboard.mjs +100 -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 +77 -0
  30. package/dist/collapsible.mjs.map +1 -0
  31. package/dist/combobox.d.mts +67 -0
  32. package/dist/combobox.mjs +375 -0
  33. package/dist/combobox.mjs.map +1 -0
  34. package/dist/dialog.d.mts +57 -0
  35. package/dist/dialog.mjs +139 -0
  36. package/dist/dialog.mjs.map +1 -0
  37. package/dist/dnd-manager.d.mts +67 -0
  38. package/dist/dnd-manager.mjs +387 -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 +43 -0
  42. package/dist/drag-drop-context.mjs.map +1 -0
  43. package/dist/draggable.d.mts +11 -0
  44. package/dist/draggable.mjs +72 -0
  45. package/dist/draggable.mjs.map +1 -0
  46. package/dist/droppable.d.mts +14 -0
  47. package/dist/droppable.mjs +66 -0
  48. package/dist/droppable.mjs.map +1 -0
  49. package/dist/file-upload.d.mts +38 -0
  50. package/dist/file-upload.mjs +170 -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 +92 -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 +82 -0
  59. package/dist/input.mjs.map +1 -0
  60. package/dist/label.d.mts +9 -0
  61. package/dist/label.mjs +42 -0
  62. package/dist/label.mjs.map +1 -0
  63. package/dist/menu.d.mts +36 -0
  64. package/dist/menu.mjs +88 -0
  65. package/dist/menu.mjs.map +1 -0
  66. package/dist/number-input.d.mts +46 -0
  67. package/dist/number-input.mjs +89 -0
  68. package/dist/number-input.mjs.map +1 -0
  69. package/dist/pagination.d.mts +37 -0
  70. package/dist/pagination.mjs +97 -0
  71. package/dist/pagination.mjs.map +1 -0
  72. package/dist/pin-input.d.mts +45 -0
  73. package/dist/pin-input.mjs +147 -0
  74. package/dist/pin-input.mjs.map +1 -0
  75. package/dist/popover.d.mts +39 -0
  76. package/dist/popover.mjs +109 -0
  77. package/dist/popover.mjs.map +1 -0
  78. package/dist/progress.d.mts +34 -0
  79. package/dist/progress.mjs +86 -0
  80. package/dist/progress.mjs.map +1 -0
  81. package/dist/radio-group.d.mts +37 -0
  82. package/dist/radio-group.mjs +184 -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 +171 -0
  86. package/dist/rating-group.mjs.map +1 -0
  87. package/dist/select.d.mts +54 -0
  88. package/dist/select.mjs +277 -0
  89. package/dist/select.mjs.map +1 -0
  90. package/dist/separator.d.mts +9 -0
  91. package/dist/separator.mjs +49 -0
  92. package/dist/separator.mjs.map +1 -0
  93. package/dist/skeleton.d.mts +9 -0
  94. package/dist/skeleton.mjs +43 -0
  95. package/dist/skeleton.mjs.map +1 -0
  96. package/dist/slider.d.mts +44 -0
  97. package/dist/slider.mjs +117 -0
  98. package/dist/slider.mjs.map +1 -0
  99. package/dist/switch.d.mts +37 -0
  100. package/dist/switch.mjs +80 -0
  101. package/dist/switch.mjs.map +1 -0
  102. package/dist/tabs.d.mts +36 -0
  103. package/dist/tabs.mjs +197 -0
  104. package/dist/tabs.mjs.map +1 -0
  105. package/dist/tags-input.d.mts +48 -0
  106. package/dist/tags-input.mjs +267 -0
  107. package/dist/tags-input.mjs.map +1 -0
  108. package/dist/textarea.d.mts +9 -0
  109. package/dist/textarea.mjs +73 -0
  110. package/dist/textarea.mjs.map +1 -0
  111. package/dist/toast.d.mts +33 -0
  112. package/dist/toast.mjs +213 -0
  113. package/dist/toast.mjs.map +1 -0
  114. package/dist/toggle-group.d.mts +32 -0
  115. package/dist/toggle-group.mjs +124 -0
  116. package/dist/toggle-group.mjs.map +1 -0
  117. package/dist/tooltip.d.mts +39 -0
  118. package/dist/tooltip.mjs +85 -0
  119. package/dist/tooltip.mjs.map +1 -0
  120. package/dist/tree-view.d.mts +35 -0
  121. package/dist/tree-view.mjs +94 -0
  122. package/dist/tree-view.mjs.map +1 -0
  123. package/dist/zag-component.d.mts +40 -0
  124. package/dist/zag-component.mjs +135 -0
  125. package/dist/zag-component.mjs.map +1 -0
  126. package/package.json +8 -8
  127. package/dist/index.mjs.map +0 -1
@@ -0,0 +1,77 @@
1
+ import { t as ZagComponent } from "./zag-component.mjs";
2
+ import { Component, GEA_CTOR_TAG_NAME, GEA_ELEMENT, geaEscapeHtml } from "@geajs/core";
3
+ import { normalizeProps } from "@zag-js/vanilla";
4
+ import * as collapsible from "@zag-js/collapsible";
5
+ //#region src/components/collapsible.tsx
6
+ var Collapsible = class extends ZagComponent {
7
+ static {
8
+ this[GEA_CTOR_TAG_NAME] = "collapsible";
9
+ }
10
+ createMachine(_props) {
11
+ return collapsible.machine;
12
+ }
13
+ getMachineProps(props) {
14
+ return {
15
+ id: this.id,
16
+ open: props.open,
17
+ defaultOpen: props.defaultOpen,
18
+ disabled: props.disabled,
19
+ onOpenChange: (details) => {
20
+ this.open = details.open;
21
+ props.onOpenChange?.(details);
22
+ }
23
+ };
24
+ }
25
+ connectApi(service) {
26
+ return collapsible.connect(service, normalizeProps);
27
+ }
28
+ getSpreadMap() {
29
+ return {
30
+ "[data-part=\"root\"]": "getRootProps",
31
+ "[data-part=\"trigger\"]": "getTriggerProps",
32
+ "[data-part=\"content\"]": "getContentProps"
33
+ };
34
+ }
35
+ syncState(api) {
36
+ this.open = api.open;
37
+ }
38
+ template(props) {
39
+ const __id = this.id;
40
+ Component._register(ZagComponent, "zag-component");
41
+ return `<div id="${__id}" data-part="root"${(props.class || "") == null || (props.class || "") === false ? "" : ` class="${((props.class || "") != null ? String(props.class || "") : "").trim()}"`}><button id="${__id + "-b1"}" data-part="trigger" class="collapsible-trigger flex w-full items-center justify-between py-2 text-sm font-medium">${geaEscapeHtml(String(props.label || "Toggle"))}</button><div data-part="content" class="collapsible-content overflow-hidden"><div id="${__id + "-b2"}" class="pb-4">${props.children}</div></div></div>`;
42
+ }
43
+ __onPropChange(key, value) {
44
+ const __id = this.id;
45
+ if (key === "class") {
46
+ const __el = this[GEA_ELEMENT];
47
+ this.props;
48
+ const __boundValue = value || "";
49
+ if (__el) {
50
+ const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
51
+ if (__el.className !== __newClass) __el.className = __newClass;
52
+ }
53
+ }
54
+ if (key === "label") {
55
+ const __el = this.__e0 || (this.__e0 = document.getElementById(__id + "-b1"));
56
+ this.props;
57
+ const __boundValue = value || "Toggle";
58
+ if (__el && __el.textContent !== __boundValue) __el.textContent = __boundValue;
59
+ }
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_();
66
+ }
67
+ }
68
+ }
69
+ *GEA_RESET_ELS() {
70
+ this.__e0 = null;
71
+ this.__e1 = null;
72
+ }
73
+ };
74
+ //#endregion
75
+ export { Collapsible as default };
76
+
77
+ //# sourceMappingURL=collapsible.mjs.map
@@ -0,0 +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"}
@@ -0,0 +1,67 @@
1
+ import { n as ZagComponent } from "./zag-component.mjs";
2
+ import * as combobox from "@zag-js/combobox";
3
+ import * as _$_zag_js_types0 from "@zag-js/types";
4
+ import * as _$_zag_js_collection0 from "@zag-js/collection";
5
+
6
+ //#region src/components/combobox.d.ts
7
+ declare class Combobox extends ZagComponent {
8
+ open: boolean;
9
+ value: string[];
10
+ inputValue: string;
11
+ filteredItems: any[];
12
+ _allItems: any[];
13
+ created(props: any): void;
14
+ createMachine(_props: any): any;
15
+ _buildCollection(items: any[]): _$_zag_js_collection0.ListCollection<any>;
16
+ _filterItems(query: string): void;
17
+ getMachineProps(props: any): {
18
+ id: any;
19
+ collection: any;
20
+ value: any;
21
+ defaultValue: any;
22
+ inputValue: any;
23
+ defaultInputValue: any;
24
+ open: any;
25
+ defaultOpen: any;
26
+ multiple: any;
27
+ disabled: any;
28
+ readOnly: any;
29
+ invalid: any;
30
+ required: any;
31
+ placeholder: any;
32
+ inputBehavior: any;
33
+ selectionBehavior: any;
34
+ closeOnSelect: any;
35
+ allowCustomValue: any;
36
+ loopFocus: any;
37
+ openOnClick: any;
38
+ name: any;
39
+ form: any;
40
+ positioning: any;
41
+ onValueChange: (details: combobox.ValueChangeDetails) => void;
42
+ onInputValueChange: (details: combobox.InputValueChangeDetails) => void;
43
+ onOpenChange: (details: combobox.OpenChangeDetails) => void;
44
+ };
45
+ connectApi(service: any): combobox.Api<_$_zag_js_types0.PropTypes<{
46
+ [x: string]: any;
47
+ }>, unknown>;
48
+ getSpreadMap(): {
49
+ '[data-part="root"]': string;
50
+ '[data-part="label"]': string;
51
+ '[data-part="control"]': string;
52
+ '[data-part="input"]': string;
53
+ '[data-part="trigger"]': string;
54
+ '[data-part="clear-trigger"]': string;
55
+ '[data-part="positioner"]': string;
56
+ '[data-part="content"]': string;
57
+ '[data-part="list"]': string;
58
+ '[data-part="item"]': (api: any, el: any) => any;
59
+ '[data-part="item-text"]': (api: any, el: any) => any;
60
+ '[data-part="item-indicator"]': (api: any, el: any) => any;
61
+ };
62
+ syncState(api: any): void;
63
+ template(props: any): string;
64
+ }
65
+ //#endregion
66
+ export { Combobox as default };
67
+ //# sourceMappingURL=combobox.d.mts.map
@@ -0,0 +1,375 @@
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";
3
+ import { normalizeProps } from "@zag-js/vanilla";
4
+ import * as combobox from "@zag-js/combobox";
5
+ //#region src/components/combobox.tsx
6
+ const __v = (v) => v != null && typeof v === "object" ? v.valueOf() : v;
7
+ var Combobox = class extends ZagComponent {
8
+ static {
9
+ this[GEA_CTOR_TAG_NAME] = "combobox";
10
+ }
11
+ #__rowEls_b1;
12
+ #__dc_b1;
13
+ constructor(...args) {
14
+ super(...args);
15
+ this.props;
16
+ this[geaCondValueSymbol(0)] = !!this.props.label;
17
+ this[GEA_REGISTER_COND](0, "c0", () => {
18
+ this.props;
19
+ return this.props.label;
20
+ }, () => {
21
+ this.props;
22
+ return `<label data-part="label" class="combobox-label text-sm font-medium mb-1 block">${geaEscapeHtml(String(this.props.label))}</label>`;
23
+ }, null);
24
+ }
25
+ created(props) {
26
+ this._allItems = props.items || [];
27
+ this.filteredItems = [...this._allItems];
28
+ super.created(props);
29
+ }
30
+ createMachine(_props) {
31
+ return combobox.machine;
32
+ }
33
+ _buildCollection(items) {
34
+ return combobox.collection({
35
+ items,
36
+ itemToValue: (item) => item.value,
37
+ itemToString: (item) => item.label || item.value
38
+ });
39
+ }
40
+ _filterItems(query) {
41
+ const q = query.toLowerCase();
42
+ const filtered = q ? this._allItems.filter((item) => (item.label || item.value).toLowerCase().includes(q)) : [...this._allItems];
43
+ this.filteredItems = filtered;
44
+ this._machine?.updateProps({ collection: this._buildCollection(filtered) });
45
+ }
46
+ getMachineProps(props) {
47
+ const col = props.collection || this._buildCollection(this._allItems);
48
+ return {
49
+ id: this.id,
50
+ collection: col,
51
+ value: props.value,
52
+ defaultValue: props.defaultValue,
53
+ inputValue: props.inputValue,
54
+ defaultInputValue: props.defaultInputValue,
55
+ open: props.open,
56
+ defaultOpen: props.defaultOpen,
57
+ multiple: props.multiple,
58
+ disabled: props.disabled,
59
+ readOnly: props.readOnly,
60
+ invalid: props.invalid,
61
+ required: props.required,
62
+ placeholder: props.placeholder,
63
+ inputBehavior: props.inputBehavior ?? "none",
64
+ selectionBehavior: props.selectionBehavior ?? "replace",
65
+ closeOnSelect: props.closeOnSelect ?? true,
66
+ allowCustomValue: props.allowCustomValue,
67
+ loopFocus: props.loopFocus ?? true,
68
+ openOnClick: props.openOnClick ?? false,
69
+ name: props.name,
70
+ form: props.form,
71
+ positioning: props.positioning,
72
+ onValueChange: (details) => {
73
+ this.value = details.value;
74
+ props.onValueChange?.(details);
75
+ },
76
+ onInputValueChange: (details) => {
77
+ this.inputValue = details.inputValue;
78
+ this._filterItems(details.inputValue);
79
+ props.onInputValueChange?.(details);
80
+ },
81
+ onOpenChange: (details) => {
82
+ this.open = details.open;
83
+ props.onOpenChange?.(details);
84
+ }
85
+ };
86
+ }
87
+ connectApi(service) {
88
+ return combobox.connect(service, normalizeProps);
89
+ }
90
+ getSpreadMap() {
91
+ return {
92
+ "[data-part=\"root\"]": "getRootProps",
93
+ "[data-part=\"label\"]": "getLabelProps",
94
+ "[data-part=\"control\"]": "getControlProps",
95
+ "[data-part=\"input\"]": "getInputProps",
96
+ "[data-part=\"trigger\"]": "getTriggerProps",
97
+ "[data-part=\"clear-trigger\"]": "getClearTriggerProps",
98
+ "[data-part=\"positioner\"]": "getPositionerProps",
99
+ "[data-part=\"content\"]": "getContentProps",
100
+ "[data-part=\"list\"]": "getListProps",
101
+ "[data-part=\"item\"]": (api, el) => {
102
+ const value = el.dataset.value;
103
+ const label = el.dataset.label || value;
104
+ return api.getItemProps({ item: {
105
+ value,
106
+ label
107
+ } });
108
+ },
109
+ "[data-part=\"item-text\"]": (api, el) => {
110
+ const value = el.dataset.value;
111
+ const label = el.dataset.label || value;
112
+ return api.getItemTextProps({ item: {
113
+ value,
114
+ label
115
+ } });
116
+ },
117
+ "[data-part=\"item-indicator\"]": (api, el) => {
118
+ const value = el.dataset.value;
119
+ const label = el.dataset.label || value;
120
+ return api.getItemIndicatorProps({ item: {
121
+ value,
122
+ label
123
+ } });
124
+ }
125
+ };
126
+ }
127
+ syncState(api) {
128
+ this.open = api.open;
129
+ this.value = api.value;
130
+ this.inputValue = api.inputValue;
131
+ }
132
+ template(props) {
133
+ const __id = this.id;
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>`;
136
+ }
137
+ __onPropChange(key, value) {
138
+ if (key === "class") {
139
+ const __el = this[GEA_ELEMENT];
140
+ this.props;
141
+ const __boundValue = value || "";
142
+ if (__el) {
143
+ const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
144
+ if (__el.className !== __newClass) __el.className = __newClass;
145
+ }
146
+ }
147
+ if (key === "label") this[GEA_PATCH_COND](0);
148
+ }
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>`;
151
+ }
152
+ createFilteredItemsItem(item) {
153
+ var __c = this.#__dc_b1 || (this.#__dc_b1 = this.__filteredItems_container);
154
+ if (!__c[GEA_MAP_CONFIG_TPL]) try {
155
+ var __tw = document.createElement("template");
156
+ __tw.innerHTML = this.renderFilteredItemsItem({
157
+ value: 0,
158
+ label: " "
159
+ });
160
+ __c[GEA_MAP_CONFIG_TPL] = __tw.content.firstElementChild;
161
+ __c[GEA_MAP_CONFIG_TPL]?.removeAttribute("data-gea-item-id");
162
+ } catch (__err) {
163
+ console.error(__err);
164
+ }
165
+ if (__c[GEA_MAP_CONFIG_TPL]) var el = __c[GEA_MAP_CONFIG_TPL].cloneNode(true);
166
+ else {
167
+ var __fw = document.createElement("template");
168
+ __fw.innerHTML = this.renderFilteredItemsItem(item);
169
+ var el = __fw.content.firstElementChild;
170
+ }
171
+ el.__ref_0 = el.firstElementChild;
172
+ el.__ref_1 = el.firstElementChild.nextElementSibling;
173
+ var __av = item.value;
174
+ if (__av == null || __av === false) el.removeAttribute("data-value");
175
+ else {
176
+ const __newAttr = String(__av);
177
+ if (el.getAttribute("data-value") !== __newAttr) el.setAttribute("data-value", __newAttr);
178
+ }
179
+ var __av = item.label;
180
+ if (__av == null || __av === false) el.removeAttribute("data-label");
181
+ else {
182
+ const __newAttr = String(__av);
183
+ if (el.getAttribute("data-label") !== __newAttr) el.setAttribute("data-label", __newAttr);
184
+ }
185
+ var __av = item.value;
186
+ if (__av == null || __av === false) el.__ref_0.removeAttribute("data-value");
187
+ else {
188
+ const __newAttr = String(__av);
189
+ if (el.__ref_0.getAttribute("data-value") !== __newAttr) el.__ref_0.setAttribute("data-value", __newAttr);
190
+ }
191
+ var __av = item.label;
192
+ if (__av == null || __av === false) el.__ref_0.removeAttribute("data-label");
193
+ else {
194
+ const __newAttr = String(__av);
195
+ if (el.__ref_0.getAttribute("data-label") !== __newAttr) el.__ref_0.setAttribute("data-label", __newAttr);
196
+ }
197
+ el.__ref_0.firstChild.nodeValue = `
198
+ ${item.label}
199
+ `;
200
+ var __av = item.value;
201
+ if (__av == null || __av === false) el.__ref_1.removeAttribute("data-value");
202
+ else {
203
+ const __newAttr = String(__av);
204
+ if (el.__ref_1.getAttribute("data-value") !== __newAttr) el.__ref_1.setAttribute("data-value", __newAttr);
205
+ }
206
+ var __av = item.label;
207
+ if (__av == null || __av === false) el.__ref_1.removeAttribute("data-label");
208
+ else {
209
+ const __newAttr = String(__av);
210
+ if (el.__ref_1.getAttribute("data-label") !== __newAttr) el.__ref_1.setAttribute("data-label", __newAttr);
211
+ }
212
+ el[GEA_DOM_KEY] = String(item?.value ?? item);
213
+ el[GEA_DOM_ITEM] = item;
214
+ return el;
215
+ }
216
+ patchFilteredItemsItem(row, item, __prevItem) {
217
+ if (!row) return;
218
+ if (!row.__ref_0) row.__ref_0 = row.firstElementChild;
219
+ if (!row.__ref_1) row.__ref_1 = row.firstElementChild.nextElementSibling;
220
+ var __av = item.value;
221
+ if (__av == null || __av === false) row.removeAttribute("data-value");
222
+ else {
223
+ const __newAttr = String(__av);
224
+ if (row.getAttribute("data-value") !== __newAttr) row.setAttribute("data-value", __newAttr);
225
+ }
226
+ var __av = item.label;
227
+ if (__av == null || __av === false) row.removeAttribute("data-label");
228
+ else {
229
+ const __newAttr = String(__av);
230
+ if (row.getAttribute("data-label") !== __newAttr) row.setAttribute("data-label", __newAttr);
231
+ }
232
+ var __av = item.value;
233
+ if (__av == null || __av === false) row.__ref_0.removeAttribute("data-value");
234
+ else {
235
+ const __newAttr = String(__av);
236
+ if (row.__ref_0.getAttribute("data-value") !== __newAttr) row.__ref_0.setAttribute("data-value", __newAttr);
237
+ }
238
+ var __av = item.label;
239
+ if (__av == null || __av === false) row.__ref_0.removeAttribute("data-label");
240
+ else {
241
+ const __newAttr = String(__av);
242
+ if (row.__ref_0.getAttribute("data-label") !== __newAttr) row.__ref_0.setAttribute("data-label", __newAttr);
243
+ }
244
+ row.__ref_0.firstChild.nodeValue = `
245
+ ${item.label}
246
+ `;
247
+ var __av = item.value;
248
+ if (__av == null || __av === false) row.__ref_1.removeAttribute("data-value");
249
+ else {
250
+ const __newAttr = String(__av);
251
+ if (row.__ref_1.getAttribute("data-value") !== __newAttr) row.__ref_1.setAttribute("data-value", __newAttr);
252
+ }
253
+ var __av = item.label;
254
+ if (__av == null || __av === false) row.__ref_1.removeAttribute("data-label");
255
+ else {
256
+ const __newAttr = String(__av);
257
+ if (row.__ref_1.getAttribute("data-label") !== __newAttr) row.__ref_1.setAttribute("data-label", __newAttr);
258
+ }
259
+ row[GEA_DOM_KEY] = String(item?.value ?? item);
260
+ (this.#__rowEls_b1 || (this.#__rowEls_b1 = {}))[String(item?.value ?? item)] = row;
261
+ row[GEA_DOM_ITEM] = item;
262
+ }
263
+ __observe_local_filteredItems(filteredItems, change) {
264
+ const __id = this.id;
265
+ if (!this.__filteredItems_container) this.__filteredItems_container = document.getElementById(__id + "-b1");
266
+ if (!this.__filteredItems_container) return;
267
+ if (Array.isArray(filteredItems) && filteredItems.length === 0) {
268
+ this.#__rowEls_b1 = null;
269
+ this.__filteredItems_container.textContent = "";
270
+ return;
271
+ }
272
+ this[GEA_ENSURE_ARRAY_CONFIGS]();
273
+ this[GEA_APPLY_LIST_CHANGES](this.__filteredItems_container, filteredItems, change, this.__filteredItemsListConfig);
274
+ }
275
+ [GEA_ENSURE_ARRAY_CONFIGS]() {
276
+ if (!this.__filteredItemsListConfig) this.__filteredItemsListConfig = {
277
+ arrayPathParts: ["filteredItems"],
278
+ render: this.renderFilteredItemsItem.bind(this),
279
+ create: this.createFilteredItemsItem.bind(this),
280
+ patchRow: this.patchFilteredItemsItem && this.patchFilteredItemsItem.bind(this),
281
+ getKey: (item) => String(item?.value ?? item),
282
+ propPatchers: {
283
+ "value": [
284
+ (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
+ else {
290
+ const __newAttr = String(__attrValue);
291
+ if (__target.getAttribute("data-value") !== __newAttr) __target.setAttribute("data-value", __newAttr);
292
+ }
293
+ },
294
+ (row, value, item) => {
295
+ const __target = row.__ref_0 || (row.__ref_0 = row.firstElementChild);
296
+ if (!__target) return;
297
+ const __attrValue = item.value;
298
+ if (__attrValue == null || __attrValue === false) __target.removeAttribute("data-value");
299
+ else {
300
+ const __newAttr = String(__attrValue);
301
+ if (__target.getAttribute("data-value") !== __newAttr) __target.setAttribute("data-value", __newAttr);
302
+ }
303
+ },
304
+ (row, value, item) => {
305
+ const __target = row.__ref_1 || (row.__ref_1 = row.firstElementChild.nextElementSibling);
306
+ if (!__target) return;
307
+ const __attrValue = item.value;
308
+ if (__attrValue == null || __attrValue === false) __target.removeAttribute("data-value");
309
+ else {
310
+ const __newAttr = String(__attrValue);
311
+ if (__target.getAttribute("data-value") !== __newAttr) __target.setAttribute("data-value", __newAttr);
312
+ }
313
+ },
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)
318
+ ],
319
+ "label": [
320
+ (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");
325
+ else {
326
+ const __newAttr = String(__attrValue);
327
+ if (__target.getAttribute("data-label") !== __newAttr) __target.setAttribute("data-label", __newAttr);
328
+ }
329
+ },
330
+ (row, value, item) => {
331
+ const __target = row.__ref_0 || (row.__ref_0 = row.firstElementChild);
332
+ if (!__target) return;
333
+ const __attrValue = item.label;
334
+ if (__attrValue == null || __attrValue === false) __target.removeAttribute("data-label");
335
+ else {
336
+ const __newAttr = String(__attrValue);
337
+ if (__target.getAttribute("data-label") !== __newAttr) __target.setAttribute("data-label", __newAttr);
338
+ }
339
+ },
340
+ (row, value, item) => {
341
+ const __target = row.__ref_0 || (row.__ref_0 = row.firstElementChild);
342
+ if (!__target) return;
343
+ __target.firstChild && (__target.firstChild.nodeValue = `
344
+ ${item.label}
345
+ `) || (__target.textContent = `
346
+ ${item.label}
347
+ `);
348
+ },
349
+ (row, value, item) => {
350
+ const __target = row.__ref_1 || (row.__ref_1 = row.firstElementChild.nextElementSibling);
351
+ if (!__target) return;
352
+ const __attrValue = item.label;
353
+ if (__attrValue == null || __attrValue === false) __target.removeAttribute("data-label");
354
+ else {
355
+ const __newAttr = String(__attrValue);
356
+ if (__target.getAttribute("data-label") !== __newAttr) __target.setAttribute("data-label", __newAttr);
357
+ }
358
+ },
359
+ (row, value) => row.classList.toggle("label", value),
360
+ (row, value) => row.classList.toggle("label", value),
361
+ (row, value) => row.classList.toggle("label", value)
362
+ ]
363
+ }
364
+ };
365
+ }
366
+ [GEA_SETUP_LOCAL_STATE_OBSERVERS]() {
367
+ this[GEA_ENSURE_ARRAY_CONFIGS]();
368
+ if (!this.__store) return;
369
+ this[GEA_OBSERVE](this, ["filteredItems"], this.__observe_local_filteredItems);
370
+ }
371
+ };
372
+ //#endregion
373
+ export { Combobox as default };
374
+
375
+ //# sourceMappingURL=combobox.mjs.map
@@ -0,0 +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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"}
@@ -0,0 +1,57 @@
1
+ import { n as ZagComponent } from "./zag-component.mjs";
2
+ import * as dialog from "@zag-js/dialog";
3
+ import { OpenChangeDetails } from "@zag-js/dialog";
4
+ import * as _$_zag_js_types0 from "@zag-js/types";
5
+
6
+ //#region src/components/dialog.d.ts
7
+ interface DialogProps {
8
+ class?: string;
9
+ children?: ReactNode;
10
+ triggerLabel?: string;
11
+ title?: string;
12
+ description?: string;
13
+ open?: boolean;
14
+ defaultOpen?: boolean;
15
+ modal?: boolean;
16
+ closeOnInteractOutside?: boolean;
17
+ closeOnEscape?: boolean;
18
+ trapFocus?: boolean;
19
+ preventScroll?: boolean;
20
+ role?: string;
21
+ 'aria-label'?: string;
22
+ onOpenChange?: (details: OpenChangeDetails) => void;
23
+ }
24
+ declare class Dialog extends ZagComponent<DialogProps> {
25
+ open: boolean;
26
+ createMachine(_props: DialogProps): any;
27
+ getMachineProps(props: DialogProps): {
28
+ id: any;
29
+ open: boolean;
30
+ defaultOpen: boolean;
31
+ modal: boolean;
32
+ closeOnInteractOutside: boolean;
33
+ closeOnEscape: boolean;
34
+ trapFocus: boolean;
35
+ preventScroll: boolean;
36
+ role: string;
37
+ 'aria-label': string;
38
+ onOpenChange: (details: OpenChangeDetails) => void;
39
+ };
40
+ connectApi(service: any): dialog.Api<_$_zag_js_types0.PropTypes<{
41
+ [x: string]: any;
42
+ }>>;
43
+ getSpreadMap(): {
44
+ '[data-part="backdrop"]': string;
45
+ '[data-part="positioner"]': (api: any) => any;
46
+ '[data-part="content"]': string;
47
+ '[data-part="title"]': string;
48
+ '[data-part="description"]': string;
49
+ '[data-part="close-trigger"]': (api: any) => any;
50
+ '[data-part="trigger"]': (api: any) => any;
51
+ };
52
+ syncState(api: any): void;
53
+ template(props: DialogProps): string;
54
+ }
55
+ //#endregion
56
+ export { DialogProps, Dialog as default };
57
+ //# sourceMappingURL=dialog.d.mts.map