@btst/stack 2.0.1 → 2.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 (442) hide show
  1. package/dist/api/index.cjs +9 -1
  2. package/dist/api/index.d.cts +4 -4
  3. package/dist/api/index.d.mts +4 -4
  4. package/dist/api/index.d.ts +4 -4
  5. package/dist/api/index.mjs +9 -1
  6. package/dist/client/index.d.cts +2 -2
  7. package/dist/client/index.d.mts +2 -2
  8. package/dist/client/index.d.ts +2 -2
  9. package/dist/index.d.cts +1 -1
  10. package/dist/index.d.mts +1 -1
  11. package/dist/index.d.ts +1 -1
  12. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/UI.cjs +2 -2
  13. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/UI.mjs +2 -2
  14. package/dist/packages/stack/src/plugins/ai-chat/api/getters.cjs +42 -0
  15. package/dist/packages/stack/src/plugins/ai-chat/api/getters.mjs +39 -0
  16. package/dist/packages/stack/src/plugins/ai-chat/api/plugin.cjs +5 -0
  17. package/dist/packages/stack/src/plugins/ai-chat/api/plugin.mjs +5 -0
  18. package/dist/packages/stack/src/plugins/blog/api/getters.cjs +131 -0
  19. package/dist/packages/stack/src/plugins/blog/api/getters.mjs +127 -0
  20. package/dist/packages/stack/src/plugins/blog/api/plugin.cjs +9 -107
  21. package/dist/packages/stack/src/plugins/blog/api/plugin.mjs +9 -107
  22. package/dist/packages/stack/src/plugins/blog/client/plugin.cjs +1 -1
  23. package/dist/packages/stack/src/plugins/blog/client/plugin.mjs +1 -1
  24. package/dist/packages/stack/src/plugins/cms/api/getters.cjs +146 -0
  25. package/dist/packages/stack/src/plugins/cms/api/getters.mjs +138 -0
  26. package/dist/packages/stack/src/plugins/cms/api/plugin.cjs +560 -622
  27. package/dist/packages/stack/src/plugins/cms/api/plugin.mjs +559 -621
  28. package/dist/packages/stack/src/plugins/cms/client/components/pages/content-editor-page.internal.cjs +1 -1
  29. package/dist/packages/stack/src/plugins/cms/client/components/pages/content-editor-page.internal.mjs +1 -1
  30. package/dist/packages/stack/src/plugins/cms/client/hooks/cms-hooks.cjs +6 -3
  31. package/dist/packages/stack/src/plugins/cms/client/hooks/cms-hooks.mjs +6 -3
  32. package/dist/packages/stack/src/plugins/form-builder/api/getters.cjs +111 -0
  33. package/dist/packages/stack/src/plugins/form-builder/api/getters.mjs +104 -0
  34. package/dist/packages/stack/src/plugins/form-builder/api/plugin.cjs +16 -88
  35. package/dist/packages/stack/src/plugins/form-builder/api/plugin.mjs +12 -84
  36. package/dist/packages/stack/src/plugins/form-builder/client/components/pages/submissions-page.internal.cjs +1 -1
  37. package/dist/packages/stack/src/plugins/form-builder/client/components/pages/submissions-page.internal.mjs +1 -1
  38. package/dist/packages/stack/src/plugins/kanban/api/getters.cjs +84 -0
  39. package/dist/packages/stack/src/plugins/kanban/api/getters.mjs +81 -0
  40. package/dist/packages/stack/src/plugins/kanban/api/plugin.cjs +9 -123
  41. package/dist/packages/stack/src/plugins/kanban/api/plugin.mjs +9 -123
  42. package/dist/packages/stack/src/plugins/kanban/client/plugin.cjs +1 -1
  43. package/dist/packages/stack/src/plugins/kanban/client/plugin.mjs +1 -1
  44. package/dist/packages/ui/src/components/calendar.cjs +2 -2
  45. package/dist/packages/ui/src/components/calendar.mjs +2 -2
  46. package/dist/packages/ui/src/components/sonner.cjs +34 -0
  47. package/dist/packages/ui/src/components/sonner.mjs +32 -0
  48. package/dist/packages/ui/src/components/ui-builder/components/code-panel.cjs +3 -2
  49. package/dist/packages/ui/src/components/ui-builder/components/code-panel.mjs +3 -2
  50. package/dist/packages/ui/src/components/ui-builder/index.cjs +10 -4
  51. package/dist/packages/ui/src/components/ui-builder/index.mjs +10 -4
  52. package/dist/packages/ui/src/components/ui-builder/internal/components/element-selector.cjs +22 -23
  53. package/dist/packages/ui/src/components/ui-builder/internal/components/element-selector.mjs +22 -23
  54. package/dist/packages/ui/src/components/ui-builder/internal/components/layer-context-menu-portal.cjs +261 -0
  55. package/dist/packages/ui/src/components/ui-builder/internal/components/layer-context-menu-portal.mjs +255 -0
  56. package/dist/packages/ui/src/components/ui-builder/internal/components/layer-context-menu.cjs +125 -0
  57. package/dist/packages/ui/src/components/ui-builder/internal/components/layer-context-menu.mjs +119 -0
  58. package/dist/packages/ui/src/components/ui-builder/internal/components/layer-menu.cjs +6 -17
  59. package/dist/packages/ui/src/components/ui-builder/internal/components/layer-menu.mjs +7 -18
  60. package/dist/packages/ui/src/components/ui-builder/internal/components/nav.cjs +23 -18
  61. package/dist/packages/ui/src/components/ui-builder/internal/components/nav.mjs +23 -18
  62. package/dist/packages/ui/src/components/ui-builder/internal/components/tree-row-node.cjs +8 -23
  63. package/dist/packages/ui/src/components/ui-builder/internal/components/tree-row-node.mjs +9 -24
  64. package/dist/packages/ui/src/components/ui-builder/internal/editor-panel.cjs +9 -41
  65. package/dist/packages/ui/src/components/ui-builder/internal/editor-panel.mjs +9 -41
  66. package/dist/packages/ui/src/components/ui-builder/internal/layers-panel.cjs +7 -16
  67. package/dist/packages/ui/src/components/ui-builder/internal/layers-panel.mjs +7 -16
  68. package/dist/packages/ui/src/components/ui-builder/internal/utils/render-utils.cjs +16 -11
  69. package/dist/packages/ui/src/components/ui-builder/internal/utils/render-utils.mjs +16 -11
  70. package/dist/packages/ui/src/components/ui-builder/internal/utils/templates.cjs +260 -20
  71. package/dist/packages/ui/src/components/ui-builder/internal/utils/templates.mjs +260 -20
  72. package/dist/packages/ui/src/components/ui-builder/internal/variables-panel.cjs +105 -17
  73. package/dist/packages/ui/src/components/ui-builder/internal/variables-panel.mjs +107 -19
  74. package/dist/packages/ui/src/components/ui-builder/layer-renderer.cjs +4 -2
  75. package/dist/packages/ui/src/components/ui-builder/layer-renderer.mjs +4 -2
  76. package/dist/packages/ui/src/hooks/use-keyboard-shortcuts.cjs +3 -1
  77. package/dist/packages/ui/src/hooks/use-keyboard-shortcuts.mjs +3 -1
  78. package/dist/packages/ui/src/lib/ui-builder/hooks/use-layer-actions.cjs +107 -0
  79. package/dist/packages/ui/src/lib/ui-builder/hooks/use-layer-actions.mjs +105 -0
  80. package/dist/packages/ui/src/lib/ui-builder/registry/form-field-overrides.cjs +9 -7
  81. package/dist/packages/ui/src/lib/ui-builder/registry/form-field-overrides.mjs +9 -7
  82. package/dist/packages/ui/src/lib/ui-builder/shortcuts/shortcut-registry.cjs +71 -0
  83. package/dist/packages/ui/src/lib/ui-builder/shortcuts/shortcut-registry.mjs +68 -0
  84. package/dist/packages/ui/src/lib/ui-builder/store/editor-store.cjs +48 -3
  85. package/dist/packages/ui/src/lib/ui-builder/store/editor-store.mjs +48 -3
  86. package/dist/packages/ui/src/lib/ui-builder/store/layer-store.cjs +4 -1
  87. package/dist/packages/ui/src/lib/ui-builder/store/layer-store.mjs +4 -1
  88. package/dist/packages/ui/src/lib/ui-builder/store/schema-utils.cjs +8 -0
  89. package/dist/packages/ui/src/lib/ui-builder/store/schema-utils.mjs +8 -1
  90. package/dist/packages/ui/src/lib/ui-builder/utils/paste-validation.cjs +25 -0
  91. package/dist/packages/ui/src/lib/ui-builder/utils/paste-validation.mjs +23 -0
  92. package/dist/packages/ui/src/lib/ui-builder/utils/variable-resolver.cjs +42 -3
  93. package/dist/packages/ui/src/lib/ui-builder/utils/variable-resolver.mjs +42 -3
  94. package/dist/plugins/ai-chat/api/index.cjs +3 -0
  95. package/dist/plugins/ai-chat/api/index.d.cts +27 -4
  96. package/dist/plugins/ai-chat/api/index.d.mts +27 -4
  97. package/dist/plugins/ai-chat/api/index.d.ts +27 -4
  98. package/dist/plugins/ai-chat/api/index.mjs +1 -0
  99. package/dist/plugins/ai-chat/client/hooks/index.d.cts +2 -2
  100. package/dist/plugins/ai-chat/client/hooks/index.d.mts +2 -2
  101. package/dist/plugins/ai-chat/client/hooks/index.d.ts +2 -2
  102. package/dist/plugins/ai-chat/query-keys.d.cts +9 -284
  103. package/dist/plugins/ai-chat/query-keys.d.mts +9 -284
  104. package/dist/plugins/ai-chat/query-keys.d.ts +9 -284
  105. package/dist/plugins/api/index.d.cts +4 -3
  106. package/dist/plugins/api/index.d.mts +4 -3
  107. package/dist/plugins/api/index.d.ts +4 -3
  108. package/dist/plugins/blog/api/index.cjs +4 -0
  109. package/dist/plugins/blog/api/index.d.cts +3 -2
  110. package/dist/plugins/blog/api/index.d.mts +3 -2
  111. package/dist/plugins/blog/api/index.d.ts +3 -2
  112. package/dist/plugins/blog/api/index.mjs +1 -0
  113. package/dist/plugins/blog/client/hooks/index.d.cts +6 -6
  114. package/dist/plugins/blog/client/hooks/index.d.mts +6 -6
  115. package/dist/plugins/blog/client/hooks/index.d.ts +6 -6
  116. package/dist/plugins/blog/client/index.d.cts +1 -1
  117. package/dist/plugins/blog/client/index.d.mts +1 -1
  118. package/dist/plugins/blog/client/index.d.ts +1 -1
  119. package/dist/plugins/blog/query-keys.cjs +7 -4
  120. package/dist/plugins/blog/query-keys.d.cts +81 -27
  121. package/dist/plugins/blog/query-keys.d.mts +81 -27
  122. package/dist/plugins/blog/query-keys.d.ts +81 -27
  123. package/dist/plugins/blog/query-keys.mjs +7 -4
  124. package/dist/plugins/client/index.d.cts +2 -2
  125. package/dist/plugins/client/index.d.mts +2 -2
  126. package/dist/plugins/client/index.d.ts +2 -2
  127. package/dist/plugins/cms/api/index.cjs +4 -0
  128. package/dist/plugins/cms/api/index.d.cts +61 -5
  129. package/dist/plugins/cms/api/index.d.mts +61 -5
  130. package/dist/plugins/cms/api/index.d.ts +61 -5
  131. package/dist/plugins/cms/api/index.mjs +1 -0
  132. package/dist/plugins/cms/client/hooks/index.d.cts +1 -1
  133. package/dist/plugins/cms/client/hooks/index.d.mts +1 -1
  134. package/dist/plugins/cms/client/hooks/index.d.ts +1 -1
  135. package/dist/plugins/cms/query-keys.d.cts +2 -1
  136. package/dist/plugins/cms/query-keys.d.mts +2 -1
  137. package/dist/plugins/cms/query-keys.d.ts +2 -1
  138. package/dist/plugins/form-builder/api/index.cjs +4 -0
  139. package/dist/plugins/form-builder/api/index.d.cts +77 -7
  140. package/dist/plugins/form-builder/api/index.d.mts +77 -7
  141. package/dist/plugins/form-builder/api/index.d.ts +77 -7
  142. package/dist/plugins/form-builder/api/index.mjs +1 -0
  143. package/dist/plugins/form-builder/client/components/index.d.cts +1 -1
  144. package/dist/plugins/form-builder/client/components/index.d.mts +1 -1
  145. package/dist/plugins/form-builder/client/components/index.d.ts +1 -1
  146. package/dist/plugins/form-builder/client/hooks/index.d.cts +1 -1
  147. package/dist/plugins/form-builder/client/hooks/index.d.mts +1 -1
  148. package/dist/plugins/form-builder/client/hooks/index.d.ts +1 -1
  149. package/dist/plugins/form-builder/query-keys.d.cts +2 -1
  150. package/dist/plugins/form-builder/query-keys.d.mts +2 -1
  151. package/dist/plugins/form-builder/query-keys.d.ts +2 -1
  152. package/dist/plugins/kanban/api/index.cjs +3 -0
  153. package/dist/plugins/kanban/api/index.d.cts +49 -52
  154. package/dist/plugins/kanban/api/index.d.mts +49 -52
  155. package/dist/plugins/kanban/api/index.d.ts +49 -52
  156. package/dist/plugins/kanban/api/index.mjs +1 -0
  157. package/dist/plugins/kanban/client/components/index.d.cts +1 -1
  158. package/dist/plugins/kanban/client/components/index.d.mts +1 -1
  159. package/dist/plugins/kanban/client/components/index.d.ts +1 -1
  160. package/dist/plugins/kanban/client/hooks/index.d.cts +1 -1
  161. package/dist/plugins/kanban/client/hooks/index.d.mts +1 -1
  162. package/dist/plugins/kanban/client/hooks/index.d.ts +1 -1
  163. package/dist/plugins/kanban/client/index.d.cts +1 -1
  164. package/dist/plugins/kanban/client/index.d.mts +1 -1
  165. package/dist/plugins/kanban/client/index.d.ts +1 -1
  166. package/dist/plugins/kanban/query-keys.cjs +4 -3
  167. package/dist/plugins/kanban/query-keys.d.cts +2 -1
  168. package/dist/plugins/kanban/query-keys.d.mts +2 -1
  169. package/dist/plugins/kanban/query-keys.d.ts +2 -1
  170. package/dist/plugins/kanban/query-keys.mjs +4 -3
  171. package/dist/plugins/open-api/api/index.d.cts +2 -2
  172. package/dist/plugins/open-api/api/index.d.mts +2 -2
  173. package/dist/plugins/open-api/api/index.d.ts +2 -2
  174. package/dist/plugins/route-docs/client/index.d.cts +1 -1
  175. package/dist/plugins/route-docs/client/index.d.mts +1 -1
  176. package/dist/plugins/route-docs/client/index.d.ts +1 -1
  177. package/dist/plugins/ui-builder/client/components/index.d.cts +1 -1
  178. package/dist/plugins/ui-builder/client/components/index.d.mts +1 -1
  179. package/dist/plugins/ui-builder/client/components/index.d.ts +1 -1
  180. package/dist/plugins/ui-builder/client/hooks/index.d.cts +2 -2
  181. package/dist/plugins/ui-builder/client/hooks/index.d.mts +2 -2
  182. package/dist/plugins/ui-builder/client/hooks/index.d.ts +2 -2
  183. package/dist/plugins/ui-builder/client/index.d.cts +16 -6
  184. package/dist/plugins/ui-builder/client/index.d.mts +16 -6
  185. package/dist/plugins/ui-builder/client/index.d.ts +16 -6
  186. package/dist/plugins/ui-builder/index.d.cts +3 -3
  187. package/dist/plugins/ui-builder/index.d.mts +3 -3
  188. package/dist/plugins/ui-builder/index.d.ts +3 -3
  189. package/dist/shared/{stack.DYCFcnkL.d.mts → stack.6fUOjLs9.d.mts} +1 -1
  190. package/dist/shared/{stack.BoA0xkJv.d.mts → stack.7n9Y_u7N.d.cts} +33 -7
  191. package/dist/shared/{stack.BoA0xkJv.d.cts → stack.7n9Y_u7N.d.mts} +33 -7
  192. package/dist/shared/{stack.BoA0xkJv.d.ts → stack.7n9Y_u7N.d.ts} +33 -7
  193. package/dist/shared/{stack.BdJFrdyt.d.cts → stack.B-YHz18S.d.cts} +2 -2
  194. package/dist/shared/stack.BeSm90va.d.ts +289 -0
  195. package/dist/shared/{stack.kFbDspnF.d.ts → stack.C-Ptrz8s.d.ts} +1 -1
  196. package/dist/shared/{stack.BYysGdHl.d.cts → stack.C-WUPMT6.d.cts} +1 -1
  197. package/dist/shared/{stack.DzH_wcvr.d.cts → stack.CIrIsc-A.d.cts} +2 -2
  198. package/dist/shared/{stack.DzH_wcvr.d.mts → stack.CIrIsc-A.d.mts} +2 -2
  199. package/dist/shared/{stack.DzH_wcvr.d.ts → stack.CIrIsc-A.d.ts} +2 -2
  200. package/dist/shared/stack.CMh_EdxW.d.cts +289 -0
  201. package/dist/shared/{stack.BsXokfNh.d.cts → stack.CXjzTMsb.d.cts} +1 -1
  202. package/dist/shared/{stack.BsXokfNh.d.mts → stack.CXjzTMsb.d.mts} +1 -1
  203. package/dist/shared/{stack.BsXokfNh.d.ts → stack.CXjzTMsb.d.ts} +1 -1
  204. package/dist/shared/{stack.ChVuHi5e.d.mts → stack.D1DMlJp-.d.mts} +2 -2
  205. package/dist/shared/stack.Dg09R0oB.d.mts +289 -0
  206. package/dist/shared/{stack.EhM4pmtN.d.ts → stack.GygI_T3X.d.ts} +2 -2
  207. package/dist/shared/{stack.DKDMI-QO.d.mts → stack.QD1y_7NY.d.cts} +7 -1
  208. package/dist/shared/{stack.DKDMI-QO.d.ts → stack.QD1y_7NY.d.mts} +7 -1
  209. package/dist/shared/{stack.DKDMI-QO.d.cts → stack.QD1y_7NY.d.ts} +7 -1
  210. package/package.json +1 -1
  211. package/src/__tests__/stack-api.test.ts +118 -0
  212. package/src/api/index.ts +15 -1
  213. package/src/plugins/ai-chat/__tests__/getters.test.ts +109 -0
  214. package/src/plugins/ai-chat/api/getters.ts +71 -0
  215. package/src/plugins/ai-chat/api/index.ts +1 -0
  216. package/src/plugins/ai-chat/api/plugin.ts +8 -0
  217. package/src/plugins/api/index.ts +3 -1
  218. package/src/plugins/blog/__tests__/getters.test.ts +540 -0
  219. package/src/plugins/blog/api/getters.ts +243 -0
  220. package/src/plugins/blog/api/index.ts +7 -0
  221. package/src/plugins/blog/api/plugin.ts +13 -141
  222. package/src/plugins/blog/client/plugin.tsx +2 -1
  223. package/src/plugins/blog/query-keys.ts +16 -13
  224. package/src/plugins/cms/__tests__/getters.test.ts +206 -0
  225. package/src/plugins/cms/api/getters.ts +244 -0
  226. package/src/plugins/cms/api/index.ts +5 -0
  227. package/src/plugins/cms/api/plugin.ts +50 -154
  228. package/src/plugins/cms/client/components/pages/content-editor-page.internal.tsx +1 -1
  229. package/src/plugins/cms/client/hooks/cms-hooks.tsx +3 -0
  230. package/src/plugins/cms/types.ts +1 -1
  231. package/src/plugins/form-builder/__tests__/getters.test.ts +159 -0
  232. package/src/plugins/form-builder/api/getters.ts +203 -0
  233. package/src/plugins/form-builder/api/index.ts +1 -0
  234. package/src/plugins/form-builder/api/plugin.ts +22 -115
  235. package/src/plugins/form-builder/client/components/pages/submissions-page.internal.tsx +1 -1
  236. package/src/plugins/form-builder/types.ts +2 -2
  237. package/src/plugins/kanban/__tests__/getters.test.ts +172 -0
  238. package/src/plugins/kanban/api/getters.ts +149 -0
  239. package/src/plugins/kanban/api/index.ts +1 -0
  240. package/src/plugins/kanban/api/plugin.ts +16 -146
  241. package/src/plugins/kanban/client/plugin.tsx +2 -1
  242. package/src/plugins/kanban/query-keys.ts +8 -5
  243. package/src/types.ts +44 -5
  244. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/DayPicker.cjs +0 -0
  245. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/DayPicker.mjs +0 -0
  246. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarDay.cjs +0 -0
  247. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarDay.mjs +0 -0
  248. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarMonth.cjs +0 -0
  249. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarMonth.mjs +0 -0
  250. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarWeek.cjs +0 -0
  251. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarWeek.mjs +0 -0
  252. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/DateLib.cjs +0 -0
  253. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/DateLib.mjs +0 -0
  254. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Button.cjs +0 -0
  255. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Button.mjs +0 -0
  256. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/CaptionLabel.cjs +0 -0
  257. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/CaptionLabel.mjs +0 -0
  258. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Chevron.cjs +0 -0
  259. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Chevron.mjs +0 -0
  260. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Day.cjs +0 -0
  261. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Day.mjs +0 -0
  262. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/DayButton.cjs +0 -0
  263. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/DayButton.mjs +0 -0
  264. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Dropdown.cjs +0 -0
  265. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Dropdown.mjs +0 -0
  266. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/DropdownNav.cjs +0 -0
  267. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/DropdownNav.mjs +0 -0
  268. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Footer.cjs +0 -0
  269. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Footer.mjs +0 -0
  270. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Month.cjs +0 -0
  271. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Month.mjs +0 -0
  272. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthCaption.cjs +0 -0
  273. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthCaption.mjs +0 -0
  274. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthGrid.cjs +0 -0
  275. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthGrid.mjs +0 -0
  276. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Months.cjs +0 -0
  277. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Months.mjs +0 -0
  278. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthsDropdown.cjs +0 -0
  279. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthsDropdown.mjs +0 -0
  280. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Nav.cjs +0 -0
  281. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Nav.mjs +0 -0
  282. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/NextMonthButton.cjs +0 -0
  283. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/NextMonthButton.mjs +0 -0
  284. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Option.cjs +0 -0
  285. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Option.mjs +0 -0
  286. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.cjs +0 -0
  287. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.mjs +0 -0
  288. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Root.cjs +0 -0
  289. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Root.mjs +0 -0
  290. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Select.cjs +0 -0
  291. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Select.mjs +0 -0
  292. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Week.cjs +0 -0
  293. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Week.mjs +0 -0
  294. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/WeekNumber.cjs +0 -0
  295. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/WeekNumber.mjs +0 -0
  296. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.cjs +0 -0
  297. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.mjs +0 -0
  298. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weekday.cjs +0 -0
  299. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weekday.mjs +0 -0
  300. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weekdays.cjs +0 -0
  301. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weekdays.mjs +0 -0
  302. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weeks.cjs +0 -0
  303. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weeks.mjs +0 -0
  304. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/YearsDropdown.cjs +0 -0
  305. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/YearsDropdown.mjs +0 -0
  306. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/custom-components.cjs +0 -0
  307. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/custom-components.mjs +0 -0
  308. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatCaption.cjs +0 -0
  309. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatCaption.mjs +0 -0
  310. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatDay.cjs +0 -0
  311. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatDay.mjs +0 -0
  312. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatMonthDropdown.cjs +0 -0
  313. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatMonthDropdown.mjs +0 -0
  314. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumber.cjs +0 -0
  315. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumber.mjs +0 -0
  316. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumberHeader.cjs +0 -0
  317. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumberHeader.mjs +0 -0
  318. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekdayName.cjs +0 -0
  319. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekdayName.mjs +0 -0
  320. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatYearDropdown.cjs +0 -0
  321. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatYearDropdown.mjs +0 -0
  322. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/index.cjs +0 -0
  323. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/index.mjs +0 -0
  324. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.cjs +0 -0
  325. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.mjs +0 -0
  326. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.cjs +0 -0
  327. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.mjs +0 -0
  328. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/endOfBroadcastWeek.cjs +0 -0
  329. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/endOfBroadcastWeek.mjs +0 -0
  330. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getBroadcastWeeksInMonth.cjs +0 -0
  331. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getBroadcastWeeksInMonth.mjs +0 -0
  332. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getClassNamesForModifiers.cjs +0 -0
  333. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getClassNamesForModifiers.mjs +0 -0
  334. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getComponents.cjs +0 -0
  335. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getComponents.mjs +0 -0
  336. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.cjs +0 -0
  337. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.mjs +0 -0
  338. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDates.cjs +0 -0
  339. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDates.mjs +0 -0
  340. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDays.cjs +0 -0
  341. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDays.mjs +0 -0
  342. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDefaultClassNames.cjs +0 -0
  343. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDefaultClassNames.mjs +0 -0
  344. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDisplayMonths.cjs +0 -0
  345. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDisplayMonths.mjs +0 -0
  346. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getFocusableDate.cjs +0 -0
  347. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getFocusableDate.mjs +0 -0
  348. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getFormatters.cjs +0 -0
  349. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getFormatters.mjs +0 -0
  350. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.cjs +0 -0
  351. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.mjs +0 -0
  352. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getLabels.cjs +0 -0
  353. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getLabels.mjs +0 -0
  354. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.cjs +0 -0
  355. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.mjs +0 -0
  356. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getMonths.cjs +0 -0
  357. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getMonths.mjs +0 -0
  358. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNavMonth.cjs +0 -0
  359. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNavMonth.mjs +0 -0
  360. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNextFocus.cjs +0 -0
  361. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNextFocus.mjs +0 -0
  362. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNextMonth.cjs +0 -0
  363. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNextMonth.mjs +0 -0
  364. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getPreviousMonth.cjs +0 -0
  365. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getPreviousMonth.mjs +0 -0
  366. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getStyleForModifiers.cjs +0 -0
  367. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getStyleForModifiers.mjs +0 -0
  368. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getWeekdays.cjs +0 -0
  369. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getWeekdays.mjs +0 -0
  370. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getWeeks.cjs +0 -0
  371. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getWeeks.mjs +0 -0
  372. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getYearOptions.cjs +0 -0
  373. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getYearOptions.mjs +0 -0
  374. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/startOfBroadcastWeek.cjs +0 -0
  375. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/startOfBroadcastWeek.mjs +0 -0
  376. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/useControlledValue.cjs +0 -0
  377. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/useControlledValue.mjs +0 -0
  378. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/index.cjs +0 -0
  379. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/index.mjs +0 -0
  380. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelDayButton.cjs +0 -0
  381. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelDayButton.mjs +0 -0
  382. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelGrid.cjs +0 -0
  383. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelGrid.mjs +0 -0
  384. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelGridcell.cjs +0 -0
  385. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelGridcell.mjs +0 -0
  386. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.cjs +0 -0
  387. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.mjs +0 -0
  388. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelNav.cjs +0 -0
  389. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelNav.mjs +0 -0
  390. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelNext.cjs +0 -0
  391. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelNext.mjs +0 -0
  392. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelPrevious.cjs +0 -0
  393. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelPrevious.mjs +0 -0
  394. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.cjs +0 -0
  395. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.mjs +0 -0
  396. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.cjs +0 -0
  397. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.mjs +0 -0
  398. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekday.cjs +0 -0
  399. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekday.mjs +0 -0
  400. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.cjs +0 -0
  401. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.mjs +0 -0
  402. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/locale/en-US.cjs +0 -0
  403. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/locale/en-US.mjs +0 -0
  404. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/noonDateLib.cjs +0 -0
  405. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/noonDateLib.mjs +0 -0
  406. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useMulti.cjs +0 -0
  407. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useMulti.mjs +0 -0
  408. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useRange.cjs +0 -0
  409. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useRange.mjs +0 -0
  410. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useSingle.cjs +0 -0
  411. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useSingle.mjs +0 -0
  412. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/useAnimation.cjs +0 -0
  413. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/useAnimation.mjs +0 -0
  414. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/useCalendar.cjs +0 -0
  415. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/useCalendar.mjs +0 -0
  416. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/useDayPicker.cjs +0 -0
  417. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/useDayPicker.mjs +0 -0
  418. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/useFocus.cjs +0 -0
  419. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/useFocus.mjs +0 -0
  420. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/useSelection.cjs +0 -0
  421. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/useSelection.mjs +0 -0
  422. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/addToRange.cjs +0 -0
  423. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/addToRange.mjs +0 -0
  424. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/convertMatchersToTimeZone.cjs +0 -0
  425. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/convertMatchersToTimeZone.mjs +0 -0
  426. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/dateMatchModifiers.cjs +0 -0
  427. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/dateMatchModifiers.mjs +0 -0
  428. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeContainsDayOfWeek.cjs +0 -0
  429. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeContainsDayOfWeek.mjs +0 -0
  430. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeContainsModifiers.cjs +0 -0
  431. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeContainsModifiers.mjs +0 -0
  432. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeIncludesDate.cjs +0 -0
  433. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeIncludesDate.mjs +0 -0
  434. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeOverlaps.cjs +0 -0
  435. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeOverlaps.mjs +0 -0
  436. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/toTimeZone.cjs +0 -0
  437. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/toTimeZone.mjs +0 -0
  438. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/typeguards.cjs +0 -0
  439. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/typeguards.mjs +0 -0
  440. package/dist/shared/{stack.CcI4sYJP.d.ts → stack.BkYlUT_8.d.cts} +6 -6
  441. package/dist/shared/{stack.CcI4sYJP.d.cts → stack.BkYlUT_8.d.mts} +6 -6
  442. package/dist/shared/{stack.CcI4sYJP.d.mts → stack.BkYlUT_8.d.ts} +6 -6
