@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
package/README.md CHANGED
@@ -15,30 +15,25 @@ npm install @geajs/core
15
15
 
16
16
  ## Tailwind CSS Setup
17
17
 
18
- ### 1. Add @geajs/ui to your Tailwind content paths
19
-
20
- ```js
21
- // tailwind.config.js
22
- import geaPreset from '@geajs/ui/tailwind-preset'
23
-
24
- export default {
25
- presets: [geaPreset],
26
- content: [
27
- './src/**/*.{tsx,ts,jsx,js}',
28
- './node_modules/@geajs/ui/dist/**/*.js',
29
- ],
30
- }
31
- ```
18
+ ### 1. Install Tailwind and its Vite plugin
32
19
 
33
- ### 2. Import the theme CSS
20
+ ```bash
21
+ npm install -D tailwindcss @tailwindcss/vite
22
+ ```
34
23
 
35
- In your main CSS file:
24
+ ```ts
25
+ // vite.config.ts
26
+ import tailwindcss from '@tailwindcss/vite'
27
+ import { defineConfig } from 'vite'
36
28
 
37
- ```css
38
- @import '@geajs/ui/style.css';
29
+ export default defineConfig({
30
+ plugins: [tailwindcss()],
31
+ })
39
32
  ```
40
33
 
41
- Or in your entry point:
34
+ ### 2. Import the theme CSS
35
+
36
+ Import once in your entry point. This sets up Tailwind, all semantic color tokens, and dark mode support — no `tailwind.config.js` needed.
42
37
 
43
38
  ```ts
44
39
  import '@geajs/ui/style.css'
