@hanzo/ui 8.0.26 → 8.0.28

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 (1193) hide show
  1. package/README.md +1 -1
  2. package/dist/backends/gui/aspect-ratio.cjs +15 -0
  3. package/dist/backends/gui/aspect-ratio.d.ts +15 -0
  4. package/dist/backends/gui/aspect-ratio.d.ts.map +1 -0
  5. package/dist/backends/gui/aspect-ratio.js +13 -0
  6. package/dist/backends/gui/aspect-ratio.js.map +1 -0
  7. package/dist/backends/gui/avatar.cjs +20 -0
  8. package/dist/backends/gui/avatar.d.ts +17 -0
  9. package/dist/backends/gui/avatar.d.ts.map +1 -0
  10. package/dist/backends/gui/avatar.js +16 -0
  11. package/dist/backends/gui/avatar.js.map +1 -0
  12. package/dist/backends/gui/badge.cjs +80 -0
  13. package/dist/backends/gui/badge.d.ts +20 -0
  14. package/dist/backends/gui/badge.d.ts.map +1 -0
  15. package/dist/backends/gui/badge.js +76 -0
  16. package/dist/backends/gui/badge.js.map +1 -0
  17. package/dist/backends/gui/button.cjs +114 -0
  18. package/dist/backends/gui/button.d.ts +30 -0
  19. package/dist/backends/gui/button.d.ts.map +1 -0
  20. package/dist/backends/gui/button.js +111 -0
  21. package/dist/backends/gui/button.js.map +1 -0
  22. package/dist/backends/gui/card.cjs +49 -0
  23. package/dist/backends/gui/card.d.ts +45 -0
  24. package/dist/backends/gui/card.d.ts.map +1 -0
  25. package/dist/backends/gui/card.js +41 -0
  26. package/dist/backends/gui/card.js.map +1 -0
  27. package/dist/backends/gui/checkbox.cjs +16 -0
  28. package/dist/backends/gui/checkbox.d.ts +10 -0
  29. package/dist/backends/gui/checkbox.d.ts.map +1 -0
  30. package/dist/backends/gui/checkbox.js +14 -0
  31. package/dist/backends/gui/checkbox.js.map +1 -0
  32. package/dist/backends/gui/collapsible.cjs +15 -0
  33. package/dist/backends/gui/collapsible.d.ts +11 -0
  34. package/dist/backends/gui/collapsible.d.ts.map +1 -0
  35. package/dist/backends/gui/collapsible.js +11 -0
  36. package/dist/backends/gui/collapsible.js.map +1 -0
  37. package/dist/backends/gui/command.cjs +198 -0
  38. package/dist/backends/gui/command.d.ts +87 -0
  39. package/dist/backends/gui/command.d.ts.map +1 -0
  40. package/dist/backends/gui/command.js +188 -0
  41. package/dist/backends/gui/command.js.map +1 -0
  42. package/dist/backends/gui/command.logic.cjs +49 -0
  43. package/dist/backends/gui/command.logic.d.ts +21 -0
  44. package/dist/backends/gui/command.logic.d.ts.map +1 -0
  45. package/dist/backends/gui/command.logic.js +45 -0
  46. package/dist/backends/gui/command.logic.js.map +1 -0
  47. package/dist/backends/gui/dialog.cjs +41 -0
  48. package/dist/backends/gui/dialog.d.ts +28 -0
  49. package/dist/backends/gui/dialog.d.ts.map +1 -0
  50. package/dist/backends/gui/dialog.js +30 -0
  51. package/dist/backends/gui/dialog.js.map +1 -0
  52. package/dist/backends/gui/dropdown-menu.cjs +168 -0
  53. package/dist/backends/gui/dropdown-menu.d.ts +99 -0
  54. package/dist/backends/gui/dropdown-menu.d.ts.map +1 -0
  55. package/dist/backends/gui/dropdown-menu.js +119 -0
  56. package/dist/backends/gui/dropdown-menu.js.map +1 -0
  57. package/dist/backends/gui/gesture.cjs +74 -0
  58. package/dist/backends/gui/gesture.d.ts +68 -0
  59. package/dist/backends/gui/gesture.d.ts.map +1 -0
  60. package/dist/backends/gui/gesture.js +69 -0
  61. package/dist/backends/gui/gesture.js.map +1 -0
  62. package/dist/backends/gui/index.cjs +134 -0
  63. package/dist/backends/gui/index.d.ts +25 -2
  64. package/dist/backends/gui/index.d.ts.map +1 -0
  65. package/dist/backends/gui/index.js +41 -0
  66. package/dist/backends/gui/index.js.map +1 -0
  67. package/dist/backends/gui/ink.cjs +14 -0
  68. package/dist/backends/gui/ink.d.ts +8 -0
  69. package/dist/backends/gui/ink.d.ts.map +1 -0
  70. package/dist/backends/gui/ink.js +11 -0
  71. package/dist/backends/gui/ink.js.map +1 -0
  72. package/dist/backends/gui/input.cjs +39 -0
  73. package/dist/backends/gui/input.d.ts +20 -0
  74. package/dist/backends/gui/input.d.ts.map +1 -0
  75. package/dist/backends/gui/input.js +37 -0
  76. package/dist/backends/gui/input.js.map +1 -0
  77. package/dist/backends/gui/label.cjs +10 -0
  78. package/dist/backends/gui/label.d.ts +7 -0
  79. package/dist/backends/gui/label.d.ts.map +1 -0
  80. package/dist/backends/gui/label.js +8 -0
  81. package/dist/backends/gui/label.js.map +1 -0
  82. package/dist/backends/gui/popover.cjs +39 -0
  83. package/dist/backends/gui/popover.d.ts +23 -0
  84. package/dist/backends/gui/popover.d.ts.map +1 -0
  85. package/dist/backends/gui/popover.js +33 -0
  86. package/dist/backends/gui/popover.js.map +1 -0
  87. package/dist/backends/gui/progress.cjs +10 -0
  88. package/dist/backends/gui/progress.d.ts +7 -0
  89. package/dist/backends/gui/progress.d.ts.map +1 -0
  90. package/dist/backends/gui/progress.js +8 -0
  91. package/dist/backends/gui/progress.js.map +1 -0
  92. package/dist/backends/gui/resizable.cjs +174 -0
  93. package/dist/backends/gui/resizable.d.ts +54 -0
  94. package/dist/backends/gui/resizable.d.ts.map +1 -0
  95. package/dist/backends/gui/resizable.js +168 -0
  96. package/dist/backends/gui/resizable.js.map +1 -0
  97. package/dist/backends/gui/resizable.logic.cjs +46 -0
  98. package/dist/backends/gui/resizable.logic.d.ts +24 -0
  99. package/dist/backends/gui/resizable.logic.d.ts.map +1 -0
  100. package/dist/backends/gui/resizable.logic.js +43 -0
  101. package/dist/backends/gui/resizable.logic.js.map +1 -0
  102. package/dist/backends/gui/scroll-area.cjs +126 -0
  103. package/dist/backends/gui/scroll-area.d.ts +46 -0
  104. package/dist/backends/gui/scroll-area.d.ts.map +1 -0
  105. package/dist/backends/gui/scroll-area.js +123 -0
  106. package/dist/backends/gui/scroll-area.js.map +1 -0
  107. package/dist/backends/gui/select.cjs +54 -0
  108. package/dist/backends/gui/select.d.ts +31 -0
  109. package/dist/backends/gui/select.d.ts.map +1 -0
  110. package/dist/backends/gui/select.js +43 -0
  111. package/dist/backends/gui/select.js.map +1 -0
  112. package/dist/backends/gui/separator.cjs +10 -0
  113. package/dist/backends/gui/separator.d.ts +11 -0
  114. package/dist/backends/gui/separator.d.ts.map +1 -0
  115. package/dist/backends/gui/separator.js +8 -0
  116. package/dist/backends/gui/separator.js.map +1 -0
  117. package/dist/backends/gui/slider.cjs +13 -0
  118. package/dist/backends/gui/slider.d.ts +7 -0
  119. package/dist/backends/gui/slider.d.ts.map +1 -0
  120. package/dist/backends/gui/slider.js +11 -0
  121. package/dist/backends/gui/slider.js.map +1 -0
  122. package/dist/backends/gui/slot.cjs +10 -0
  123. package/dist/backends/gui/slot.d.ts +7 -0
  124. package/dist/backends/gui/slot.d.ts.map +1 -0
  125. package/dist/backends/gui/slot.js +7 -0
  126. package/dist/backends/gui/slot.js.map +1 -0
  127. package/dist/backends/gui/switch.cjs +13 -0
  128. package/dist/backends/gui/switch.d.ts +7 -0
  129. package/dist/backends/gui/switch.d.ts.map +1 -0
  130. package/dist/backends/gui/switch.js +11 -0
  131. package/dist/backends/gui/switch.js.map +1 -0
  132. package/dist/backends/gui/tabs.cjs +19 -0
  133. package/dist/backends/gui/tabs.d.ts +13 -0
  134. package/dist/backends/gui/tabs.d.ts.map +1 -0
  135. package/dist/backends/gui/tabs.js +14 -0
  136. package/dist/backends/gui/tabs.js.map +1 -0
  137. package/dist/backends/gui/textarea.cjs +58 -0
  138. package/dist/backends/gui/textarea.d.ts +12 -0
  139. package/dist/backends/gui/textarea.d.ts.map +1 -0
  140. package/dist/backends/gui/textarea.js +23 -0
  141. package/dist/backends/gui/textarea.js.map +1 -0
  142. package/dist/backends/gui/toaster.cjs +13 -0
  143. package/dist/backends/gui/toaster.d.ts +29 -0
  144. package/dist/backends/gui/toaster.d.ts.map +1 -0
  145. package/dist/backends/gui/toaster.js +10 -0
  146. package/dist/backends/gui/toaster.js.map +1 -0
  147. package/dist/backends/gui/tooltip.cjs +22 -0
  148. package/dist/backends/gui/tooltip.d.ts +13 -0
  149. package/dist/backends/gui/tooltip.d.ts.map +1 -0
  150. package/dist/backends/gui/tooltip.js +17 -0
  151. package/dist/backends/gui/tooltip.js.map +1 -0
  152. package/dist/canvas.cjs +27 -14
  153. package/dist/canvas.d.ts +1 -0
  154. package/dist/canvas.d.ts.map +1 -0
  155. package/dist/canvas.js +10 -1
  156. package/dist/canvas.js.map +1 -1
  157. package/dist/cd/layout.cjs +143 -0
  158. package/dist/cd/layout.d.ts +1 -0
  159. package/dist/cd/layout.d.ts.map +1 -0
  160. package/dist/cd/layout.js +141 -0
  161. package/dist/cd/layout.js.map +1 -0
  162. package/dist/cd/status.cjs +132 -0
  163. package/dist/cd/status.d.ts +2 -1
  164. package/dist/cd/status.d.ts.map +1 -0
  165. package/dist/cd/status.js +120 -0
  166. package/dist/cd/status.js.map +1 -0
  167. package/dist/cd/time.cjs +60 -0
  168. package/dist/cd/time.d.ts +1 -0
  169. package/dist/cd/time.d.ts.map +1 -0
  170. package/dist/cd/time.js +56 -0
  171. package/dist/cd/time.js.map +1 -0
  172. package/dist/cd/types.cjs +19 -0
  173. package/dist/cd/types.d.ts +1 -0
  174. package/dist/cd/types.d.ts.map +1 -0
  175. package/dist/cd/types.js +19 -0
  176. package/dist/cd/types.js.map +1 -0
  177. package/dist/core/cn.cjs +15 -0
  178. package/dist/core/cn.d.ts +5 -5
  179. package/dist/core/cn.d.ts.map +1 -0
  180. package/dist/core/cn.js +13 -0
  181. package/dist/core/cn.js.map +1 -0
  182. package/dist/core/fonts.cjs +26 -0
  183. package/dist/core/fonts.d.ts +1 -0
  184. package/dist/core/fonts.d.ts.map +1 -0
  185. package/dist/core/fonts.js +24 -0
  186. package/dist/core/fonts.js.map +1 -0
  187. package/dist/core/index.cjs +31 -0
  188. package/dist/core/index.d.ts +4 -3
  189. package/dist/core/index.d.ts.map +1 -0
  190. package/dist/core/index.js +9 -0
  191. package/dist/core/index.js.map +1 -0
  192. package/dist/core/tokens.cjs +35 -0
  193. package/dist/core/tokens.d.ts +1 -0
  194. package/dist/core/tokens.d.ts.map +1 -0
  195. package/dist/core/tokens.js +16 -0
  196. package/dist/core/tokens.js.map +1 -0
  197. package/dist/dashboard.cjs +24 -14
  198. package/dist/dashboard.d.ts +1 -0
  199. package/dist/dashboard.d.ts.map +1 -0
  200. package/dist/dashboard.js +7 -1
  201. package/dist/dashboard.js.map +1 -1
  202. package/dist/data.cjs +28 -14
  203. package/dist/data.d.ts +1 -0
  204. package/dist/data.d.ts.map +1 -0
  205. package/dist/data.js +11 -1
  206. package/dist/data.js.map +1 -1
  207. package/dist/framework/CollectionBuilder.cjs +77 -0
  208. package/dist/framework/CollectionBuilder.d.ts +3 -2
  209. package/dist/framework/CollectionBuilder.d.ts.map +1 -0
  210. package/dist/framework/CollectionBuilder.js +75 -0
  211. package/dist/framework/CollectionBuilder.js.map +1 -0
  212. package/dist/framework/CollectionsBrowser.cjs +107 -0
  213. package/dist/framework/CollectionsBrowser.d.ts +3 -2
  214. package/dist/framework/CollectionsBrowser.d.ts.map +1 -0
  215. package/dist/framework/CollectionsBrowser.js +105 -0
  216. package/dist/framework/CollectionsBrowser.js.map +1 -0
  217. package/dist/framework/DocTypeDetail.cjs +187 -0
  218. package/dist/framework/DocTypeDetail.d.ts +2 -1
  219. package/dist/framework/DocTypeDetail.d.ts.map +1 -0
  220. package/dist/framework/DocTypeDetail.js +185 -0
  221. package/dist/framework/DocTypeDetail.js.map +1 -0
  222. package/dist/framework/DocTypeRecords.cjs +130 -0
  223. package/dist/framework/DocTypeRecords.d.ts +4 -3
  224. package/dist/framework/DocTypeRecords.d.ts.map +1 -0
  225. package/dist/framework/DocTypeRecords.js +128 -0
  226. package/dist/framework/DocTypeRecords.js.map +1 -0
  227. package/dist/framework/MediaGrid.cjs +134 -0
  228. package/dist/framework/MediaGrid.d.ts +4 -3
  229. package/dist/framework/MediaGrid.d.ts.map +1 -0
  230. package/dist/framework/MediaGrid.js +132 -0
  231. package/dist/framework/MediaGrid.js.map +1 -0
  232. package/dist/framework/RecordCards.cjs +47 -0
  233. package/dist/framework/RecordCards.d.ts +1 -0
  234. package/dist/framework/RecordCards.d.ts.map +1 -0
  235. package/dist/framework/RecordCards.js +45 -0
  236. package/dist/framework/RecordCards.js.map +1 -0
  237. package/dist/framework/builder-logic.cjs +169 -0
  238. package/dist/framework/builder-logic.d.ts +2 -1
  239. package/dist/framework/builder-logic.d.ts.map +1 -0
  240. package/dist/framework/builder-logic.js +156 -0
  241. package/dist/framework/builder-logic.js.map +1 -0
  242. package/dist/framework/client.cjs +95 -0
  243. package/dist/framework/client.d.ts +2 -1
  244. package/dist/framework/client.d.ts.map +1 -0
  245. package/dist/framework/client.js +91 -0
  246. package/dist/framework/client.js.map +1 -0
  247. package/dist/framework/core.cjs +36 -212
  248. package/dist/framework/core.d.ts +7 -6
  249. package/dist/framework/core.d.ts.map +1 -0
  250. package/dist/framework/core.js +20 -2
  251. package/dist/framework/core.js.map +1 -1
  252. package/dist/framework/data.cjs +41 -0
  253. package/dist/framework/data.d.ts +3 -2
  254. package/dist/framework/data.d.ts.map +1 -0
  255. package/dist/framework/data.js +38 -0
  256. package/dist/framework/data.js.map +1 -0
  257. package/dist/framework/fields.cjs +358 -0
  258. package/dist/framework/fields.d.ts +2 -1
  259. package/dist/framework/fields.d.ts.map +1 -0
  260. package/dist/framework/fields.js +335 -0
  261. package/dist/framework/fields.js.map +1 -0
  262. package/dist/framework/index.cjs +58 -1339
  263. package/dist/framework/index.d.ts +10 -9
  264. package/dist/framework/index.d.ts.map +1 -0
  265. package/dist/framework/index.js +35 -1117
  266. package/dist/framework/index.js.map +1 -1
  267. package/dist/framework/media.cjs +133 -0
  268. package/dist/framework/media.d.ts +2 -1
  269. package/dist/framework/media.d.ts.map +1 -0
  270. package/dist/framework/media.js +124 -0
  271. package/dist/framework/media.js.map +1 -0
  272. package/dist/framework/parts.cjs +60 -0
  273. package/dist/framework/parts.d.ts +1 -0
  274. package/dist/framework/parts.d.ts.map +1 -0
  275. package/dist/framework/parts.js +51 -0
  276. package/dist/framework/parts.js.map +1 -0
  277. package/dist/framework/responsive.cjs +62 -0
  278. package/dist/framework/responsive.d.ts +1 -0
  279. package/dist/framework/responsive.d.ts.map +1 -0
  280. package/dist/framework/responsive.js +58 -0
  281. package/dist/framework/responsive.js.map +1 -0
  282. package/dist/framework/types.cjs +20 -0
  283. package/dist/framework/types.d.ts +1 -0
  284. package/dist/framework/types.d.ts.map +1 -0
  285. package/dist/framework/types.js +18 -0
  286. package/dist/framework/types.js.map +1 -0
  287. package/dist/gitops.cjs +21 -14
  288. package/dist/gitops.d.ts +1 -0
  289. package/dist/gitops.d.ts.map +1 -0
  290. package/dist/gitops.js +4 -1
  291. package/dist/gitops.js.map +1 -1
  292. package/dist/gui-config.cjs +145 -112
  293. package/dist/gui-config.d.ts +1 -0
  294. package/dist/gui-config.d.ts.map +1 -0
  295. package/dist/gui-config.js +140 -104
  296. package/dist/gui-config.js.map +1 -1
  297. package/dist/index.cjs +40 -1144
  298. package/dist/index.d.ts +3 -2
  299. package/dist/index.d.ts.map +1 -0
  300. package/dist/index.js +23 -1018
  301. package/dist/index.js.map +1 -1
  302. package/dist/models/ModelSelector.cjs +58 -0
  303. package/dist/models/ModelSelector.d.ts +10 -6
  304. package/dist/models/ModelSelector.d.ts.map +1 -0
  305. package/dist/models/ModelSelector.js +56 -0
  306. package/dist/models/ModelSelector.js.map +1 -0
  307. package/dist/models/catalog.cjs +191 -0
  308. package/dist/models/catalog.d.ts +2 -1
  309. package/dist/models/catalog.d.ts.map +1 -0
  310. package/dist/models/catalog.js +185 -0
  311. package/dist/models/catalog.js.map +1 -0
  312. package/dist/models/index.cjs +16 -0
  313. package/dist/models/index.d.ts +6 -5
  314. package/dist/models/index.d.ts.map +1 -0
  315. package/dist/models/index.js +8 -0
  316. package/dist/models/index.js.map +1 -0
  317. package/dist/models/types.cjs +8 -0
  318. package/dist/models/types.d.ts +1 -0
  319. package/dist/models/types.d.ts.map +1 -0
  320. package/dist/models/types.js +8 -0
  321. package/dist/models/types.js.map +1 -0
  322. package/dist/oss/blueprint.cjs +96 -0
  323. package/dist/oss/blueprint.d.ts +1 -0
  324. package/dist/oss/blueprint.d.ts.map +1 -0
  325. package/dist/oss/blueprint.js +94 -0
  326. package/dist/oss/blueprint.js.map +1 -0
  327. package/dist/oss/catalog.cjs +174 -0
  328. package/dist/oss/catalog.d.ts +1 -0
  329. package/dist/oss/catalog.d.ts.map +1 -0
  330. package/dist/oss/catalog.js +165 -0
  331. package/dist/oss/catalog.js.map +1 -0
  332. package/dist/oss.cjs +27 -188
  333. package/dist/oss.d.ts +3 -2
  334. package/dist/oss.d.ts.map +1 -0
  335. package/dist/oss.js +12 -178
  336. package/dist/oss.js.map +1 -1
  337. package/dist/primitives/AspectRatio.cjs +8 -0
  338. package/dist/primitives/AspectRatio.d.ts +2 -1
  339. package/dist/primitives/AspectRatio.d.ts.map +1 -0
  340. package/dist/primitives/AspectRatio.js +5 -0
  341. package/dist/primitives/AspectRatio.js.map +1 -0
  342. package/dist/primitives/Avatar.cjs +8 -0
  343. package/dist/primitives/Avatar.d.ts +2 -1
  344. package/dist/primitives/Avatar.d.ts.map +1 -0
  345. package/dist/primitives/Avatar.js +5 -0
  346. package/dist/primitives/Avatar.js.map +1 -0
  347. package/dist/primitives/AvatarFallback.cjs +8 -0
  348. package/dist/primitives/AvatarFallback.d.ts +2 -1
  349. package/dist/primitives/AvatarFallback.d.ts.map +1 -0
  350. package/dist/primitives/AvatarFallback.js +5 -0
  351. package/dist/primitives/AvatarFallback.js.map +1 -0
  352. package/dist/primitives/AvatarImage.cjs +8 -0
  353. package/dist/primitives/AvatarImage.d.ts +2 -1
  354. package/dist/primitives/AvatarImage.d.ts.map +1 -0
  355. package/dist/primitives/AvatarImage.js +5 -0
  356. package/dist/primitives/AvatarImage.js.map +1 -0
  357. package/dist/primitives/Badge.cjs +8 -0
  358. package/dist/primitives/Badge.d.ts +2 -1
  359. package/dist/primitives/Badge.d.ts.map +1 -0
  360. package/dist/primitives/Badge.js +5 -0
  361. package/dist/primitives/Badge.js.map +1 -0
  362. package/dist/primitives/Button.cjs +8 -0
  363. package/dist/primitives/Button.d.ts +2 -1
  364. package/dist/primitives/Button.d.ts.map +1 -0
  365. package/dist/primitives/Button.js +5 -0
  366. package/dist/primitives/Button.js.map +1 -0
  367. package/dist/primitives/Card.cjs +8 -0
  368. package/dist/primitives/Card.d.ts +2 -1
  369. package/dist/primitives/Card.d.ts.map +1 -0
  370. package/dist/primitives/Card.js +5 -0
  371. package/dist/primitives/Card.js.map +1 -0
  372. package/dist/primitives/CardAction.cjs +8 -0
  373. package/dist/primitives/CardAction.d.ts +2 -1
  374. package/dist/primitives/CardAction.d.ts.map +1 -0
  375. package/dist/primitives/CardAction.js +5 -0
  376. package/dist/primitives/CardAction.js.map +1 -0
  377. package/dist/primitives/CardContent.cjs +8 -0
  378. package/dist/primitives/CardContent.d.ts +2 -1
  379. package/dist/primitives/CardContent.d.ts.map +1 -0
  380. package/dist/primitives/CardContent.js +5 -0
  381. package/dist/primitives/CardContent.js.map +1 -0
  382. package/dist/primitives/CardDescription.cjs +8 -0
  383. package/dist/primitives/CardDescription.d.ts +2 -1
  384. package/dist/primitives/CardDescription.d.ts.map +1 -0
  385. package/dist/primitives/CardDescription.js +5 -0
  386. package/dist/primitives/CardDescription.js.map +1 -0
  387. package/dist/primitives/CardFooter.cjs +8 -0
  388. package/dist/primitives/CardFooter.d.ts +2 -1
  389. package/dist/primitives/CardFooter.d.ts.map +1 -0
  390. package/dist/primitives/CardFooter.js +5 -0
  391. package/dist/primitives/CardFooter.js.map +1 -0
  392. package/dist/primitives/CardHeader.cjs +8 -0
  393. package/dist/primitives/CardHeader.d.ts +2 -1
  394. package/dist/primitives/CardHeader.d.ts.map +1 -0
  395. package/dist/primitives/CardHeader.js +5 -0
  396. package/dist/primitives/CardHeader.js.map +1 -0
  397. package/dist/primitives/CardTitle.cjs +8 -0
  398. package/dist/primitives/CardTitle.d.ts +2 -1
  399. package/dist/primitives/CardTitle.d.ts.map +1 -0
  400. package/dist/primitives/CardTitle.js +5 -0
  401. package/dist/primitives/CardTitle.js.map +1 -0
  402. package/dist/primitives/Checkbox.cjs +8 -0
  403. package/dist/primitives/Checkbox.d.ts +2 -1
  404. package/dist/primitives/Checkbox.d.ts.map +1 -0
  405. package/dist/primitives/Checkbox.js +5 -0
  406. package/dist/primitives/Checkbox.js.map +1 -0
  407. package/dist/primitives/Collapsible.cjs +8 -0
  408. package/dist/primitives/Collapsible.d.ts +2 -1
  409. package/dist/primitives/Collapsible.d.ts.map +1 -0
  410. package/dist/primitives/Collapsible.js +5 -0
  411. package/dist/primitives/Collapsible.js.map +1 -0
  412. package/dist/primitives/CollapsibleContent.cjs +8 -0
  413. package/dist/primitives/CollapsibleContent.d.ts +2 -1
  414. package/dist/primitives/CollapsibleContent.d.ts.map +1 -0
  415. package/dist/primitives/CollapsibleContent.js +5 -0
  416. package/dist/primitives/CollapsibleContent.js.map +1 -0
  417. package/dist/primitives/CollapsibleTrigger.cjs +8 -0
  418. package/dist/primitives/CollapsibleTrigger.d.ts +2 -1
  419. package/dist/primitives/CollapsibleTrigger.d.ts.map +1 -0
  420. package/dist/primitives/CollapsibleTrigger.js +5 -0
  421. package/dist/primitives/CollapsibleTrigger.js.map +1 -0
  422. package/dist/primitives/Command.cjs +8 -0
  423. package/dist/primitives/Command.d.ts +2 -1
  424. package/dist/primitives/Command.d.ts.map +1 -0
  425. package/dist/primitives/Command.js +5 -0
  426. package/dist/primitives/Command.js.map +1 -0
  427. package/dist/primitives/CommandDialog.cjs +8 -0
  428. package/dist/primitives/CommandDialog.d.ts +2 -1
  429. package/dist/primitives/CommandDialog.d.ts.map +1 -0
  430. package/dist/primitives/CommandDialog.js +5 -0
  431. package/dist/primitives/CommandDialog.js.map +1 -0
  432. package/dist/primitives/CommandEmpty.cjs +8 -0
  433. package/dist/primitives/CommandEmpty.d.ts +2 -1
  434. package/dist/primitives/CommandEmpty.d.ts.map +1 -0
  435. package/dist/primitives/CommandEmpty.js +5 -0
  436. package/dist/primitives/CommandEmpty.js.map +1 -0
  437. package/dist/primitives/CommandGroup.cjs +8 -0
  438. package/dist/primitives/CommandGroup.d.ts +2 -1
  439. package/dist/primitives/CommandGroup.d.ts.map +1 -0
  440. package/dist/primitives/CommandGroup.js +5 -0
  441. package/dist/primitives/CommandGroup.js.map +1 -0
  442. package/dist/primitives/CommandInput.cjs +8 -0
  443. package/dist/primitives/CommandInput.d.ts +2 -1
  444. package/dist/primitives/CommandInput.d.ts.map +1 -0
  445. package/dist/primitives/CommandInput.js +5 -0
  446. package/dist/primitives/CommandInput.js.map +1 -0
  447. package/dist/primitives/CommandItem.cjs +8 -0
  448. package/dist/primitives/CommandItem.d.ts +2 -1
  449. package/dist/primitives/CommandItem.d.ts.map +1 -0
  450. package/dist/primitives/CommandItem.js +5 -0
  451. package/dist/primitives/CommandItem.js.map +1 -0
  452. package/dist/primitives/CommandList.cjs +8 -0
  453. package/dist/primitives/CommandList.d.ts +2 -1
  454. package/dist/primitives/CommandList.d.ts.map +1 -0
  455. package/dist/primitives/CommandList.js +5 -0
  456. package/dist/primitives/CommandList.js.map +1 -0
  457. package/dist/primitives/CommandSeparator.cjs +8 -0
  458. package/dist/primitives/CommandSeparator.d.ts +2 -1
  459. package/dist/primitives/CommandSeparator.d.ts.map +1 -0
  460. package/dist/primitives/CommandSeparator.js +5 -0
  461. package/dist/primitives/CommandSeparator.js.map +1 -0
  462. package/dist/primitives/CommandShortcut.cjs +8 -0
  463. package/dist/primitives/CommandShortcut.d.ts +2 -1
  464. package/dist/primitives/CommandShortcut.d.ts.map +1 -0
  465. package/dist/primitives/CommandShortcut.js +5 -0
  466. package/dist/primitives/CommandShortcut.js.map +1 -0
  467. package/dist/primitives/Dialog.cjs +8 -0
  468. package/dist/primitives/Dialog.d.ts +2 -1
  469. package/dist/primitives/Dialog.d.ts.map +1 -0
  470. package/dist/primitives/Dialog.js +5 -0
  471. package/dist/primitives/Dialog.js.map +1 -0
  472. package/dist/primitives/DialogClose.cjs +8 -0
  473. package/dist/primitives/DialogClose.d.ts +2 -1
  474. package/dist/primitives/DialogClose.d.ts.map +1 -0
  475. package/dist/primitives/DialogClose.js +5 -0
  476. package/dist/primitives/DialogClose.js.map +1 -0
  477. package/dist/primitives/DialogContent.cjs +8 -0
  478. package/dist/primitives/DialogContent.d.ts +2 -1
  479. package/dist/primitives/DialogContent.d.ts.map +1 -0
  480. package/dist/primitives/DialogContent.js +5 -0
  481. package/dist/primitives/DialogContent.js.map +1 -0
  482. package/dist/primitives/DialogDescription.cjs +8 -0
  483. package/dist/primitives/DialogDescription.d.ts +2 -1
  484. package/dist/primitives/DialogDescription.d.ts.map +1 -0
  485. package/dist/primitives/DialogDescription.js +5 -0
  486. package/dist/primitives/DialogDescription.js.map +1 -0
  487. package/dist/primitives/DialogFooter.cjs +8 -0
  488. package/dist/primitives/DialogFooter.d.ts +2 -1
  489. package/dist/primitives/DialogFooter.d.ts.map +1 -0
  490. package/dist/primitives/DialogFooter.js +5 -0
  491. package/dist/primitives/DialogFooter.js.map +1 -0
  492. package/dist/primitives/DialogHeader.cjs +8 -0
  493. package/dist/primitives/DialogHeader.d.ts +2 -1
  494. package/dist/primitives/DialogHeader.d.ts.map +1 -0
  495. package/dist/primitives/DialogHeader.js +5 -0
  496. package/dist/primitives/DialogHeader.js.map +1 -0
  497. package/dist/primitives/DialogOverlay.cjs +8 -0
  498. package/dist/primitives/DialogOverlay.d.ts +2 -1
  499. package/dist/primitives/DialogOverlay.d.ts.map +1 -0
  500. package/dist/primitives/DialogOverlay.js +5 -0
  501. package/dist/primitives/DialogOverlay.js.map +1 -0
  502. package/dist/primitives/DialogPortal.cjs +8 -0
  503. package/dist/primitives/DialogPortal.d.ts +2 -1
  504. package/dist/primitives/DialogPortal.d.ts.map +1 -0
  505. package/dist/primitives/DialogPortal.js +5 -0
  506. package/dist/primitives/DialogPortal.js.map +1 -0
  507. package/dist/primitives/DialogTitle.cjs +8 -0
  508. package/dist/primitives/DialogTitle.d.ts +2 -1
  509. package/dist/primitives/DialogTitle.d.ts.map +1 -0
  510. package/dist/primitives/DialogTitle.js +5 -0
  511. package/dist/primitives/DialogTitle.js.map +1 -0
  512. package/dist/primitives/DialogTrigger.cjs +8 -0
  513. package/dist/primitives/DialogTrigger.d.ts +2 -1
  514. package/dist/primitives/DialogTrigger.d.ts.map +1 -0
  515. package/dist/primitives/DialogTrigger.js +5 -0
  516. package/dist/primitives/DialogTrigger.js.map +1 -0
  517. package/dist/primitives/DropdownMenu.cjs +8 -0
  518. package/dist/primitives/DropdownMenu.d.ts +2 -1
  519. package/dist/primitives/DropdownMenu.d.ts.map +1 -0
  520. package/dist/primitives/DropdownMenu.js +5 -0
  521. package/dist/primitives/DropdownMenu.js.map +1 -0
  522. package/dist/primitives/DropdownMenuCheckboxItem.cjs +8 -0
  523. package/dist/primitives/DropdownMenuCheckboxItem.d.ts +2 -1
  524. package/dist/primitives/DropdownMenuCheckboxItem.d.ts.map +1 -0
  525. package/dist/primitives/DropdownMenuCheckboxItem.js +5 -0
  526. package/dist/primitives/DropdownMenuCheckboxItem.js.map +1 -0
  527. package/dist/primitives/DropdownMenuContent.cjs +8 -0
  528. package/dist/primitives/DropdownMenuContent.d.ts +2 -1
  529. package/dist/primitives/DropdownMenuContent.d.ts.map +1 -0
  530. package/dist/primitives/DropdownMenuContent.js +5 -0
  531. package/dist/primitives/DropdownMenuContent.js.map +1 -0
  532. package/dist/primitives/DropdownMenuGroup.cjs +8 -0
  533. package/dist/primitives/DropdownMenuGroup.d.ts +2 -1
  534. package/dist/primitives/DropdownMenuGroup.d.ts.map +1 -0
  535. package/dist/primitives/DropdownMenuGroup.js +5 -0
  536. package/dist/primitives/DropdownMenuGroup.js.map +1 -0
  537. package/dist/primitives/DropdownMenuItem.cjs +8 -0
  538. package/dist/primitives/DropdownMenuItem.d.ts +2 -1
  539. package/dist/primitives/DropdownMenuItem.d.ts.map +1 -0
  540. package/dist/primitives/DropdownMenuItem.js +5 -0
  541. package/dist/primitives/DropdownMenuItem.js.map +1 -0
  542. package/dist/primitives/DropdownMenuLabel.cjs +8 -0
  543. package/dist/primitives/DropdownMenuLabel.d.ts +2 -1
  544. package/dist/primitives/DropdownMenuLabel.d.ts.map +1 -0
  545. package/dist/primitives/DropdownMenuLabel.js +5 -0
  546. package/dist/primitives/DropdownMenuLabel.js.map +1 -0
  547. package/dist/primitives/DropdownMenuPortal.cjs +8 -0
  548. package/dist/primitives/DropdownMenuPortal.d.ts +2 -1
  549. package/dist/primitives/DropdownMenuPortal.d.ts.map +1 -0
  550. package/dist/primitives/DropdownMenuPortal.js +5 -0
  551. package/dist/primitives/DropdownMenuPortal.js.map +1 -0
  552. package/dist/primitives/DropdownMenuRadioGroup.cjs +8 -0
  553. package/dist/primitives/DropdownMenuRadioGroup.d.ts +2 -1
  554. package/dist/primitives/DropdownMenuRadioGroup.d.ts.map +1 -0
  555. package/dist/primitives/DropdownMenuRadioGroup.js +5 -0
  556. package/dist/primitives/DropdownMenuRadioGroup.js.map +1 -0
  557. package/dist/primitives/DropdownMenuRadioItem.cjs +8 -0
  558. package/dist/primitives/DropdownMenuRadioItem.d.ts +2 -1
  559. package/dist/primitives/DropdownMenuRadioItem.d.ts.map +1 -0
  560. package/dist/primitives/DropdownMenuRadioItem.js +5 -0
  561. package/dist/primitives/DropdownMenuRadioItem.js.map +1 -0
  562. package/dist/primitives/DropdownMenuSeparator.cjs +8 -0
  563. package/dist/primitives/DropdownMenuSeparator.d.ts +2 -1
  564. package/dist/primitives/DropdownMenuSeparator.d.ts.map +1 -0
  565. package/dist/primitives/DropdownMenuSeparator.js +5 -0
  566. package/dist/primitives/DropdownMenuSeparator.js.map +1 -0
  567. package/dist/primitives/DropdownMenuShortcut.cjs +8 -0
  568. package/dist/primitives/DropdownMenuShortcut.d.ts +2 -1
  569. package/dist/primitives/DropdownMenuShortcut.d.ts.map +1 -0
  570. package/dist/primitives/DropdownMenuShortcut.js +5 -0
  571. package/dist/primitives/DropdownMenuShortcut.js.map +1 -0
  572. package/dist/primitives/DropdownMenuSub.cjs +8 -0
  573. package/dist/primitives/DropdownMenuSub.d.ts +2 -1
  574. package/dist/primitives/DropdownMenuSub.d.ts.map +1 -0
  575. package/dist/primitives/DropdownMenuSub.js +5 -0
  576. package/dist/primitives/DropdownMenuSub.js.map +1 -0
  577. package/dist/primitives/DropdownMenuSubContent.cjs +8 -0
  578. package/dist/primitives/DropdownMenuSubContent.d.ts +2 -1
  579. package/dist/primitives/DropdownMenuSubContent.d.ts.map +1 -0
  580. package/dist/primitives/DropdownMenuSubContent.js +5 -0
  581. package/dist/primitives/DropdownMenuSubContent.js.map +1 -0
  582. package/dist/primitives/DropdownMenuSubTrigger.cjs +8 -0
  583. package/dist/primitives/DropdownMenuSubTrigger.d.ts +2 -1
  584. package/dist/primitives/DropdownMenuSubTrigger.d.ts.map +1 -0
  585. package/dist/primitives/DropdownMenuSubTrigger.js +5 -0
  586. package/dist/primitives/DropdownMenuSubTrigger.js.map +1 -0
  587. package/dist/primitives/DropdownMenuTrigger.cjs +8 -0
  588. package/dist/primitives/DropdownMenuTrigger.d.ts +2 -1
  589. package/dist/primitives/DropdownMenuTrigger.d.ts.map +1 -0
  590. package/dist/primitives/DropdownMenuTrigger.js +5 -0
  591. package/dist/primitives/DropdownMenuTrigger.js.map +1 -0
  592. package/dist/primitives/Input.cjs +8 -0
  593. package/dist/primitives/Input.d.ts +2 -1
  594. package/dist/primitives/Input.d.ts.map +1 -0
  595. package/dist/primitives/Input.js +5 -0
  596. package/dist/primitives/Input.js.map +1 -0
  597. package/dist/primitives/Label.cjs +8 -0
  598. package/dist/primitives/Label.d.ts +2 -1
  599. package/dist/primitives/Label.d.ts.map +1 -0
  600. package/dist/primitives/Label.js +5 -0
  601. package/dist/primitives/Label.js.map +1 -0
  602. package/dist/primitives/Popover.cjs +8 -0
  603. package/dist/primitives/Popover.d.ts +2 -1
  604. package/dist/primitives/Popover.d.ts.map +1 -0
  605. package/dist/primitives/Popover.js +5 -0
  606. package/dist/primitives/Popover.js.map +1 -0
  607. package/dist/primitives/PopoverAnchor.cjs +8 -0
  608. package/dist/primitives/PopoverAnchor.d.ts +2 -1
  609. package/dist/primitives/PopoverAnchor.d.ts.map +1 -0
  610. package/dist/primitives/PopoverAnchor.js +5 -0
  611. package/dist/primitives/PopoverAnchor.js.map +1 -0
  612. package/dist/primitives/PopoverClose.cjs +8 -0
  613. package/dist/primitives/PopoverClose.d.ts +2 -0
  614. package/dist/primitives/PopoverClose.d.ts.map +1 -0
  615. package/dist/primitives/PopoverClose.js +5 -0
  616. package/dist/primitives/PopoverClose.js.map +1 -0
  617. package/dist/primitives/PopoverContent.cjs +8 -0
  618. package/dist/primitives/PopoverContent.d.ts +2 -1
  619. package/dist/primitives/PopoverContent.d.ts.map +1 -0
  620. package/dist/primitives/PopoverContent.js +5 -0
  621. package/dist/primitives/PopoverContent.js.map +1 -0
  622. package/dist/primitives/PopoverTrigger.cjs +8 -0
  623. package/dist/primitives/PopoverTrigger.d.ts +2 -1
  624. package/dist/primitives/PopoverTrigger.d.ts.map +1 -0
  625. package/dist/primitives/PopoverTrigger.js +5 -0
  626. package/dist/primitives/PopoverTrigger.js.map +1 -0
  627. package/dist/primitives/Progress.cjs +8 -0
  628. package/dist/primitives/Progress.d.ts +2 -1
  629. package/dist/primitives/Progress.d.ts.map +1 -0
  630. package/dist/primitives/Progress.js +5 -0
  631. package/dist/primitives/Progress.js.map +1 -0
  632. package/dist/primitives/ResizableHandle.cjs +8 -0
  633. package/dist/primitives/ResizableHandle.d.ts +2 -0
  634. package/dist/primitives/ResizableHandle.d.ts.map +1 -0
  635. package/dist/primitives/ResizableHandle.js +5 -0
  636. package/dist/primitives/ResizableHandle.js.map +1 -0
  637. package/dist/primitives/ResizablePanel.cjs +8 -0
  638. package/dist/primitives/ResizablePanel.d.ts +2 -0
  639. package/dist/primitives/ResizablePanel.d.ts.map +1 -0
  640. package/dist/primitives/ResizablePanel.js +5 -0
  641. package/dist/primitives/ResizablePanel.js.map +1 -0
  642. package/dist/primitives/ResizablePanelGroup.cjs +8 -0
  643. package/dist/primitives/ResizablePanelGroup.d.ts +2 -0
  644. package/dist/primitives/ResizablePanelGroup.d.ts.map +1 -0
  645. package/dist/primitives/ResizablePanelGroup.js +5 -0
  646. package/dist/primitives/ResizablePanelGroup.js.map +1 -0
  647. package/dist/primitives/ScrollArea.cjs +8 -0
  648. package/dist/primitives/ScrollArea.d.ts +2 -1
  649. package/dist/primitives/ScrollArea.d.ts.map +1 -0
  650. package/dist/primitives/ScrollArea.js +5 -0
  651. package/dist/primitives/ScrollArea.js.map +1 -0
  652. package/dist/primitives/ScrollBar.cjs +8 -0
  653. package/dist/primitives/ScrollBar.d.ts +2 -1
  654. package/dist/primitives/ScrollBar.d.ts.map +1 -0
  655. package/dist/primitives/ScrollBar.js +5 -0
  656. package/dist/primitives/ScrollBar.js.map +1 -0
  657. package/dist/primitives/Select.cjs +8 -0
  658. package/dist/primitives/Select.d.ts +2 -1
  659. package/dist/primitives/Select.d.ts.map +1 -0
  660. package/dist/primitives/Select.js +5 -0
  661. package/dist/primitives/Select.js.map +1 -0
  662. package/dist/primitives/SelectContent.cjs +8 -0
  663. package/dist/primitives/SelectContent.d.ts +2 -1
  664. package/dist/primitives/SelectContent.d.ts.map +1 -0
  665. package/dist/primitives/SelectContent.js +5 -0
  666. package/dist/primitives/SelectContent.js.map +1 -0
  667. package/dist/primitives/SelectGroup.cjs +8 -0
  668. package/dist/primitives/SelectGroup.d.ts +2 -1
  669. package/dist/primitives/SelectGroup.d.ts.map +1 -0
  670. package/dist/primitives/SelectGroup.js +5 -0
  671. package/dist/primitives/SelectGroup.js.map +1 -0
  672. package/dist/primitives/SelectItem.cjs +8 -0
  673. package/dist/primitives/SelectItem.d.ts +2 -1
  674. package/dist/primitives/SelectItem.d.ts.map +1 -0
  675. package/dist/primitives/SelectItem.js +5 -0
  676. package/dist/primitives/SelectItem.js.map +1 -0
  677. package/dist/primitives/SelectLabel.cjs +8 -0
  678. package/dist/primitives/SelectLabel.d.ts +2 -1
  679. package/dist/primitives/SelectLabel.d.ts.map +1 -0
  680. package/dist/primitives/SelectLabel.js +5 -0
  681. package/dist/primitives/SelectLabel.js.map +1 -0
  682. package/dist/primitives/SelectScrollDownButton.cjs +8 -0
  683. package/dist/primitives/SelectScrollDownButton.d.ts +2 -1
  684. package/dist/primitives/SelectScrollDownButton.d.ts.map +1 -0
  685. package/dist/primitives/SelectScrollDownButton.js +5 -0
  686. package/dist/primitives/SelectScrollDownButton.js.map +1 -0
  687. package/dist/primitives/SelectScrollUpButton.cjs +8 -0
  688. package/dist/primitives/SelectScrollUpButton.d.ts +2 -1
  689. package/dist/primitives/SelectScrollUpButton.d.ts.map +1 -0
  690. package/dist/primitives/SelectScrollUpButton.js +5 -0
  691. package/dist/primitives/SelectScrollUpButton.js.map +1 -0
  692. package/dist/primitives/SelectSeparator.cjs +8 -0
  693. package/dist/primitives/SelectSeparator.d.ts +2 -1
  694. package/dist/primitives/SelectSeparator.d.ts.map +1 -0
  695. package/dist/primitives/SelectSeparator.js +5 -0
  696. package/dist/primitives/SelectSeparator.js.map +1 -0
  697. package/dist/primitives/SelectTrigger.cjs +8 -0
  698. package/dist/primitives/SelectTrigger.d.ts +2 -1
  699. package/dist/primitives/SelectTrigger.d.ts.map +1 -0
  700. package/dist/primitives/SelectTrigger.js +5 -0
  701. package/dist/primitives/SelectTrigger.js.map +1 -0
  702. package/dist/primitives/SelectValue.cjs +8 -0
  703. package/dist/primitives/SelectValue.d.ts +2 -1
  704. package/dist/primitives/SelectValue.d.ts.map +1 -0
  705. package/dist/primitives/SelectValue.js +5 -0
  706. package/dist/primitives/SelectValue.js.map +1 -0
  707. package/dist/primitives/Separator.cjs +8 -0
  708. package/dist/primitives/Separator.d.ts +2 -1
  709. package/dist/primitives/Separator.d.ts.map +1 -0
  710. package/dist/primitives/Separator.js +5 -0
  711. package/dist/primitives/Separator.js.map +1 -0
  712. package/dist/primitives/Slider.cjs +8 -0
  713. package/dist/primitives/Slider.d.ts +2 -1
  714. package/dist/primitives/Slider.d.ts.map +1 -0
  715. package/dist/primitives/Slider.js +5 -0
  716. package/dist/primitives/Slider.js.map +1 -0
  717. package/dist/primitives/Switch.cjs +8 -0
  718. package/dist/primitives/Switch.d.ts +2 -1
  719. package/dist/primitives/Switch.d.ts.map +1 -0
  720. package/dist/primitives/Switch.js +5 -0
  721. package/dist/primitives/Switch.js.map +1 -0
  722. package/dist/primitives/Tabs.cjs +8 -0
  723. package/dist/primitives/Tabs.d.ts +2 -1
  724. package/dist/primitives/Tabs.d.ts.map +1 -0
  725. package/dist/primitives/Tabs.js +5 -0
  726. package/dist/primitives/Tabs.js.map +1 -0
  727. package/dist/primitives/TabsContent.cjs +8 -0
  728. package/dist/primitives/TabsContent.d.ts +2 -1
  729. package/dist/primitives/TabsContent.d.ts.map +1 -0
  730. package/dist/primitives/TabsContent.js +5 -0
  731. package/dist/primitives/TabsContent.js.map +1 -0
  732. package/dist/primitives/TabsList.cjs +8 -0
  733. package/dist/primitives/TabsList.d.ts +2 -1
  734. package/dist/primitives/TabsList.d.ts.map +1 -0
  735. package/dist/primitives/TabsList.js +5 -0
  736. package/dist/primitives/TabsList.js.map +1 -0
  737. package/dist/primitives/TabsTrigger.cjs +8 -0
  738. package/dist/primitives/TabsTrigger.d.ts +2 -1
  739. package/dist/primitives/TabsTrigger.d.ts.map +1 -0
  740. package/dist/primitives/TabsTrigger.js +5 -0
  741. package/dist/primitives/TabsTrigger.js.map +1 -0
  742. package/dist/primitives/Textarea.cjs +8 -0
  743. package/dist/primitives/Textarea.d.ts +2 -1
  744. package/dist/primitives/Textarea.d.ts.map +1 -0
  745. package/dist/primitives/Textarea.js +5 -0
  746. package/dist/primitives/Textarea.js.map +1 -0
  747. package/dist/primitives/Toaster.cjs +8 -0
  748. package/dist/primitives/Toaster.d.ts +2 -1
  749. package/dist/primitives/Toaster.d.ts.map +1 -0
  750. package/dist/primitives/Toaster.js +5 -0
  751. package/dist/primitives/Toaster.js.map +1 -0
  752. package/dist/primitives/Tooltip.cjs +8 -0
  753. package/dist/primitives/Tooltip.d.ts +2 -1
  754. package/dist/primitives/Tooltip.d.ts.map +1 -0
  755. package/dist/primitives/Tooltip.js +5 -0
  756. package/dist/primitives/Tooltip.js.map +1 -0
  757. package/dist/primitives/TooltipContent.cjs +8 -0
  758. package/dist/primitives/TooltipContent.d.ts +2 -1
  759. package/dist/primitives/TooltipContent.d.ts.map +1 -0
  760. package/dist/primitives/TooltipContent.js +5 -0
  761. package/dist/primitives/TooltipContent.js.map +1 -0
  762. package/dist/primitives/TooltipProvider.cjs +8 -0
  763. package/dist/primitives/TooltipProvider.d.ts +2 -1
  764. package/dist/primitives/TooltipProvider.d.ts.map +1 -0
  765. package/dist/primitives/TooltipProvider.js +5 -0
  766. package/dist/primitives/TooltipProvider.js.map +1 -0
  767. package/dist/primitives/TooltipTrigger.cjs +8 -0
  768. package/dist/primitives/TooltipTrigger.d.ts +2 -1
  769. package/dist/primitives/TooltipTrigger.d.ts.map +1 -0
  770. package/dist/primitives/TooltipTrigger.js +5 -0
  771. package/dist/primitives/TooltipTrigger.js.map +1 -0
  772. package/dist/primitives/badgeVariants.cjs +8 -0
  773. package/dist/primitives/badgeVariants.d.ts +2 -1
  774. package/dist/primitives/badgeVariants.d.ts.map +1 -0
  775. package/dist/primitives/badgeVariants.js +5 -0
  776. package/dist/primitives/badgeVariants.js.map +1 -0
  777. package/dist/primitives/bases/data/index.cjs +28 -14
  778. package/dist/primitives/bases/data/index.d.ts +1 -0
  779. package/dist/primitives/bases/data/index.d.ts.map +1 -0
  780. package/dist/primitives/bases/data/index.js +11 -1
  781. package/dist/primitives/bases/data/index.js.map +1 -1
  782. package/dist/primitives/buttonVariants.cjs +8 -0
  783. package/dist/primitives/buttonVariants.d.ts +2 -1
  784. package/dist/primitives/buttonVariants.d.ts.map +1 -0
  785. package/dist/primitives/buttonVariants.js +5 -0
  786. package/dist/primitives/buttonVariants.js.map +1 -0
  787. package/dist/primitives/index.cjs +20 -0
  788. package/dist/primitives/index.d.ts +2 -1
  789. package/dist/primitives/index.d.ts.map +1 -0
  790. package/dist/primitives/index.js +5 -0
  791. package/dist/primitives/index.js.map +1 -0
  792. package/dist/primitives/toast.cjs +8 -0
  793. package/dist/primitives/toast.d.ts +2 -1
  794. package/dist/primitives/toast.d.ts.map +1 -0
  795. package/dist/primitives/toast.js +5 -0
  796. package/dist/primitives/toast.js.map +1 -0
  797. package/dist/product/AnimatedLogo.cjs +102 -0
  798. package/dist/product/AnimatedLogo.d.ts +2 -1
  799. package/dist/product/AnimatedLogo.d.ts.map +1 -0
  800. package/dist/product/AnimatedLogo.js +100 -0
  801. package/dist/product/AnimatedLogo.js.map +1 -0
  802. package/dist/product/AppHeader.cjs +55 -0
  803. package/dist/product/AppHeader.d.ts +2 -1
  804. package/dist/product/AppHeader.d.ts.map +1 -0
  805. package/dist/product/AppHeader.js +53 -0
  806. package/dist/product/AppHeader.js.map +1 -0
  807. package/dist/product/BackendState.cjs +80 -0
  808. package/dist/product/BackendState.d.ts +1 -0
  809. package/dist/product/BackendState.d.ts.map +1 -0
  810. package/dist/product/BackendState.js +76 -0
  811. package/dist/product/BackendState.js.map +1 -0
  812. package/dist/product/BrandMark.cjs +19 -0
  813. package/dist/product/BrandMark.d.ts +1 -0
  814. package/dist/product/BrandMark.d.ts.map +1 -0
  815. package/dist/product/BrandMark.js +17 -0
  816. package/dist/product/BrandMark.js.map +1 -0
  817. package/dist/product/Charts.cjs +243 -0
  818. package/dist/product/Charts.d.ts +1 -0
  819. package/dist/product/Charts.d.ts.map +1 -0
  820. package/dist/product/Charts.js +235 -0
  821. package/dist/product/Charts.js.map +1 -0
  822. package/dist/product/ComboBox.cjs +44 -0
  823. package/dist/product/ComboBox.d.ts +3 -2
  824. package/dist/product/ComboBox.d.ts.map +1 -0
  825. package/dist/product/ComboBox.js +42 -0
  826. package/dist/product/ComboBox.js.map +1 -0
  827. package/dist/product/CommerceResource.cjs +39 -0
  828. package/dist/product/CommerceResource.d.ts +2 -1
  829. package/dist/product/CommerceResource.d.ts.map +1 -0
  830. package/dist/product/CommerceResource.js +37 -0
  831. package/dist/product/CommerceResource.js.map +1 -0
  832. package/dist/product/ConfirmDelete.cjs +42 -0
  833. package/dist/product/ConfirmDelete.d.ts +1 -0
  834. package/dist/product/ConfirmDelete.d.ts.map +1 -0
  835. package/dist/product/ConfirmDelete.js +40 -0
  836. package/dist/product/ConfirmDelete.js.map +1 -0
  837. package/dist/product/DataTable.cjs +58 -0
  838. package/dist/product/DataTable.d.ts +1 -0
  839. package/dist/product/DataTable.d.ts.map +1 -0
  840. package/dist/product/DataTable.js +56 -0
  841. package/dist/product/DataTable.js.map +1 -0
  842. package/dist/product/Donut.cjs +25 -0
  843. package/dist/product/Donut.d.ts +1 -0
  844. package/dist/product/Donut.d.ts.map +1 -0
  845. package/dist/product/Donut.js +23 -0
  846. package/dist/product/Donut.js.map +1 -0
  847. package/dist/product/EmptyState.cjs +30 -0
  848. package/dist/product/EmptyState.d.ts +2 -1
  849. package/dist/product/EmptyState.d.ts.map +1 -0
  850. package/dist/product/EmptyState.js +28 -0
  851. package/dist/product/EmptyState.js.map +1 -0
  852. package/dist/product/FadeIn.cjs +9 -0
  853. package/dist/product/FadeIn.d.ts +1 -0
  854. package/dist/product/FadeIn.d.ts.map +1 -0
  855. package/dist/product/FadeIn.js +7 -0
  856. package/dist/product/FadeIn.js.map +1 -0
  857. package/dist/product/Field.cjs +111 -0
  858. package/dist/product/Field.d.ts +1 -0
  859. package/dist/product/Field.d.ts.map +1 -0
  860. package/dist/product/Field.js +104 -0
  861. package/dist/product/Field.js.map +1 -0
  862. package/dist/product/Filters.cjs +31 -0
  863. package/dist/product/Filters.d.ts +1 -0
  864. package/dist/product/Filters.d.ts.map +1 -0
  865. package/dist/product/Filters.js +28 -0
  866. package/dist/product/Filters.js.map +1 -0
  867. package/dist/product/HanzoMark.cjs +16 -0
  868. package/dist/product/HanzoMark.d.ts +1 -0
  869. package/dist/product/HanzoMark.d.ts.map +1 -0
  870. package/dist/product/HanzoMark.js +14 -0
  871. package/dist/product/HanzoMark.js.map +1 -0
  872. package/dist/product/Metric.cjs +96 -0
  873. package/dist/product/Metric.d.ts +1 -0
  874. package/dist/product/Metric.d.ts.map +1 -0
  875. package/dist/product/Metric.js +85 -0
  876. package/dist/product/Metric.js.map +1 -0
  877. package/dist/product/OrgMark.cjs +50 -0
  878. package/dist/product/OrgMark.d.ts +2 -1
  879. package/dist/product/OrgMark.d.ts.map +1 -0
  880. package/dist/product/OrgMark.js +47 -0
  881. package/dist/product/OrgMark.js.map +1 -0
  882. package/dist/product/OrgSwitcher.cjs +140 -0
  883. package/dist/product/OrgSwitcher.d.ts +2 -1
  884. package/dist/product/OrgSwitcher.d.ts.map +1 -0
  885. package/dist/product/OrgSwitcher.js +138 -0
  886. package/dist/product/OrgSwitcher.js.map +1 -0
  887. package/dist/product/PageHeader.cjs +15 -0
  888. package/dist/product/PageHeader.d.ts +1 -0
  889. package/dist/product/PageHeader.d.ts.map +1 -0
  890. package/dist/product/PageHeader.js +13 -0
  891. package/dist/product/PageHeader.js.map +1 -0
  892. package/dist/product/PrimaryButton.cjs +31 -0
  893. package/dist/product/PrimaryButton.d.ts +1 -0
  894. package/dist/product/PrimaryButton.d.ts.map +1 -0
  895. package/dist/product/PrimaryButton.js +29 -0
  896. package/dist/product/PrimaryButton.js.map +1 -0
  897. package/dist/product/ProductIcon.cjs +36 -0
  898. package/dist/product/ProductIcon.d.ts +2 -1
  899. package/dist/product/ProductIcon.d.ts.map +1 -0
  900. package/dist/product/ProductIcon.js +34 -0
  901. package/dist/product/ProductIcon.js.map +1 -0
  902. package/dist/product/ProviderLogo.cjs +84 -0
  903. package/dist/product/ProviderLogo.d.ts +1 -0
  904. package/dist/product/ProviderLogo.d.ts.map +1 -0
  905. package/dist/product/ProviderLogo.js +81 -0
  906. package/dist/product/ProviderLogo.js.map +1 -0
  907. package/dist/product/Reorder.cjs +82 -0
  908. package/dist/product/Reorder.d.ts +1 -0
  909. package/dist/product/Reorder.d.ts.map +1 -0
  910. package/dist/product/Reorder.js +78 -0
  911. package/dist/product/Reorder.js.map +1 -0
  912. package/dist/product/SelectMenu.cjs +19 -0
  913. package/dist/product/SelectMenu.d.ts +1 -0
  914. package/dist/product/SelectMenu.d.ts.map +1 -0
  915. package/dist/product/SelectMenu.js +17 -0
  916. package/dist/product/SelectMenu.js.map +1 -0
  917. package/dist/product/SiteFooter.cjs +17 -0
  918. package/dist/product/SiteFooter.d.ts +2 -1
  919. package/dist/product/SiteFooter.d.ts.map +1 -0
  920. package/dist/product/SiteFooter.js +15 -0
  921. package/dist/product/SiteFooter.js.map +1 -0
  922. package/dist/product/SiteNav.cjs +124 -0
  923. package/dist/product/SiteNav.d.ts +1 -0
  924. package/dist/product/SiteNav.d.ts.map +1 -0
  925. package/dist/product/SiteNav.js +122 -0
  926. package/dist/product/SiteNav.js.map +1 -0
  927. package/dist/product/SlideOver.cjs +129 -0
  928. package/dist/product/SlideOver.d.ts +2 -1
  929. package/dist/product/SlideOver.d.ts.map +1 -0
  930. package/dist/product/SlideOver.js +126 -0
  931. package/dist/product/SlideOver.js.map +1 -0
  932. package/dist/product/StatusTag.cjs +49 -0
  933. package/dist/product/StatusTag.d.ts +1 -0
  934. package/dist/product/StatusTag.d.ts.map +1 -0
  935. package/dist/product/StatusTag.js +47 -0
  936. package/dist/product/StatusTag.js.map +1 -0
  937. package/dist/product/ThemeToggle.cjs +120 -0
  938. package/dist/product/ThemeToggle.d.ts +1 -0
  939. package/dist/product/ThemeToggle.d.ts.map +1 -0
  940. package/dist/product/ThemeToggle.js +84 -0
  941. package/dist/product/ThemeToggle.js.map +1 -0
  942. package/dist/product/ThemeToggleNext.cjs +20 -0
  943. package/dist/product/ThemeToggleNext.d.ts +2 -1
  944. package/dist/product/ThemeToggleNext.d.ts.map +1 -0
  945. package/dist/product/ThemeToggleNext.js +19 -0
  946. package/dist/product/ThemeToggleNext.js.map +1 -0
  947. package/dist/product/Toast.cjs +90 -0
  948. package/dist/product/Toast.d.ts +1 -0
  949. package/dist/product/Toast.d.ts.map +1 -0
  950. package/dist/product/Toast.js +87 -0
  951. package/dist/product/Toast.js.map +1 -0
  952. package/dist/product/accent.cjs +97 -0
  953. package/dist/product/accent.d.ts +1 -0
  954. package/dist/product/accent.d.ts.map +1 -0
  955. package/dist/product/accent.js +90 -0
  956. package/dist/product/accent.js.map +1 -0
  957. package/dist/product/animatedLogo.logic.cjs +52 -0
  958. package/dist/product/animatedLogo.logic.d.ts +1 -0
  959. package/dist/product/animatedLogo.logic.d.ts.map +1 -0
  960. package/dist/product/animatedLogo.logic.js +47 -0
  961. package/dist/product/animatedLogo.logic.js.map +1 -0
  962. package/dist/product/brand.cjs +91 -0
  963. package/dist/product/brand.d.ts +1 -0
  964. package/dist/product/brand.d.ts.map +1 -0
  965. package/dist/product/brand.js +88 -0
  966. package/dist/product/brand.js.map +1 -0
  967. package/dist/product/color.cjs +6 -0
  968. package/dist/product/color.d.ts +1 -0
  969. package/dist/product/color.d.ts.map +1 -0
  970. package/dist/product/color.js +3 -0
  971. package/dist/product/color.js.map +1 -0
  972. package/dist/product/combobox/filter.cjs +31 -0
  973. package/dist/product/combobox/filter.d.ts +1 -0
  974. package/dist/product/combobox/filter.d.ts.map +1 -0
  975. package/dist/product/combobox/filter.js +28 -0
  976. package/dist/product/combobox/filter.js.map +1 -0
  977. package/dist/product/host.cjs +20 -0
  978. package/dist/product/host.d.ts +1 -0
  979. package/dist/product/host.d.ts.map +1 -0
  980. package/dist/product/host.js +16 -0
  981. package/dist/product/host.js.map +1 -0
  982. package/dist/product/index.cjs +120 -2240
  983. package/dist/product/index.d.ts +43 -41
  984. package/dist/product/index.d.ts.map +1 -0
  985. package/dist/product/index.js +88 -1912
  986. package/dist/product/index.js.map +1 -1
  987. package/dist/product/instrument.cjs +79 -0
  988. package/dist/product/instrument.d.ts +1 -0
  989. package/dist/product/instrument.d.ts.map +1 -0
  990. package/dist/product/instrument.js +72 -0
  991. package/dist/product/instrument.js.map +1 -0
  992. package/dist/product/menu/ContextMenu.cjs +26 -0
  993. package/dist/product/menu/ContextMenu.d.ts +2 -1
  994. package/dist/product/menu/ContextMenu.d.ts.map +1 -0
  995. package/dist/product/menu/ContextMenu.js +24 -0
  996. package/dist/product/menu/ContextMenu.js.map +1 -0
  997. package/dist/product/menu/FloatingMenu.cjs +87 -0
  998. package/dist/product/menu/FloatingMenu.d.ts +1 -0
  999. package/dist/product/menu/FloatingMenu.d.ts.map +1 -0
  1000. package/dist/product/menu/FloatingMenu.js +85 -0
  1001. package/dist/product/menu/FloatingMenu.js.map +1 -0
  1002. package/dist/product/menu/index.cjs +30 -0
  1003. package/dist/product/menu/index.d.ts +6 -5
  1004. package/dist/product/menu/index.d.ts.map +1 -0
  1005. package/dist/product/menu/index.js +19 -0
  1006. package/dist/product/menu/index.js.map +1 -0
  1007. package/dist/product/menu/items.cjs +92 -0
  1008. package/dist/product/menu/items.d.ts +2 -1
  1009. package/dist/product/menu/items.d.ts.map +1 -0
  1010. package/dist/product/menu/items.js +85 -0
  1011. package/dist/product/menu/items.js.map +1 -0
  1012. package/dist/product/menu/portal-theme.cjs +13 -0
  1013. package/dist/product/menu/portal-theme.d.ts +1 -0
  1014. package/dist/product/menu/portal-theme.d.ts.map +1 -0
  1015. package/dist/product/menu/portal-theme.js +12 -0
  1016. package/dist/product/menu/portal-theme.js.map +1 -0
  1017. package/dist/product/menu/roving.cjs +31 -0
  1018. package/dist/product/menu/roving.d.ts +1 -0
  1019. package/dist/product/menu/roving.d.ts.map +1 -0
  1020. package/dist/product/menu/roving.js +29 -0
  1021. package/dist/product/menu/roving.js.map +1 -0
  1022. package/dist/product/scope.cjs +102 -0
  1023. package/dist/product/scope.d.ts +1 -0
  1024. package/dist/product/scope.d.ts.map +1 -0
  1025. package/dist/product/scope.js +99 -0
  1026. package/dist/product/scope.js.map +1 -0
  1027. package/dist/product/social/CampaignCard.cjs +17 -0
  1028. package/dist/product/social/CampaignCard.d.ts +1 -0
  1029. package/dist/product/social/CampaignCard.d.ts.map +1 -0
  1030. package/dist/product/social/CampaignCard.js +15 -0
  1031. package/dist/product/social/CampaignCard.js.map +1 -0
  1032. package/dist/product/social/ChannelBadge.cjs +24 -0
  1033. package/dist/product/social/ChannelBadge.d.ts +2 -1
  1034. package/dist/product/social/ChannelBadge.d.ts.map +1 -0
  1035. package/dist/product/social/ChannelBadge.js +22 -0
  1036. package/dist/product/social/ChannelBadge.js.map +1 -0
  1037. package/dist/product/social/PostAgenda.cjs +40 -0
  1038. package/dist/product/social/PostAgenda.d.ts +2 -1
  1039. package/dist/product/social/PostAgenda.d.ts.map +1 -0
  1040. package/dist/product/social/PostAgenda.js +38 -0
  1041. package/dist/product/social/PostAgenda.js.map +1 -0
  1042. package/dist/product/social/PostCard.cjs +19 -0
  1043. package/dist/product/social/PostCard.d.ts +2 -1
  1044. package/dist/product/social/PostCard.d.ts.map +1 -0
  1045. package/dist/product/social/PostCard.js +17 -0
  1046. package/dist/product/social/PostCard.js.map +1 -0
  1047. package/dist/product/social/PostComposer.cjs +64 -0
  1048. package/dist/product/social/PostComposer.d.ts +2 -1
  1049. package/dist/product/social/PostComposer.d.ts.map +1 -0
  1050. package/dist/product/social/PostComposer.js +61 -0
  1051. package/dist/product/social/PostComposer.js.map +1 -0
  1052. package/dist/product/social/ProviderReadinessList.cjs +16 -0
  1053. package/dist/product/social/ProviderReadinessList.d.ts +2 -1
  1054. package/dist/product/social/ProviderReadinessList.d.ts.map +1 -0
  1055. package/dist/product/social/ProviderReadinessList.js +14 -0
  1056. package/dist/product/social/ProviderReadinessList.js.map +1 -0
  1057. package/dist/product/social/SocialResource.cjs +147 -0
  1058. package/dist/product/social/SocialResource.d.ts +2 -1
  1059. package/dist/product/social/SocialResource.d.ts.map +1 -0
  1060. package/dist/product/social/SocialResource.js +145 -0
  1061. package/dist/product/social/SocialResource.js.map +1 -0
  1062. package/dist/product/social/SocialSummaryBar.cjs +20 -0
  1063. package/dist/product/social/SocialSummaryBar.d.ts +2 -1
  1064. package/dist/product/social/SocialSummaryBar.d.ts.map +1 -0
  1065. package/dist/product/social/SocialSummaryBar.js +18 -0
  1066. package/dist/product/social/SocialSummaryBar.js.map +1 -0
  1067. package/dist/product/social/ViewToggle.cjs +23 -0
  1068. package/dist/product/social/ViewToggle.d.ts +1 -0
  1069. package/dist/product/social/ViewToggle.d.ts.map +1 -0
  1070. package/dist/product/social/ViewToggle.js +21 -0
  1071. package/dist/product/social/ViewToggle.js.map +1 -0
  1072. package/dist/product/social/api.cjs +137 -52
  1073. package/dist/product/social/api.d.ts +1 -0
  1074. package/dist/product/social/api.d.ts.map +1 -0
  1075. package/dist/product/social/api.js +126 -2
  1076. package/dist/product/social/api.js.map +1 -1
  1077. package/dist/product/social/format.cjs +39 -0
  1078. package/dist/product/social/format.d.ts +1 -0
  1079. package/dist/product/social/format.d.ts.map +1 -0
  1080. package/dist/product/social/format.js +34 -0
  1081. package/dist/product/social/format.js.map +1 -0
  1082. package/dist/product/social/index.cjs +38 -111
  1083. package/dist/product/social/index.d.ts +12 -11
  1084. package/dist/product/social/index.d.ts.map +1 -0
  1085. package/dist/product/social/index.js +22 -5
  1086. package/dist/product/social/index.js.map +1 -1
  1087. package/dist/product/surfaces.data.cjs +25 -0
  1088. package/dist/product/surfaces.data.d.ts +1 -0
  1089. package/dist/product/surfaces.data.d.ts.map +1 -0
  1090. package/dist/product/surfaces.data.js +22 -0
  1091. package/dist/product/surfaces.data.js.map +1 -0
  1092. package/dist/styles/hanzo-motion.css +188 -0
  1093. package/dist/telemetry.cjs +31 -14
  1094. package/dist/telemetry.d.ts +1 -0
  1095. package/dist/telemetry.d.ts.map +1 -0
  1096. package/dist/telemetry.js +14 -1
  1097. package/dist/telemetry.js.map +1 -1
  1098. package/dist/theme.css +185 -0
  1099. package/dist/usage.cjs +24 -14
  1100. package/dist/usage.d.ts +1 -0
  1101. package/dist/usage.d.ts.map +1 -0
  1102. package/dist/usage.js +7 -1
  1103. package/dist/usage.js.map +1 -1
  1104. package/package.json +35 -78
  1105. package/dist/ThemeToggleNext-AEDLHX5X.js +0 -4
  1106. package/dist/ThemeToggleNext-AEDLHX5X.js.map +0 -1
  1107. package/dist/ThemeToggleNext-N6ASYJ6J.cjs +0 -19
  1108. package/dist/ThemeToggleNext-N6ASYJ6J.cjs.map +0 -1
  1109. package/dist/backends/shadcn/aspect-ratio.d.ts +0 -4
  1110. package/dist/backends/shadcn/avatar.d.ts +0 -6
  1111. package/dist/backends/shadcn/badge.d.ts +0 -9
  1112. package/dist/backends/shadcn/button.d.ts +0 -19
  1113. package/dist/backends/shadcn/card.d.ts +0 -9
  1114. package/dist/backends/shadcn/checkbox.d.ts +0 -9
  1115. package/dist/backends/shadcn/collapsible.d.ts +0 -5
  1116. package/dist/backends/shadcn/command.d.ts +0 -80
  1117. package/dist/backends/shadcn/dialog.d.ts +0 -15
  1118. package/dist/backends/shadcn/dropdown-menu.d.ts +0 -34
  1119. package/dist/backends/shadcn/index.d.ts +0 -23
  1120. package/dist/backends/shadcn/input.d.ts +0 -11
  1121. package/dist/backends/shadcn/label.d.ts +0 -4
  1122. package/dist/backends/shadcn/popover.d.ts +0 -7
  1123. package/dist/backends/shadcn/progress.d.ts +0 -4
  1124. package/dist/backends/shadcn/scroll-area.d.ts +0 -5
  1125. package/dist/backends/shadcn/select.d.ts +0 -13
  1126. package/dist/backends/shadcn/separator.d.ts +0 -4
  1127. package/dist/backends/shadcn/slider.d.ts +0 -4
  1128. package/dist/backends/shadcn/switch.d.ts +0 -4
  1129. package/dist/backends/shadcn/tabs.d.ts +0 -7
  1130. package/dist/backends/shadcn/textarea.d.ts +0 -4
  1131. package/dist/backends/shadcn/toaster.d.ts +0 -10
  1132. package/dist/backends/shadcn/tooltip.d.ts +0 -7
  1133. package/dist/backends/shadcn/utils.d.ts +0 -8
  1134. package/dist/billing.cjs +0 -14
  1135. package/dist/billing.cjs.map +0 -1
  1136. package/dist/billing.d.ts +0 -1
  1137. package/dist/billing.js +0 -3
  1138. package/dist/billing.js.map +0 -1
  1139. package/dist/canvas.cjs.map +0 -1
  1140. package/dist/chunk-3NG33DV2.cjs +0 -606
  1141. package/dist/chunk-3NG33DV2.cjs.map +0 -1
  1142. package/dist/chunk-5CZOYONP.js +0 -342
  1143. package/dist/chunk-5CZOYONP.js.map +0 -1
  1144. package/dist/chunk-77AMCLN4.js +0 -99
  1145. package/dist/chunk-77AMCLN4.js.map +0 -1
  1146. package/dist/chunk-7XDEUEWI.cjs +0 -43
  1147. package/dist/chunk-7XDEUEWI.cjs.map +0 -1
  1148. package/dist/chunk-7ZNK6JSS.js +0 -830
  1149. package/dist/chunk-7ZNK6JSS.js.map +0 -1
  1150. package/dist/chunk-ARV3P4CE.cjs +0 -104
  1151. package/dist/chunk-ARV3P4CE.cjs.map +0 -1
  1152. package/dist/chunk-FVQXROBK.js +0 -36
  1153. package/dist/chunk-FVQXROBK.js.map +0 -1
  1154. package/dist/chunk-GVCOAJLO.js +0 -396
  1155. package/dist/chunk-GVCOAJLO.js.map +0 -1
  1156. package/dist/chunk-GWNNLYX4.cjs +0 -352
  1157. package/dist/chunk-GWNNLYX4.cjs.map +0 -1
  1158. package/dist/chunk-MWBFAV3D.cjs +0 -104
  1159. package/dist/chunk-MWBFAV3D.cjs.map +0 -1
  1160. package/dist/chunk-ONVERVFG.cjs +0 -850
  1161. package/dist/chunk-ONVERVFG.cjs.map +0 -1
  1162. package/dist/chunk-P2QU5MN5.js +0 -554
  1163. package/dist/chunk-P2QU5MN5.js.map +0 -1
  1164. package/dist/chunk-WHJR5S4L.cjs +0 -417
  1165. package/dist/chunk-WHJR5S4L.cjs.map +0 -1
  1166. package/dist/chunk-ZGTJCJ55.js +0 -92
  1167. package/dist/chunk-ZGTJCJ55.js.map +0 -1
  1168. package/dist/components.d.ts +0 -1
  1169. package/dist/dashboard.cjs.map +0 -1
  1170. package/dist/data.cjs.map +0 -1
  1171. package/dist/framework/core.cjs.map +0 -1
  1172. package/dist/framework/index.cjs.map +0 -1
  1173. package/dist/gitops.cjs.map +0 -1
  1174. package/dist/gui-config.cjs.map +0 -1
  1175. package/dist/index.cjs.map +0 -1
  1176. package/dist/network.cjs +0 -14
  1177. package/dist/network.cjs.map +0 -1
  1178. package/dist/network.d.ts +0 -1
  1179. package/dist/network.js +0 -3
  1180. package/dist/network.js.map +0 -1
  1181. package/dist/oss.cjs.map +0 -1
  1182. package/dist/primitives/bases/data/index.cjs.map +0 -1
  1183. package/dist/product/index.cjs.map +0 -1
  1184. package/dist/product/menu/DropdownMenu.d.ts +0 -29
  1185. package/dist/product/social/api.cjs.map +0 -1
  1186. package/dist/product/social/index.cjs.map +0 -1
  1187. package/dist/telemetry.cjs.map +0 -1
  1188. package/dist/usage.cjs.map +0 -1
  1189. package/dist/wallet.cjs +0 -14
  1190. package/dist/wallet.cjs.map +0 -1
  1191. package/dist/wallet.d.ts +0 -1
  1192. package/dist/wallet.js +0 -3
  1193. package/dist/wallet.js.map +0 -1