@@ -7,6 +7,101 @@ const renderTemplate = (template, data) => {
7
7
  return data[key] ?? "";
8
8
  });
9
9
  };
10
+ const zodSchemaToTypeString = (schema) => {
11
+ const zodSchema = schema;
12
+ const def = zodSchema?._zod?.def ?? zodSchema?._def;
13
+ if (!def) {
14
+ return "(...args: unknown[]) => unknown";
15
+ }
16
+ const typeName = def.type ?? def.typeName;
17
+ if (typeName === "tuple" || typeName === "ZodTuple") {
18
+ const items = def.items ?? def.rest?.items ?? [];
19
+ if (!items || items.length === 0) {
20
+ return "() => void";
21
+ }
22
+ const paramTypes = items.map((item, index) => {
23
+ const { type: paramType, isOptional } = zodSchemaToParamType(item);
24
+ const optionalMark = isOptional ? "?" : "";
25
+ return `arg${index}${optionalMark}: ${paramType}`;
26
+ }).join(", ");
27
+ return `(${paramTypes}) => void`;
28
+ }
29
+ if (typeName === "object" || typeName === "ZodObject") {
30
+ return "(params: Record<string, unknown>) => void";
31
+ }
32
+ if (typeName === "function" || typeName === "ZodFunction") {
33
+ return "(...args: unknown[]) => unknown";
34
+ }
35
+ return "(...args: unknown[]) => unknown";
36
+ };
37
+ const zodSchemaToParamType = (schema) => {
38
+ const zodSchema = schema;
39
+ const def = zodSchema?._zod?.def ?? zodSchema?._def;
40
+ if (!def) {
41
+ return { type: "unknown", isOptional: false };
42
+ }
43
+ const typeName = def.type ?? def.typeName;
44
+ if (typeName === "optional" || typeName === "ZodOptional") {
45
+ const innerType = def.innerType ?? def.wrapped;
46
+ return { type: zodSchemaToSingleType(innerType), isOptional: true };
47
+ }
48
+ return { type: zodSchemaToSingleType(schema), isOptional: false };
49
+ };
50
+ const zodSchemaToSingleType = (schema) => {
51
+ const zodSchema = schema;
52
+ const def = zodSchema?._zod?.def ?? zodSchema?._def;
53
+ if (!def) {
54
+ return "unknown";
55
+ }
56
+ const typeName = def.type ?? def.typeName;
57
+ switch (typeName) {
58
+ case "string":
59
+ case "ZodString":
60
+ return "string";
61
+ case "number":
62
+ case "ZodNumber":
63
+ return "number";
64
+ case "boolean":
65
+ case "ZodBoolean":
66
+ return "boolean";
67
+ case "void":
68
+ case "ZodVoid":
69
+ return "void";
70
+ case "undefined":
71
+ case "ZodUndefined":
72
+ return "undefined";
73
+ case "null":
74
+ case "ZodNull":
75
+ return "null";
76
+ case "any":
77
+ case "ZodAny":
78
+ return "unknown";
79
+ case "unknown":
80
+ case "ZodUnknown":
81
+ return "unknown";
82
+ case "custom":
83
+ case "ZodType":
84
+ return "unknown";
85
+ case "object":
86
+ case "ZodObject":
87
+ return "Record<string, unknown>";
88
+ case "array":
89
+ case "ZodArray":
90
+ return "unknown[]";
91
+ case "optional":
92
+ case "ZodOptional": {
93
+ const innerOptional = def.innerType ?? def.wrapped;
94
+ return `${zodSchemaToSingleType(innerOptional)} | undefined`;
95
+ }
96
+ case "nullable":
97
+ case "ZodNullable": {
98
+ const innerNullable = def.innerType ?? def.wrapped;
99
+ return `${zodSchemaToSingleType(innerNullable)} | null`;
100
+ }
101
+ default:
102
+ return "unknown";
103
+ }
104
+ };
10
105
  const toValidIdentifier = (input) => {
11
106
  let identifier = input.trim();
12
107
  if (/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(identifier)) {
@@ -42,11 +137,74 @@ const generateVariableIdentifiers = (variables) => {
42
137
  });
43
138
  return identifierMap;
44
139
  };
