@geajs/ui 0.2.4 → 0.2.9

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 (170) hide show
  1. package/dist/accordion.d.mts +2 -2
  2. package/dist/accordion.mjs +92 -122
  3. package/dist/accordion.mjs.map +1 -1
  4. package/dist/alert.d.mts +3 -3
  5. package/dist/alert.mjs +45 -107
  6. package/dist/alert.mjs.map +1 -1
  7. package/dist/avatar.d.mts +2 -2
  8. package/dist/avatar.mjs +38 -62
  9. package/dist/avatar.mjs.map +1 -1
  10. package/dist/badge.d.mts +1 -1
  11. package/dist/badge.mjs +18 -43
  12. package/dist/badge.mjs.map +1 -1
  13. package/dist/bind.mjs +130 -0
  14. package/dist/bind.mjs.map +1 -0
  15. package/dist/button.d.mts +3 -2
  16. package/dist/button.mjs +30 -85
  17. package/dist/button.mjs.map +1 -1
  18. package/dist/card.d.mts +6 -6
  19. package/dist/card.mjs +82 -194
  20. package/dist/card.mjs.map +1 -1
  21. package/dist/checkbox.d.mts +2 -2
  22. package/dist/checkbox.mjs +30 -31
  23. package/dist/checkbox.mjs.map +1 -1
  24. package/dist/clipboard.d.mts +2 -2
  25. package/dist/clipboard.mjs +49 -55
  26. package/dist/clipboard.mjs.map +1 -1
  27. package/dist/collapsible.d.mts +2 -2
  28. package/dist/collapsible.mjs +18 -45
  29. package/dist/collapsible.mjs.map +1 -1
  30. package/dist/combobox.d.mts +2 -2
  31. package/dist/combobox.mjs +322 -261
  32. package/dist/combobox.mjs.map +1 -1
  33. package/dist/compiled-component.mjs +119 -0
  34. package/dist/compiled-component.mjs.map +1 -0
  35. package/dist/compiled-reactive-component.mjs +337 -0
  36. package/dist/compiled-reactive-component.mjs.map +1 -0
  37. package/dist/component-id.mjs +10 -0
  38. package/dist/component-id.mjs.map +1 -0
  39. package/dist/conditional-truthy.mjs +48 -0
  40. package/dist/conditional-truthy.mjs.map +1 -0
  41. package/dist/conditional.mjs +54 -0
  42. package/dist/conditional.mjs.map +1 -0
  43. package/dist/delegate-event.mjs +53 -0
  44. package/dist/delegate-event.mjs.map +1 -0
  45. package/dist/dialog.d.mts +4 -3
  46. package/dist/dialog.mjs +57 -70
  47. package/dist/dialog.mjs.map +1 -1
  48. package/dist/dirty-symbols.mjs +7 -0
  49. package/dist/dirty-symbols.mjs.map +1 -0
  50. package/dist/disposer.mjs +46 -0
  51. package/dist/disposer.mjs.map +1 -0
  52. package/dist/dnd-manager.d.mts +9 -1
  53. package/dist/dnd-manager.mjs +67 -29
  54. package/dist/dnd-manager.mjs.map +1 -1
  55. package/dist/drag-drop-context.d.mts +1 -1
  56. package/dist/drag-drop-context.mjs +17 -33
  57. package/dist/drag-drop-context.mjs.map +1 -1
  58. package/dist/draggable.d.mts +1 -1
  59. package/dist/draggable.mjs +2 -91
  60. package/dist/draggable2.mjs +321 -0
  61. package/dist/draggable2.mjs.map +1 -0
  62. package/dist/droppable.d.mts +1 -1
  63. package/dist/droppable.mjs +20 -44
  64. package/dist/droppable.mjs.map +1 -1
  65. package/dist/file-upload.d.mts +2 -2
  66. package/dist/file-upload.mjs +337 -122
  67. package/dist/file-upload.mjs.map +1 -1
  68. package/dist/hover-card.d.mts +2 -2
  69. package/dist/hover-card.mjs +24 -59
  70. package/dist/hover-card.mjs.map +1 -1
  71. package/dist/index.mjs +3 -3
  72. package/dist/input.d.mts +1 -1
  73. package/dist/input.mjs +1 -93
  74. package/dist/input2.mjs +56 -0
  75. package/dist/input2.mjs.map +1 -0
  76. package/dist/internal-symbols.mjs +9 -0
  77. package/dist/internal-symbols.mjs.map +1 -0
  78. package/dist/item-obs.mjs +68 -0
  79. package/dist/item-obs.mjs.map +1 -0
  80. package/dist/keyed-list-symbols.mjs +6 -0
  81. package/dist/keyed-list-symbols.mjs.map +1 -0
  82. package/dist/keyed-list.mjs +487 -0
  83. package/dist/keyed-list.mjs.map +1 -0
  84. package/dist/label.d.mts +1 -1
  85. package/dist/label.mjs +20 -45
  86. package/dist/label.mjs.map +1 -1
  87. package/dist/menu.d.mts +2 -2
  88. package/dist/menu.mjs +87 -41
  89. package/dist/menu.mjs.map +1 -1
  90. package/dist/number-input.d.mts +2 -2
  91. package/dist/number-input.mjs +28 -32
  92. package/dist/number-input.mjs.map +1 -1
  93. package/dist/pagination.d.mts +2 -2
  94. package/dist/pagination.mjs +12 -35
  95. package/dist/pagination.mjs.map +1 -1
  96. package/dist/patch.mjs +21 -0
  97. package/dist/patch.mjs.map +1 -0
  98. package/dist/pin-input.d.mts +2 -2
  99. package/dist/pin-input.mjs +88 -87
  100. package/dist/pin-input.mjs.map +1 -1
  101. package/dist/popover.d.mts +2 -2
  102. package/dist/popover.mjs +45 -67
  103. package/dist/popover.mjs.map +1 -1
  104. package/dist/progress.d.mts +2 -2
  105. package/dist/progress.mjs +37 -43
  106. package/dist/progress.mjs.map +1 -1
  107. package/dist/radio-group.d.mts +2 -2
  108. package/dist/radio-group.mjs +99 -140
  109. package/dist/radio-group.mjs.map +1 -1
  110. package/dist/rating-group.d.mts +2 -2
  111. package/dist/rating-group.mjs +91 -99
  112. package/dist/rating-group.mjs.map +1 -1
  113. package/dist/reactive-attr.mjs +13 -0
  114. package/dist/reactive-attr.mjs.map +1 -0
  115. package/dist/reactive-bool.mjs +13 -0
  116. package/dist/reactive-bool.mjs.map +1 -0
  117. package/dist/reactive-class-name.mjs +15 -0
  118. package/dist/reactive-class-name.mjs.map +1 -0
  119. package/dist/reactive-class.mjs +53 -0
  120. package/dist/reactive-class.mjs.map +1 -0
  121. package/dist/reactive-style.mjs +21 -0
  122. package/dist/reactive-style.mjs.map +1 -0
  123. package/dist/reactive-text.mjs +62 -0
  124. package/dist/reactive-text.mjs.map +1 -0
  125. package/dist/select.d.mts +2 -2
  126. package/dist/select.mjs +106 -186
  127. package/dist/select.mjs.map +1 -1
  128. package/dist/separator.d.mts +1 -1
  129. package/dist/separator.mjs +19 -45
  130. package/dist/separator.mjs.map +1 -1
  131. package/dist/skeleton.d.mts +1 -1
  132. package/dist/skeleton.mjs +11 -35
  133. package/dist/skeleton.mjs.map +1 -1
  134. package/dist/slider.d.mts +2 -2
  135. package/dist/slider.mjs +31 -32
  136. package/dist/slider.mjs.map +1 -1
  137. package/dist/switch.d.mts +2 -2
  138. package/dist/switch.mjs +30 -31
  139. package/dist/switch.mjs.map +1 -1
  140. package/dist/tabs.d.mts +7 -2
  141. package/dist/tabs.mjs +180 -147
  142. package/dist/tabs.mjs.map +1 -1
  143. package/dist/tags-input.d.mts +2 -2
  144. package/dist/tags-input.mjs +102 -188
  145. package/dist/tags-input.mjs.map +1 -1
  146. package/dist/textarea.d.mts +1 -1
  147. package/dist/textarea.mjs +32 -75
  148. package/dist/textarea.mjs.map +1 -1
  149. package/dist/theme.css +4 -5
  150. package/dist/toast.d.mts +1 -1
  151. package/dist/toast.mjs +14 -34
  152. package/dist/toast.mjs.map +1 -1
  153. package/dist/toggle-group.d.mts +2 -2
  154. package/dist/toggle-group.mjs +78 -85
  155. package/dist/toggle-group.mjs.map +1 -1
  156. package/dist/tooltip.d.mts +2 -2
  157. package/dist/tooltip.mjs +23 -43
  158. package/dist/tooltip.mjs.map +1 -1
  159. package/dist/tree-view.d.mts +2 -2
  160. package/dist/tree-view.mjs +32 -50
  161. package/dist/tree-view.mjs.map +1 -1
  162. package/dist/types.d.mts +9 -0
  163. package/dist/zag-component.d.mts +25 -3
  164. package/dist/zag-component.mjs +63 -16
  165. package/dist/zag-component.mjs.map +1 -1
  166. package/package.json +4 -3
  167. package/dist/cn.mjs +0 -10
  168. package/dist/cn.mjs.map +0 -1
  169. package/dist/draggable.mjs.map +0 -1
  170. package/dist/input.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"combobox.mjs","names":["__v","v","valueOf","Component","geaCondValueSymbol","GEA_REGISTER_COND","geaEscapeHtml","GEA_ON_PROP_CHANGE","GEA_ELEMENT","GEA_PATCH_COND","GEA_DOM_KEY","GEA_DOM_ITEM","GEA_ENSURE_ARRAY_CONFIGS","GEA_APPLY_LIST_CHANGES","GEA_SETUP_LOCAL_STATE_OBSERVERS","GEA_STORE_ROOT","GEA_OBSERVE","combobox","normalizeProps","ZagComponent","Combobox","__geaTagName","__rowEls_b1","__dc_b1","constructor","args","props","label","String","open","value","inputValue","filteredItems","_allItems","created","items","createMachine","_props","machine","_buildCollection","collection","itemToValue","item","itemToString","_filterItems","query","q","toLowerCase","filtered","filter","includes","_machine","updateProps","getMachineProps","col","id","defaultValue","defaultInputValue","defaultOpen","multiple","disabled","readOnly","invalid","required","placeholder","inputBehavior","selectionBehavior","closeOnSelect","allowCustomValue","loopFocus","openOnClick","name","form","positioning","onValueChange","details","ValueChangeDetails","onInputValueChange","InputValueChangeDetails","onOpenChange","OpenChangeDetails","connectApi","service","connect","getSpreadMap","[data-part=\"item\"]","api","el","HTMLElement","dataset","getItemProps","[data-part=\"item-text\"]","getItemTextProps","[data-part=\"item-indicator\"]","getItemIndicatorProps","syncState","template","__id","_register","class","trim","map","renderFilteredItemsItem","join","key","__el","__boundValue","__newClass","replace","className","createFilteredItemsItem","__c","__filteredItems_container","__geaTpl","__tw","document","createElement","innerHTML","content","firstElementChild","removeAttribute","__err","console","error","cloneNode","__fw","__ref_0","__ref_1","nextElementSibling","__av","__newAttr","getAttribute","setAttribute","textContent","patchFilteredItemsItem","row","__prevItem","__observe_local_filteredItems","change","__gid","Array","isArray","length","__filteredItemsListConfig","arrayPathParts","render","bind","create","patchRow","getKey","propPatchers","__target","classList","toggle"],"sources":["../src/components/combobox.tsx"],"sourcesContent":["import * as combobox from '@zag-js/combobox'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class Combobox extends ZagComponent {\n declare open: boolean\n declare value: string[]\n declare inputValue: string\n declare filteredItems: any[]\n declare _allItems: any[]\n\n created(props: any) {\n this._allItems = props.items || []\n this.filteredItems = [...this._allItems]\n super.created(props)\n }\n\n createMachine(_props: any): any {\n return combobox.machine\n }\n\n _buildCollection(items: any[]) {\n return combobox.collection({\n items,\n itemToValue: (item: any) => item.value,\n itemToString: (item: any) => item.label || item.value,\n })\n }\n\n _filterItems(query: string) {\n const q = query.toLowerCase()\n const filtered = q\n ? this._allItems.filter((item: any) => (item.label || item.value).toLowerCase().includes(q))\n : [...this._allItems]\n this.filteredItems = filtered\n this._machine?.updateProps({ collection: this._buildCollection(filtered) })\n }\n\n getMachineProps(props: any) {\n const col = props.collection || this._buildCollection(this._allItems)\n\n return {\n id: this.id,\n collection: col,\n value: props.value,\n defaultValue: props.defaultValue,\n inputValue: props.inputValue,\n defaultInputValue: props.defaultInputValue,\n open: props.open,\n defaultOpen: props.defaultOpen,\n multiple: props.multiple,\n disabled: props.disabled,\n readOnly: props.readOnly,\n invalid: props.invalid,\n required: props.required,\n placeholder: props.placeholder,\n inputBehavior: props.inputBehavior ?? 'none',\n selectionBehavior: props.selectionBehavior ?? 'replace',\n closeOnSelect: props.closeOnSelect ?? true,\n allowCustomValue: props.allowCustomValue,\n loopFocus: props.loopFocus ?? true,\n openOnClick: props.openOnClick ?? false,\n name: props.name,\n form: props.form,\n positioning: props.positioning,\n onValueChange: (details: combobox.ValueChangeDetails) => {\n this.value = details.value\n props.onValueChange?.(details)\n },\n onInputValueChange: (details: combobox.InputValueChangeDetails) => {\n this.inputValue = details.inputValue\n this._filterItems(details.inputValue)\n props.onInputValueChange?.(details)\n },\n onOpenChange: (details: combobox.OpenChangeDetails) => {\n this.open = details.open\n props.onOpenChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return combobox.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"root\"]': 'getRootProps',\n '[data-part=\"label\"]': 'getLabelProps',\n '[data-part=\"control\"]': 'getControlProps',\n '[data-part=\"input\"]': 'getInputProps',\n '[data-part=\"trigger\"]': 'getTriggerProps',\n '[data-part=\"clear-trigger\"]': 'getClearTriggerProps',\n '[data-part=\"positioner\"]': 'getPositionerProps',\n '[data-part=\"content\"]': 'getContentProps',\n '[data-part=\"list\"]': 'getListProps',\n '[data-part=\"item\"]': (api, el) => {\n const value = (el as HTMLElement).dataset.value\n const label = (el as HTMLElement).dataset.label || value\n return api.getItemProps({ item: { value, label } })\n },\n '[data-part=\"item-text\"]': (api, el) => {\n const value = (el as HTMLElement).dataset.value\n const label = (el as HTMLElement).dataset.label || value\n return api.getItemTextProps({ item: { value, label } })\n },\n '[data-part=\"item-indicator\"]': (api, el) => {\n const value = (el as HTMLElement).dataset.value\n const label = (el as HTMLElement).dataset.label || value\n return api.getItemIndicatorProps({ item: { value, label } })\n },\n }\n }\n\n syncState(api: any) {\n this.open = api.open\n this.value = api.value\n this.inputValue = api.inputValue\n }\n\n template(props: any) {\n return (\n <div data-part=\"root\" class={props.class || ''}>\n {props.label && (\n <label data-part=\"label\" class=\"combobox-label text-sm font-medium mb-1 block\">\n {props.label}\n </label>\n )}\n <div data-part=\"control\" class=\"combobox-control flex\">\n <input\n data-part=\"input\"\n class=\"combobox-input flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring\"\n />\n <button\n data-part=\"trigger\"\n class=\"combobox-trigger inline-flex h-9 items-center justify-center rounded-r-md border border-l-0 border-input px-2\"\n >\n &#x25BC;\n </button>\n </div>\n <div data-part=\"positioner\" class=\"combobox-positioner\">\n <div\n data-part=\"content\"\n class=\"combobox-content z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md\"\n >\n <div data-part=\"list\">\n {this.filteredItems.map((item: any) => (\n <div\n key={item.value}\n data-part=\"item\"\n data-value={item.value}\n data-label={item.label}\n class=\"combobox-item relative flex cursor-pointer select-none items-center rounded-xs px-2 py-1.5 text-sm outline-hidden data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground\"\n >\n <span data-part=\"item-text\" data-value={item.value} data-label={item.label}>\n {item.label}\n </span>\n <span\n data-part=\"item-indicator\"\n data-value={item.value}\n data-label={item.label}\n class=\"combobox-item-indicator ml-auto\"\n >\n &#x2713;\n </span>\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"combobox.mjs","names":["GEA_CREATE_TEMPLATE","reactiveClass","reactiveTextValue","conditionalTruthy","reactiveAttr","GEA_DIRTY_PROPS","GEA_DOM_ITEM","GEA_PROXY_RAW","GEA_DIRTY","combobox","normalizeProps","ZagComponent","_tpl0_root","_tpl0_create","t","document","createElement","innerHTML","content","firstChild","_tpl1_root","_tpl1_create","_tpl2_root","_tpl2_create","Combobox","open","value","inputValue","filteredItems","_allItems","created","props","items","createMachine","_props","machine","_buildCollection","collection","itemToValue","item","itemToString","label","_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","d","root","cloneNode","el0","anchor1","parent2","childNodes","class","parentNode","marker0","t0","__ki_L0","idx","setAttribute","String","__n","nodeValue","__kp_L0","has","__r0","__r1","__r2","__kl_container","__kl_root","__kl_key","__kl_create","__k","__el","key","element","__kl_patch","e","newItem","newIdx","__raw","__kl_unwrap","v","__kl_resolve","Array","isArray","__kl_entries","__kl_byKey","Map","__kl_remove","entry","disposer","dispose","delete","removeChild","__kl_first","length","frag","ownerDocument","createDocumentFragment","i","push","set","appendChild","clear","__kl_prev","__kl_reconcile","arr","changes","structural","aipuOnly","change","type","aipu","a","arix","b","entryA","entryB","newAKey","newBKey","refB","nextSibling","insertBefore","raw","onlyAppends","appendCount","count","start","onlyRemoves","totalRemoved","splice","removed","j","sort","newLen","oldLen","nextEntries","newKeys","textContent","diffA","diffB","diffCount","disjoint","nextNodes","replaceChildren","_i","seenOld","fill","get","oldIdx","nextRef","observe","off","_value","add"],"sources":["../src/components/combobox.tsx"],"sourcesContent":["import * as combobox from '@zag-js/combobox'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class Combobox extends ZagComponent {\n declare open: boolean\n declare value: string[]\n declare inputValue: string\n declare filteredItems: any[]\n declare _allItems: any[]\n\n created(props: any) {\n this._allItems = props.items || []\n this.filteredItems = [...this._allItems]\n super.created(props)\n }\n\n createMachine(_props: any): any {\n return combobox.machine\n }\n\n _buildCollection(items: any[]) {\n return combobox.collection({\n items,\n itemToValue: (item: any) => item.value,\n itemToString: (item: any) => item.label || item.value,\n })\n }\n\n _filterItems(query: string) {\n const q = query.toLowerCase()\n const filtered = q\n ? this._allItems.filter((item: any) => (item.label || item.value).toLowerCase().includes(q))\n : [...this._allItems]\n this.filteredItems = filtered\n this._machine?.updateProps({ collection: this._buildCollection(filtered) })\n }\n\n getMachineProps(props: any) {\n const col = props.collection || this._buildCollection(this._allItems)\n\n return {\n id: this.id,\n collection: col,\n value: props.value,\n defaultValue: props.defaultValue,\n inputValue: props.inputValue,\n defaultInputValue: props.defaultInputValue,\n open: props.open,\n defaultOpen: props.defaultOpen,\n multiple: props.multiple,\n disabled: props.disabled,\n readOnly: props.readOnly,\n invalid: props.invalid,\n required: props.required,\n placeholder: props.placeholder,\n inputBehavior: props.inputBehavior ?? 'none',\n selectionBehavior: props.selectionBehavior ?? 'replace',\n closeOnSelect: props.closeOnSelect ?? true,\n allowCustomValue: props.allowCustomValue,\n loopFocus: props.loopFocus ?? true,\n openOnClick: props.openOnClick ?? false,\n name: props.name,\n form: props.form,\n positioning: props.positioning,\n onValueChange: (details: combobox.ValueChangeDetails) => {\n this.value = details.value\n props.onValueChange?.(details)\n },\n onInputValueChange: (details: combobox.InputValueChangeDetails) => {\n this.inputValue = details.inputValue\n this._filterItems(details.inputValue)\n props.onInputValueChange?.(details)\n },\n onOpenChange: (details: combobox.OpenChangeDetails) => {\n this.open = details.open\n props.onOpenChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return combobox.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"root\"]': 'getRootProps',\n '[data-part=\"label\"]': 'getLabelProps',\n '[data-part=\"control\"]': 'getControlProps',\n '[data-part=\"input\"]': 'getInputProps',\n '[data-part=\"trigger\"]': 'getTriggerProps',\n '[data-part=\"clear-trigger\"]': 'getClearTriggerProps',\n '[data-part=\"positioner\"]': 'getPositionerProps',\n '[data-part=\"content\"]': 'getContentProps',\n '[data-part=\"list\"]': 'getListProps',\n '[data-part=\"item\"]': (api, el) => {\n const value = (el as HTMLElement).dataset.value\n const label = (el as HTMLElement).dataset.label || value\n return api.getItemProps({ item: { value, label } })\n },\n '[data-part=\"item-text\"]': (api, el) => {\n const value = (el as HTMLElement).dataset.value\n const label = (el as HTMLElement).dataset.label || value\n return api.getItemTextProps({ item: { value, label } })\n },\n '[data-part=\"item-indicator\"]': (api, el) => {\n const value = (el as HTMLElement).dataset.value\n const label = (el as HTMLElement).dataset.label || value\n return api.getItemIndicatorProps({ item: { value, label } })\n },\n }\n }\n\n syncState(api: any) {\n this.open = api.open\n this.value = api.value\n this.inputValue = api.inputValue\n }\n\n template(props: any) {\n return (\n <div data-part=\"root\" class={props.class || ''}>\n {props.label && (\n <label data-part=\"label\" class=\"combobox-label text-sm font-medium mb-1 block\">\n {props.label}\n </label>\n )}\n <div data-part=\"control\" class=\"combobox-control flex\">\n <input\n data-part=\"input\"\n class=\"combobox-input flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring\"\n />\n <button\n data-part=\"trigger\"\n class=\"combobox-trigger inline-flex h-9 items-center justify-center rounded-r-md border border-l-0 border-input px-2\"\n >\n &#x25BC;\n </button>\n </div>\n <div data-part=\"positioner\" class=\"combobox-positioner\">\n <div\n data-part=\"content\"\n class=\"combobox-content z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md\"\n >\n <div data-part=\"list\">\n {this.filteredItems.map((item: any) => (\n <div\n key={item.value}\n data-part=\"item\"\n data-value={item.value}\n data-label={item.label}\n class=\"combobox-item relative flex cursor-pointer select-none items-center rounded-xs px-2 py-1.5 text-sm outline-hidden data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground\"\n >\n <span data-part=\"item-text\" data-value={item.value} data-label={item.label}>\n {item.label}\n </span>\n <span\n data-part=\"item-indicator\"\n data-value={item.value}\n data-label={item.label}\n class=\"combobox-item-indicator ml-auto\"\n >\n &#x2713;\n </span>\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ import { n as createDisposer } from "./disposer.mjs";
2
+ import { c as GEA_ELEMENT, l as GEA_ON_PROP_CHANGE, o as GEA_CREATE_TEMPLATE, s as GEA_DOM_COMPONENT } from "./bind.mjs";
3
+ import { i as GEA_SET_PROPS, n as GEA_DISPOSER, t as GEA_CREATED_CALLED } from "./internal-symbols.mjs";
4
+ import { t as getComponentId } from "./component-id.mjs";
5
+ import { clsx } from "clsx";
6
+ import { twMerge } from "tailwind-merge";
7
+ //#region src/utils/cn.ts
8
+ function cn(...inputs) {
9
+ return twMerge(clsx(inputs));
10
+ }
11
+ //#endregion
12
+ //#region ../gea/src/runtime/compiled-component.ts
13
+ const GEA_COMPONENT_ID = Symbol();
14
+ const GEA_LAST_PROP_VALUES = Symbol();
15
+ var CompiledComponent = class CompiledComponent {
16
+ constructor() {
17
+ this.rendered = false;
18
+ this.props = {};
19
+ this[GEA_ELEMENT] = null;
20
+ this[GEA_DISPOSER] = createDisposer();
21
+ this[GEA_CREATED_CALLED] = false;
22
+ }
23
+ get id() {
24
+ return this[GEA_COMPONENT_ID] ??= getComponentId();
25
+ }
26
+ set id(value) {
27
+ this[GEA_COMPONENT_ID] = value;
28
+ }
29
+ get el() {
30
+ return this[GEA_ELEMENT] ?? null;
31
+ }
32
+ [GEA_SET_PROPS](thunks) {
33
+ const createdCalled = this[GEA_CREATED_CALLED];
34
+ const notifyPropChange = createdCalled ? this[GEA_ON_PROP_CHANGE] : void 0;
35
+ const prevValues = typeof notifyPropChange === "function" ? this[GEA_LAST_PROP_VALUES] : void 0;
36
+ const out = {};
37
+ for (const k in thunks) Object.defineProperty(out, k, {
38
+ enumerable: true,
39
+ configurable: true,
40
+ get: () => thunks[k]()
41
+ });
42
+ if (typeof thunks.children === "function") {
43
+ let cached = void 0;
44
+ let cacheNode = false;
45
+ Object.defineProperty(out, "children", {
46
+ enumerable: true,
47
+ configurable: true,
48
+ get: () => {
49
+ if (cacheNode) return cached;
50
+ const v = thunks.children();
51
+ if (v && typeof v.nodeType === "number") {
52
+ cached = v;
53
+ cacheNode = true;
54
+ }
55
+ return v;
56
+ }
57
+ });
58
+ }
59
+ this.props = out;
60
+ const nextValues = {};
61
+ for (const key in thunks) nextValues[key] = this.props?.[key];
62
+ this[GEA_LAST_PROP_VALUES] = nextValues;
63
+ if (!createdCalled) {
64
+ this[GEA_CREATED_CALLED] = true;
65
+ if (this.created !== CompiledComponent.prototype.created) this.created(this.props);
66
+ } else if (typeof notifyPropChange === "function") for (const key in thunks) {
67
+ const prev = prevValues?.[key];
68
+ const next = this.props?.[key];
69
+ if (next !== prev || prev !== null && typeof prev === "object") notifyPropChange.call(this, key, next);
70
+ }
71
+ }
72
+ [GEA_CREATE_TEMPLATE](_disposer) {
73
+ return document.createDocumentFragment();
74
+ }
75
+ render(parent, _index) {
76
+ if (!this[GEA_CREATED_CALLED]) {
77
+ this[GEA_CREATED_CALLED] = true;
78
+ if (this.created !== CompiledComponent.prototype.created) this.created(this.props);
79
+ }
80
+ let node = this[GEA_CREATE_TEMPLATE](this[GEA_DISPOSER]);
81
+ if (node == null) node = document.createComment("");
82
+ if (typeof node.nodeType !== "number") if (Array.isArray(node)) {
83
+ const frag = document.createDocumentFragment();
84
+ for (const n of node) {
85
+ if (n == null) continue;
86
+ if (typeof n.nodeType === "number") frag.appendChild(n);
87
+ else frag.appendChild(document.createTextNode(String(n)));
88
+ }
89
+ node = frag;
90
+ } else node = document.createTextNode(String(node));
91
+ parent.appendChild(node);
92
+ if (node.nodeType === 11) this[GEA_ELEMENT] = parent.lastElementChild ?? null;
93
+ else if (node.nodeType === 1) this[GEA_ELEMENT] = node;
94
+ const el = this[GEA_ELEMENT];
95
+ if (el) el[GEA_DOM_COMPONENT] = this;
96
+ this.rendered = true;
97
+ this.onAfterRender();
98
+ }
99
+ onAfterRender() {}
100
+ created(_props) {}
101
+ dispose() {
102
+ this[GEA_DISPOSER].dispose();
103
+ const e = this[GEA_ELEMENT];
104
+ if (e && e.parentNode) e.parentNode.removeChild(e);
105
+ this[GEA_ELEMENT] = null;
106
+ }
107
+ $(sel) {
108
+ const e = this[GEA_ELEMENT];
109
+ return e ? e.querySelector(sel) : null;
110
+ }
111
+ $$(sel) {
112
+ const e = this[GEA_ELEMENT];
113
+ return e ? Array.from(e.querySelectorAll(sel)) : [];
114
+ }
115
+ };
116
+ //#endregion
117
+ export { cn as n, CompiledComponent as t };
118
+
119
+ //# sourceMappingURL=compiled-component.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiled-component.mjs","names":[],"sources":["../src/utils/cn.ts","../../gea/src/runtime/compiled-component.ts"],"sourcesContent":["import { clsx, type ClassValue } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import { GEA_CREATE_TEMPLATE, GEA_DOM_COMPONENT, GEA_ELEMENT, GEA_ON_PROP_CHANGE } from './symbols'\nimport { GEA_CREATED_CALLED, GEA_DISPOSER, GEA_SET_PROPS } from './internal-symbols'\nimport { createDisposer, type Disposer } from './disposer'\nimport { getComponentId } from './component-id'\n\ntype PropThunks = Record<string, () => any>\nconst GEA_COMPONENT_ID = Symbol()\nconst GEA_LAST_PROP_VALUES = Symbol()\n\nexport class CompiledComponent<P extends Record<string, any> = Record<string, any>> {\n rendered = false\n props: P = {} as P;\n\n [GEA_ELEMENT] = null as HTMLElement | null;\n [GEA_DISPOSER] = createDisposer() as Disposer;\n [GEA_CREATED_CALLED] = false\n\n get id(): string {\n return ((this as any)[GEA_COMPONENT_ID] ??= getComponentId())\n }\n\n set id(value: string) {\n ;(this as any)[GEA_COMPONENT_ID] = value\n }\n\n get el(): HTMLElement | null {\n return this[GEA_ELEMENT] ?? null\n }\n\n [GEA_SET_PROPS](thunks: PropThunks): void {\n const createdCalled = this[GEA_CREATED_CALLED]\n const notifyPropChange = createdCalled ? (this as any)[GEA_ON_PROP_CHANGE] : undefined\n const prevValues: Record<string, any> | undefined =\n typeof notifyPropChange === 'function' ? (this as any)[GEA_LAST_PROP_VALUES] : undefined\n const out: Record<string, any> = {}\n for (const k in thunks) {\n Object.defineProperty(out, k, {\n enumerable: true,\n configurable: true,\n get: () => thunks[k](),\n })\n }\n if (typeof thunks.children === 'function') {\n let cached: any = undefined\n let cacheNode = false\n Object.defineProperty(out, 'children', {\n enumerable: true,\n configurable: true,\n get: () => {\n if (cacheNode) return cached\n const v = thunks.children()\n if (v && typeof v.nodeType === 'number') {\n cached = v\n cacheNode = true\n }\n return v\n },\n })\n }\n this.props = out as P\n const nextValues: Record<string, any> = {}\n for (const key in thunks) nextValues[key] = this.props?.[key]\n ;(this as any)[GEA_LAST_PROP_VALUES] = nextValues\n if (!createdCalled) {\n this[GEA_CREATED_CALLED] = true\n if (this.created !== CompiledComponent.prototype.created) this.created(this.props)\n } else if (typeof notifyPropChange === 'function') {\n for (const key in thunks) {\n const prev = prevValues?.[key]\n const next = this.props?.[key]\n if (next !== prev || (prev !== null && typeof prev === 'object')) notifyPropChange.call(this, key, next)\n }\n }\n }\n\n [GEA_CREATE_TEMPLATE](_disposer: Disposer): Node {\n return document.createDocumentFragment()\n }\n\n render(parent: Node, _index?: number): void {\n if (!this[GEA_CREATED_CALLED]) {\n this[GEA_CREATED_CALLED] = true\n if (this.created !== CompiledComponent.prototype.created) this.created(this.props)\n }\n let node = this[GEA_CREATE_TEMPLATE](this[GEA_DISPOSER])\n if (node == null) node = document.createComment('')\n if (typeof (node as any).nodeType !== 'number') {\n if (Array.isArray(node)) {\n const frag = document.createDocumentFragment()\n for (const n of node) {\n if (n == null) continue\n if (typeof (n as any).nodeType === 'number') frag.appendChild(n as Node)\n else frag.appendChild(document.createTextNode(String(n)))\n }\n node = frag\n } else {\n node = document.createTextNode(String(node))\n }\n }\n parent.appendChild(node)\n if (node.nodeType === 11) {\n this[GEA_ELEMENT] = ((parent as Element).lastElementChild as HTMLElement | null) ?? null\n } else if (node.nodeType === 1) {\n this[GEA_ELEMENT] = node as HTMLElement\n }\n const el = this[GEA_ELEMENT] as any\n if (el) el[GEA_DOM_COMPONENT] = this\n this.rendered = true\n this.onAfterRender()\n }\n\n onAfterRender(): void {\n /* no-op */\n }\n\n created(_props?: P): void {\n /* no-op */\n }\n\n dispose(): void {\n this[GEA_DISPOSER].dispose()\n const e = this[GEA_ELEMENT] as HTMLElement | null\n if (e && e.parentNode) e.parentNode.removeChild(e)\n this[GEA_ELEMENT] = null\n }\n\n $(sel: string): Element | null {\n const e = this[GEA_ELEMENT] as HTMLElement | null\n return e ? e.querySelector(sel) : null\n }\n\n $$(sel: string): Element[] {\n const e = this[GEA_ELEMENT] as HTMLElement | null\n return e ? Array.from(e.querySelectorAll(sel)) : []\n }\n}\n\nexport default CompiledComponent\n"],"mappings":"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"}
@@ -0,0 +1,337 @@
1
+ import { n as createDisposer } from "./disposer.mjs";
2
+ import { c as GEA_ELEMENT, d as GEA_STORE_ROOT, l as GEA_ON_PROP_CHANGE, n as trackRead, o as GEA_CREATE_TEMPLATE, s as GEA_DOM_COMPONENT, u as GEA_PROXY_RAW } from "./bind.mjs";
3
+ import { i as GEA_SET_PROPS, n as GEA_DISPOSER, r as GEA_OBSERVE_DIRECT, t as GEA_CREATED_CALLED } from "./internal-symbols.mjs";
4
+ import { t as getComponentId } from "./component-id.mjs";
5
+ import { n as _DIRTY_PROPS, t as _DIRTY } from "./dirty-symbols.mjs";
6
+ //#region ../gea/src/runtime/compiled-store.ts
7
+ const _priv = /* @__PURE__ */ new WeakMap();
8
+ const _nestedCache = /* @__PURE__ */ new WeakMap();
9
+ const _isArr = Array.isArray;
10
+ function _isPlain(v) {
11
+ if (!v || typeof v !== "object") return false;
12
+ const p = Object.getPrototypeOf(v);
13
+ return p === Object.prototype || p === null || _isArr(v);
14
+ }
15
+ function _unwrap(v) {
16
+ return v && v[GEA_PROXY_RAW] || v;
17
+ }
18
+ function _flush(raw, state) {
19
+ state.scheduled = false;
20
+ const pending = state.pending;
21
+ if (!pending || pending.size === 0) return;
22
+ state.pending = void 0;
23
+ let allChanges = null;
24
+ for (const [prop, changes] of pending) {
25
+ if (state.rootObservers || state.derived) {
26
+ allChanges ??= [];
27
+ for (let i = 0; i < changes.length; i++) allChanges.push(changes[i]);
28
+ }
29
+ const bucket = state.observers?.get(prop);
30
+ if (!bucket || bucket.size === 0) continue;
31
+ for (const h of bucket) h(raw[prop], changes);
32
+ }
33
+ if (allChanges && state.rootObservers) for (const h of state.rootObservers) h(raw, allChanges);
34
+ if (allChanges && state.derived) for (const [prop, bucket] of state.derived) {
35
+ if (bucket.size === 0) continue;
36
+ let value;
37
+ try {
38
+ value = raw[prop];
39
+ } catch {
40
+ continue;
41
+ }
42
+ for (const h of bucket) h(value, allChanges);
43
+ }
44
+ }
45
+ function _queue(raw, state, prop, change = {}) {
46
+ if (!state.ready || !state.observers?.has(prop)) return;
47
+ const rec = {
48
+ prop,
49
+ pathParts: [prop],
50
+ type: "update",
51
+ target: raw,
52
+ ...change
53
+ };
54
+ const pending = state.pending ?? (state.pending = /* @__PURE__ */ new Map());
55
+ const arr = pending.get(prop);
56
+ if (arr) arr.push(rec);
57
+ else pending.set(prop, [rec]);
58
+ if (!state.scheduled) {
59
+ state.scheduled = true;
60
+ queueMicrotask(() => _flush(raw, state));
61
+ }
62
+ }
63
+ function _wrapNested(raw, state, target, rootProp) {
64
+ if (!_isPlain(target)) return target;
65
+ let perTarget = _nestedCache.get(target);
66
+ if (perTarget) {
67
+ const cached = perTarget.get(rootProp);
68
+ if (cached) return cached;
69
+ }
70
+ const proxy = new Proxy(target, {
71
+ get(obj, prop) {
72
+ if (prop === GEA_PROXY_RAW) return obj;
73
+ if (typeof prop === "symbol") return obj[prop];
74
+ const val = obj[prop];
75
+ if (_isArr(obj) && typeof val === "function") {
76
+ if (prop === "push") return (...args) => {
77
+ const start = obj.length;
78
+ const result = Array.prototype.push.apply(obj, args.map(_unwrap));
79
+ if (obj === raw[rootProp] && obj.length > start) _queue(raw, state, rootProp, {
80
+ type: "append",
81
+ start,
82
+ count: obj.length - start
83
+ });
84
+ return result;
85
+ };
86
+ if (prop === "splice") return (...args) => {
87
+ const before = obj.length;
88
+ const start = args[0] | 0;
89
+ const result = Array.prototype.splice.apply(obj, args.length > 2 ? [
90
+ args[0],
91
+ args[1],
92
+ ...args.slice(2).map(_unwrap)
93
+ ] : args);
94
+ if (obj === raw[rootProp]) {
95
+ const after = obj.length;
96
+ if (after < before) _queue(raw, state, rootProp, {
97
+ type: "remove",
98
+ start,
99
+ count: before - after
100
+ });
101
+ else _queue(raw, state, rootProp, { type: "reorder" });
102
+ }
103
+ return result;
104
+ };
105
+ }
106
+ return _isPlain(val) ? _wrapNested(raw, state, val, rootProp) : val;
107
+ },
108
+ set(obj, prop, value) {
109
+ if (typeof prop === "symbol") {
110
+ obj[prop] = value;
111
+ return true;
112
+ }
113
+ value = _unwrap(value);
114
+ const old = obj[prop];
115
+ if (old === value) return true;
116
+ obj[prop] = value;
117
+ if (_isArr(obj)) {
118
+ if (value && typeof value === "object") value[_DIRTY] = true;
119
+ const idx = +prop;
120
+ if (Number.isInteger(idx) && obj === raw[rootProp]) {
121
+ _queue(raw, state, rootProp, {
122
+ aipu: true,
123
+ arix: idx,
124
+ previousValue: old,
125
+ newValue: value
126
+ });
127
+ return true;
128
+ }
129
+ } else {
130
+ obj[_DIRTY] = true;
131
+ (obj[_DIRTY_PROPS] ??= /* @__PURE__ */ new Set()).add(prop);
132
+ }
133
+ _queue(raw, state, rootProp, {
134
+ previousValue: old,
135
+ newValue: value
136
+ });
137
+ return true;
138
+ }
139
+ });
140
+ if (!perTarget) {
141
+ perTarget = /* @__PURE__ */ new Map();
142
+ _nestedCache.set(target, perTarget);
143
+ }
144
+ perTarget.set(rootProp, proxy);
145
+ return proxy;
146
+ }
147
+ var CompiledStore = class {
148
+ constructor() {
149
+ const state = { ready: false };
150
+ _priv.set(this, state);
151
+ const proxy = new Proxy(this, {
152
+ get(target, prop, receiver) {
153
+ if (prop === GEA_PROXY_RAW) return target;
154
+ if (typeof prop === "symbol") return target[prop];
155
+ trackRead(receiver ?? target, prop);
156
+ const value = target[prop];
157
+ if (typeof value === "function") return value.bind(receiver);
158
+ return _isPlain(value) ? _wrapNested(target, state, value, prop) : value;
159
+ },
160
+ set(target, prop, value) {
161
+ if (typeof prop === "symbol") {
162
+ target[prop] = value;
163
+ return true;
164
+ }
165
+ value = _unwrap(value);
166
+ const old = target[prop];
167
+ if (old === value && prop in target) return true;
168
+ if (old && typeof old === "object") _nestedCache.delete(old);
169
+ target[prop] = value;
170
+ const direct = state.direct?.get(prop);
171
+ if (direct) for (const h of direct) h(value);
172
+ _queue(target, state, prop, {
173
+ previousValue: old,
174
+ newValue: value
175
+ });
176
+ return true;
177
+ }
178
+ });
179
+ _priv.set(proxy, state);
180
+ this[GEA_STORE_ROOT] = proxy;
181
+ return proxy;
182
+ }
183
+ observe(pathOrProp, handler) {
184
+ const state = _priv.get(this);
185
+ if (!state) return () => {};
186
+ state.ready = true;
187
+ const isArr = Array.isArray(pathOrProp);
188
+ if (isArr && pathOrProp.length === 0 || pathOrProp === "") {
189
+ const bucket = state.rootObservers ?? (state.rootObservers = /* @__PURE__ */ new Set());
190
+ bucket.add(handler);
191
+ return () => bucket.delete(handler);
192
+ }
193
+ const prop = isArr ? pathOrProp[0] : pathOrProp;
194
+ const tail = isArr && pathOrProp.length > 1 ? pathOrProp.slice(1) : null;
195
+ const finalHandler = tail ? (value, changes) => {
196
+ let next = value;
197
+ for (let i = 0; i < tail.length; i++) {
198
+ if (next == null) return;
199
+ next = next[tail[i]];
200
+ }
201
+ handler(next, changes);
202
+ } : handler;
203
+ let isDerived = false;
204
+ if (!Object.prototype.hasOwnProperty.call(this, prop)) for (let proto = Object.getPrototypeOf(this); proto && proto !== Object.prototype; proto = Object.getPrototypeOf(proto)) {
205
+ const descriptor = Object.getOwnPropertyDescriptor(proto, prop);
206
+ if (descriptor) {
207
+ isDerived = !!descriptor.get;
208
+ break;
209
+ }
210
+ }
211
+ const observers = isDerived ? state.derived ?? (state.derived = /* @__PURE__ */ new Map()) : state.observers ?? (state.observers = /* @__PURE__ */ new Map());
212
+ let bucket = observers.get(prop);
213
+ if (!bucket) observers.set(prop, bucket = /* @__PURE__ */ new Set());
214
+ bucket.add(finalHandler);
215
+ return () => bucket.delete(finalHandler);
216
+ }
217
+ [GEA_OBSERVE_DIRECT](prop, handler) {
218
+ const state = _priv.get(this);
219
+ if (!state) return () => {};
220
+ state.ready = true;
221
+ const direct = state.direct ?? (state.direct = /* @__PURE__ */ new Map());
222
+ let bucket = direct.get(prop);
223
+ if (!bucket) direct.set(prop, bucket = /* @__PURE__ */ new Set());
224
+ bucket.add(handler);
225
+ return () => bucket.delete(handler);
226
+ }
227
+ };
228
+ //#endregion
229
+ //#region ../gea/src/runtime/compiled-reactive-component.ts
230
+ const GEA_COMPONENT_ID = Symbol();
231
+ const GEA_LAST_PROP_VALUES = Symbol();
232
+ var CompiledReactiveComponent = class CompiledReactiveComponent extends CompiledStore {
233
+ constructor(..._args) {
234
+ super(..._args);
235
+ this.rendered = false;
236
+ this.props = {};
237
+ this[GEA_ELEMENT] = null;
238
+ this[GEA_DISPOSER] = createDisposer();
239
+ this[GEA_CREATED_CALLED] = false;
240
+ }
241
+ get id() {
242
+ return this[GEA_COMPONENT_ID] ??= getComponentId();
243
+ }
244
+ set id(value) {
245
+ this[GEA_COMPONENT_ID] = value;
246
+ }
247
+ get el() {
248
+ return this[GEA_ELEMENT] ?? null;
249
+ }
250
+ [GEA_SET_PROPS](thunks) {
251
+ const createdCalled = this[GEA_CREATED_CALLED];
252
+ const notifyPropChange = createdCalled ? this[GEA_ON_PROP_CHANGE] : void 0;
253
+ const prevValues = typeof notifyPropChange === "function" ? this[GEA_LAST_PROP_VALUES] : void 0;
254
+ const out = {};
255
+ for (const k in thunks) Object.defineProperty(out, k, {
256
+ enumerable: true,
257
+ configurable: true,
258
+ get: () => thunks[k]()
259
+ });
260
+ if (typeof thunks.children === "function") {
261
+ let cached = void 0;
262
+ let cacheNode = false;
263
+ Object.defineProperty(out, "children", {
264
+ enumerable: true,
265
+ configurable: true,
266
+ get: () => {
267
+ if (cacheNode) return cached;
268
+ const v = thunks.children();
269
+ if (v && typeof v.nodeType === "number") {
270
+ cached = v;
271
+ cacheNode = true;
272
+ }
273
+ return v;
274
+ }
275
+ });
276
+ }
277
+ this.props = out;
278
+ const nextValues = {};
279
+ for (const key in thunks) nextValues[key] = this.props?.[key];
280
+ this[GEA_LAST_PROP_VALUES] = nextValues;
281
+ if (!createdCalled) {
282
+ this[GEA_CREATED_CALLED] = true;
283
+ if (this.created !== CompiledReactiveComponent.prototype.created) this.created(this.props);
284
+ } else if (typeof notifyPropChange === "function") for (const key in thunks) {
285
+ const prev = prevValues?.[key];
286
+ const next = this.props?.[key];
287
+ if (next !== prev || prev !== null && typeof prev === "object") notifyPropChange.call(this, key, next);
288
+ }
289
+ }
290
+ [GEA_CREATE_TEMPLATE](_disposer) {
291
+ return document.createDocumentFragment();
292
+ }
293
+ render(parent, _index) {
294
+ if (!this[GEA_CREATED_CALLED]) {
295
+ this[GEA_CREATED_CALLED] = true;
296
+ if (this.created !== CompiledReactiveComponent.prototype.created) this.created(this.props);
297
+ }
298
+ let node = this[GEA_CREATE_TEMPLATE](this[GEA_DISPOSER]);
299
+ if (node == null) node = document.createComment("");
300
+ if (typeof node.nodeType !== "number") if (Array.isArray(node)) {
301
+ const frag = document.createDocumentFragment();
302
+ for (const n of node) {
303
+ if (n == null) continue;
304
+ if (typeof n.nodeType === "number") frag.appendChild(n);
305
+ else frag.appendChild(document.createTextNode(String(n)));
306
+ }
307
+ node = frag;
308
+ } else node = document.createTextNode(String(node));
309
+ parent.appendChild(node);
310
+ if (node.nodeType === 11) this[GEA_ELEMENT] = parent.lastElementChild ?? null;
311
+ else if (node.nodeType === 1) this[GEA_ELEMENT] = node;
312
+ const el = this[GEA_ELEMENT];
313
+ if (el) el[GEA_DOM_COMPONENT] = this;
314
+ this.rendered = true;
315
+ this.onAfterRender();
316
+ }
317
+ onAfterRender() {}
318
+ created(_props) {}
319
+ dispose() {
320
+ this[GEA_DISPOSER].dispose();
321
+ const e = this[GEA_ELEMENT];
322
+ if (e && e.parentNode) e.parentNode.removeChild(e);
323
+ this[GEA_ELEMENT] = null;
324
+ }
325
+ $(sel) {
326
+ const e = this[GEA_ELEMENT];
327
+ return e ? e.querySelector(sel) : null;
328
+ }
329
+ $$(sel) {
330
+ const e = this[GEA_ELEMENT];
331
+ return e ? Array.from(e.querySelectorAll(sel)) : [];
332
+ }
333
+ };
334
+ //#endregion
335
+ export { CompiledReactiveComponent as t };
336
+
337
+ //# sourceMappingURL=compiled-reactive-component.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiled-reactive-component.mjs","names":["GEA_DIRTY","GEA_DIRTY_PROPS"],"sources":["../../gea/src/runtime/compiled-store.ts","../../gea/src/runtime/compiled-reactive-component.ts"],"sourcesContent":["import { GEA_PROXY_RAW, GEA_STORE_ROOT } from './symbols'\nimport { GEA_OBSERVE_DIRECT } from './internal-symbols'\nimport { GEA_DIRTY, GEA_DIRTY_PROPS } from './dirty-symbols'\nimport { trackRead } from './with-tracking'\n\ntype Handler = (value: any, changes?: any[]) => void\n\ninterface StoreState {\n observers?: Map<string, Set<Handler>>\n rootObservers?: Set<Handler>\n derived?: Map<string, Set<Handler>>\n direct?: Map<string, Set<(value: any) => void>>\n pending?: Map<string, any[]>\n scheduled?: boolean\n ready?: boolean\n}\n\nconst _priv = new WeakMap<any, StoreState>()\nconst _nestedCache = new WeakMap<object, Map<string, any>>()\nconst _isArr = Array.isArray\n\nfunction _isPlain(v: any): boolean {\n if (!v || typeof v !== 'object') return false\n const p = Object.getPrototypeOf(v)\n return p === Object.prototype || p === null || _isArr(v)\n}\n\nfunction _unwrap(v: any): any {\n return (v && v[GEA_PROXY_RAW]) || v\n}\n\nfunction _flush(raw: any, state: StoreState): void {\n state.scheduled = false\n const pending = state.pending\n if (!pending || pending.size === 0) return\n state.pending = undefined\n let allChanges: any[] | null = null\n for (const [prop, changes] of pending) {\n if (state.rootObservers || state.derived) {\n allChanges ??= []\n for (let i = 0; i < changes.length; i++) allChanges.push(changes[i])\n }\n const bucket = state.observers?.get(prop)\n if (!bucket || bucket.size === 0) continue\n for (const h of bucket) h(raw[prop], changes)\n }\n if (allChanges && state.rootObservers) {\n for (const h of state.rootObservers) h(raw, allChanges)\n }\n if (allChanges && state.derived) {\n for (const [prop, bucket] of state.derived) {\n if (bucket.size === 0) continue\n let value: any\n try {\n value = raw[prop]\n } catch {\n continue\n }\n for (const h of bucket) h(value, allChanges)\n }\n }\n}\n\nfunction _queue(raw: any, state: StoreState, prop: string, change: any = {}): void {\n if (!state.ready || !state.observers?.has(prop)) return\n const rec = { prop, pathParts: [prop], type: 'update', target: raw, ...change }\n const pending = state.pending ?? (state.pending = new Map())\n const arr = pending.get(prop)\n if (arr) arr.push(rec)\n else pending.set(prop, [rec])\n if (!state.scheduled) {\n state.scheduled = true\n queueMicrotask(() => _flush(raw, state))\n }\n}\n\nfunction _wrapNested(raw: any, state: StoreState, target: any, rootProp: string): any {\n if (!_isPlain(target)) return target\n let perTarget = _nestedCache.get(target)\n if (perTarget) {\n const cached = perTarget.get(rootProp)\n if (cached) return cached\n }\n const proxy = new Proxy(target, {\n get(obj, prop) {\n if (prop === GEA_PROXY_RAW) return obj\n if (typeof prop === 'symbol') return obj[prop as any]\n const val = obj[prop as any]\n if (_isArr(obj) && typeof val === 'function') {\n if (prop === 'push') {\n return (...args: any[]) => {\n const start = obj.length\n const result = Array.prototype.push.apply(obj, args.map(_unwrap))\n if (obj === raw[rootProp] && obj.length > start) {\n _queue(raw, state, rootProp, { type: 'append', start, count: obj.length - start })\n }\n return result\n }\n }\n if (prop === 'splice') {\n return (...args: any[]) => {\n const before = obj.length\n const start = args[0] | 0\n const result = Array.prototype.splice.apply(\n obj,\n args.length > 2 ? [args[0], args[1], ...args.slice(2).map(_unwrap)] : args,\n )\n if (obj === raw[rootProp]) {\n const after = obj.length\n if (after < before) _queue(raw, state, rootProp, { type: 'remove', start, count: before - after })\n else _queue(raw, state, rootProp, { type: 'reorder' })\n }\n return result\n }\n }\n }\n return _isPlain(val) ? _wrapNested(raw, state, val, rootProp) : val\n },\n set(obj, prop, value) {\n if (typeof prop === 'symbol') {\n obj[prop as any] = value\n return true\n }\n value = _unwrap(value)\n const old = obj[prop as any]\n if (old === value) return true\n obj[prop as any] = value\n if (_isArr(obj)) {\n if (value && typeof value === 'object') value[GEA_DIRTY] = true\n const idx = +prop\n if (Number.isInteger(idx) && obj === raw[rootProp]) {\n _queue(raw, state, rootProp, { aipu: true, arix: idx, previousValue: old, newValue: value })\n return true\n }\n } else {\n obj[GEA_DIRTY] = true\n ;(obj[GEA_DIRTY_PROPS] ??= new Set()).add(prop)\n }\n _queue(raw, state, rootProp, { previousValue: old, newValue: value })\n return true\n },\n })\n if (!perTarget) {\n perTarget = new Map()\n _nestedCache.set(target, perTarget)\n }\n perTarget.set(rootProp, proxy)\n return proxy\n}\n\nexport class CompiledStore {\n constructor() {\n const state: StoreState = { ready: false }\n _priv.set(this, state)\n const proxy = new Proxy(this, {\n get(target, prop, receiver) {\n if (prop === GEA_PROXY_RAW) return target\n if (typeof prop === 'symbol') return (target as any)[prop]\n trackRead(receiver ?? target, prop)\n const value = (target as any)[prop]\n if (typeof value === 'function') return value.bind(receiver)\n return _isPlain(value) ? _wrapNested(target, state, value, prop) : value\n },\n set(target, prop, value) {\n if (typeof prop === 'symbol') {\n ;(target as any)[prop] = value\n return true\n }\n value = _unwrap(value)\n const old = (target as any)[prop]\n if (old === value && prop in target) return true\n if (old && typeof old === 'object') _nestedCache.delete(old)\n ;(target as any)[prop] = value\n const direct = state.direct?.get(prop)\n if (direct) for (const h of direct) h(value)\n _queue(target, state, prop, { previousValue: old, newValue: value })\n return true\n },\n })\n _priv.set(proxy, state)\n ;(this as any)[GEA_STORE_ROOT] = proxy\n return proxy\n }\n\n observe(pathOrProp: string | readonly string[], handler: Handler): () => void {\n const state = _priv.get(this)\n if (!state) return () => {}\n state.ready = true\n const isArr = Array.isArray(pathOrProp)\n if ((isArr && pathOrProp.length === 0) || pathOrProp === '') {\n const bucket = state.rootObservers ?? (state.rootObservers = new Set())\n bucket.add(handler)\n return () => bucket.delete(handler)\n }\n const prop = isArr ? pathOrProp[0] : pathOrProp\n const tail = isArr && pathOrProp.length > 1 ? pathOrProp.slice(1) : null\n const finalHandler: Handler = tail\n ? (value, changes) => {\n let next = value\n for (let i = 0; i < tail.length; i++) {\n if (next == null) return\n next = next[tail[i]]\n }\n handler(next, changes)\n }\n : handler\n let isDerived = false\n if (!Object.prototype.hasOwnProperty.call(this, prop)) {\n for (\n let proto = Object.getPrototypeOf(this);\n proto && proto !== Object.prototype;\n proto = Object.getPrototypeOf(proto)\n ) {\n const descriptor = Object.getOwnPropertyDescriptor(proto, prop)\n if (descriptor) {\n isDerived = !!descriptor.get\n break\n }\n }\n }\n const observers = isDerived\n ? (state.derived ?? (state.derived = new Map()))\n : (state.observers ?? (state.observers = new Map()))\n let bucket = observers.get(prop)\n if (!bucket) observers.set(prop, (bucket = new Set()))\n bucket.add(finalHandler)\n return () => bucket!.delete(finalHandler)\n }\n\n [GEA_OBSERVE_DIRECT](prop: string, handler: (value: any) => void): () => void {\n const state = _priv.get(this)\n if (!state) return () => {}\n state.ready = true\n const direct = state.direct ?? (state.direct = new Map())\n let bucket = direct.get(prop)\n if (!bucket) direct.set(prop, (bucket = new Set()))\n bucket.add(handler)\n return () => bucket!.delete(handler)\n }\n}\n\nexport default CompiledStore\n","import { GEA_CREATE_TEMPLATE, GEA_DOM_COMPONENT, GEA_ELEMENT, GEA_ON_PROP_CHANGE } from './symbols'\nimport { GEA_CREATED_CALLED, GEA_DISPOSER, GEA_SET_PROPS } from './internal-symbols'\nimport { createDisposer, type Disposer } from './disposer'\nimport { CompiledStore } from './compiled-store'\nimport { getComponentId } from './component-id'\n\ntype PropThunks = Record<string, () => any>\nconst GEA_COMPONENT_ID = Symbol()\nconst GEA_LAST_PROP_VALUES = Symbol()\n\nexport class CompiledReactiveComponent<P extends Record<string, any> = Record<string, any>> extends CompiledStore {\n rendered = false\n props: P = {} as P;\n\n [GEA_ELEMENT] = null as HTMLElement | null;\n [GEA_DISPOSER] = createDisposer() as Disposer;\n [GEA_CREATED_CALLED] = false\n\n get id(): string {\n return ((this as any)[GEA_COMPONENT_ID] ??= getComponentId())\n }\n\n set id(value: string) {\n ;(this as any)[GEA_COMPONENT_ID] = value\n }\n\n get el(): HTMLElement | null {\n return this[GEA_ELEMENT] ?? null\n }\n\n [GEA_SET_PROPS](thunks: PropThunks): void {\n const createdCalled = this[GEA_CREATED_CALLED]\n const notifyPropChange = createdCalled ? (this as any)[GEA_ON_PROP_CHANGE] : undefined\n const prevValues: Record<string, any> | undefined =\n typeof notifyPropChange === 'function' ? (this as any)[GEA_LAST_PROP_VALUES] : undefined\n const out: Record<string, any> = {}\n for (const k in thunks) {\n Object.defineProperty(out, k, {\n enumerable: true,\n configurable: true,\n get: () => thunks[k](),\n })\n }\n if (typeof thunks.children === 'function') {\n let cached: any = undefined\n let cacheNode = false\n Object.defineProperty(out, 'children', {\n enumerable: true,\n configurable: true,\n get: () => {\n if (cacheNode) return cached\n const v = thunks.children()\n if (v && typeof v.nodeType === 'number') {\n cached = v\n cacheNode = true\n }\n return v\n },\n })\n }\n this.props = out as P\n const nextValues: Record<string, any> = {}\n for (const key in thunks) nextValues[key] = this.props?.[key]\n ;(this as any)[GEA_LAST_PROP_VALUES] = nextValues\n if (!createdCalled) {\n this[GEA_CREATED_CALLED] = true\n if (this.created !== CompiledReactiveComponent.prototype.created) this.created(this.props)\n } else if (typeof notifyPropChange === 'function') {\n for (const key in thunks) {\n const prev = prevValues?.[key]\n const next = this.props?.[key]\n if (next !== prev || (prev !== null && typeof prev === 'object')) notifyPropChange.call(this, key, next)\n }\n }\n }\n\n [GEA_CREATE_TEMPLATE](_disposer: Disposer): Node {\n return document.createDocumentFragment()\n }\n\n render(parent: Node, _index?: number): void {\n if (!this[GEA_CREATED_CALLED]) {\n this[GEA_CREATED_CALLED] = true\n if (this.created !== CompiledReactiveComponent.prototype.created) this.created(this.props)\n }\n let node = this[GEA_CREATE_TEMPLATE](this[GEA_DISPOSER])\n if (node == null) node = document.createComment('')\n if (typeof (node as any).nodeType !== 'number') {\n if (Array.isArray(node)) {\n const frag = document.createDocumentFragment()\n for (const n of node) {\n if (n == null) continue\n if (typeof (n as any).nodeType === 'number') frag.appendChild(n as Node)\n else frag.appendChild(document.createTextNode(String(n)))\n }\n node = frag\n } else {\n node = document.createTextNode(String(node))\n }\n }\n parent.appendChild(node)\n if (node.nodeType === 11) {\n this[GEA_ELEMENT] = ((parent as Element).lastElementChild as HTMLElement | null) ?? null\n } else if (node.nodeType === 1) {\n this[GEA_ELEMENT] = node as HTMLElement\n }\n const el = this[GEA_ELEMENT] as any\n if (el) el[GEA_DOM_COMPONENT] = this\n this.rendered = true\n this.onAfterRender()\n }\n\n onAfterRender(): void {\n /* no-op */\n }\n\n created(_props?: P): void {\n /* no-op */\n }\n\n dispose(): void {\n this[GEA_DISPOSER].dispose()\n const e = this[GEA_ELEMENT] as HTMLElement | null\n if (e && e.parentNode) e.parentNode.removeChild(e)\n this[GEA_ELEMENT] = null\n }\n\n $(sel: string): Element | null {\n const e = this[GEA_ELEMENT] as HTMLElement | null\n return e ? e.querySelector(sel) : null\n }\n\n $$(sel: string): Element[] {\n const e = this[GEA_ELEMENT] as HTMLElement | null\n return e ? Array.from(e.querySelectorAll(sel)) : []\n }\n}\n\nexport default CompiledReactiveComponent\n"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ //#region ../gea/src/runtime/component-id.ts
2
+ let counter = null;
3
+ function getComponentId() {
4
+ counter ??= Math.floor(Math.random() * 2147483648);
5
+ return (counter++).toString(36);
6
+ }
7
+ //#endregion
8
+ export { getComponentId as t };
9
+
10
+ //# sourceMappingURL=component-id.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-id.mjs","names":[],"sources":["../../gea/src/runtime/component-id.ts"],"sourcesContent":["let counter: number | null = null\n\nexport function getComponentId(): string {\n counter ??= Math.floor(Math.random() * 2147483648)\n return (counter++).toString(36)\n}\n"],"mappings":";AAAA,IAAI,UAAyB;AAE7B,SAAgB,iBAAyB;AACvC,aAAY,KAAK,MAAM,KAAK,QAAQ,GAAG,WAAW;AAClD,SAAQ,WAAW,SAAS,GAAG"}