@@ -1,1118 +1,36 @@
1
- import { SelectMenu } from '../chunk-5CZOYONP.js';
2
- import { PrimaryButton, classifyBackend, FieldSwitch, PageHeader, BackendStateCard, EmptyState } from '../chunk-GVCOAJLO.js';
3
- import '../chunk-FVQXROBK.js';
4
- import { BUILDER_FIELD_TYPES, fieldsFromDocType, starterFields, validateBuilder, blankField, moveField, toDocType, fieldNameFromLabel, fieldNeedsOptions, moduleDoctypes, mediaFileField, mediaDocPayload, titleOf, looksLikeImage, loadLinkOptions, hasProjectField, PROJECT_FIELD, enrichLinks, toRecord, docTypeToFields, makeFieldOptions, listHiddenFields, cardFields, savePayload, isMediaDoctype, newDraft, isDraft, statusField, SUBMITTED, CANCELLED } from '../chunk-P2QU5MN5.js';
5
- export { BUILDER_FIELD_TYPES, CANCELLED, DRAFT, PROJECT_FIELD, REDACTED_MARKER, SUBMITTED, autonameSource, blankField, cardFields, createFrameworkClient, createMediaUploader, docTypeToFields, enrichLinks, fieldNameFromLabel, fieldNeedsOptions, fieldTypeLabel, fieldsFromDocType, hasProjectField, humanize, imageDimensions, isDraft, isMediaDoctype, isRef, isValidDoctypeName, joinKey, linkFields, listHiddenFields, listQuery, listedFieldNames, loadLinkOptions, looksLikeImage, makeFieldOptions, mediaDocPayload, mediaFileField, mediaKey, mediaRef, moduleDoctypes, moveField, newDraft, newKey, parseRef, rows, savePayload, slugify, starterFields, statusField, titleOf, toDocField, toDocType, toRecord, validateBuilder } from '../chunk-P2QU5MN5.js';
6
- import { useState, useCallback, useMemo, useEffect, useRef } from 'react';
7
- import { Button, XStack, Card, Text, Spinner, YStack, Input } from '@hanzo/gui';
8
- import { TriangleAlert, GripVertical, ArrowDown, Plus, Boxes, Image, Upload, Trash2, Search, ChevronRight, X, Save, Ban, Send, PenOff, Globe, Pencil, ArrowUp, ArrowLeft, RefreshCw } from '@hanzogui/lucide-icons-2';
9
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
10
- import { searchRecords, FieldDisplay, RecordsView, RecordForm, RecordDetail } from '@hanzo/data';
11
-
12
- var TABLE_MIN = 720;
13
- var GRID_MIN = 560;
14
- var TAP = 44;
15
- function layoutFor(width, tableMin = TABLE_MIN) {
16
- return width > 0 && width >= tableMin ? "desktop" : "phone";
17
- }
18
- function useContainerLayout(tableMin = TABLE_MIN) {
19
- const [width, setWidth] = useState(0);
20
- const onLayout = useCallback((e) => {
21
- const w = Math.round(e?.nativeEvent?.layout?.width ?? 0);
22
- setWidth((prev) => w > 0 && w !== prev ? w : prev);
23
- }, []);
24
- const layout = layoutFor(width, tableMin);
25
- const phone = layout === "phone";
26
- return {
27
- layout,
28
- phone,
29
- wideEnoughForGrid: width >= GRID_MIN,
30
- width,
31
- onLayout
32
- };
33
- }
34
- function Action({ children, icon, onPress, disabled, primary, danger, phone, label }) {
35
- const Cmp = primary ? PrimaryButton : Button;
36
- return /* @__PURE__ */ jsx(
37
- Cmp,
38
- {
39
- size: phone ? "$4" : "$2",
40
- minH: phone ? TAP : void 0,
41
- grow: phone ? 1 : 0,
42
- flexBasis: phone ? 0 : "auto",
43
- minW: phone ? 140 : void 0,
44
- icon,
45
- disabled,
46
- onPress,
47
- "aria-label": label,
48
- ...danger ? { theme: "red" } : {},
49
- children
50
- }
51
- );
52
- }
53
- function Actions({ children, phone }) {
54
- return /* @__PURE__ */ jsx(XStack, { gap: "$2", items: "center", flexWrap: "wrap", width: phone ? "100%" : void 0, children });
55
- }
56
- function ErrorBar({ message }) {
57
- return /* @__PURE__ */ jsx(Card, { borderWidth: 1, borderColor: "$red7", bg: "$red2", p: "$3", maxW: 620, children: /* @__PURE__ */ jsxs(XStack, { gap: "$2", items: "flex-start", children: [
58
- /* @__PURE__ */ jsx(TriangleAlert, { size: 15 }),
59
- /* @__PURE__ */ jsx(Text, { fontSize: "$3", color: "$red11", flex: 1, children: message })
60
- ] }) });
61
- }
62
- function Loading({ label, size = "small" }) {
63
- return /* @__PURE__ */ jsxs(XStack, { items: "center", justify: "center", gap: "$3", py: "$8", children: [
64
- /* @__PURE__ */ jsx(Spinner, { size }),
65
- label ? /* @__PURE__ */ jsx(Text, { fontSize: "$3", color: "$color11", children: label }) : null
66
- ] });
67
- }
68
- function Meta({ children }) {
69
- return /* @__PURE__ */ jsx(Text, { fontSize: "$2", color: "$color10", numberOfLines: 1, children });
70
- }
71
- var WRAP_ANYWHERE = { overflowWrap: "anywhere", wordBreak: "break-word" };
72
- function Panel({ children, phone }) {
73
- return /* @__PURE__ */ jsx(
74
- Card,
75
- {
76
- borderWidth: 1,
77
- borderColor: "$borderColor",
78
- p: phone ? "$3" : "$4",
79
- maxW: 760,
80
- width: "100%",
81
- style: WRAP_ANYWHERE,
82
- children: /* @__PURE__ */ jsx(YStack, { gap: "$3", children })
83
- }
84
- );
85
- }
86
- var TYPE_OPTIONS = BUILDER_FIELD_TYPES.map((t) => ({ key: t.type, label: t.label }));
87
- function CollectionBuilder({ client, module, existing, onSaved, onCancel }) {
88
- const editing = Boolean(existing);
89
- const [name, setName] = useState(existing?.name ?? "");
90
- const [fields, setFields] = useState(
91
- () => existing ? fieldsFromDocType(existing) : starterFields()
92
- );
93
- const [busy, setBusy] = useState(false);
94
- const [saveError, setSaveError] = useState(null);
95
- const [showErrors, setShowErrors] = useState(false);
96
- const { phone, onLayout } = useContainerLayout();
97
- const validation = useMemo(() => validateBuilder(name, fields), [name, fields]);
98
- const patch = useCallback((key, next) => {
99
- setFields((fs) => fs.map((f) => f.key === key ? { ...f, ...next } : f));
100
- }, []);
101
- const addField = useCallback(() => setFields((fs) => [...fs, blankField()]), []);
102
- const removeField = useCallback((key) => setFields((fs) => fs.filter((f) => f.key !== key)), []);
103
- const move = useCallback((key, dir) => setFields((fs) => moveField(fs, key, dir)), []);
104
- const save = useCallback(async () => {
105
- setShowErrors(true);
106
- if (!validation.ok) return;
107
- setBusy(true);
108
- setSaveError(null);
109
- try {
110
- const dt = toDocType(name, module, fields);
111
- if (editing) await client.doctypes.update(name, dt);
112
- else await client.doctypes.create(dt);
113
- onSaved(name);
114
- } catch (e) {
115
- setSaveError(classifyBackend(e).message);
116
- } finally {
117
- setBusy(false);
118
- }
119
- }, [client, editing, fields, module, name, onSaved, validation.ok]);
120
- const iconBtn = (icon, label, onPress, disabled, danger) => /* @__PURE__ */ jsx(
121
- Button,
122
- {
123
- size: phone ? "$3" : "$1",
124
- circular: true,
125
- minW: phone ? TAP : void 0,
126
- minH: phone ? TAP : void 0,
127
- "aria-label": label,
128
- icon,
129
- disabled,
130
- onPress,
131
- ...danger ? { theme: "red" } : {}
132
- }
133
- );
134
- return /* @__PURE__ */ jsxs(Card, { onLayout, borderWidth: 1, borderColor: "$borderColor", p: phone ? "$3" : "$4", gap: "$4", maxW: 820, width: "100%", children: [
135
- /* @__PURE__ */ jsxs(YStack, { gap: "$2", children: [
136
- /* @__PURE__ */ jsx(Text, { fontSize: "$5", fontWeight: "800", children: editing ? `Edit ${name}` : "New collection" }),
137
- /* @__PURE__ */ jsx(Text, { fontSize: "$2", color: "$color10", children: "A content type on the Hanzo Framework \u2014 name it and define its fields. Every field type is available; a rich-text field gives a full WYSIWYG body." })
138
- ] }),
139
- /* @__PURE__ */ jsxs(YStack, { gap: "$1.5", width: "100%", children: [
140
- /* @__PURE__ */ jsx(Text, { fontSize: "$1", color: "$color11", textTransform: "uppercase", letterSpacing: 0.4, children: "Collection" }),
141
- /* @__PURE__ */ jsx(
142
- Input,
143
- {
144
- width: "100%",
145
- minH: phone ? TAP : void 0,
146
- size: phone ? "$4" : "$3",
147
- placeholder: "e.g. Recipe or LandingPage",
148
- value: name,
149
- onChangeText: setName,
150
- disabled: busy || editing,
151
- autoCapitalize: "none"
152
- }
153
- ),
154
- editing ? /* @__PURE__ */ jsx(Text, { fontSize: "$1", color: "$color9", children: "A collection\u2019s name is its identity and can\u2019t change." }) : null
155
- ] }),
156
- /* @__PURE__ */ jsxs(YStack, { gap: "$2", width: "100%", children: [
157
- /* @__PURE__ */ jsxs(XStack, { items: "center", justify: "space-between", children: [
158
- /* @__PURE__ */ jsx(Text, { fontSize: "$3", fontWeight: "700", color: "$color11", children: "Fields" }),
159
- /* @__PURE__ */ jsxs(Text, { fontSize: "$1", color: "$color9", children: [
160
- fields.length,
161
- " field",
162
- fields.length === 1 ? "" : "s"
163
- ] })
164
- ] }),
165
- /* @__PURE__ */ jsx(YStack, { gap: "$2", width: "100%", children: fields.map((f, i) => {
166
- const err = showErrors ? validation.fieldErrors[f.key] : void 0;
167
- const fname = f.label.trim() ? fieldNameFromLabel(f.label) : "";
168
- return /* @__PURE__ */ jsxs(
169
- YStack,
170
- {
171
- borderWidth: 1,
172
- borderColor: err ? "$red7" : "$borderColor",
173
- rounded: "$4",
174
- p: "$3",
175
- gap: "$2",
176
- bg: "$color1",
177
- width: "100%",
178
- children: [
179
- /* @__PURE__ */ jsxs(XStack, { gap: "$2", items: "center", width: "100%", children: [
180
- phone ? null : /* @__PURE__ */ jsx(GripVertical, { size: 15, opacity: 0.5 }),
181
- /* @__PURE__ */ jsx(
182
- Input,
183
- {
184
- flex: 1,
185
- minW: 0,
186
- minH: phone ? TAP : void 0,
187
- size: phone ? "$4" : "$3",
188
- placeholder: "Field name (e.g. Title)",
189
- value: f.label,
190
- onChangeText: (v) => patch(f.key, { label: v }),
191
- disabled: busy,
192
- autoCapitalize: "none"
193
- }
194
- ),
195
- phone ? null : /* @__PURE__ */ jsx(YStack, { minW: 150, children: /* @__PURE__ */ jsx(
196
- SelectMenu,
197
- {
198
- required: true,
199
- ariaLabel: "Field type",
200
- options: TYPE_OPTIONS,
201
- value: f.type,
202
- onChange: (v) => v && patch(f.key, { type: v }),
203
- disabled: busy,
204
- minWidth: 150
205
- }
206
- ) })
207
- ] }),
208
- phone ? /* @__PURE__ */ jsx(YStack, { width: "100%", children: /* @__PURE__ */ jsx(
209
- SelectMenu,
210
- {
211
- required: true,
212
- ariaLabel: "Field type",
213
- options: TYPE_OPTIONS,
214
- value: f.type,
215
- onChange: (v) => v && patch(f.key, { type: v }),
216
- disabled: busy,
217
- minWidth: 0,
218
- minHeight: TAP
219
- }
220
- ) }) : null,
221
- /* @__PURE__ */ jsxs(XStack, { gap: "$4", items: "center", justify: "space-between", flexWrap: "wrap", width: "100%", children: [
222
- /* @__PURE__ */ jsxs(XStack, { gap: "$4", items: "center", children: [
223
- /* @__PURE__ */ jsxs(XStack, { gap: "$2", items: "center", minH: phone ? TAP : void 0, children: [
224
- /* @__PURE__ */ jsx(FieldSwitch, { checked: f.required, onChange: (v) => patch(f.key, { required: v }), disabled: busy }),
225
- /* @__PURE__ */ jsx(Text, { fontSize: "$2", color: "$color10", children: "Required" })
226
- ] }),
227
- /* @__PURE__ */ jsxs(XStack, { gap: "$2", items: "center", minH: phone ? TAP : void 0, children: [
228
- /* @__PURE__ */ jsx(FieldSwitch, { checked: f.inListView, onChange: (v) => patch(f.key, { inListView: v }), disabled: busy }),
229
- /* @__PURE__ */ jsx(Text, { fontSize: "$2", color: "$color10", children: "In list" })
230
- ] })
231
- ] }),
232
- /* @__PURE__ */ jsxs(XStack, { gap: "$2", children: [
233
- iconBtn(/* @__PURE__ */ jsx(ArrowUp, { size: 14 }), "Move field up", () => move(f.key, -1), busy || i === 0),
234
- iconBtn(/* @__PURE__ */ jsx(ArrowDown, { size: 14 }), "Move field down", () => move(f.key, 1), busy || i === fields.length - 1),
235
- iconBtn(/* @__PURE__ */ jsx(Trash2, { size: 14 }), "Remove field", () => removeField(f.key), busy, true)
236
- ] })
237
- ] }),
238
- fieldNeedsOptions(f.type) ? /* @__PURE__ */ jsxs(YStack, { gap: "$1.5", width: "100%", children: [
239
- /* @__PURE__ */ jsx(Text, { fontSize: "$1", color: "$color10", textTransform: "uppercase", letterSpacing: 0.4, children: f.type === "Select" ? "Options" : f.type === "Link" ? "Relates to" : "Child type" }),
240
- /* @__PURE__ */ jsx(
241
- Input,
242
- {
243
- width: "100%",
244
- minH: phone ? TAP : void 0,
245
- size: phone ? "$4" : "$2",
246
- placeholder: f.type === "Select" ? "One per line \u2014 Draft / Published" : "Collection name (e.g. Author)",
247
- value: f.options,
248
- onChangeText: (v) => patch(f.key, { options: v }),
249
- multiline: f.type === "Select",
250
- numberOfLines: f.type === "Select" ? 3 : 1,
251
- disabled: busy,
252
- autoCapitalize: "none"
253
- }
254
- )
255
- ] }) : null,
256
- /* @__PURE__ */ jsxs(XStack, { items: "center", justify: "space-between", gap: "$2", flexWrap: "wrap", children: [
257
- fname ? /* @__PURE__ */ jsxs(Text, { fontSize: "$1", color: "$color8", children: [
258
- "field: ",
259
- fname
260
- ] }) : /* @__PURE__ */ jsx(YStack, {}),
261
- err ? /* @__PURE__ */ jsxs(XStack, { gap: "$1", items: "center", children: [
262
- /* @__PURE__ */ jsx(TriangleAlert, { size: 12 }),
263
- /* @__PURE__ */ jsx(Text, { fontSize: "$1", color: "$red11", children: err })
264
- ] }) : null
265
- ] })
266
- ]
267
- },
268
- f.key
269
- );
270
- }) }),
271
- /* @__PURE__ */ jsx(XStack, { width: phone ? "100%" : void 0, children: /* @__PURE__ */ jsx(Action, { phone, icon: /* @__PURE__ */ jsx(Plus, { size: 14 }), onPress: addField, disabled: busy, children: "Add field" }) })
272
- ] }),
273
- showErrors && validation.formError ? /* @__PURE__ */ jsx(ErrorBar, { message: validation.formError }) : null,
274
- saveError ? /* @__PURE__ */ jsx(ErrorBar, { message: saveError }) : null,
275
- /* @__PURE__ */ jsxs(Actions, { phone, children: [
276
- /* @__PURE__ */ jsx(Action, { phone, disabled: busy, onPress: onCancel, children: "Cancel" }),
277
- /* @__PURE__ */ jsx(Action, { phone, primary: true, disabled: busy, onPress: save, children: busy ? "Saving\u2026" : editing ? "Save collection" : "Create collection" })
278
- ] })
279
- ] });
280
- }
281
- function CollectionsBrowser({
282
- client,
283
- module,
284
- label,
285
- subtitle,
286
- onOpen,
287
- setupDescription,
288
- setupBullets,
289
- renderBuilder,
290
- icon = Boxes
291
- }) {
292
- const [state, setState] = useState({ phase: "loading" });
293
- const [busy, setBusy] = useState(false);
294
- const [creating, setCreating] = useState(false);
295
- const [actionError, setActionError] = useState(null);
296
- const { phone, onLayout } = useContainerLayout();
297
- const load = useCallback(
298
- async (signal) => {
299
- setState({ phase: "loading" });
300
- try {
301
- const [dts, mod] = await Promise.all([
302
- client.doctypes.list(),
303
- client.modules.get(module).catch(() => null)
304
- // lane may not be registered on an older engine
305
- ]);
306
- if (signal.cancelled) return;
307
- setState({
308
- phase: "ready",
309
- collections: moduleDoctypes(dts, module),
310
- registered: Boolean(mod && mod.doctypes.length)
311
- });
312
- } catch (e) {
313
- if (!signal.cancelled) setState({ phase: "error", error: classifyBackend(e) });
314
- }
315
- },
316
- [client, module]
317
- );
318
- useEffect(() => {
319
- const signal = { cancelled: false };
320
- void load(signal);
321
- return () => {
322
- signal.cancelled = true;
323
- };
324
- }, [load]);
325
- const reload = useCallback(() => void load({ cancelled: false }), [load]);
326
- const install = useCallback(async () => {
327
- setBusy(true);
328
- setActionError(null);
329
- try {
330
- await client.modules.install(module);
331
- reload();
332
- } catch (e) {
333
- setActionError(classifyBackend(e).message);
334
- } finally {
335
- setBusy(false);
336
- }
337
- }, [client, module, reload]);
338
- if (state.phase === "loading") {
339
- return /* @__PURE__ */ jsx(YStack, { onLayout, width: "100%", children: /* @__PURE__ */ jsx(Loading, { label: `Loading ${label}\u2026` }) });
340
- }
341
- if (state.phase === "error") {
342
- return /* @__PURE__ */ jsxs(YStack, { onLayout, gap: "$3", width: "100%", children: [
343
- /* @__PURE__ */ jsx(PageHeader, { title: label, subtitle }),
344
- /* @__PURE__ */ jsx(BackendStateCard, { state: state.error, onRetry: reload, hint: "framework \xB7 GET /v1/framework/doctypes" })
345
- ] });
346
- }
347
- const { collections } = state;
348
- return /* @__PURE__ */ jsxs(YStack, { onLayout, gap: "$3", width: "100%", children: [
349
- /* @__PURE__ */ jsx(
350
- PageHeader,
351
- {
352
- title: label,
353
- subtitle,
354
- actions: collections.length && !creating ? /* @__PURE__ */ jsx(
355
- Action,
356
- {
357
- phone,
358
- primary: true,
359
- icon: /* @__PURE__ */ jsx(Plus, { size: 15 }),
360
- onPress: () => {
361
- setCreating(true);
362
- setActionError(null);
363
- },
364
- children: "New collection"
365
- }
366
- ) : void 0
367
- }
368
- ),
369
- actionError ? /* @__PURE__ */ jsx(ErrorBar, { message: actionError }) : null,
370
- creating ? (renderBuilder ?? ((p) => /* @__PURE__ */ jsx(CollectionBuilder, { client, module, ...p })))({
371
- onSaved: (name) => {
372
- setCreating(false);
373
- onOpen(name);
374
- },
375
- onCancel: () => setCreating(false)
376
- }) : null,
377
- collections.length === 0 && !creating ? /* @__PURE__ */ jsx(
378
- EmptyState,
379
- {
380
- icon,
381
- title: `Set up ${label}`,
382
- description: setupDescription ?? `${label} is a set of collections on the Hanzo Framework \u2014 typed documents, per organization.`,
383
- bullets: setupBullets ?? [
384
- `Installs the default ${label} collections into your organization`,
385
- "Every record is a document on the framework \u2014 versioned, permissioned, per-org",
386
- "Add your own collections and fields any time"
387
- ],
388
- primary: state.registered ? { label: busy ? "Setting up\u2026" : `Set up ${label}`, onPress: install } : void 0,
389
- secondary: { label: "New collection", onPress: () => setCreating(true) }
390
- }
391
- ) : !creating ? (
392
- // A fixed 240px card is a 240px column on a 390px phone with dead space
393
- // beside it. `flexBasis` + `flexGrow` makes each card fill the row on a
394
- // phone and settle back to a 240px tile once the box can hold several.
395
- /* @__PURE__ */ jsx(XStack, { gap: "$3", flexWrap: "wrap", width: "100%", children: collections.map((dt) => /* @__PURE__ */ jsxs(
396
- YStack,
397
- {
398
- onPress: () => onOpen(dt.name),
399
- hoverStyle: { borderColor: "$color8" },
400
- pressStyle: { bg: "$color3" },
401
- cursor: "pointer",
402
- borderWidth: 1,
403
- borderColor: "$borderColor",
404
- rounded: "$4",
405
- p: "$4",
406
- gap: "$2",
407
- minH: 88,
408
- grow: phone ? 1 : 0,
409
- flexBasis: phone ? "100%" : 240,
410
- maxW: phone ? void 0 : 240,
411
- children: [
412
- /* @__PURE__ */ jsxs(XStack, { gap: "$2", items: "center", children: [
413
- /* @__PURE__ */ jsx(Boxes, { size: 16 }),
414
- /* @__PURE__ */ jsx(Text, { fontSize: "$4", fontWeight: "700", flex: 1, minW: 0, numberOfLines: 1, children: dt.name })
415
- ] }),
416
- /* @__PURE__ */ jsxs(Meta, { children: [
417
- dt.fields?.length ?? 0,
418
- " field",
419
- (dt.fields?.length ?? 0) === 1 ? "" : "s",
420
- dt.isSubmittable ? " \xB7 submittable" : ""
421
- ] })
422
- ]
423
- },
424
- dt.name
425
- )) })
426
- ) : null
427
- ] });
428
- }
429
- function MediaGrid({
430
- client,
431
- dt,
432
- docs,
433
- media,
434
- onOpen,
435
- onChanged,
436
- toolbarExtra,
437
- accept = "image/*,application/pdf,video/*,audio/*"
438
- }) {
439
- const fileField = mediaFileField(dt);
440
- const inputRef = useRef(null);
441
- const [busy, setBusy] = useState(false);
442
- const [progress, setProgress] = useState(null);
443
- const [error, setError] = useState(null);
444
- const { phone, onLayout } = useContainerLayout();
445
- const upload = useCallback(
446
- async (files) => {
447
- const list = Array.from(files);
448
- if (list.length === 0) return;
449
- setBusy(true);
450
- setError(null);
451
- setProgress({ done: 0, total: list.length });
452
- try {
453
- for (let i = 0; i < list.length; i += 1) {
454
- const facts = await media.upload(list[i]);
455
- await client.records.create(dt.name, mediaDocPayload(dt, facts));
456
- setProgress({ done: i + 1, total: list.length });
457
- }
458
- onChanged();
459
- } catch (e) {
460
- setError(classifyBackend(e).message);
461
- } finally {
462
- setBusy(false);
463
- setProgress(null);
464
- }
465
- },
466
- [client, dt, media, onChanged]
467
- );
468
- const pick = () => inputRef.current?.click();
469
- const onInput = (e) => {
470
- if (e.target.files) void upload(e.target.files);
471
- e.target.value = "";
472
- };
473
- const HiddenInput = /* @__PURE__ */ jsx("input", { ref: inputRef, type: "file", multiple: true, accept, style: { display: "none" }, onChange: onInput });
474
- const uploadLabel = busy ? progress ? `Uploading ${progress.done}/${progress.total}\u2026` : "Uploading\u2026" : "Upload";
475
- if (docs.length === 0) {
476
- return /* @__PURE__ */ jsxs(YStack, { onLayout, gap: "$3", width: "100%", children: [
477
- HiddenInput,
478
- toolbarExtra ? /* @__PURE__ */ jsx(XStack, { justify: phone ? "flex-start" : "flex-end", gap: "$2", width: "100%", children: toolbarExtra }) : null,
479
- error ? /* @__PURE__ */ jsx(ErrorBar, { message: error }) : null,
480
- /* @__PURE__ */ jsx(DropZone, { busy, onDrop: upload, children: /* @__PURE__ */ jsx(
481
- EmptyState,
482
- {
483
- icon: Image,
484
- title: "No media yet",
485
- description: "Drag files here, or upload \u2014 images and files go to your organization's object storage and become reusable media you can attach to any record.",
486
- primary: { label: uploadLabel, onPress: pick }
487
- }
488
- ) })
489
- ] });
490
- }
491
- return /* @__PURE__ */ jsxs(YStack, { onLayout, gap: "$3", width: "100%", children: [
492
- HiddenInput,
493
- /* @__PURE__ */ jsxs(XStack, { gap: "$2", items: "center", flexWrap: "wrap", justify: phone ? "flex-start" : "flex-end", width: "100%", children: [
494
- toolbarExtra,
495
- /* @__PURE__ */ jsx(Action, { phone, primary: true, icon: /* @__PURE__ */ jsx(Upload, { size: 15 }), disabled: busy, onPress: pick, children: uploadLabel })
496
- ] }),
497
- error ? /* @__PURE__ */ jsx(ErrorBar, { message: error }) : null,
498
- /* @__PURE__ */ jsx(DropZone, { busy, onDrop: upload, children: /* @__PURE__ */ jsx(XStack, { gap: "$3", flexWrap: "wrap", width: "100%", children: docs.map((d) => /* @__PURE__ */ jsx(
499
- MediaCard,
500
- {
501
- doc: d,
502
- dt,
503
- fileField,
504
- media,
505
- phone,
506
- onOpen: () => onOpen(String(d.name)),
507
- onDelete: async () => {
508
- setBusy(true);
509
- setError(null);
510
- try {
511
- await media.remove(d[fileField]);
512
- await client.records.remove(dt.name, String(d.name));
513
- onChanged();
514
- } catch (e) {
515
- setError(classifyBackend(e).message);
516
- } finally {
517
- setBusy(false);
518
- }
519
- },
520
- disabled: busy
521
- },
522
- String(d.name)
523
- )) }) })
524
- ] });
525
- }
526
- function MediaCard({
527
- doc,
528
- dt,
529
- fileField,
530
- media,
531
- phone,
532
- onOpen,
533
- onDelete,
534
- disabled
535
- }) {
536
- const [url, setUrl] = useState("");
537
- const [confirming, setConfirming] = useState(false);
538
- const raw = String(doc[fileField] ?? "");
539
- const title = titleOf(doc, dt);
540
- useEffect(() => {
541
- let cancelled = false;
542
- void media.resolveUrl(raw).then((u) => {
543
- if (!cancelled) setUrl(u);
544
- });
545
- return () => {
546
- cancelled = true;
547
- };
548
- }, [raw, media]);
549
- return /* @__PURE__ */ jsxs(
550
- YStack,
551
- {
552
- borderWidth: 1,
553
- borderColor: "$borderColor",
554
- rounded: "$4",
555
- grow: 0,
556
- flexBasis: phone ? "47%" : 200,
557
- maxW: phone ? void 0 : 200,
558
- minW: 140,
559
- overflow: "hidden",
560
- hoverStyle: { borderColor: "$color8" },
561
- children: [
562
- /* @__PURE__ */ jsx(
563
- YStack,
564
- {
565
- height: phone ? 110 : 130,
566
- bg: "$color3",
567
- items: "center",
568
- justify: "center",
569
- overflow: "hidden",
570
- cursor: "pointer",
571
- pressStyle: { opacity: 0.8 },
572
- onPress: onOpen,
573
- children: url && (looksLikeImage(raw) || looksLikeImage(url)) ? (
574
- // eslint-disable-next-line @next/next/no-img-element
575
- /* @__PURE__ */ jsx("img", { src: url, alt: String(doc.alt ?? title), style: { width: "100%", height: "100%", objectFit: "cover" } })
576
- ) : /* @__PURE__ */ jsx(Image, { size: 28 })
577
- }
578
- ),
579
- /* @__PURE__ */ jsxs(YStack, { p: "$3", gap: "$1", children: [
580
- /* @__PURE__ */ jsx(Text, { fontSize: "$3", fontWeight: "700", numberOfLines: 1, children: title }),
581
- /* @__PURE__ */ jsxs(XStack, { justify: "space-between", items: "center", gap: "$2", children: [
582
- /* @__PURE__ */ jsx(Meta, { children: String(doc.mime ?? "file") }),
583
- confirming ? /* @__PURE__ */ jsxs(XStack, { gap: "$1", children: [
584
- /* @__PURE__ */ jsx(
585
- Button,
586
- {
587
- size: phone ? "$3" : "$1",
588
- minH: phone ? TAP : void 0,
589
- theme: "red",
590
- disabled,
591
- onPress: () => {
592
- setConfirming(false);
593
- void onDelete();
594
- },
595
- children: "Delete"
596
- }
597
- ),
598
- /* @__PURE__ */ jsx(Button, { size: phone ? "$3" : "$1", minH: phone ? TAP : void 0, disabled, onPress: () => setConfirming(false), children: "No" })
599
- ] }) : /* @__PURE__ */ jsx(
600
- Button,
601
- {
602
- size: phone ? "$3" : "$1",
603
- circular: true,
604
- chromeless: true,
605
- minW: phone ? TAP : void 0,
606
- minH: phone ? TAP : void 0,
607
- "aria-label": `Delete ${title}`,
608
- icon: /* @__PURE__ */ jsx(Trash2, { size: phone ? 16 : 13 }),
609
- disabled,
610
- onPress: () => setConfirming(true)
611
- }
612
- )
613
- ] })
614
- ] })
615
- ]
616
- }
617
- );
618
- }
619
- function DropZone({
620
- children,
621
- busy,
622
- onDrop
623
- }) {
624
- const [over, setOver] = useState(false);
625
- return /* @__PURE__ */ jsx(
626
- YStack,
627
- {
628
- width: "100%",
629
- onDragOver: (e) => {
630
- e.preventDefault();
631
- if (!busy) setOver(true);
632
- },
633
- onDragLeave: () => setOver(false),
634
- onDrop: (e) => {
635
- e.preventDefault();
636
- setOver(false);
637
- if (!busy && e.dataTransfer?.files?.length) void onDrop(e.dataTransfer.files);
638
- },
639
- rounded: "$4",
640
- p: over ? "$3" : 0,
641
- borderWidth: over ? 2 : 0,
642
- borderColor: "$color8",
643
- style: { borderStyle: "dashed" },
644
- children
645
- }
646
- );
647
- }
648
- function headline(record, titleField) {
649
- const t = titleField ? record[titleField] : void 0;
650
- if (typeof t === "string" && t.trim()) return t;
651
- if (typeof t === "number") return String(t);
652
- const name = record.name ?? record.id;
653
- return typeof name === "string" && name ? name : "Untitled";
654
- }
655
- function RecordCards({
656
- titleField,
657
- fields,
658
- cardFields: cardFields2,
659
- records,
660
- loading,
661
- empty,
662
- onOpen,
663
- onCreate,
664
- createLabel = "New record",
665
- toolbarExtra
666
- }) {
667
- const [query, setQuery] = useState("");
668
- const visible = useMemo(() => searchRecords(records, query, fields), [records, query, fields]);
669
- return /* @__PURE__ */ jsxs(YStack, { testID: "doctype-cards", gap: "$3", width: "100%", children: [
670
- /* @__PURE__ */ jsxs(YStack, { gap: "$2", width: "100%", children: [
671
- /* @__PURE__ */ jsxs(
672
- XStack,
673
- {
674
- items: "center",
675
- gap: "$2",
676
- px: "$3",
677
- minH: 44,
678
- rounded: "$3",
679
- borderWidth: 1,
680
- borderColor: "$borderColor",
681
- width: "100%",
682
- children: [
683
- /* @__PURE__ */ jsx(Search, { size: 15, opacity: 0.6 }),
684
- /* @__PURE__ */ jsx(
685
- Input,
686
- {
687
- unstyled: true,
688
- flex: 1,
689
- minW: 0,
690
- height: 42,
691
- fontSize: "$3",
692
- color: "$color12",
693
- placeholder: "Search",
694
- value: query,
695
- onChangeText: setQuery,
696
- autoCapitalize: "none"
697
- }
698
- )
699
- ]
700
- }
701
- ),
702
- /* @__PURE__ */ jsxs(XStack, { gap: "$2", items: "center", flexWrap: "wrap", width: "100%", children: [
703
- onCreate ? /* @__PURE__ */ jsx(Action, { phone: true, primary: true, onPress: onCreate, children: createLabel }) : null,
704
- toolbarExtra
705
- ] })
706
- ] }),
707
- loading ? /* @__PURE__ */ jsx(Loading, { label: "Loading records\u2026" }) : null,
708
- !loading && visible.length === 0 ? /* @__PURE__ */ jsx(Card, { borderWidth: 1, borderColor: "$borderColor", p: "$4", width: "100%", children: /* @__PURE__ */ jsx(Text, { fontSize: "$3", color: "$color10", children: query ? `No records match \u201C${query}\u201D.` : empty ?? "No records yet." }) }) : null,
709
- /* @__PURE__ */ jsx(YStack, { gap: "$2", width: "100%", children: visible.map((rec, i) => {
710
- const key = String(rec.name ?? rec.id ?? i);
711
- return /* @__PURE__ */ jsx(
712
- Card,
713
- {
714
- borderWidth: 1,
715
- borderColor: "$borderColor",
716
- rounded: "$3",
717
- p: "$3",
718
- width: "100%",
719
- cursor: onOpen ? "pointer" : void 0,
720
- pressStyle: onOpen ? { bg: "$color3" } : void 0,
721
- hoverStyle: onOpen ? { borderColor: "$color8" } : void 0,
722
- onPress: onOpen ? () => onOpen(rec) : void 0,
723
- style: WRAP_ANYWHERE,
724
- children: /* @__PURE__ */ jsxs(YStack, { gap: "$2", width: "100%", children: [
725
- /* @__PURE__ */ jsxs(XStack, { items: "center", gap: "$2", width: "100%", children: [
726
- /* @__PURE__ */ jsx(Text, { fontSize: "$4", fontWeight: "700", flex: 1, minW: 0, numberOfLines: 2, children: headline(rec, titleField) }),
727
- onOpen ? /* @__PURE__ */ jsx(ChevronRight, { size: 16, opacity: 0.5 }) : null
728
- ] }),
729
- cardFields2.map((f) => (
730
- // Label above value: a two-column row forces the value into a
731
- // sliver at 390px. Stacked, every field type gets the full width.
732
- /* @__PURE__ */ jsxs(YStack, { gap: "$0.5", width: "100%", children: [
733
- /* @__PURE__ */ jsx(Text, { fontSize: "$1", color: "$color10", textTransform: "uppercase", letterSpacing: 0.4, children: f.label }),
734
- /* @__PURE__ */ jsx(XStack, { width: "100%", flexWrap: "wrap", children: /* @__PURE__ */ jsx(FieldDisplay, { field: f, value: rec[f.name] }) })
735
- ] }, f.name)
736
- ))
737
- ] })
738
- },
739
- key
740
- );
741
- }) }),
742
- visible.length ? /* @__PURE__ */ jsxs(Meta, { children: [
743
- visible.length,
744
- " of ",
745
- records.length,
746
- " record",
747
- records.length === 1 ? "" : "s"
748
- ] }) : null
749
- ] });
750
- }
751
- function DocTypeRecords({
752
- client,
753
- doctype,
754
- onOpen,
755
- onCreate,
756
- project,
757
- title,
758
- media,
759
- renderMedia,
760
- limit = 200
761
- }) {
762
- const [state, setState] = useState({ phase: "loading" });
763
- const [mutationError, setMutationError] = useState(null);
764
- const { phone, onLayout } = useContainerLayout();
765
- const load = useCallback(
766
- async (signal) => {
767
- setState({ phase: "loading" });
768
- try {
769
- const dt = await client.doctypes.get(doctype);
770
- const linkOptions = await loadLinkOptions(client, dt);
771
- const filters = project && hasProjectField(dt) ? { [PROJECT_FIELD]: project } : void 0;
772
- const docs = await client.records.list(doctype, { limit, ...filters ? { filters } : {} });
773
- if (signal.cancelled) return;
774
- const records = docs.map((d) => enrichLinks(toRecord(d, dt), dt, linkOptions));
775
- setState({ phase: "ready", dt, fields: docTypeToFields(dt), docs, records, linkOptions });
776
- } catch (e) {
777
- if (!signal.cancelled) setState({ phase: "error", error: classifyBackend(e) });
778
- }
779
- },
780
- [client, doctype, project, limit]
781
- );
782
- useEffect(() => {
783
- const signal = { cancelled: false };
784
- void load(signal);
785
- return () => {
786
- signal.cancelled = true;
787
- };
788
- }, [load]);
789
- const reload = useCallback(() => void load({ cancelled: false }), [load]);
790
- const ready = state.phase === "ready" ? state : void 0;
791
- const fieldOptions = useMemo(
792
- () => ready ? makeFieldOptions(ready.linkOptions) : void 0,
793
- [ready]
794
- );
795
- const [view, setView] = useState(void 0);
796
- const dtName = ready?.dt.name;
797
- useEffect(() => {
798
- if (!ready) return;
799
- setView({
800
- id: `doctype:${ready.dt.name}`,
801
- name: ready.dt.name,
802
- kind: "table",
803
- filters: [],
804
- sorts: [],
805
- hiddenFields: listHiddenFields(ready.dt)
806
- });
807
- }, [dtName]);
808
- const cards = useMemo(
809
- () => ready ? cardFields(ready.dt, ready.fields) : [],
810
- [ready]
811
- );
812
- const onEditCommit = useCallback(
813
- async (record, field, value) => {
814
- if (state.phase !== "ready") return;
815
- const name = typeof record.name === "string" ? record.name : "";
816
- if (!name) return;
817
- setMutationError(null);
818
- try {
819
- const body = savePayload({ ...record, [field.name]: value }, state.dt);
820
- const saved = await client.records.update(doctype, name, body);
821
- const next = enrichLinks(toRecord(saved, state.dt), state.dt, state.linkOptions);
822
- setState((s) => s.phase === "ready" ? { ...s, records: s.records.map((r) => r.name === name ? next : r) } : s);
823
- } catch (e) {
824
- setMutationError(classifyBackend(e).message);
825
- throw e;
826
- }
827
- },
828
- [client, doctype, state]
829
- );
830
- if (state.phase === "error") {
831
- return /* @__PURE__ */ jsx(YStack, { onLayout, width: "100%", children: /* @__PURE__ */ jsx(BackendStateCard, { state: state.error, onRetry: reload, hint: `framework \xB7 GET /v1/framework/${doctype}` }) });
832
- }
833
- const refresh = phone ? /* @__PURE__ */ jsx(Action, { phone: true, icon: /* @__PURE__ */ jsx(RefreshCw, { size: 15 }), onPress: reload, children: "Refresh" }) : /* @__PURE__ */ jsx(Button, { size: "$2", minH: TAP - 12, icon: /* @__PURE__ */ jsx(RefreshCw, { size: 15 }), onPress: reload, children: "Refresh" });
834
- if (ready && (media || renderMedia) && isMediaDoctype(ready.dt)) {
835
- return /* @__PURE__ */ jsx(YStack, { onLayout, width: "100%", children: renderMedia ? renderMedia({ dt: ready.dt, docs: ready.docs, onOpen, onChanged: reload, toolbarExtra: refresh }) : /* @__PURE__ */ jsx(
836
- MediaGrid,
837
- {
838
- client,
839
- dt: ready.dt,
840
- docs: ready.docs,
841
- media,
842
- onOpen,
843
- onChanged: reload,
844
- toolbarExtra: refresh
845
- }
846
- ) });
847
- }
848
- const openByKey = (r) => onOpen(String(r.name ?? r.id ?? ""));
849
- return /* @__PURE__ */ jsxs(YStack, { onLayout, gap: "$3", width: "100%", children: [
850
- mutationError ? /* @__PURE__ */ jsx(ErrorBar, { message: mutationError }) : null,
851
- phone ? /* @__PURE__ */ jsx(
852
- RecordCards,
853
- {
854
- titleField: ready?.dt.titleField,
855
- fields: ready?.fields ?? [],
856
- cardFields: cards,
857
- records: ready?.records ?? [],
858
- loading: state.phase === "loading",
859
- empty: `No records in ${doctype} yet.`,
860
- onOpen: openByKey,
861
- onCreate,
862
- toolbarExtra: refresh
863
- }
864
- ) : /* @__PURE__ */ jsx(YStack, { testID: "doctype-table", width: "100%", children: /* @__PURE__ */ jsx(
865
- RecordsView,
866
- {
867
- title,
868
- fields: ready?.fields ?? [],
869
- records: ready?.records ?? [],
870
- loading: state.phase === "loading",
871
- view,
872
- onViewChange: setView,
873
- onOpen: openByKey,
874
- onCreate,
875
- createLabel: "New record",
876
- onEditCommit,
877
- fieldOptions,
878
- toolbarExtra: refresh,
879
- titleField: ready?.dt.titleField,
880
- empty: `No records in ${doctype} yet.`
881
- }
882
- ) })
883
- ] });
884
- }
885
- function DocTypeDetail({ client, doctype, name, project, onBack, onView }) {
886
- const isNew = name === "new";
887
- const [state, setState] = useState({ phase: "loading" });
888
- const [editing, setEditing] = useState(isNew);
889
- const [draft, setDraft] = useState({});
890
- const [busy, setBusy] = useState(false);
891
- const [saveError, setSaveError] = useState(null);
892
- const [confirmingDelete, setConfirmingDelete] = useState(false);
893
- const { phone, onLayout } = useContainerLayout();
894
- const load = useCallback(
895
- async (signal) => {
896
- setState({ phase: "loading" });
897
- try {
898
- const dt2 = await client.doctypes.get(doctype);
899
- const linkOptions = await loadLinkOptions(client, dt2);
900
- const doc = isNew ? null : await client.records.get(doctype, name);
901
- if (signal.cancelled) return;
902
- const record2 = doc ? enrichLinks(toRecord(doc, dt2), dt2, linkOptions) : null;
903
- setState({ phase: "ready", dt: dt2, record: record2, linkOptions });
904
- const seed = newDraft(dt2);
905
- if (record2 == null && project && hasProjectField(dt2)) seed[PROJECT_FIELD] = project;
906
- setDraft(record2 ? { ...record2 } : seed);
907
- setEditing(isNew);
908
- setSaveError(null);
909
- setConfirmingDelete(false);
910
- } catch (e) {
911
- if (!signal.cancelled) setState({ phase: "error", error: classifyBackend(e) });
912
- }
913
- },
914
- [client, doctype, name, isNew, project]
915
- );
916
- useEffect(() => {
917
- const signal = { cancelled: false };
918
- void load(signal);
919
- return () => {
920
- signal.cancelled = true;
921
- };
922
- }, [load]);
923
- const reload = useCallback(() => void load({ cancelled: false }), [load]);
924
- const ready = state.phase === "ready" ? state : void 0;
925
- const dt = ready?.dt;
926
- const record = ready?.record ?? null;
927
- const fields = useMemo(() => dt ? docTypeToFields(dt, { editing: !isNew }) : [], [dt, isNew]);
928
- const fieldOptions = useMemo(() => ready ? makeFieldOptions(ready.linkOptions) : void 0, [ready]);
929
- const title = dt ? isNew ? `New ${doctype}` : titleOf(record ?? {}, dt) : doctype;
930
- const onChange = useCallback((field, value) => {
931
- setDraft((d) => ({ ...d, [field]: value }));
932
- }, []);
933
- const reflect = useCallback(
934
- (saved) => {
935
- if (!dt || !ready) return;
936
- const next = enrichLinks(toRecord(saved, dt), dt, ready.linkOptions);
937
- setState({ phase: "ready", dt, record: next, linkOptions: ready.linkOptions });
938
- setDraft({ ...next });
939
- },
940
- [dt, ready]
941
- );
942
- const save = useCallback(async () => {
943
- if (!dt) return;
944
- setBusy(true);
945
- setSaveError(null);
946
- try {
947
- const body = savePayload(draft, dt);
948
- if (isNew) {
949
- const created = await client.records.create(doctype, body);
950
- if (created.name) onView(String(created.name));
951
- else onBack();
952
- return;
953
- }
954
- if (!record?.name) throw new Error("This record has no name to update.");
955
- reflect(await client.records.update(doctype, String(record.name), body));
956
- setEditing(false);
957
- } catch (e) {
958
- setSaveError(classifyBackend(e).message);
959
- } finally {
960
- setBusy(false);
961
- }
962
- }, [client, doctype, draft, dt, isNew, onBack, onView, record, reflect]);
963
- const run = useCallback(
964
- async (op) => {
965
- setBusy(true);
966
- setSaveError(null);
967
- try {
968
- const saved = await op();
969
- if (saved) reflect(saved);
970
- } catch (e) {
971
- setSaveError(classifyBackend(e).message);
972
- } finally {
973
- setBusy(false);
974
- }
975
- },
976
- [reflect]
977
- );
978
- const remove = useCallback(async () => {
979
- if (!record?.name) return;
980
- setBusy(true);
981
- setSaveError(null);
982
- try {
983
- await client.records.remove(doctype, String(record.name));
984
- onBack();
985
- } catch (e) {
986
- setSaveError(classifyBackend(e).message);
987
- setBusy(false);
988
- setConfirmingDelete(false);
989
- }
990
- }, [client, doctype, onBack, record]);
991
- const backButton = /* @__PURE__ */ jsx(Action, { phone, icon: /* @__PURE__ */ jsx(ArrowLeft, { size: 15 }), onPress: onBack, children: "Back" });
992
- if (state.phase === "loading") {
993
- return /* @__PURE__ */ jsx(YStack, { onLayout, width: "100%", children: /* @__PURE__ */ jsx(Loading, { label: `Loading ${doctype}\u2026` }) });
994
- }
995
- if (state.phase === "error") {
996
- return /* @__PURE__ */ jsxs(YStack, { onLayout, gap: "$3", width: "100%", children: [
997
- /* @__PURE__ */ jsx(XStack, { children: backButton }),
998
- /* @__PURE__ */ jsx(BackendStateCard, { state: state.error, onRetry: reload, hint: `framework \xB7 ${doctype}/${name}` })
999
- ] });
1000
- }
1001
- if (!dt) {
1002
- return /* @__PURE__ */ jsx(YStack, { onLayout, gap: "$3", width: "100%", children: /* @__PURE__ */ jsx(XStack, { children: backButton }) });
1003
- }
1004
- const draftDoc = isDraft(record);
1005
- const statusF = statusField(dt);
1006
- const status = record ? String(record[statusF] ?? "") : "";
1007
- const docstatus = record ? Number(record.docstatus ?? 0) : 0;
1008
- const canEdit = !editing && !isNew && draftDoc;
1009
- const canDelete = !editing && !isNew && draftDoc;
1010
- const canPublish = canEdit && Boolean(statusF);
1011
- const canSubmit = !editing && !isNew && Boolean(dt.isSubmittable) && draftDoc;
1012
- const canCancel = !editing && !isNew && Boolean(dt.isSubmittable) && docstatus === SUBMITTED;
1013
- const lifecycle = docstatus === SUBMITTED ? " \xB7 submitted" : docstatus === CANCELLED ? " \xB7 cancelled" : "";
1014
- return /* @__PURE__ */ jsxs(YStack, { onLayout, gap: "$3", width: "100%", children: [
1015
- /* @__PURE__ */ jsxs(YStack, { gap: "$3", width: "100%", children: [
1016
- /* @__PURE__ */ jsxs(XStack, { items: "center", gap: "$3", width: "100%", flexWrap: "wrap", children: [
1017
- phone ? null : backButton,
1018
- /* @__PURE__ */ jsxs(YStack, { flex: 1, minW: 200, children: [
1019
- /* @__PURE__ */ jsx(Text, { fontSize: "$6", fontWeight: "800", numberOfLines: 2, children: title }),
1020
- /* @__PURE__ */ jsxs(Text, { fontSize: "$2", color: "$color10", numberOfLines: 1, children: [
1021
- doctype,
1022
- status ? ` \xB7 ${status}` : "",
1023
- lifecycle
1024
- ] })
1025
- ] })
1026
- ] }),
1027
- /* @__PURE__ */ jsxs(Actions, { phone, children: [
1028
- phone ? backButton : null,
1029
- editing ? /* @__PURE__ */ jsxs(Fragment, { children: [
1030
- !isNew ? /* @__PURE__ */ jsx(
1031
- Action,
1032
- {
1033
- phone,
1034
- icon: /* @__PURE__ */ jsx(X, { size: 15 }),
1035
- disabled: busy,
1036
- onPress: () => {
1037
- setDraft(record ? { ...record } : {});
1038
- setEditing(false);
1039
- setSaveError(null);
1040
- },
1041
- children: "Cancel"
1042
- }
1043
- ) : null,
1044
- /* @__PURE__ */ jsx(Action, { phone, primary: true, icon: /* @__PURE__ */ jsx(Save, { size: 15 }), disabled: busy, onPress: save, children: busy ? "Saving\u2026" : isNew ? "Create" : "Save" })
1045
- ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
1046
- canDelete ? /* @__PURE__ */ jsx(Action, { phone, danger: true, icon: /* @__PURE__ */ jsx(Trash2, { size: 15 }), disabled: busy, onPress: () => setConfirmingDelete(true), children: "Delete" }) : null,
1047
- canCancel ? /* @__PURE__ */ jsx(
1048
- Action,
1049
- {
1050
- phone,
1051
- icon: /* @__PURE__ */ jsx(Ban, { size: 15 }),
1052
- disabled: busy,
1053
- onPress: () => run(() => client.records.cancel(doctype, String(record.name))),
1054
- children: "Cancel doc"
1055
- }
1056
- ) : null,
1057
- canSubmit ? /* @__PURE__ */ jsx(
1058
- Action,
1059
- {
1060
- phone,
1061
- icon: /* @__PURE__ */ jsx(Send, { size: 15 }),
1062
- disabled: busy,
1063
- onPress: () => run(() => client.records.submit(doctype, String(record.name))),
1064
- children: "Submit"
1065
- }
1066
- ) : null,
1067
- canPublish ? status === "Published" ? /* @__PURE__ */ jsx(
1068
- Action,
1069
- {
1070
- phone,
1071
- icon: /* @__PURE__ */ jsx(PenOff, { size: 15 }),
1072
- disabled: busy,
1073
- onPress: () => run(
1074
- async () => client.records.update(doctype, String(record.name), savePayload({ ...record, [statusF]: "Draft" }, dt))
1075
- ),
1076
- children: "Unpublish"
1077
- }
1078
- ) : /* @__PURE__ */ jsx(
1079
- Action,
1080
- {
1081
- phone,
1082
- primary: true,
1083
- icon: /* @__PURE__ */ jsx(Globe, { size: 15 }),
1084
- disabled: busy,
1085
- onPress: () => run(
1086
- async () => client.records.update(
1087
- doctype,
1088
- String(record.name),
1089
- savePayload({ ...record, [statusF]: "Published" }, dt)
1090
- )
1091
- ),
1092
- children: "Publish"
1093
- }
1094
- ) : null,
1095
- canEdit ? /* @__PURE__ */ jsx(Action, { phone, primary: true, icon: /* @__PURE__ */ jsx(Pencil, { size: 15 }), onPress: () => setEditing(true), children: "Edit" }) : null
1096
- ] })
1097
- ] })
1098
- ] }),
1099
- !editing && !isNew && !draftDoc ? /* @__PURE__ */ jsx(Card, { borderWidth: 1, borderColor: "$borderColor", bg: "$color2", p: "$3", maxW: 620, children: /* @__PURE__ */ jsx(Text, { fontSize: "$2", color: "$color11", children: docstatus === SUBMITTED ? "This document is submitted. Cancel it to make further changes \u2014 the engine refuses edits and deletes on a submitted document." : "This document is cancelled. It is kept as a record and can no longer be edited or deleted." }) }) : null,
1100
- confirmingDelete ? /* @__PURE__ */ jsxs(Card, { borderWidth: 1, borderColor: "$red7", bg: "$red2", p: "$3", gap: "$3", maxW: 620, children: [
1101
- /* @__PURE__ */ jsxs(Text, { fontSize: "$3", fontWeight: "700", children: [
1102
- "Delete \u201C",
1103
- title,
1104
- "\u201D? This cannot be undone."
1105
- ] }),
1106
- /* @__PURE__ */ jsxs(Actions, { phone, children: [
1107
- /* @__PURE__ */ jsx(Action, { phone, danger: true, disabled: busy, onPress: remove, children: busy ? "Deleting\u2026" : "Confirm delete" }),
1108
- /* @__PURE__ */ jsx(Action, { phone, disabled: busy, onPress: () => setConfirmingDelete(false), children: "Keep" })
1109
- ] })
1110
- ] }) : null,
1111
- saveError ? /* @__PURE__ */ jsx(ErrorBar, { message: saveError }) : null,
1112
- /* @__PURE__ */ jsx(Panel, { phone, children: editing ? /* @__PURE__ */ jsx(RecordForm, { fields, values: draft, onChange, fieldOptions }) : record ? /* @__PURE__ */ jsx(RecordDetail, { title, fields, record, fieldOptions }) : null })
1113
- ] });
1114
- }
1115
-
1116
- export { Action, Actions, CollectionBuilder, CollectionsBrowser, DocTypeDetail, DocTypeRecords, ErrorBar, GRID_MIN, Loading, MediaGrid, Meta, Panel, RecordCards, TABLE_MIN, TAP, layoutFor, useContainerLayout };
1117
- //# sourceMappingURL=index.js.map
1
+ 'use client';// @hanzo/ui/framework the ONE renderer for the Hanzo Framework DocType engine.
2
+ //
3
+ // The engine (`hanzoai/cloud clients/framework`, live at `/v1/framework/*`, also
4
+ // published as github.com/hanzoai/framework) is metadata-driven: a CMS Page, an
5
+ // ERP Sales Order, a Helpdesk Ticket and a CRM Company are the same kind of thing
6
+ // a DocType with typed fields. So they get the same renderer. An "app lane" is a
7
+ // `module` filter over the DocType registry plus its own copy; there is no
8
+ // per-lane list, form, detail or builder to drift.
9
+ //
10
+ // import { CollectionsBrowser, DocTypeRecords, DocTypeDetail } from '@hanzo/ui/framework'
11
+ //
12
+ // HOST-AGNOSTIC. Nothing here picks an origin, a credential or a router: the host
13
+ // injects a `FrameworkTransport` (→ `createFrameworkClient`), an optional
14
+ // `MediaStore` (→ `createMediaUploader`) and plain `onOpen`/`onCreate`/`onBack`
15
+ // callbacks. The console mounts it on its user-bearer `/v1` proxy; anything else
16
+ // mounts it elsewhere.
17
+ //
18
+ // MOBILE FIRST. The phone layout is the DEFAULT, not the fallback: the first paint
19
+ // (SSR included) is the stacked card list, and the desktop table is the
20
+ // enhancement applied once the container measures wide enough (`responsive.ts`).
21
+ // Every control meets the 44px tap floor at phone width.
22
+ // The wire contract + the pure mapping. Its own entry too (`@hanzo/ui/framework/core`)
23
+ // so a data layer can bind the engine without loading a component tree.
24
+ export * from './core.js';
25
+ export * from './responsive.js';
26
+ // The views.
27
+ export * from './CollectionsBrowser.js';
28
+ export * from './DocTypeRecords.js';
29
+ export * from './RecordCards.js';
30
+ export * from './DocTypeDetail.js';
31
+ export * from './CollectionBuilder.js';
32
+ export * from './MediaGrid.js';
33
+ // The shared pieces, exported so a lane can build one more surface in the same
34
+ // idiom instead of inventing a second button.
35
+ export { Action, Actions, ErrorBar, Loading, Meta, Panel } from './parts.js';
1118
36
  //# sourceMappingURL=index.js.map