45
- const pageLayerToCode = (page, componentRegistry, variables = []) => {
140
+ const generateFunctionIdentifiers = (functionIds, reservedIdentifiers) => {
141
+ const identifierMap = /* @__PURE__ */ new Map();
142
+ const usedIdentifiers = new Set(reservedIdentifiers);
143
+ functionIds.forEach((funcId) => {
144
+ const baseIdentifier = toValidIdentifier(funcId);
145
+ let identifier = baseIdentifier;
146
+ let counter = 1;
147
+ while (usedIdentifiers.has(identifier)) {
148
+ identifier = `${baseIdentifier}${counter}`;
149
+ counter++;
150
+ }
151
+ usedIdentifiers.add(identifier);
152
+ identifierMap.set(funcId, identifier);
153
+ });
154
+ return identifierMap;
155
+ };
156
+ const collectFunctionMetadataIds = (layer) => {
157
+ const functionIds = /* @__PURE__ */ new Set();
158
+ for (const [key, value] of Object.entries(layer.props)) {
159
+ if (key.startsWith("__function_") && typeof value === "string") {
160
+ functionIds.add(value);
161
+ }
162
+ }
163
+ if (hasLayerChildren(layer)) {
164
+ layer.children.forEach((child) => {
165
+ const childIds = collectFunctionMetadataIds(child);
166
+ childIds.forEach((id) => functionIds.add(id));
167
+ });
168
+ }
169
+ return functionIds;
170
+ };
171
+ const pageLayerToCode = (page, componentRegistry, variables = [], functionRegistry) => {
46
172
  const layers = page.children;
47
173
  const { mode, colorTheme, borderRadius, ...restOfProps } = page.props;
48
174
  const variableIdentifiers = generateVariableIdentifiers(variables);
49
- const pageProps = generatePropsString(restOfProps, variables, variableIdentifiers);
175
+ const functionMetadataIds = /* @__PURE__ */ new Set();
176
+ for (const [key, value] of Object.entries(restOfProps)) {
177
+ if (key.startsWith("__function_") && typeof value === "string") {
178
+ functionMetadataIds.add(value);
179
+ }
180
+ }
181
+ if (Array.isArray(layers)) {
182
+ layers.forEach((layer) => {
183
+ const layerFuncIds = collectFunctionMetadataIds(layer);
184
+ layerFuncIds.forEach((id) => functionMetadataIds.add(id));
185
+ });
186
+ }
187
+ const functionVarReservedIds = /* @__PURE__ */ new Set();
188
+ for (const variable of variables) {
189
+ if (variable.type === "function") {
190
+ const identifier = variableIdentifiers.get(variable.id);
191
+ if (identifier) {
192
+ functionVarReservedIds.add(identifier);
193
+ }
194
+ }
195
+ }
196
+ const functionIdentifiers = generateFunctionIdentifiers(functionMetadataIds, functionVarReservedIds);
197
+ for (const variable of variables) {
198
+ if (variable.type === "function" && typeof variable.defaultValue === "string") {
199
+ if (functionMetadataIds.has(variable.defaultValue)) {
200
+ const varIdentifier = variableIdentifiers.get(variable.id);
201
+ if (varIdentifier) {
202
+ functionIdentifiers.set(variable.defaultValue, varIdentifier);
203
+ }
204
+ }
205
+ }
206
+ }
207
+ const pageProps = generatePropsString(restOfProps, variables, variableIdentifiers, functionIdentifiers);
50
208
  const imports = /* @__PURE__ */ new Set();
51
209
  const collectImports = (layer) => {
52
210
  const componentDefinition = componentRegistry[layer.type];
@@ -62,13 +220,30 @@ const pageLayerToCode = (page, componentRegistry, variables = []) => {
62
220
  let code = "";
63
221
  if (Array.isArray(layers)) {
64
222
  layers.forEach(collectImports);
65
- code = layers.map((layer) => generateLayerCode(layer, 1, variables, variableIdentifiers)).join("\n");
223
+ code = layers.map((layer) => generateLayerCode(layer, 1, variables, variableIdentifiers, functionIdentifiers)).join("\n");
66
224
  } else {
67
225
  code = `{"${layers}"}`;
68
226
  }
69
227
  const importsString = Array.from(imports).join("\n");
70
- const variablePropsInterface = generateVariablePropsInterface(variables, variableIdentifiers);
71
- const variablePropsParam = variables.length > 0 ? "{ variables }: PageProps" : "";
228
+ const variablePropsInterface = generateVariablePropsInterface(
229
+ variables,
230
+ variableIdentifiers,
231
+ functionMetadataIds,
232
+ functionRegistry,
233
+ functionIdentifiers
234
+ );
235
+ const hasRegularVariables = variables.some((v) => v.type !== "function");
236
+ const hasFunctionVariables = variables.some((v) => v.type === "function");
237
+ const hasFunctionMetadata = functionMetadataIds.size > 0;
238
+ const hasFunctions = hasFunctionVariables || hasFunctionMetadata;
239
+ let variablePropsParam = "";
240
+ if (hasRegularVariables && hasFunctions) {
241
+ variablePropsParam = "{ variables, functions }: PageProps";
242
+ } else if (hasRegularVariables) {
243
+ variablePropsParam = "{ variables }: PageProps";
244
+ } else if (hasFunctions) {
245
+ variablePropsParam = "{ functions }: PageProps";
246
+ }
72
247
  const finalCode = renderTemplate(reactComponentTemplate, {
73
248
  imports: importsString,
74
249
  variablePropsInterface,
@@ -78,14 +253,14 @@ const pageLayerToCode = (page, componentRegistry, variables = []) => {
78
253
  });
79
254
  return finalCode;
80
255
  };
81
- const generateLayerCode = (layer, indent = 0, variables = [], variableIdentifiers) => {
256
+ const generateLayerCode = (layer, indent = 0, variables = [], variableIdentifiers, functionIdentifiers) => {
82
257
  if (!variableIdentifiers && variables.length > 0) {
83
258
  variableIdentifiers = generateVariableIdentifiers(variables);
84
259
  }
85
260
  const indentation = " ".repeat(indent);
86
261
  let childrenCode = "";
87
262
  if (hasLayerChildren(layer) && layer.children.length > 0) {
88
- childrenCode = layer.children.map((child) => generateLayerCode(child, indent + 1, variables, variableIdentifiers)).join("\n");
263
+ childrenCode = layer.children.map((child) => generateLayerCode(child, indent + 1, variables, variableIdentifiers, functionIdentifiers)).join("\n");
89
264
  } else if (typeof layer.children === "string") {
90
265
  childrenCode = `${indentation}${" "}{${JSON.stringify(layer.children)}}`;
91
266
  }
@@ -93,24 +268,36 @@ const generateLayerCode = (layer, indent = 0, variables = [], variableIdentifier
93
268
  return `${indentation}<${layer.type}${generatePropsString(
94
269
  layer.props,
95
270
  variables,
96
- variableIdentifiers
271
+ variableIdentifiers,
272
+ functionIdentifiers
97
273
  )}>
98
274
  ${childrenCode}
99
275
  ${indentation}</${layer.type}>`;
100
276
  } else {
101
- return `${indentation}<${layer.type}${generatePropsString(layer.props, variables, variableIdentifiers)} />`;
277
+ return `${indentation}<${layer.type}${generatePropsString(layer.props, variables, variableIdentifiers, functionIdentifiers)} />`;
102
278
  }
103
279
  };
104
- const generatePropsString = (props, variables = [], variableIdentifiers) => {
280
+ const generatePropsString = (props, variables = [], variableIdentifiers, functionIdentifiers) => {
105
281
  if (!variableIdentifiers && variables.length > 0) {
106
282
  variableIdentifiers = generateVariableIdentifiers(variables);
107
283
  }
108
- const propsArray = Object.entries(props).filter(([_, value]) => value !== void 0).map(([key, value]) => {
284
+ const functionMetadata = /* @__PURE__ */ new Map();
285
+ for (const [key, value] of Object.entries(props)) {
286
+ if (key.startsWith("__function_") && typeof value === "string") {
287
+ const propName = key.replace("__function_", "");
288
+ functionMetadata.set(propName, value);
289
+ }
290
+ }
291
+ const propsArray = Object.entries(props).filter(([key, _]) => !key.startsWith("__function_")).filter(([key, _]) => !functionMetadata.has(key)).filter(([_, value]) => value !== void 0).map(([key, value]) => {
109
292
  let propValue;
110
293
  if (isVariableReference(value)) {
111
294
  const variable = variables.find((v) => v.id === value.__variableRef);
112
295
  if (variable && variableIdentifiers) {
113
- propValue = `{variables.${variableIdentifiers.get(variable.id)}}`;
296
+ if (variable.type === "function") {
297
+ propValue = `{functions.${variableIdentifiers.get(variable.id)}}`;
298
+ } else {
299
+ propValue = `{variables.${variableIdentifiers.get(variable.id)}}`;
300
+ }
114
301
  } else {
115
302
  propValue = `{undefined}`;
116
303
  }
@@ -123,15 +310,22 @@ const generatePropsString = (props, variables = [], variableIdentifiers) => {
123
310
  }
124
311
  return `${key}=${propValue}`;
125
312
  });
313
+ functionMetadata.forEach((funcId, propName) => {
314
+ const sanitizedId = functionIdentifiers?.get(funcId) ?? toValidIdentifier(funcId);
315
+ propsArray.push(`${propName}={functions.${sanitizedId}}`);
316
+ });
126
317
  return propsArray.length > 0 ? ` ${propsArray.join(" ")}` : "";
127
318
  };
128
- const generateVariablePropsInterface = (variables, variableIdentifiers) => {
129
- if (variables.length === 0) return "";
319
+ const generateVariablePropsInterface = (variables, variableIdentifiers, functionMetadataIds, functionRegistry, functionIdentifiers) => {
320
+ const hasFunctionMetadata = functionMetadataIds && functionMetadataIds.size > 0;
321
+ if (variables.length === 0 && !hasFunctionMetadata) return "";
130
322
  if (!variableIdentifiers) {
131
323
  variableIdentifiers = generateVariableIdentifiers(variables);
132
324
  }
133
- const variableTypes = variables.map((variable) => {
134
- let tsType = "any";
325
+ const regularVariables = variables.filter((v) => v.type !== "function");
326
+ const functionVariables = variables.filter((v) => v.type === "function");
327
+ const variableTypes = regularVariables.map((variable) => {
328
+ let tsType = "unknown";
135
329
  switch (variable.type) {
136
330
  case "string":
137
331
  tsType = "string";
@@ -145,13 +339,59 @@ const generateVariablePropsInterface = (variables, variableIdentifiers) => {
145
339
  }
146
340
  return ` ${variableIdentifiers.get(variable.id)}: ${tsType};`;
147
341
  }).join("\n");
148
- return `interface PageProps {
149
- variables: {
342
+ const functionVariableTypes = functionVariables.map((variable) => {
343
+ const funcId = variable.defaultValue;
344
+ const funcDef = typeof funcId === "string" ? functionRegistry?.[funcId] : void 0;
345
+ if (funcDef?.typeSignature) {
346
+ return ` ${variableIdentifiers.get(variable.id)}: ${funcDef.typeSignature};`;
347
+ }
348
+ if (funcDef?.schema) {
349
+ const typeString = zodSchemaToTypeString(funcDef.schema);
350
+ return ` ${variableIdentifiers.get(variable.id)}: ${typeString};`;
351
+ }
352
+ return ` ${variableIdentifiers.get(variable.id)}: (...args: unknown[]) => unknown;`;
353
+ });
354
+ const emittedFunctionIdentifiers = /* @__PURE__ */ new Set();
355
+ for (const variable of functionVariables) {
356
+ const identifier = variableIdentifiers.get(variable.id);
357
+ if (identifier) {
358
+ emittedFunctionIdentifiers.add(identifier);
359
+ }
360
+ }
361
+ const functionMetadataTypes = hasFunctionMetadata ? Array.from(functionMetadataIds).filter((funcId) => {
362
+ const sanitizedId = functionIdentifiers?.get(funcId) ?? toValidIdentifier(funcId);
363
+ return !emittedFunctionIdentifiers.has(sanitizedId);
364
+ }).map((funcId) => {
365
+ const funcDef = functionRegistry?.[funcId];
366
+ const sanitizedId = functionIdentifiers?.get(funcId) ?? toValidIdentifier(funcId);
367
+ if (funcDef?.typeSignature) {
368
+ return ` ${sanitizedId}: ${funcDef.typeSignature};`;
369
+ }
370
+ if (funcDef?.schema) {
371
+ const typeString = zodSchemaToTypeString(funcDef.schema);
372
+ return ` ${sanitizedId}: ${typeString};`;
373
+ }
374
+ return ` ${sanitizedId}: (...args: unknown[]) => unknown;`;
375
+ }) : [];
376
+ const allFunctionTypes = [...functionVariableTypes, ...functionMetadataTypes].join("\n");
377
+ const hasVariables = regularVariables.length > 0;
378
+ const hasFunctions = functionVariables.length > 0 || hasFunctionMetadata;
379
+ if (!hasVariables && !hasFunctions) return "";
380
+ let interfaceContent = "interface PageProps {\n";
381
+ if (hasVariables) {
382
+ interfaceContent += ` variables: {
150
383
  ${variableTypes}
151
384
  };
152
- }
153
-
154
385
  `;
386
+ }
387
+ if (hasFunctions) {
388
+ interfaceContent += ` functions: {
389
+ ${allFunctionTypes}
390
+ };
391
+ `;
392
+ }
393
+ interfaceContent += "}\n\n";
394
+ return interfaceContent;
155
395
  };
156
396
  const reactComponentTemplate = `import React from "react";
157
397
  <%~ it.imports %>
@@ -22,6 +22,7 @@ const VariablesPanel = ({
22
22
  const [editingId, setEditingId] = React.useState(null);
23
23
  const incrementRevision = editorStore.useEditorStore((state) => state.incrementRevision);
24
24
  const allowVariableEditing = editorStore.useEditorStore((state) => state.allowVariableEditing);
25
+ const functionRegistry = editorStore.useEditorStore((state) => state.functionRegistry);
25
26
  const handleAddVariable = React.useCallback(
26
27
  (name, type, defaultValue) => {
27
28
  addVariable(name, type, defaultValue);
@@ -64,7 +65,8 @@ const VariablesPanel = ({
64
65
  AddVariableForm,
65
66
  {
66
67
  onSave: handleAddVariable,
67
- onCancel: handleSetIsNotAdding
68
+ onCancel: handleSetIsNotAdding,
69
+ functionRegistry
68
70
  }
69
71
  ),
70
72
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: variables.map((variable) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -76,7 +78,8 @@ const VariablesPanel = ({
76
78
  onSave: handleOnSave,
77
79
  onCancel: handleOnCancel,
78
80
  onDelete: handleOnDelete,
79
- editVariables: allowVariableEditing
81
+ editVariables: allowVariableEditing,
82
+ functionRegistry
80
83
  },
81
84
  variable.id
82
85
  )) }),
@@ -85,23 +88,37 @@ const VariablesPanel = ({
85
88
  };
86
89
  const AddVariableForm = ({
87
90
  onSave,
88
- onCancel
91
+ onCancel,
92
+ functionRegistry
89
93
  }) => {
90
94
  const [name, setName] = React.useState("");
91
95
  const [type, setType] = React.useState("string");
92
96
  const [defaultValue, setDefaultValue] = React.useState("");
93
97
  const [errors, setErrors] = React.useState(EMPTY_OBJECT);
98
+ const functionOptions = React.useMemo(() => {
99
+ if (!functionRegistry) return [];
100
+ return Object.entries(functionRegistry).map(([id, def]) => ({
101
+ id,
102
+ name: def.name,
103
+ description: def.description
104
+ }));
105
+ }, [functionRegistry]);
106
+ const hasFunctions = functionOptions.length > 0;
94
107
  const validateForm = React.useCallback(() => {
95
108
  const newErrors = {};
96
109
  if (!name.trim()) {
97
110
  newErrors.name = "Name is required";
98
111
  }
99
- if (!defaultValue.trim()) {
112
+ if (type === "function") {
113
+ if (!defaultValue) {
114
+ newErrors.defaultValue = "Please select a function";
115
+ }
116
+ } else if (!defaultValue.trim()) {
100
117
  newErrors.defaultValue = "Preview value is required";
101
118
  }
102
119
  setErrors(newErrors);
103
120
  return Object.keys(newErrors).length === 0;
104
- }, [name, defaultValue]);
121
+ }, [name, defaultValue, type]);
105
122
  const handleSave = React.useCallback(() => {
106
123
  if (!validateForm()) return;
107
124
  let parsedValue = defaultValue;
@@ -124,7 +141,10 @@ const AddVariableForm = ({
124
141
  [errors.name]
125
142
  );
126
143
  const handleTypeChange = React.useCallback(
127
- (value) => setType(value),
144
+ (value) => {
145
+ setType(value);
146
+ setDefaultValue("");
147
+ },
128
148
  []
129
149
  );
130
150
  const handleDefaultValueChange = React.useCallback(
@@ -135,6 +155,14 @@ const AddVariableForm = ({
135
155
  },
136
156
  [errors.defaultValue]
137
157
  );
158
+ const handleFunctionSelect = React.useCallback(
159
+ (value) => {
160
+ setDefaultValue(value);
161
+ if (errors.defaultValue)
162
+ setErrors((prev) => ({ ...prev, defaultValue: void 0 }));
163
+ },
164
+ [errors.defaultValue]
165
+ );
138
166
  return /* @__PURE__ */ jsxRuntime.jsxs(card.Card, { children: [
139
167
  /* @__PURE__ */ jsxRuntime.jsx(card.CardHeader, { className: "pb-3", children: /* @__PURE__ */ jsxRuntime.jsx(card.CardTitle, { className: "text-sm", children: "Add New Variable" }) }),
140
168
  /* @__PURE__ */ jsxRuntime.jsxs(card.CardContent, { className: "space-y-3", children: [
@@ -162,11 +190,25 @@ const AddVariableForm = ({
162
190
  /* @__PURE__ */ jsxRuntime.jsxs(select.SelectContent, { children: [
163
191
  /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "string", children: "String" }),
164
192
  /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "number", children: "Number" }),
165
- /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "boolean", children: "Boolean" })
193
+ /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "boolean", children: "Boolean" }),
194
+ hasFunctions && /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "function", children: "Function" })
166
195
  ] })
167
196
  ] })
168
197
  ] }),
169
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
198
+ /* @__PURE__ */ jsxRuntime.jsx("div", { children: type === "function" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
199
+ /* @__PURE__ */ jsxRuntime.jsxs(label.Label, { htmlFor: "var-function", children: [
200
+ "Function ",
201
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-red-500", children: "*" })
202
+ ] }),
203
+ /* @__PURE__ */ jsxRuntime.jsxs(select.Select, { value: defaultValue, onValueChange: handleFunctionSelect, children: [
204
+ /* @__PURE__ */ jsxRuntime.jsx(select.SelectTrigger, { className: errors.defaultValue ? "border-red-500" : "", children: /* @__PURE__ */ jsxRuntime.jsx(select.SelectValue, { placeholder: "Select a function..." }) }),
205
+ /* @__PURE__ */ jsxRuntime.jsx(select.SelectContent, { children: functionOptions.map((fn) => /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: fn.id, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
206
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: fn.name }),
207
+ fn.description && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground", children: fn.description })
208
+ ] }) }, fn.id)) })
209
+ ] }),
210
+ errors.defaultValue && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-red-500 mt-1", children: errors.defaultValue })
211
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
170
212
  /* @__PURE__ */ jsxRuntime.jsxs(label.Label, { htmlFor: "var-default", children: [
171
213
  "Preview Value ",
172
214
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-red-500", children: "*" })
@@ -182,7 +224,7 @@ const AddVariableForm = ({
182
224
  }
183
225
  ),
184
226
  errors.defaultValue && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-red-500 mt-1", children: errors.defaultValue })
185
- ] }),
227
+ ] }) }),
186
228
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
187
229
  /* @__PURE__ */ jsxRuntime.jsxs(button.Button, { size: "sm", onClick: handleSave, children: [
188
230
  /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.Check, { className: "h-4 w-4 mr-2" }),
@@ -203,7 +245,8 @@ const VariableCard = ({
203
245
  onSave,
204
246
  onCancel,
205
247
  onDelete,
206
- editVariables
248
+ editVariables,
249
+ functionRegistry
207
250
  }) => {
208
251
  const [name, setName] = React.useState(variable.name);
209
252
  const [type, setType] = React.useState(variable.type);
@@ -211,17 +254,35 @@ const VariableCard = ({
211
254
  String(variable.defaultValue)
212
255
  );
213
256
  const [errors, setErrors] = React.useState(EMPTY_OBJECT);
257
+ const functionOptions = React.useMemo(() => {
258
+ if (!functionRegistry) return [];
259
+ return Object.entries(functionRegistry).map(([id, def]) => ({
260
+ id,
261
+ name: def.name,
262
+ description: def.description
263
+ }));
264
+ }, [functionRegistry]);
265
+ const hasFunctions = functionOptions.length > 0;
266
+ const getFunctionDisplayName = React.useCallback((funcId) => {
267
+ if (!functionRegistry) return funcId;
268
+ const fn = functionRegistry[funcId];
269
+ return fn ? fn.name : funcId;
270
+ }, [functionRegistry]);
214
271
  const validateForm = React.useCallback(() => {
215
272
  const newErrors = {};
216
273
  if (!name.trim()) {
217
274
  newErrors.name = "Name is required";
218
275
  }
219
- if (!defaultValue.trim()) {
276
+ if (type === "function") {
277
+ if (!defaultValue) {
278
+ newErrors.defaultValue = "Please select a function";
279
+ }
280
+ } else if (!defaultValue.trim()) {
220
281
  newErrors.defaultValue = "Preview value is required";
221
282
  }
222
283
  setErrors(newErrors);
223
284
  return Object.keys(newErrors).length === 0;
224
- }, [name, defaultValue]);
285
+ }, [name, defaultValue, type]);
225
286
  const handleSave = React.useCallback(() => {
226
287
  if (!validateForm()) return;
227
288
  let parsedValue = defaultValue;
@@ -244,7 +305,10 @@ const VariableCard = ({
244
305
  [errors.name]
245
306
  );
246
307
  const handleTypeChange = React.useCallback(
247
- (value) => setType(value),
308
+ (value) => {
309
+ setType(value);
310
+ setDefaultValue("");
311
+ },
248
312
  []
249
313
  );
250
314
  const handleDefaultValueChange = React.useCallback(
@@ -255,6 +319,14 @@ const VariableCard = ({
255
319
  },
256
320
  [errors.defaultValue]
257
321
  );
322
+ const handleFunctionSelect = React.useCallback(
323
+ (value) => {
324
+ setDefaultValue(value);
325
+ if (errors.defaultValue)
326
+ setErrors((prev) => ({ ...prev, defaultValue: void 0 }));
327
+ },
328
+ [errors.defaultValue]
329
+ );
258
330
  const handleOnEdit = React.useCallback(() => {
259
331
  onEdit(variable.id);
260
332
  }, [onEdit, variable.id]);
@@ -286,11 +358,25 @@ const VariableCard = ({
286
358
  /* @__PURE__ */ jsxRuntime.jsxs(select.SelectContent, { children: [
287
359
  /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "string", children: "String" }),
288
360
  /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "number", children: "Number" }),
289
- /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "boolean", children: "Boolean" })
361
+ /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "boolean", children: "Boolean" }),
362
+ hasFunctions && /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "function", children: "Function" })
290
363
  ] })
291
364
  ] })