@@ -0,0 +1,34 @@
1
+ import { n as ZagComponent } from "./zag-component.mjs";
2
+ import * as accordion from "@zag-js/accordion";
3
+ import * as _$_zag_js_types0 from "@zag-js/types";
4
+
5
+ //#region src/components/accordion.d.ts
6
+ declare class Accordion extends ZagComponent {
7
+ value: string[];
8
+ createMachine(_props: any): any;
9
+ getMachineProps(props: any): {
10
+ id: any;
11
+ value: any;
12
+ defaultValue: any;
13
+ multiple: any;
14
+ collapsible: any;
15
+ disabled: any;
16
+ orientation: any;
17
+ onValueChange: (details: accordion.ValueChangeDetails) => void;
18
+ };
19
+ connectApi(service: any): accordion.Api<_$_zag_js_types0.PropTypes<{
20
+ [x: string]: any;
21
+ }>>;
22
+ getSpreadMap(): {
23
+ '[data-part="root"]': string;
24
+ '[data-part="item"]': (api: any, el: any) => any;
25
+ '[data-part="item-trigger"]': (api: any, el: any) => any;
26
+ '[data-part="item-content"]': (api: any, el: any) => any;
27
+ '[data-part="item-indicator"]': (api: any, el: any) => any;
28
+ };
29
+ syncState(api: any): void;
30
+ template(props: any): string;
31
+ }
32
+ //#endregion
33
+ export { Accordion as default };
34
+ //# sourceMappingURL=accordion.d.mts.map
@@ -0,0 +1,167 @@
1
+ import { t as ZagComponent } from "./zag-component.mjs";
2
+ import { Component, GEA_CTOR_TAG_NAME, GEA_DOM_ITEM, GEA_DOM_KEY, GEA_ELEMENT, GEA_MAP_CONFIG_TPL, GEA_REGISTER_MAP, GEA_SYNC_MAP } from "@geajs/core";
3
+ import { normalizeProps } from "@zag-js/vanilla";
4
+ import * as accordion from "@zag-js/accordion";
5
+ //#region src/components/accordion.tsx
6
+ const __v = (v) => v != null && typeof v === "object" ? v.valueOf() : v;
7
+ var Accordion = class extends ZagComponent {
8
+ static {
9
+ this[GEA_CTOR_TAG_NAME] = "accordion";
10
+ }
11
+ #__rowEls_list;
12
+ #__dc___unresolved_0;
13
+ createMachine(_props) {
14
+ return accordion.machine;
15
+ }
16
+ getMachineProps(props) {
17
+ return {
18
+ id: this.id,
19
+ value: props.value,
20
+ defaultValue: props.defaultValue,
21
+ multiple: props.multiple ?? false,
22
+ collapsible: props.collapsible ?? false,
23
+ disabled: props.disabled,
24
+ orientation: props.orientation ?? "vertical",
25
+ onValueChange: (details) => {
26
+ this.value = details.value;
27
+ props.onValueChange?.(details);
28
+ }
29
+ };
30
+ }
31
+ connectApi(service) {
32
+ return accordion.connect(service, normalizeProps);
33
+ }
34
+ getSpreadMap() {
35
+ return {
36
+ "[data-part=\"root\"]": "getRootProps",
37
+ "[data-part=\"item\"]": (api, el) => api.getItemProps({ value: el.dataset.value }),
38
+ "[data-part=\"item-trigger\"]": (api, el) => api.getItemTriggerProps({ value: el.dataset.value }),
39
+ "[data-part=\"item-content\"]": (api, el) => api.getItemContentProps({ value: el.dataset.value }),
40
+ "[data-part=\"item-indicator\"]": (api, el) => api.getItemIndicatorProps({ value: el.dataset.value })
41
+ };
42
+ }
43
+ syncState(api) {
44
+ this.value = api.value;
45
+ }
46
+ template(props) {
47
+ const __id = this.id;
48
+ Component._register(ZagComponent, "zag-component");
49
+ const items = props.items || [];
50
+ return `<div id="${__id}" data-part="root"${(props.class || "") == null || (props.class || "") === false ? "" : ` class="${((props.class || "") != null ? String(props.class || "") : "").trim()}"`}>${items.map((item) => `<div data-gea-item-id="${item?.value ?? item}" data-part="item"${item.value == null || item.value === false ? "" : ` data-value="${item.value}"`} class="accordion-item border-b"><h3><button data-part="item-trigger"${item.value == null || item.value === false ? "" : ` data-value="${item.value}"`} class="accordion-trigger flex w-full items-center justify-between py-4 text-sm font-medium transition-all">${item.label}<span data-part="item-indicator"${item.value == null || item.value === false ? "" : ` data-value="${item.value}"`} class="accordion-indicator h-4 w-4 shrink-0 transition-transform duration-200">▶</span></button></h3><div data-part="item-content"${item.value == null || item.value === false ? "" : ` data-value="${item.value}"`} class="accordion-content overflow-hidden text-sm"><div class="pb-4 pt-0">${item.content}</div></div></div>`).join("") + "<!---->"}</div>`;
51
+ }
52
+ render__unresolved_0Item(item) {
53
+ return `<div data-gea-item-id="${item?.value ?? item}" data-part="item"${__v(item.value) == null || __v(item.value) === false ? "" : ` data-value="${item.value}"`} class="accordion-item border-b"><h3><button data-part="item-trigger"${__v(item.value) == null || __v(item.value) === false ? "" : ` data-value="${item.value}"`} class="accordion-trigger flex w-full items-center justify-between py-4 text-sm font-medium transition-all">${item.label}<span data-part="item-indicator"${__v(item.value) == null || __v(item.value) === false ? "" : ` data-value="${item.value}"`} class="accordion-indicator h-4 w-4 shrink-0 transition-transform duration-200">▶</span></button></h3><div data-part="item-content"${__v(item.value) == null || __v(item.value) === false ? "" : ` data-value="${item.value}"`} class="accordion-content overflow-hidden text-sm"><div class="pb-4 pt-0">${item.content}</div></div></div>`;
54
+ }
55
+ create__unresolved_0Item(item) {
56
+ var __c = this.#__dc___unresolved_0 || (this.#__dc___unresolved_0 = this.____unresolved_0_container);
57
+ if (!__c[GEA_MAP_CONFIG_TPL]) try {
58
+ var __tw = document.createElement("template");
59
+ __tw.innerHTML = this.render__unresolved_0Item({
60
+ value: 0,
61
+ label: " ",
62
+ content: " "
63
+ });
64
+ __c[GEA_MAP_CONFIG_TPL] = __tw.content.firstElementChild;
65
+ __c[GEA_MAP_CONFIG_TPL]?.removeAttribute("data-gea-item-id");
66
+ } catch (__err) {
67
+ console.error(__err);
68
+ }
69
+ if (__c[GEA_MAP_CONFIG_TPL]) var el = __c[GEA_MAP_CONFIG_TPL].cloneNode(true);
70
+ else {
71
+ var __fw = document.createElement("template");
72
+ __fw.innerHTML = this.render__unresolved_0Item(item);
73
+ var el = __fw.content.firstElementChild;
74
+ }
75
+ el.__ref_0_0 = el.firstElementChild.firstElementChild;
76
+ el.__ref_0_0_0 = el.firstElementChild.firstElementChild.firstElementChild;
77
+ el.__ref_1 = el.firstElementChild.nextElementSibling;
78
+ el.__ref_1_0 = el.firstElementChild.nextElementSibling.firstElementChild;
79
+ var __av = item.value;
80
+ if (__av == null || __av === false) el.removeAttribute("data-value");
81
+ else {
82
+ const __newAttr = String(__av);
83
+ if (el.getAttribute("data-value") !== __newAttr) el.setAttribute("data-value", __newAttr);
84
+ }
85
+ var __av = item.value;
86
+ if (__av == null || __av === false) el.__ref_0_0.removeAttribute("data-value");
87
+ else {
88
+ const __newAttr = String(__av);
89
+ if (el.__ref_0_0.getAttribute("data-value") !== __newAttr) el.__ref_0_0.setAttribute("data-value", __newAttr);
90
+ }
91
+ var __av = item.value;
92
+ if (__av == null || __av === false) el.__ref_0_0_0.removeAttribute("data-value");
93
+ else {
94
+ const __newAttr = String(__av);
95
+ if (el.__ref_0_0_0.getAttribute("data-value") !== __newAttr) el.__ref_0_0_0.setAttribute("data-value", __newAttr);
96
+ }
97
+ var __av = item.value;
98
+ if (__av == null || __av === false) el.__ref_1.removeAttribute("data-value");
99
+ else {
100
+ const __newAttr = String(__av);
101
+ if (el.__ref_1.getAttribute("data-value") !== __newAttr) el.__ref_1.setAttribute("data-value", __newAttr);
102
+ }
103
+ el.__ref_1_0.firstChild.nodeValue = `${item.content}`;
104
+ el[GEA_DOM_KEY] = String(item?.value ?? item);
105
+ el[GEA_DOM_ITEM] = item;
106
+ return el;
107
+ }
108
+ patch__unresolved_0Item(row, item, __prevItem) {
109
+ if (!row) return;
110
+ if (!row.__ref_0_0) row.__ref_0_0 = row.firstElementChild.firstElementChild;
111
+ if (!row.__ref_0_0_0) row.__ref_0_0_0 = row.firstElementChild.firstElementChild.firstElementChild;
112
+ if (!row.__ref_1) row.__ref_1 = row.firstElementChild.nextElementSibling;
113
+ if (!row.__ref_1_0) row.__ref_1_0 = row.firstElementChild.nextElementSibling.firstElementChild;
114
+ var __av = item.value;
115
+ if (__av == null || __av === false) row.removeAttribute("data-value");
116
+ else {
117
+ const __newAttr = String(__av);
118
+ if (row.getAttribute("data-value") !== __newAttr) row.setAttribute("data-value", __newAttr);
119
+ }
120
+ var __av = item.value;
121
+ if (__av == null || __av === false) row.__ref_0_0.removeAttribute("data-value");
122
+ else {
123
+ const __newAttr = String(__av);
124
+ if (row.__ref_0_0.getAttribute("data-value") !== __newAttr) row.__ref_0_0.setAttribute("data-value", __newAttr);
125
+ }
126
+ var __av = item.value;
127
+ if (__av == null || __av === false) row.__ref_0_0_0.removeAttribute("data-value");
128
+ else {
129
+ const __newAttr = String(__av);
130
+ if (row.__ref_0_0_0.getAttribute("data-value") !== __newAttr) row.__ref_0_0_0.setAttribute("data-value", __newAttr);
131
+ }
132
+ var __av = item.value;
133
+ if (__av == null || __av === false) row.__ref_1.removeAttribute("data-value");
134
+ else {
135
+ const __newAttr = String(__av);
136
+ if (row.__ref_1.getAttribute("data-value") !== __newAttr) row.__ref_1.setAttribute("data-value", __newAttr);
137
+ }
138
+ row.__ref_1_0.firstChild.nodeValue = `${item.content}`;
139
+ row[GEA_DOM_KEY] = String(item?.value ?? item);
140
+ (this.#__rowEls_list || (this.#__rowEls_list = {}))[String(item?.value ?? item)] = row;
141
+ row[GEA_DOM_ITEM] = item;
142
+ }
143
+ __onPropChange(key, value) {
144
+ if (key === "class") {
145
+ const __el = this[GEA_ELEMENT];
146
+ this.props;
147
+ const __boundValue = value || "";
148
+ if (__el) {
149
+ const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
150
+ if (__el.className !== __newClass) __el.className = __newClass;
151
+ }
152
+ }
153
+ if (key === "items") this[GEA_SYNC_MAP](0);
154
+ }
155
+ __observe_local_props(__v, __c) {
156
+ this[GEA_SYNC_MAP](0);
157
+ }
158
+ createdHooks() {
159
+ this[GEA_REGISTER_MAP](0, "____unresolved_0_container", () => this.$(":scope"), () => {
160
+ return this.props.items || [];
161
+ }, (__item) => this.create__unresolved_0Item(__item), "value");
162
+ }
163
+ };
164
+ //#endregion
165
+ export { Accordion as default };
166
+
167
+ //# sourceMappingURL=accordion.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion.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","accordion","normalizeProps","ZagComponent","Accordion","__rowEls_list","__dc___unresolved_0","value","createMachine","_props","machine","getMachineProps","props","id","defaultValue","multiple","collapsible","disabled","orientation","onValueChange","details","ValueChangeDetails","connectApi","service","connect","getSpreadMap","[data-part=\"item\"]","api","el","getItemProps","HTMLElement","dataset","[data-part=\"item-trigger\"]","getItemTriggerProps","[data-part=\"item-content\"]","getItemContentProps","[data-part=\"item-indicator\"]","getItemIndicatorProps","syncState","template","__id","_register","items","class","String","trim","map","item","label","content","join","render__unresolved_0Item","create__unresolved_0Item","__c","____unresolved_0_container","__tw","document","createElement","innerHTML","firstElementChild","removeAttribute","__err","console","error","cloneNode","__fw","__ref_0_0","__ref_0_0_0","__ref_1","nextElementSibling","__ref_1_0","__av","__newAttr","getAttribute","setAttribute","firstChild","nodeValue","patch__unresolved_0Item","row","__prevItem","__onPropChange","key","__el","__boundValue","__newClass","className","__observe_local_props","createdHooks","$","__item"],"sources":["../src/components/accordion.tsx"],"sourcesContent":["import * as accordion from '@zag-js/accordion'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class Accordion extends ZagComponent {\n declare value: string[]\n\n createMachine(_props: any): any {\n return accordion.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n value: props.value,\n defaultValue: props.defaultValue,\n multiple: props.multiple ?? false,\n collapsible: props.collapsible ?? false,\n disabled: props.disabled,\n orientation: props.orientation ?? 'vertical',\n onValueChange: (details: accordion.ValueChangeDetails) => {\n this.value = details.value\n props.onValueChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return accordion.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"root\"]': 'getRootProps',\n '[data-part=\"item\"]': (api, el) => api.getItemProps({ value: (el as HTMLElement).dataset.value }),\n '[data-part=\"item-trigger\"]': (api, el) => api.getItemTriggerProps({ value: (el as HTMLElement).dataset.value }),\n '[data-part=\"item-content\"]': (api, el) => api.getItemContentProps({ value: (el as HTMLElement).dataset.value }),\n '[data-part=\"item-indicator\"]': (api, el) =>\n api.getItemIndicatorProps({ value: (el as HTMLElement).dataset.value }),\n }\n }\n\n syncState(api: any) {\n this.value = api.value\n }\n\n template(props: any) {\n const items = props.items || []\n return (\n <div data-part=\"root\" class={props.class || ''}>\n {items.map((item: any) => (\n <div key={item.value} data-part=\"item\" data-value={item.value} class=\"accordion-item border-b\">\n <h3>\n <button\n data-part=\"item-trigger\"\n data-value={item.value}\n class=\"accordion-trigger flex w-full items-center justify-between py-4 text-sm font-medium transition-all\"\n >\n {item.label}\n <span\n data-part=\"item-indicator\"\n data-value={item.value}\n class=\"accordion-indicator h-4 w-4 shrink-0 transition-transform duration-200\"\n >\n &#x25B6;\n </span>\n </button>\n </h3>\n <div data-part=\"item-content\" data-value={item.value} class=\"accordion-content overflow-hidden text-sm\">\n <div class=\"pb-4 pt-0\">{item.content}</div>\n </div>\n </div>\n ))}\n </div>\n )\n }\n}\n"],"mappings":";;;;;AAEI,MAAMA,OAAOC,MACXA,KAAK,QAAQ,OAAOA,MAAM,WACtBA,EAAEC,SAAS,GACXD;AADV,IAAqB2C,YAArB,cAAuCD,aAAa;;OAAAH,qBAAA;;CAAA;CAAA;CAGlDQ,cAAcC,QAAkB;AAC9B,SAAOR,UAAUS;;CAGnBC,gBAAgBC,OAAY;AAC1B,SAAO;GACLC,IAAI,KAAKA;GACTN,OAAOK,MAAML;GACbO,cAAcF,MAAME;GACpBC,UAAUH,MAAMG,YAAY;GAC5BC,aAAaJ,MAAMI,eAAe;GAClCC,UAAUL,MAAMK;GAChBC,aAAaN,MAAMM,eAAe;GAClCC,gBAAgBC,YAA0C;AACxD,SAAKb,QAAQa,QAAQb;AACrBK,UAAMO,gBAAgBC,QAAQ;;GAEjC;;CAGHE,WAAWC,SAAc;AACvB,SAAOtB,UAAUuB,QAAQD,SAASrB,eAAe;;CAGnDuB,eAAe;AACb,SAAO;GACL,wBAAsB;GACtB,yBAAuBE,KAAKC,OAAOD,IAAIE,aAAa,EAAEtB,OAAQqB,GAAmBG,QAAQxB,OAAO,CAAC;GACjG,iCAA+BoB,KAAKC,OAAOD,IAAIM,oBAAoB,EAAE1B,OAAQqB,GAAmBG,QAAQxB,OAAO,CAAC;GAChH,iCAA+BoB,KAAKC,OAAOD,IAAIQ,oBAAoB,EAAE5B,OAAQqB,GAAmBG,QAAQxB,OAAO,CAAC;GAChH,mCAAiCoB,KAAKC,OACpCD,IAAIU,sBAAsB,EAAE9B,OAAQqB,GAAmBG,QAAQxB,OAAO,CAAA;GACzE;;CAGH+B,UAAUX,KAAU;AAClB,OAAKpB,QAAQoB,IAAIpB;;CAGnBgC,SAAS3B,OAAY;EAAA,MAAA4B,OAAA,KAAA3B;AAAAlD,YAAA8E,UAAAtC,cAAA,gBAAA;EACnB,MAAMuC,QAAQ9B,MAAM8B,SAAS,EAAE;AAC/B,SAAA,YAAAF,KAAA,qBAC+B5B,MAAM+B,SAAS,OAAE,SAAjB/B,MAAM+B,SAAS,QAAE,QAAA,KAAA,aAAjB/B,MAAM+B,SAAS,OAAE,OAAAC,OAAjBhC,MAAM+B,SAAS,GAAE,GAAA,IAAAE,MAAA,CAAA,GAAA,GAC3CH,MAAMI,KAAKC,SAAS,0BAAAA,MAAAxC,SAAAwC,KAAA,oBACgCA,KAAKxC,SAAK,QAAVwC,KAAKxC,UAAK,QAAA,KAAA,gBAAVwC,KAAKxC,MAAK,GAAA,uEAI3CwC,KAAKxC,SAAK,QAAVwC,KAAKxC,UAAK,QAAA,KAAA,gBAAVwC,KAAKxC,MAAK,GAAA,8GAGrBwC,KAAKC,MAAK,kCAGGD,KAAKxC,SAAK,QAAVwC,KAAKxC,UAAK,QAAA,KAAA,gBAAVwC,KAAKxC,MAAK,GAAA,qIAOcwC,KAAKxC,SAAK,QAAVwC,KAAKxC,UAAK,QAAA,KAAA,gBAAVwC,KAAKxC,MAAK,GAAA,4EAC1BwC,KAAKE,QAAO,oBAAA,CAAAC,KAAA,GAAA,GAAA,UAAA;;CApElDC,yBAAAJ,MAAA;AAAA,SAAA,0BAAAA,MAAAxC,SAAAwC,KAAA,oBAAAvF,IAkD6DuF,KAAKxC,MAAK,IAAA,QAAA/C,IAAVuF,KAAKxC,MAAK,KAAA,QAAA,KAAA,gBAAVwC,KAAKxC,MAAK,GAAA,uEAAA/C,IAI3CuF,KAAKxC,MAAK,IAAA,QAAA/C,IAAVuF,KAAKxC,MAAK,KAAA,QAAA,KAAA,gBAAVwC,KAAKxC,MAAK,GAAA,8GAGrBwC,KAAKC,MAAK,kCAAAxF,IAGGuF,KAAKxC,MAAK,IAAA,QAAA/C,IAAVuF,KAAKxC,MAAK,KAAA,QAAA,KAAA,gBAAVwC,KAAKxC,MAAK,GAAA,qIAAA/C,IAOcuF,KAAKxC,MAAK,IAAA,QAAA/C,IAAVuF,KAAKxC,MAAK,KAAA,QAAA,KAAA,gBAAVwC,KAAKxC,MAAK,GAAA,4EAC1BwC,KAAKE,QAAO;;CApEHG,yBAAAL,MAAA;EAAA,IAAAM,MAAA,MAAA,wBAAA,MAAA,sBAAA,KAAAC;AAAA,MAAA,CAAAD,IAAA/D,oBAAA,KAAA;GAAA,IAAAiE,OAAAC,SAAAC,cAAA,WAAA;AAAAF,QAAAG,YAAA,KAAAP,yBAAA;IAAA5C,OAAA;IAAAyC,OAAA;IAAAC,SAAA;IAAA,CAAA;AAAAI,OAAA/D,sBAAAiE,KAAAN,QAAAU;AAAAN,OAAA/D,qBAAAsE,gBAAA,mBAAA;WAAAC,OAAA;AAAAC,WAAAC,MAAAF,MAAA;;AAAA,MAAAR,IAAA/D,qBAAA,IAAAsC,KAAAyB,IAAA/D,oBAAA0E,UAAA,KAAA;OAAA;GAAA,IAAAC,OAAAT,SAAAC,cAAA,WAAA;AAAAQ,QAAAP,YAAA,KAAAP,yBAAAJ,KAAA;GAAA,IAAAnB,KAAAqC,KAAAhB,QAAAU;;AAAA/B,KAAAsC,YAAAtC,GAAA+B,kBAAAA;AAAA/B,KAAAuC,cAAAvC,GAAA+B,kBAAAA,kBAAAA;AAAA/B,KAAAwC,UAAAxC,GAAA+B,kBAAAU;AAAAzC,KAAA0C,YAAA1C,GAAA+B,kBAAAU,mBAAAV;EAAA,IAAAY,OAkDcxB,KAAKxC;AAAK,MAAAgE,QAAA,QAAAA,SAAA,MAAA3C,IAAAgC,gBAAA,aAAA;OAAA;GAAA,MAAAY,YAAA5B,OAAA2B,KAAA;AAAA,OAAA3C,GAAA6C,aAAA,aAAA,KAAAD,UAAA5C,IAAA8C,aAAA,cAAAF,UAAA;;EAAA,IAAAD,OAI3CxB,KAAKxC;AAAK,MAAAgE,QAAA,QAAAA,SAAA,MAAA3C,IAAAsC,UAAAN,gBAAA,aAAA;OAAA;GAAA,MAAAY,YAAA5B,OAAA2B,KAAA;AAAA,OAAA3C,GAAAsC,UAAAO,aAAA,aAAA,KAAAD,UAAA5C,IAAAsC,UAAAQ,aAAA,cAAAF,UAAA;;EAAA,IAAAD,OAMRxB,KAAKxC;AAAK,MAAAgE,QAAA,QAAAA,SAAA,MAAA3C,IAAAuC,YAAAP,gBAAA,aAAA;OAAA;GAAA,MAAAY,YAAA5B,OAAA2B,KAAA;AAAA,OAAA3C,GAAAuC,YAAAM,aAAA,aAAA,KAAAD,UAAA5C,IAAAuC,YAAAO,aAAA,cAAAF,UAAA;;EAAA,IAAAD,OAOcxB,KAAKxC;AAAK,MAAAgE,QAAA,QAAAA,SAAA,MAAA3C,IAAAwC,QAAAR,gBAAA,aAAA;OAAA;GAAA,MAAAY,YAAA5B,OAAA2B,KAAA;AAAA,OAAA3C,GAAAwC,QAAAK,aAAA,aAAA,KAAAD,UAAA5C,IAAAwC,QAAAM,aAAA,cAAAF,UAAA;;AAAA5C,KAAA0C,UAAAK,WAAAC,YAAA,GAC1B7B,KAAKE;AAAOrB,KAAAzC,eAAAyD,OAAAG,MAAAxC,SAAAwC,KAAA;AAAAnB,KAAAxC,gBAAA2D;AAAA,SAAAnB;;CAAAiD,wBAAAC,KAAA/B,MAAAgC,YAAA;AAAA,MAAA,CAAAD,IAAA;AAAA,MAAA,CAAAA,IAAAZ,UAAAY,KAAAZ,YAAAY,IAAAnB,kBAAAA;AAAA,MAAA,CAAAmB,IAAAX,YAAAW,KAAAX,cAAAW,IAAAnB,kBAAAA,kBAAAA;AAAA,MAAA,CAAAmB,IAAAV,QAAAU,KAAAV,UAAAU,IAAAnB,kBAAAU;AAAA,MAAA,CAAAS,IAAAR,UAAAQ,KAAAR,YAAAQ,IAAAnB,kBAAAU,mBAAAV;EAAA,IAAAY,OAlBWxB,KAAKxC;AAAK,MAAAgE,QAAA,QAAAA,SAAA,MAAAO,KAAAlB,gBAAA,aAAA;OAAA;GAAA,MAAAY,YAAA5B,OAAA2B,KAAA;AAAA,OAAAO,IAAAL,aAAA,aAAA,KAAAD,UAAAM,KAAAJ,aAAA,cAAAF,UAAA;;EAAA,IAAAD,OAI3CxB,KAAKxC;AAAK,MAAAgE,QAAA,QAAAA,SAAA,MAAAO,KAAAZ,UAAAN,gBAAA,aAAA;OAAA;GAAA,MAAAY,YAAA5B,OAAA2B,KAAA;AAAA,OAAAO,IAAAZ,UAAAO,aAAA,aAAA,KAAAD,UAAAM,KAAAZ,UAAAQ,aAAA,cAAAF,UAAA;;EAAA,IAAAD,OAMRxB,KAAKxC;AAAK,MAAAgE,QAAA,QAAAA,SAAA,MAAAO,KAAAX,YAAAP,gBAAA,aAAA;OAAA;GAAA,MAAAY,YAAA5B,OAAA2B,KAAA;AAAA,OAAAO,IAAAX,YAAAM,aAAA,aAAA,KAAAD,UAAAM,KAAAX,YAAAO,aAAA,cAAAF,UAAA;;EAAA,IAAAD,OAOcxB,KAAKxC;AAAK,MAAAgE,QAAA,QAAAA,SAAA,MAAAO,KAAAV,QAAAR,gBAAA,aAAA;OAAA;GAAA,MAAAY,YAAA5B,OAAA2B,KAAA;AAAA,OAAAO,IAAAV,QAAAK,aAAA,aAAA,KAAAD,UAAAM,KAAAV,QAAAM,aAAA,cAAAF,UAAA;;AAAAM,MAAAR,UAAAK,WAAAC,YAAA,GAC1B7B,KAAKE;AAAO6B,MAAA3F,eAAAyD,OAAAG,MAAAxC,SAAAwC,KAAA;AAAA,GAAA,MAAA,kBAAA,MAAA,gBAAA,EAAA,GAAAH,OAAAG,MAAAxC,SAAAwC,KAAA,IAAA+B;AAAAA,MAAA1F,gBAAA2D;;CApElDiC,eAAsBC,KAAK1E,OAAK;AAAA,MAAA0E,QAAA,SAAA;GAAA,MAAAC,OAAA,KAAArH;AA6CX,QAAA+C;GAAA,MAAAuE,eAAA5E,SAG6B;AAAE,OAAA2E,MAAA;IAAA,MAAAE,cAAAD,gBAAA,OAAAvC,OAAAuC,aAAA,GAAA,IAAAtC,MAAA;AAAA,QAAAqC,KAAAG,cAAAD,WAAAF,MAAAG,YAAAD;;;AAAA,MAAAH,QAAA,QAAA,MAAA1G,cAAA,EAAA;;CAhDhB+G,sBAAA9H,KAAA6F,KAAA;AAAA,OAAA9E,cAAA,EAAA;;CAApCgH,eAAwB;AAAA,OAAA/G,kBAAA,GAAA,oCAAxB,KAAKgH,EAAE,SAAS,QAAA;AAAA,UAAA,KAAA5E,MA8CQ8B,SAAK,EAAA;MAAA+C,WAAA,KAAArC,yBAAAqC,OAAA,EAAA,QAAA"}
@@ -0,0 +1,15 @@
1
+ import { Component } from "@geajs/core";
2
+
3
+ //#region src/components/alert.d.ts
4
+ declare class Alert extends Component {
5
+ template(props: any): string;
6
+ }
7
+ declare class AlertTitle extends Component {
8
+ template(props: any): string;
9
+ }
10
+ declare class AlertDescription extends Component {
11
+ template(props: any): string;
12
+ }
13
+ //#endregion
14
+ export { Alert, AlertDescription, AlertTitle };
15
+ //# sourceMappingURL=alert.d.mts.map
package/dist/alert.mjs ADDED
@@ -0,0 +1,101 @@
1
+ import { t as cn } from "./cn.mjs";
2
+ import { Component, GEA_CTOR_TAG_NAME, GEA_ELEMENT } from "@geajs/core";
3
+ //#region src/components/alert.tsx
4
+ const variants = {
5
+ default: "bg-background text-foreground",
6
+ destructive: "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"
7
+ };
8
+ var Alert = class extends Component {
9
+ static {
10
+ this[GEA_CTOR_TAG_NAME] = "alert";
11
+ }
12
+ template(props) {
13
+ const __id = this.id;
14
+ const variant = variants[props.variant || "default"] || variants.default;
15
+ return `<div id="${__id}"${cn("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7", variant, props.class) == null || cn("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7", variant, props.class) === false ? "" : ` class="${(cn("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7", variant, props.class) != null ? String(cn("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7", variant, props.class)) : "").trim()}"`} role="alert">${props.children}</div>`;
16
+ }
17
+ __onPropChange(key, value) {
18
+ if (key === "variant") {
19
+ const __el = this[GEA_ELEMENT];
20
+ const __boundValue = cn("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7", variants[this.props.variant || "default"] || variants.default, this.props.class);
21
+ if (__el) {
22
+ const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
23
+ if (__el.className !== __newClass) __el.className = __newClass;
24
+ }
25
+ }
26
+ if (key === "class") {
27
+ const __el = this[GEA_ELEMENT];
28
+ const __boundValue = cn("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7", variants[this.props.variant || "default"] || variants.default, value);
29
+ if (__el) {
30
+ const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
31
+ if (__el.className !== __newClass) __el.className = __newClass;
32
+ }
33
+ }
34
+ if (key === "children") {
35
+ const __el = this[GEA_ELEMENT];
36
+ if (__el && __el.innerHTML !== value) {
37
+ __el.innerHTML = value;
38
+ this.instantiateChildComponents_();
39
+ if (this.parentComponent) this.parentComponent.mountCompiledChildComponents_();
40
+ }
41
+ }
42
+ }
43
+ };
44
+ var AlertTitle = class extends Component {
45
+ static {
46
+ this[GEA_CTOR_TAG_NAME] = "alert-title";
47
+ }
48
+ template(props) {
49
+ return `<h5 id="${this.id}"${cn("mb-1 font-medium leading-none tracking-tight", props.class) == null || cn("mb-1 font-medium leading-none tracking-tight", props.class) === false ? "" : ` class="${(cn("mb-1 font-medium leading-none tracking-tight", props.class) != null ? String(cn("mb-1 font-medium leading-none tracking-tight", props.class)) : "").trim()}"`}>${props.children}</h5>`;
50
+ }
51
+ __onPropChange(key, value) {
52
+ if (key === "class") {
53
+ const __el = this[GEA_ELEMENT];
54
+ this.props;
55
+ const __boundValue = cn("mb-1 font-medium leading-none tracking-tight", value);
56
+ if (__el) {
57
+ const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
58
+ if (__el.className !== __newClass) __el.className = __newClass;
59
+ }
60
+ }
61
+ if (key === "children") {
62
+ const __el = this[GEA_ELEMENT];
63
+ if (__el && __el.innerHTML !== value) {
64
+ __el.innerHTML = value;
65
+ this.instantiateChildComponents_();
66
+ if (this.parentComponent) this.parentComponent.mountCompiledChildComponents_();
67
+ }
68
+ }
69
+ }
70
+ };
71
+ var AlertDescription = class extends Component {
72
+ static {
73
+ this[GEA_CTOR_TAG_NAME] = "alert-description";
74
+ }
75
+ template(props) {
76
+ return `<div id="${this.id}"${cn("text-sm [&_p]:leading-relaxed", props.class) == null || cn("text-sm [&_p]:leading-relaxed", props.class) === false ? "" : ` class="${(cn("text-sm [&_p]:leading-relaxed", props.class) != null ? String(cn("text-sm [&_p]:leading-relaxed", props.class)) : "").trim()}"`}>${props.children}</div>`;
77
+ }
78
+ __onPropChange(key, value) {
79
+ if (key === "class") {
80
+ const __el = this[GEA_ELEMENT];
81
+ this.props;
82
+ const __boundValue = cn("text-sm [&_p]:leading-relaxed", value);
83
+ if (__el) {
84
+ const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
85
+ if (__el.className !== __newClass) __el.className = __newClass;
86
+ }
87
+ }
88
+ if (key === "children") {
89
+ const __el = this[GEA_ELEMENT];
90
+ if (__el && __el.innerHTML !== value) {
91
+ __el.innerHTML = value;
92
+ this.instantiateChildComponents_();
93
+ if (this.parentComponent) this.parentComponent.mountCompiledChildComponents_();
94
+ }
95
+ }
96
+ }
97
+ };
98
+ //#endregion
99
+ export { Alert, AlertDescription, AlertTitle };
100
+
101
+ //# sourceMappingURL=alert.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.mjs","names":["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","cn","variants","Record","default","destructive","Alert","template","props","__id","id","variant","class","String","trim","children","__onPropChange","key","value","__el","__boundValue","__newClass","className","innerHTML","instantiateChildComponents_","parentComponent","mountCompiledChildComponents_","AlertTitle","AlertDescription"],"sources":["../src/components/alert.tsx"],"sourcesContent":["import { Component } from '@geajs/core'\nimport { cn } from '../utils/cn'\n\nconst variants: Record<string, string> = {\n default: 'bg-background text-foreground',\n destructive: 'border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive',\n}\n\nexport class Alert extends Component {\n template(props: any) {\n const variant = variants[props.variant || 'default'] || variants.default\n\n return (\n <div\n class={cn(\n 'relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7',\n variant,\n props.class,\n )}\n role=\"alert\"\n >\n {props.children}\n </div>\n )\n }\n}\n\nexport class AlertTitle extends Component {\n template(props: any) {\n return <h5 class={cn('mb-1 font-medium leading-none tracking-tight', props.class)}>{props.children}</h5>\n }\n}\n\nexport class AlertDescription extends Component {\n template(props: any) {\n return <div class={cn('text-sm [&_p]:leading-relaxed', props.class)}>{props.children}</div>\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { n as ZagComponent } from "./zag-component.mjs";
2
+ import * as avatar from "@zag-js/avatar";
3
+ import * as _$_zag_js_types0 from "@zag-js/types";
4
+
5
+ //#region src/components/avatar.d.ts
6
+ declare class Avatar extends ZagComponent {
7
+ loaded: boolean;
8
+ createMachine(_props: any): any;
9
+ getMachineProps(props: any): {
10
+ id: any;
11
+ onStatusChange: any;
12
+ };
13
+ connectApi(service: any): avatar.Api<_$_zag_js_types0.PropTypes<{
14
+ [x: string]: any;
15
+ }>>;
16
+ getSpreadMap(): {
17
+ '[data-part="root"]': string;
18
+ '[data-part="image"]': string;
19
+ '[data-part="fallback"]': string;
20
+ };
21
+ syncState(api: any): void;
22
+ template(props: any): string;
23
+ }
24
+ //#endregion
25
+ export { Avatar as default };
26
+ //# sourceMappingURL=avatar.d.mts.map
@@ -0,0 +1,97 @@
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, geaSanitizeAttr } from "@geajs/core";
3
+ import { normalizeProps } from "@zag-js/vanilla";
4
+ import * as avatar from "@zag-js/avatar";
5
+ //#region src/components/avatar.tsx
6
+ var Avatar = class extends ZagComponent {
7
+ static {
8
+ this[GEA_CTOR_TAG_NAME] = "avatar";
9
+ }
10
+ constructor(...args) {
11
+ super(...args);
12
+ this.loaded = false;
13
+ this.props;
14
+ this[geaCondValueSymbol(0)] = !!this.props.src;
15
+ this[GEA_REGISTER_COND](0, "c0", () => {
16
+ this.props;
17
+ return this.props.src;
18
+ }, () => {
19
+ const props = this.props;
20
+ return `<img data-part="image"${this.props.src == null || props.src === false ? "" : ` src="${geaSanitizeAttr("src", String(this.props.src))}"`}${(this.props.name || "") == null || (props.name || "") === false ? "" : ` alt="${this.props.name || ""}"`} class="avatar-image absolute inset-0 h-full w-full object-cover" />`;
21
+ }, () => {
22
+ this.props;
23
+ return "";
24
+ });
25
+ }
26
+ createMachine(_props) {
27
+ return avatar.machine;
28
+ }
29
+ getMachineProps(props) {
30
+ return {
31
+ id: this.id,
32
+ onStatusChange: props.onStatusChange
33
+ };
34
+ }
35
+ connectApi(service) {
36
+ return avatar.connect(service, normalizeProps);
37
+ }
38
+ getSpreadMap() {
39
+ return {
40
+ "[data-part=\"root\"]": "getRootProps",
41
+ "[data-part=\"image\"]": "getImageProps",
42
+ "[data-part=\"fallback\"]": "getFallbackProps"
43
+ };
44
+ }
45
+ syncState(api) {
46
+ this.loaded = api.loaded;
47
+ }
48
+ template(props) {
49
+ const __id = this.id;
50
+ Component._register(ZagComponent, "zag-component");
51
+ const initials = props.fallback || (props.name ? props.name.split(" ").map((n) => n[0]).join("").toUpperCase() : "?");
52
+ return `<div id="${__id}" data-part="root" class="${`avatar-root relative inline-flex h-10 w-10 shrink-0 overflow-hidden rounded-full ${props.class || ""}`.trim()}"><!--${__id + "-c0"}-->${(props.src ? `<img data-part="image"${props.src == null || props.src === false ? "" : ` src="${geaSanitizeAttr("src", String(props.src))}"`}${(props.name || "") == null || (props.name || "") === false ? "" : ` alt="${props.name || ""}"`} class="avatar-image absolute inset-0 h-full w-full object-cover" />` : "") || ""}<!--${__id + "-c0-end"}--><div id="${__id + "-b1"}" data-part="fallback" class="${`avatar-fallback flex h-full w-full items-center justify-center rounded-full bg-muted text-muted-foreground text-sm font-medium ${props.src ? "absolute inset-0" : ""}`.trim()}">${geaEscapeHtml(String(initials))}</div></div>`;
53
+ }
54
+ __onPropChange(key, value) {
55
+ const __id = this.id;
56
+ if (key === "class") {
57
+ const __el = this[GEA_ELEMENT];
58
+ this.props;
59
+ const __boundValue = `avatar-root relative inline-flex h-10 w-10 shrink-0 overflow-hidden rounded-full ${value || ""}`;
60
+ if (__el) {
61
+ const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
62
+ if (__el.className !== __newClass) __el.className = __newClass;
63
+ }
64
+ }
65
+ if (key === "src") {
66
+ const __el = this.__e0 || (this.__e0 = document.getElementById(__id + "-b1"));
67
+ this.props;
68
+ const __boundValue = `avatar-fallback flex h-full w-full items-center justify-center rounded-full bg-muted text-muted-foreground text-sm font-medium ${value ? "absolute inset-0" : ""}`;
69
+ if (__el) {
70
+ const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
71
+ if (__el.className !== __newClass) __el.className = __newClass;
72
+ }
73
+ }
74
+ if (key === "fallback") {
75
+ const __el = this.__e1 || (this.__e1 = document.getElementById(__id + "-b1"));
76
+ this.props;
77
+ const __boundValue = this.props.fallback || (this.props.name ? this.props.name.split(" ").map((n) => n[0]).join("").toUpperCase() : "?");
78
+ if (__el && __el.textContent !== __boundValue) __el.textContent = __boundValue;
79
+ }
80
+ if (key === "name") {
81
+ const __el = this.__e2 || (this.__e2 = document.getElementById(__id + "-b1"));
82
+ this.props;
83
+ const __boundValue = this.props.fallback || (this.props.name ? this.props.name.split(" ").map((n) => n[0]).join("").toUpperCase() : "?");
84
+ if (__el && __el.textContent !== __boundValue) __el.textContent = __boundValue;
85
+ }
86
+ if (key === "src" || key === "name") this[GEA_PATCH_COND](0);
87
+ }
88
+ *GEA_RESET_ELS() {
89
+ this.__e0 = null;
90
+ this.__e1 = null;
91
+ this.__e2 = null;
92
+ }
93
+ };
94
+ //#endregion
95
+ export { Avatar as default };
96
+
97
+ //# sourceMappingURL=avatar.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.mjs","names":["avatar","normalizeProps","ZagComponent","Avatar","GEA_CTOR_TAG_NAME","constructor","args","props","geaCondValueSymbol","src","GEA_REGISTER_COND","geaSanitizeAttr","String","name","loaded","createMachine","_props","machine","getMachineProps","id","onStatusChange","connectApi","service","connect","getSpreadMap","syncState","api","template","__id","Component","_register","initials","fallback","split","map","n","join","toUpperCase","class","trim","geaEscapeHtml","__onPropChange","key","value","__el","GEA_ELEMENT","__boundValue","__newClass","className","__e0","document","getElementById","__e1","textContent","__e2","GEA_PATCH_COND","GEA_RESET_ELS"],"sources":["../src/components/avatar.tsx"],"sourcesContent":["import * as avatar from '@zag-js/avatar'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class Avatar extends ZagComponent {\n loaded = false\n\n createMachine(_props: any): any {\n return avatar.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n onStatusChange: props.onStatusChange,\n }\n }\n\n connectApi(service: any) {\n return avatar.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"root\"]': 'getRootProps',\n '[data-part=\"image\"]': 'getImageProps',\n '[data-part=\"fallback\"]': 'getFallbackProps',\n }\n }\n\n syncState(api: any) {\n this.loaded = api.loaded\n }\n\n template(props: any) {\n const initials =\n props.fallback ||\n (props.name\n ? props.name\n .split(' ')\n .map((n: string) => n[0])\n .join('')\n .toUpperCase()\n : '?')\n return (\n <div\n data-part=\"root\"\n class={`avatar-root relative inline-flex h-10 w-10 shrink-0 overflow-hidden rounded-full ${props.class || ''}`}\n >\n {props.src ? (\n <img\n data-part=\"image\"\n src={props.src}\n alt={props.name || ''}\n class=\"avatar-image absolute inset-0 h-full w-full object-cover\"\n />\n ) : (\n ''\n )}\n <div\n data-part=\"fallback\"\n class={`avatar-fallback flex h-full w-full items-center justify-center rounded-full bg-muted text-muted-foreground text-sm font-medium ${props.src ? 'absolute inset-0' : ''}`}\n >\n {initials}\n </div>\n </div>\n )\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Component } from "@geajs/core";
2
+
3
+ //#region src/components/badge.d.ts
4
+ declare class Badge extends Component {
5
+ template(props: any): string;
6
+ }
7
+ //#endregion
8
+ export { Badge as default };
9
+ //# sourceMappingURL=badge.d.mts.map
package/dist/badge.mjs ADDED
@@ -0,0 +1,49 @@
1
+ import { t as cn } from "./cn.mjs";
2
+ import { Component, GEA_CTOR_TAG_NAME, GEA_ELEMENT } from "@geajs/core";
3
+ //#region src/components/badge.tsx
4
+ const variants = {
5
+ default: "border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",
6
+ secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
7
+ destructive: "border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",
8
+ outline: "text-foreground"
9
+ };
10
+ var Badge = class extends Component {
11
+ static {
12
+ this[GEA_CTOR_TAG_NAME] = "badge";
13
+ }
14
+ template(props) {
15
+ const __id = this.id;
16
+ const variant = variants[props.variant || "default"] || variants.default;
17
+ return `<span id="${__id}"${cn("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", variant, props.class) == null || cn("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", variant, props.class) === false ? "" : ` class="${(cn("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", variant, props.class) != null ? String(cn("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", variant, props.class)) : "").trim()}"`}>${props.children}</span>`;
18
+ }
19
+ __onPropChange(key, value) {
20
+ if (key === "variant") {
21
+ const __el = this[GEA_ELEMENT];
22
+ const __boundValue = cn("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", variants[this.props.variant || "default"] || variants.default, this.props.class);
23
+ if (__el) {
24
+ const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
25
+ if (__el.className !== __newClass) __el.className = __newClass;
26
+ }
27
+ }
28
+ if (key === "class") {
29
+ const __el = this[GEA_ELEMENT];
30
+ const __boundValue = cn("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", variants[this.props.variant || "default"] || variants.default, value);
31
+ if (__el) {
32
+ const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
33
+ if (__el.className !== __newClass) __el.className = __newClass;
34
+ }
35
+ }
36
+ if (key === "children") {
37
+ const __el = this[GEA_ELEMENT];
38
+ if (__el && __el.innerHTML !== value) {
39
+ __el.innerHTML = value;
40
+ this.instantiateChildComponents_();
41
+ if (this.parentComponent) this.parentComponent.mountCompiledChildComponents_();
42
+ }
43
+ }
44
+ }
45
+ };
46
+ //#endregion
47
+ export { Badge as default };
48
+
49
+ //# sourceMappingURL=badge.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.mjs","names":["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","cn","variants","Record","default","secondary","destructive","outline","Badge","template","props","__id","id","variant","class","String","trim","children","__onPropChange","key","value","__el","__boundValue","__newClass","className","innerHTML","instantiateChildComponents_","parentComponent","mountCompiledChildComponents_"],"sources":["../src/components/badge.tsx"],"sourcesContent":["import { Component } from '@geajs/core'\nimport { cn } from '../utils/cn'\n\nconst variants: Record<string, string> = {\n default: 'border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80',\n secondary: 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',\n destructive: 'border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80',\n outline: 'text-foreground',\n}\n\nexport default class Badge extends Component {\n template(props: any) {\n const variant = variants[props.variant || 'default'] || variants.default\n\n return (\n <span\n class={cn(\n 'inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n variant,\n props.class,\n )}\n >\n {props.children}\n </span>\n )\n }\n}\n"],"mappings":";;;AAGA,MAAMuC,WAAmC;CACvCE,SAAS;CACTC,WAAW;CACXC,aAAa;CACbC,SAAS;CACV;AAED,IAAqBC,QAArB,cAAmC7C,UAAU;;OAAAqC,qBAAA;;CAC3CS,SAASC,OAAY;EAAA,MAAAC,OAAA,KAAAC;EACnB,MAAMC,UAAUX,SAASQ,MAAMG,WAAW,cAAcX,SAASE;AAEjE,SAAA,aAAAO,KAAA,GAEWV,GACL,wKACAY,SACAH,MAAMI,MACP,IAAA,QAJMb,GACL,wKACAY,SACAH,MAAMI,MACP,KAAA,QAAA,KAAA,YAJMb,GACL,wKACAY,SACAH,MAAMI,MACP,IAAA,OAAAC,OAJMd,GACL,wKACAY,SACAH,MAAMI,MACP,CAAA,GAAA,IAAAE,MAAA,CAAA,GAAA,GAEAN,MAAMO,SAAQ;;CArBvBC,eAAsBC,KAAKC,OAAK;AAAA,MAAAD,QAAA,WAAA;GAAA,MAAAE,OAAA,KAAAxD;GAW4C,MAAAyD,eAI7DrB,GACL,wKALUC,SADC,KAAAQ,MACcG,WAAW,cAAcX,SAASE,SAMpD,KAAAM,MACDI,MAAK;AAAA,OAAAO,MAAA;IAAA,MAAAE,cAAAD,gBAAA,OAAAP,OAAAO,aAAA,GAAA,IAAAN,MAAA;AAAA,QAAAK,KAAAG,cAAAD,WAAAF,MAAAG,YAAAD;;;AAAA,MAAAJ,QAAA,SAAA;GAAA,MAAAE,OAAA,KAAAxD;GAPuD,MAAAyD,eAI7DrB,GACL,wKALUC,SADC,KAAAQ,MACcG,WAAW,cAAcX,SAASE,SAMpDgB,MAAA;AAAA,OAAAC,MAAA;IAAA,MAAAE,cAAAD,gBAAA,OAAAP,OAAAO,aAAA,GAAA,IAAAN,MAAA;AAAA,QAAAK,KAAAG,cAAAD,WAAAF,MAAAG,YAAAD;;;AAAA,MAAAJ,QAAA,YAAA;GAAA,MAAAE,OAAA,KAAAxD;AAAA,OAAAwD,QAAAA,KAAAI,cAAAL,OAAA;AAAAC,SAAAI,YAAAL;AAAA,SAAAM,6BAAA;AAAA,QAAA,KAAAC,gBAAA,MAAAA,gBAAAC,+BAAA"}
@@ -0,0 +1,21 @@
1
+ import { Component } from "@geajs/core";
2
+
3
+ //#region src/components/button.d.ts
4
+ type ButtonVariant = 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link';
5
+ type ButtonSize = 'default' | 'sm' | 'lg' | 'icon';
6
+ interface ButtonProps {
7
+ variant?: ButtonVariant | (string & {});
8
+ size?: ButtonSize | (string & {});
9
+ type?: 'button' | 'submit' | 'reset';
10
+ disabled?: boolean;
11
+ class?: string;
12
+ click?: MouseEventHandler<HTMLButtonElement>;
13
+ onClick?: MouseEventHandler<HTMLButtonElement>;
14
+ children?: ReactNode;
15
+ }
16
+ declare class Button extends Component<ButtonProps> {
17
+ template(props: ButtonProps): string;
18
+ }
19
+ //#endregion
20
+ export { ButtonProps, ButtonSize, ButtonVariant, Button as default };
21
+ //# sourceMappingURL=button.d.mts.map