292
365
  ] }),
293
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
366
+ /* @__PURE__ */ jsxRuntime.jsx("div", { children: type === "function" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
367
+ /* @__PURE__ */ jsxRuntime.jsxs(label.Label, { htmlFor: `edit-function-${variable.id}`, children: [
368
+ "Function ",
369
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-red-500", children: "*" })
370
+ ] }),
371
+ /* @__PURE__ */ jsxRuntime.jsxs(select.Select, { value: defaultValue, onValueChange: handleFunctionSelect, children: [
372
+ /* @__PURE__ */ jsxRuntime.jsx(select.SelectTrigger, { className: errors.defaultValue ? "border-red-500" : "", children: /* @__PURE__ */ jsxRuntime.jsx(select.SelectValue, { placeholder: "Select a function..." }) }),
373
+ /* @__PURE__ */ jsxRuntime.jsx(select.SelectContent, { children: functionOptions.map((fn) => /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: fn.id, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
374
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: fn.name }),
375
+ fn.description && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground", children: fn.description })
376
+ ] }) }, fn.id)) })
377
+ ] }),
378
+ errors.defaultValue && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-red-500 mt-1", children: errors.defaultValue })
379
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
294
380
  /* @__PURE__ */ jsxRuntime.jsxs(label.Label, { htmlFor: `edit-default-${variable.id}`, children: [
295
381
  "Preview Value ",
296
382
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-red-500", children: "*" })
@@ -306,7 +392,7 @@ const VariableCard = ({
306
392
  }
307
393
  ),
308
394
  errors.defaultValue && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-red-500 mt-1", children: errors.defaultValue })
309
- ] }),
395
+ ] }) }),
310
396
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
311
397
  /* @__PURE__ */ jsxRuntime.jsxs(button.Button, { size: "sm", onClick: handleSave, children: [
312
398
  /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.Check, { className: "h-4 w-4 mr-2" }),
@@ -325,7 +411,7 @@ const VariableCard = ({
325
411
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: variable.name }),
326
412
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs bg-muted px-2 py-1 rounded", children: variable.type })
327
413
  ] }),
328
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-muted-foreground mt-1", children: String(variable.defaultValue) })
414
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-muted-foreground mt-1", children: variable.type === "function" ? getFunctionDisplayName(String(variable.defaultValue)) : String(variable.defaultValue) })
329
415
  ] }),
330
416
  editVariables && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1", children: [
331
417
  /* @__PURE__ */ jsxRuntime.jsx(button.Button, { size: "sm", variant: "ghost", onClick: handleOnEdit, children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.Edit2, { className: "h-4 w-4" }) }),
@@ -341,6 +427,8 @@ function getPlaceholderForType(type) {
341
427
  return "0";
342
428
  case "boolean":
343
429
  return "true";
430
+ case "function":
431
+ return "Select a function...";
344
432
  default:
345
433
  return "";
346
434
  }