makersclaw 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (478) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +41 -1
  3. package/THIRD-PARTY-NOTICES.md +180 -0
  4. package/package.json +15 -8
  5. package/r/annotate.json +62 -0
  6. package/r/approval-request.json +52 -0
  7. package/r/audio-player.json +74 -0
  8. package/r/auth-form.json +55 -0
  9. package/r/board.json +55 -0
  10. package/r/calendar-view.json +105 -0
  11. package/r/cart.json +62 -0
  12. package/r/chart.json +83 -0
  13. package/r/chat.json +95 -0
  14. package/r/code-editor.json +94 -0
  15. package/r/comment-box.json +64 -0
  16. package/r/contact-section.json +53 -0
  17. package/r/core.json +341 -0
  18. package/r/csv-import.json +63 -0
  19. package/r/data-table.json +69 -0
  20. package/r/diagram.json +74 -0
  21. package/r/doc-editor.json +82 -0
  22. package/r/doc-page.json +61 -0
  23. package/r/email-render.json +73 -0
  24. package/r/faq.json +50 -0
  25. package/r/file-upload.json +54 -0
  26. package/r/flow-canvas.json +93 -0
  27. package/r/footer.json +52 -0
  28. package/r/gantt.json +70 -0
  29. package/r/job-panel.json +56 -0
  30. package/r/json-editor.json +66 -0
  31. package/r/map.json +89 -0
  32. package/r/menubar.json +52 -0
  33. package/r/mind-map.json +67 -0
  34. package/r/navigation-menu.json +52 -0
  35. package/r/order-detail.json +54 -0
  36. package/r/org-chart.json +66 -0
  37. package/r/page-builder.json +105 -0
  38. package/r/payment-methods.json +51 -0
  39. package/r/pdf-document.json +79 -0
  40. package/r/pdf-viewer.json +88 -0
  41. package/r/product-detail.json +76 -0
  42. package/r/product-grid.json +65 -0
  43. package/r/record-form.json +67 -0
  44. package/r/record-notes.json +55 -0
  45. package/r/registry.json +3612 -0
  46. package/r/search-dialog.json +51 -0
  47. package/r/settings-list.json +66 -0
  48. package/r/setup-checklist.json +51 -0
  49. package/r/share-dialog.json +52 -0
  50. package/r/sidebar.json +69 -0
  51. package/r/signature-pad.json +72 -0
  52. package/r/sketch-canvas.json +99 -0
  53. package/r/spreadsheet.json +90 -0
  54. package/r/stat-cards.json +66 -0
  55. package/r/task-list.json +63 -0
  56. package/r/task-model.json +98 -0
  57. package/r/testimonials.json +52 -0
  58. package/r/transaction-list.json +53 -0
  59. package/r/whiteboard.json +66 -0
  60. package/registry/blocks/annotate/README.md +179 -0
  61. package/registry/blocks/annotate/annotate-data.js +250 -0
  62. package/registry/blocks/annotate/annotate.jsx +646 -0
  63. package/registry/blocks/annotate/block.json +10 -0
  64. package/registry/blocks/annotate/demo.jsx +135 -0
  65. package/registry/blocks/annotate/index.js +15 -0
  66. package/registry/blocks/approval-request/README.md +116 -0
  67. package/registry/blocks/approval-request/approval-request.jsx +386 -0
  68. package/registry/blocks/approval-request/block.json +10 -0
  69. package/registry/blocks/approval-request/demo.jsx +127 -0
  70. package/registry/blocks/approval-request/index.js +4 -0
  71. package/registry/blocks/audio-player/README.md +167 -0
  72. package/registry/blocks/audio-player/audio-player.jsx +623 -0
  73. package/registry/blocks/audio-player/block.json +14 -0
  74. package/registry/blocks/audio-player/colors.js +109 -0
  75. package/registry/blocks/audio-player/demo.jsx +209 -0
  76. package/registry/blocks/audio-player/index.js +6 -0
  77. package/registry/blocks/audio-player/time.js +67 -0
  78. package/registry/blocks/audio-player/wavesurfer.js +9 -0
  79. package/registry/blocks/auth-form/README.md +126 -0
  80. package/registry/blocks/auth-form/auth-form.jsx +568 -0
  81. package/registry/blocks/auth-form/block.json +10 -0
  82. package/registry/blocks/auth-form/demo.jsx +131 -0
  83. package/registry/blocks/auth-form/index.js +3 -0
  84. package/registry/blocks/board/README.md +64 -13
  85. package/registry/blocks/board/block.json +2 -2
  86. package/registry/blocks/board/board.jsx +237 -94
  87. package/registry/blocks/board/demo.jsx +103 -24
  88. package/registry/blocks/calendar-view/README.md +180 -0
  89. package/registry/blocks/calendar-view/agenda.jsx +147 -0
  90. package/registry/blocks/calendar-view/block.json +76 -0
  91. package/registry/blocks/calendar-view/calendar-model.js +442 -0
  92. package/registry/blocks/calendar-view/calendar.jsx +627 -0
  93. package/registry/blocks/calendar-view/demo.jsx +195 -0
  94. package/registry/blocks/calendar-view/draft.jsx +49 -0
  95. package/registry/blocks/calendar-view/index.js +39 -0
  96. package/registry/blocks/calendar-view/month.jsx +346 -0
  97. package/registry/blocks/calendar-view/paint.js +69 -0
  98. package/registry/blocks/calendar-view/time-grid.jsx +527 -0
  99. package/registry/blocks/calendar-view/tray.jsx +87 -0
  100. package/registry/blocks/cart/README.md +146 -0
  101. package/registry/blocks/cart/block.json +10 -0
  102. package/registry/blocks/cart/cart.jsx +597 -0
  103. package/registry/blocks/cart/demo.jsx +98 -0
  104. package/registry/blocks/cart/index.js +4 -0
  105. package/registry/blocks/cart/money.js +28 -0
  106. package/registry/blocks/chart/README.md +316 -0
  107. package/registry/blocks/chart/block.json +10 -0
  108. package/registry/blocks/chart/cartesian.jsx +642 -0
  109. package/registry/blocks/chart/core.jsx +262 -0
  110. package/registry/blocks/chart/demo.jsx +357 -0
  111. package/registry/blocks/chart/heatmap.jsx +336 -0
  112. package/registry/blocks/chart/index.js +8 -0
  113. package/registry/blocks/chart/pie.jsx +245 -0
  114. package/registry/blocks/chart/sparkline.jsx +88 -0
  115. package/registry/blocks/chat/README.md +273 -0
  116. package/registry/blocks/chat/attachment.jsx +95 -0
  117. package/registry/blocks/chat/block.json +10 -0
  118. package/registry/blocks/chat/chat.jsx +132 -0
  119. package/registry/blocks/chat/composer.jsx +364 -0
  120. package/registry/blocks/chat/demo.jsx +578 -0
  121. package/registry/blocks/chat/header.jsx +34 -0
  122. package/registry/blocks/chat/index.js +9 -0
  123. package/registry/blocks/chat/message.jsx +450 -0
  124. package/registry/blocks/chat/scroller.jsx +247 -0
  125. package/registry/blocks/chat/text.jsx +104 -0
  126. package/registry/blocks/code-editor/README.md +210 -0
  127. package/registry/blocks/code-editor/block.json +22 -0
  128. package/registry/blocks/code-editor/code-editor.jsx +534 -0
  129. package/registry/blocks/code-editor/codemirror.js +38 -0
  130. package/registry/blocks/code-editor/demo.jsx +205 -0
  131. package/registry/blocks/code-editor/index.js +8 -0
  132. package/registry/blocks/code-editor/json.js +317 -0
  133. package/registry/blocks/code-editor/sql.js +136 -0
  134. package/registry/blocks/code-editor/text.js +101 -0
  135. package/registry/blocks/code-editor/theme.js +186 -0
  136. package/registry/blocks/comment-box/README.md +123 -0
  137. package/registry/blocks/comment-box/block.json +10 -0
  138. package/registry/blocks/comment-box/comment-body.jsx +217 -0
  139. package/registry/blocks/comment-box/comment-box.jsx +198 -0
  140. package/registry/blocks/comment-box/comment-time.jsx +77 -0
  141. package/registry/blocks/comment-box/demo.jsx +141 -0
  142. package/registry/blocks/comment-box/index.js +8 -0
  143. package/registry/blocks/contact-section/README.md +152 -0
  144. package/registry/blocks/contact-section/block.json +11 -0
  145. package/registry/blocks/contact-section/contact-section.jsx +509 -0
  146. package/registry/blocks/contact-section/demo.jsx +93 -0
  147. package/registry/blocks/contact-section/index.js +4 -0
  148. package/registry/blocks/csv-import/README.md +133 -0
  149. package/registry/blocks/csv-import/block.json +13 -0
  150. package/registry/blocks/csv-import/csv-import.jsx +479 -0
  151. package/registry/blocks/csv-import/demo.jsx +106 -0
  152. package/registry/blocks/csv-import/import.js +200 -0
  153. package/registry/blocks/csv-import/index.js +7 -0
  154. package/registry/blocks/data-table/README.md +386 -0
  155. package/registry/blocks/data-table/block.json +10 -0
  156. package/registry/blocks/data-table/data-table.jsx +1164 -0
  157. package/registry/blocks/data-table/demo.jsx +588 -0
  158. package/registry/blocks/data-table/index.js +5 -0
  159. package/registry/blocks/data-table/model.js +169 -0
  160. package/registry/blocks/diagram/README.md +108 -0
  161. package/registry/blocks/diagram/block.json +13 -0
  162. package/registry/blocks/diagram/demo.jsx +113 -0
  163. package/registry/blocks/diagram/diagram.jsx +481 -0
  164. package/registry/blocks/diagram/index.js +7 -0
  165. package/registry/blocks/diagram/mermaid.js +52 -0
  166. package/registry/blocks/diagram/palette.js +313 -0
  167. package/registry/blocks/diagram/source.js +98 -0
  168. package/registry/blocks/doc-editor/README.md +215 -0
  169. package/registry/blocks/doc-editor/block.json +15 -0
  170. package/registry/blocks/doc-editor/demo.jsx +225 -0
  171. package/registry/blocks/doc-editor/doc-editor.jsx +291 -0
  172. package/registry/blocks/doc-editor/doc.js +309 -0
  173. package/registry/blocks/doc-editor/index.js +7 -0
  174. package/registry/blocks/doc-editor/schema.jsx +56 -0
  175. package/registry/blocks/doc-editor/shadcn-classes.js +110 -0
  176. package/registry/blocks/doc-editor/theme.js +82 -0
  177. package/registry/blocks/doc-page/README.md +119 -0
  178. package/registry/blocks/doc-page/autosave.js +104 -0
  179. package/registry/blocks/doc-page/block.json +10 -0
  180. package/registry/blocks/doc-page/demo.jsx +137 -0
  181. package/registry/blocks/doc-page/doc-page.jsx +276 -0
  182. package/registry/blocks/doc-page/index.js +4 -0
  183. package/registry/blocks/email-render/README.md +151 -0
  184. package/registry/blocks/email-render/block.json +14 -0
  185. package/registry/blocks/email-render/demo.jsx +153 -0
  186. package/registry/blocks/email-render/doc-email.jsx +210 -0
  187. package/registry/blocks/email-render/email.jsx +221 -0
  188. package/registry/blocks/email-render/index.js +10 -0
  189. package/registry/blocks/email-render/render.js +50 -0
  190. package/registry/blocks/email-render/theme.js +215 -0
  191. package/registry/blocks/faq/README.md +101 -0
  192. package/registry/blocks/faq/block.json +11 -0
  193. package/registry/blocks/faq/demo.jsx +89 -0
  194. package/registry/blocks/faq/faq.jsx +220 -0
  195. package/registry/blocks/faq/index.js +4 -0
  196. package/registry/blocks/file-upload/README.md +138 -0
  197. package/registry/blocks/file-upload/block.json +10 -0
  198. package/registry/blocks/file-upload/demo.jsx +204 -0
  199. package/registry/blocks/file-upload/file-upload.jsx +635 -0
  200. package/registry/blocks/file-upload/index.js +4 -0
  201. package/registry/blocks/flow-canvas/README.md +420 -0
  202. package/registry/blocks/flow-canvas/block.json +13 -0
  203. package/registry/blocks/flow-canvas/board.js +819 -0
  204. package/registry/blocks/flow-canvas/chrome.jsx +649 -0
  205. package/registry/blocks/flow-canvas/context.jsx +35 -0
  206. package/registry/blocks/flow-canvas/demo.jsx +249 -0
  207. package/registry/blocks/flow-canvas/edges.jsx +107 -0
  208. package/registry/blocks/flow-canvas/flow-canvas.jsx +1329 -0
  209. package/registry/blocks/flow-canvas/index.js +41 -0
  210. package/registry/blocks/flow-canvas/nodes.jsx +392 -0
  211. package/registry/blocks/flow-canvas/theme.js +174 -0
  212. package/registry/blocks/footer/README.md +133 -0
  213. package/registry/blocks/footer/block.json +11 -0
  214. package/registry/blocks/footer/demo.jsx +119 -0
  215. package/registry/blocks/footer/footer.jsx +406 -0
  216. package/registry/blocks/footer/index.js +4 -0
  217. package/registry/blocks/gantt/README.md +220 -0
  218. package/registry/blocks/gantt/block.json +10 -0
  219. package/registry/blocks/gantt/demo.jsx +148 -0
  220. package/registry/blocks/gantt/gantt.jsx +923 -0
  221. package/registry/blocks/gantt/index.js +7 -0
  222. package/registry/blocks/gantt/rows.jsx +468 -0
  223. package/registry/blocks/gantt/schedule.js +278 -0
  224. package/registry/blocks/job-panel/README.md +86 -2
  225. package/registry/blocks/job-panel/block.json +3 -3
  226. package/registry/blocks/job-panel/demo.jsx +230 -3
  227. package/registry/blocks/job-panel/job-panel.jsx +169 -3
  228. package/registry/blocks/json-editor/README.md +133 -0
  229. package/registry/blocks/json-editor/block.json +10 -0
  230. package/registry/blocks/json-editor/demo.jsx +92 -0
  231. package/registry/blocks/json-editor/index.js +7 -0
  232. package/registry/blocks/json-editor/json-editor.jsx +305 -0
  233. package/registry/blocks/json-editor/json-tree.jsx +393 -0
  234. package/registry/blocks/json-editor/tree.js +225 -0
  235. package/registry/blocks/map/README.md +221 -0
  236. package/registry/blocks/map/block.json +14 -0
  237. package/registry/blocks/map/demo.jsx +201 -0
  238. package/registry/blocks/map/geo.js +198 -0
  239. package/registry/blocks/map/index.js +8 -0
  240. package/registry/blocks/map/list.jsx +128 -0
  241. package/registry/blocks/map/map-view.jsx +715 -0
  242. package/registry/blocks/map/maplibre.js +30 -0
  243. package/registry/blocks/map/marks.jsx +146 -0
  244. package/registry/blocks/map/theme.js +142 -0
  245. package/registry/blocks/menubar/README.md +109 -0
  246. package/registry/blocks/menubar/block.json +10 -0
  247. package/registry/blocks/menubar/demo.jsx +128 -0
  248. package/registry/blocks/menubar/index.js +4 -0
  249. package/registry/blocks/menubar/menubar.jsx +199 -0
  250. package/registry/blocks/mind-map/README.md +206 -0
  251. package/registry/blocks/mind-map/block.json +10 -0
  252. package/registry/blocks/mind-map/demo.jsx +103 -0
  253. package/registry/blocks/mind-map/index.js +31 -0
  254. package/registry/blocks/mind-map/mind-map.jsx +1125 -0
  255. package/registry/blocks/mind-map/topic.jsx +143 -0
  256. package/registry/blocks/mind-map/tree.js +645 -0
  257. package/registry/blocks/navigation-menu/README.md +124 -0
  258. package/registry/blocks/navigation-menu/block.json +10 -0
  259. package/registry/blocks/navigation-menu/demo.jsx +84 -0
  260. package/registry/blocks/navigation-menu/index.js +4 -0
  261. package/registry/blocks/navigation-menu/navigation-menu.jsx +448 -0
  262. package/registry/blocks/order-detail/README.md +109 -0
  263. package/registry/blocks/order-detail/block.json +10 -0
  264. package/registry/blocks/order-detail/demo.jsx +88 -0
  265. package/registry/blocks/order-detail/index.js +4 -0
  266. package/registry/blocks/order-detail/order-detail.jsx +354 -0
  267. package/registry/blocks/org-chart/README.md +145 -0
  268. package/registry/blocks/org-chart/block.json +10 -0
  269. package/registry/blocks/org-chart/demo.jsx +94 -0
  270. package/registry/blocks/org-chart/index.js +7 -0
  271. package/registry/blocks/org-chart/org-chart.jsx +631 -0
  272. package/registry/blocks/org-chart/org.js +245 -0
  273. package/registry/blocks/org-chart/person.jsx +96 -0
  274. package/registry/blocks/page-builder/README.md +257 -0
  275. package/registry/blocks/page-builder/block.json +14 -0
  276. package/registry/blocks/page-builder/demo.jsx +145 -0
  277. package/registry/blocks/page-builder/grapes.js +18 -0
  278. package/registry/blocks/page-builder/index.js +11 -0
  279. package/registry/blocks/page-builder/page-builder.jsx +704 -0
  280. package/registry/blocks/page-builder/page-view.jsx +33 -0
  281. package/registry/blocks/page-builder/page.js +118 -0
  282. package/registry/blocks/page-builder/panels.jsx +588 -0
  283. package/registry/blocks/page-builder/sections.js +209 -0
  284. package/registry/blocks/page-builder/theme.js +87 -0
  285. package/registry/blocks/page-builder/thumbs.jsx +189 -0
  286. package/registry/blocks/page-builder/tokens.js +329 -0
  287. package/registry/blocks/payment-methods/README.md +104 -0
  288. package/registry/blocks/payment-methods/block.json +10 -0
  289. package/registry/blocks/payment-methods/demo.jsx +71 -0
  290. package/registry/blocks/payment-methods/index.js +4 -0
  291. package/registry/blocks/payment-methods/payment-methods.jsx +302 -0
  292. package/registry/blocks/pdf-document/README.md +213 -0
  293. package/registry/blocks/pdf-document/block.json +13 -0
  294. package/registry/blocks/pdf-document/demo.jsx +136 -0
  295. package/registry/blocks/pdf-document/index.js +33 -0
  296. package/registry/blocks/pdf-document/money.js +83 -0
  297. package/registry/blocks/pdf-document/pdf-document.jsx +144 -0
  298. package/registry/blocks/pdf-document/primitives.jsx +271 -0
  299. package/registry/blocks/pdf-document/quote.jsx +179 -0
  300. package/registry/blocks/pdf-document/theme.js +193 -0
  301. package/registry/blocks/pdf-viewer/README.md +191 -0
  302. package/registry/blocks/pdf-viewer/block.json +14 -0
  303. package/registry/blocks/pdf-viewer/demo.jsx +252 -0
  304. package/registry/blocks/pdf-viewer/helpers.js +270 -0
  305. package/registry/blocks/pdf-viewer/index.js +8 -0
  306. package/registry/blocks/pdf-viewer/notes.jsx +195 -0
  307. package/registry/blocks/pdf-viewer/pdf-viewer.jsx +1368 -0
  308. package/registry/blocks/pdf-viewer/pdfjs.js +37 -0
  309. package/registry/blocks/pdf-viewer/ssr-shim-end.js +6 -0
  310. package/registry/blocks/pdf-viewer/ssr-shim.js +44 -0
  311. package/registry/blocks/product-detail/README.md +217 -0
  312. package/registry/blocks/product-detail/block.json +10 -0
  313. package/registry/blocks/product-detail/demo.jsx +233 -0
  314. package/registry/blocks/product-detail/index.js +7 -0
  315. package/registry/blocks/product-detail/price.jsx +115 -0
  316. package/registry/blocks/product-detail/product-detail.jsx +348 -0
  317. package/registry/blocks/product-detail/product-media.jsx +102 -0
  318. package/registry/blocks/product-detail/product-options.jsx +144 -0
  319. package/registry/blocks/product-grid/README.md +162 -0
  320. package/registry/blocks/product-grid/block.json +10 -0
  321. package/registry/blocks/product-grid/demo.jsx +255 -0
  322. package/registry/blocks/product-grid/index.js +5 -0
  323. package/registry/blocks/product-grid/product-card.jsx +232 -0
  324. package/registry/blocks/product-grid/product-grid.jsx +235 -0
  325. package/registry/blocks/record-form/README.md +196 -0
  326. package/registry/blocks/record-form/block.json +10 -0
  327. package/registry/blocks/record-form/demo.jsx +525 -0
  328. package/registry/blocks/record-form/index.js +4 -0
  329. package/registry/blocks/record-form/record-fields.jsx +457 -0
  330. package/registry/blocks/record-form/record-form.jsx +415 -0
  331. package/registry/blocks/record-form/rules.js +81 -0
  332. package/registry/blocks/record-notes/README.md +139 -0
  333. package/registry/blocks/record-notes/block.json +10 -0
  334. package/registry/blocks/record-notes/demo.jsx +179 -0
  335. package/registry/blocks/record-notes/index.js +4 -0
  336. package/registry/blocks/record-notes/record-notes.jsx +266 -0
  337. package/registry/blocks/search-dialog/README.md +108 -0
  338. package/registry/blocks/search-dialog/block.json +10 -0
  339. package/registry/blocks/search-dialog/demo.jsx +116 -0
  340. package/registry/blocks/search-dialog/index.js +3 -0
  341. package/registry/blocks/search-dialog/search-dialog.jsx +235 -0
  342. package/registry/blocks/settings-list/README.md +171 -0
  343. package/registry/blocks/settings-list/block.json +10 -0
  344. package/registry/blocks/settings-list/demo.jsx +333 -0
  345. package/registry/blocks/settings-list/index.js +4 -0
  346. package/registry/blocks/settings-list/row-state.jsx +93 -0
  347. package/registry/blocks/settings-list/settings-list.jsx +349 -0
  348. package/registry/blocks/settings-list/settings-matrix.jsx +118 -0
  349. package/registry/blocks/setup-checklist/README.md +142 -0
  350. package/registry/blocks/setup-checklist/block.json +10 -0
  351. package/registry/blocks/setup-checklist/demo.jsx +159 -0
  352. package/registry/blocks/setup-checklist/index.js +4 -0
  353. package/registry/blocks/setup-checklist/setup-checklist.jsx +446 -0
  354. package/registry/blocks/share-dialog/README.md +113 -0
  355. package/registry/blocks/share-dialog/block.json +10 -0
  356. package/registry/blocks/share-dialog/demo.jsx +140 -0
  357. package/registry/blocks/share-dialog/index.js +3 -0
  358. package/registry/blocks/share-dialog/share-dialog.jsx +384 -0
  359. package/registry/blocks/sidebar/README.md +190 -0
  360. package/registry/blocks/sidebar/block.json +43 -0
  361. package/registry/blocks/sidebar/demo.jsx +577 -0
  362. package/registry/blocks/sidebar/index.js +4 -0
  363. package/registry/blocks/sidebar/sidebar-panel.jsx +149 -0
  364. package/registry/blocks/sidebar/sidebar.jsx +864 -0
  365. package/registry/blocks/signature-pad/README.md +137 -0
  366. package/registry/blocks/signature-pad/block.json +13 -0
  367. package/registry/blocks/signature-pad/colors.js +115 -0
  368. package/registry/blocks/signature-pad/demo.jsx +94 -0
  369. package/registry/blocks/signature-pad/index.js +6 -0
  370. package/registry/blocks/signature-pad/pad.js +7 -0
  371. package/registry/blocks/signature-pad/signature-pad.jsx +434 -0
  372. package/registry/blocks/signature-pad/signature.js +68 -0
  373. package/registry/blocks/sketch-canvas/README.md +280 -0
  374. package/registry/blocks/sketch-canvas/block.json +13 -0
  375. package/registry/blocks/sketch-canvas/demo.jsx +159 -0
  376. package/registry/blocks/sketch-canvas/excalidraw.js +40 -0
  377. package/registry/blocks/sketch-canvas/index.js +9 -0
  378. package/registry/blocks/sketch-canvas/palette.js +226 -0
  379. package/registry/blocks/sketch-canvas/sketch-canvas.jsx +1188 -0
  380. package/registry/blocks/sketch-canvas/sketch.js +179 -0
  381. package/registry/blocks/sketch-canvas/ssr-shim-end.js +6 -0
  382. package/registry/blocks/sketch-canvas/ssr-shim.js +45 -0
  383. package/registry/blocks/sketch-canvas/stamps.js +104 -0
  384. package/registry/blocks/sketch-canvas/theme.js +131 -0
  385. package/registry/blocks/spreadsheet/README.md +307 -0
  386. package/registry/blocks/spreadsheet/block.json +13 -0
  387. package/registry/blocks/spreadsheet/cells.jsx +455 -0
  388. package/registry/blocks/spreadsheet/chrome.jsx +325 -0
  389. package/registry/blocks/spreadsheet/demo.jsx +177 -0
  390. package/registry/blocks/spreadsheet/grid.js +387 -0
  391. package/registry/blocks/spreadsheet/index.js +34 -0
  392. package/registry/blocks/spreadsheet/spreadsheet.jsx +1732 -0
  393. package/registry/blocks/spreadsheet/types.js +473 -0
  394. package/registry/blocks/stat-cards/README.md +173 -0
  395. package/registry/blocks/stat-cards/block.json +10 -0
  396. package/registry/blocks/stat-cards/demo.jsx +257 -0
  397. package/registry/blocks/stat-cards/index.js +4 -0
  398. package/registry/blocks/stat-cards/stat-cards.jsx +307 -0
  399. package/registry/blocks/stat-cards/usage.jsx +243 -0
  400. package/registry/blocks/task-list/README.md +176 -0
  401. package/registry/blocks/task-list/block.json +10 -0
  402. package/registry/blocks/task-list/demo.jsx +134 -0
  403. package/registry/blocks/task-list/index.js +5 -0
  404. package/registry/blocks/task-list/task-list.jsx +907 -0
  405. package/registry/blocks/task-model/README.md +455 -0
  406. package/registry/blocks/task-model/block.json +167 -0
  407. package/registry/blocks/task-model/changes.js +89 -0
  408. package/registry/blocks/task-model/dates.js +371 -0
  409. package/registry/blocks/task-model/demo.jsx +215 -0
  410. package/registry/blocks/task-model/dnd.jsx +240 -0
  411. package/registry/blocks/task-model/index.js +97 -0
  412. package/registry/blocks/task-model/model.js +919 -0
  413. package/registry/blocks/task-model/parts.jsx +449 -0
  414. package/registry/blocks/task-model/toolbar.jsx +271 -0
  415. package/registry/blocks/testimonials/README.md +139 -0
  416. package/registry/blocks/testimonials/block.json +11 -0
  417. package/registry/blocks/testimonials/demo.jsx +137 -0
  418. package/registry/blocks/testimonials/index.js +4 -0
  419. package/registry/blocks/testimonials/testimonials.jsx +430 -0
  420. package/registry/blocks/transaction-list/README.md +126 -0
  421. package/registry/blocks/transaction-list/block.json +10 -0
  422. package/registry/blocks/transaction-list/demo.jsx +79 -0
  423. package/registry/blocks/transaction-list/index.js +4 -0
  424. package/registry/blocks/transaction-list/transaction-list.jsx +383 -0
  425. package/registry/blocks/whiteboard/README.md +179 -0
  426. package/registry/blocks/whiteboard/block.json +10 -0
  427. package/registry/blocks/whiteboard/demo.jsx +169 -0
  428. package/registry/blocks/whiteboard/index.js +6 -0
  429. package/registry/blocks/whiteboard/templates.js +150 -0
  430. package/registry/blocks/whiteboard/whiteboard.jsx +721 -0
  431. package/src/install.mjs +18 -0
  432. package/src/shadcn.mjs +171 -0
  433. package/templates/next/files/README.md +145 -11
  434. package/templates/next/files/app/globals.css +55 -4
  435. package/templates/next/files/check/run.mjs +3 -3
  436. package/templates/next/files/components/parts/fixture.jsx +1 -1
  437. package/templates/next/files/components/parts/sample.js +15 -0
  438. package/templates/next/files/components/ui/avatar.jsx +141 -0
  439. package/templates/next/files/components/ui/breadcrumb.jsx +149 -0
  440. package/templates/next/files/components/ui/button-group.jsx +70 -0
  441. package/templates/next/files/components/ui/button.jsx +132 -12
  442. package/templates/next/files/components/ui/calendar.jsx +609 -0
  443. package/templates/next/files/components/ui/carousel.jsx +281 -0
  444. package/templates/next/files/components/ui/collapsible.jsx +208 -0
  445. package/templates/next/files/components/ui/combobox.jsx +608 -0
  446. package/templates/next/files/components/ui/command.jsx +577 -0
  447. package/templates/next/files/components/ui/context-menu.jsx +191 -0
  448. package/templates/next/files/components/ui/date-picker.jsx +360 -0
  449. package/templates/next/files/components/ui/distribution.jsx +117 -0
  450. package/templates/next/files/components/ui/feedback.jsx +143 -0
  451. package/templates/next/files/components/ui/field.jsx +115 -3
  452. package/templates/next/files/components/ui/file-input.jsx +234 -0
  453. package/templates/next/files/components/ui/icon.jsx +130 -8
  454. package/templates/next/files/components/ui/image.jsx +143 -0
  455. package/templates/next/files/components/ui/index.js +47 -2
  456. package/templates/next/files/components/ui/input-group.jsx +213 -0
  457. package/templates/next/files/components/ui/input-otp.jsx +170 -0
  458. package/templates/next/files/components/ui/item.jsx +206 -0
  459. package/templates/next/files/components/ui/menu.jsx +454 -82
  460. package/templates/next/files/components/ui/notice.jsx +126 -14
  461. package/templates/next/files/components/ui/pagination.jsx +156 -0
  462. package/templates/next/files/components/ui/popover.jsx +284 -0
  463. package/templates/next/files/components/ui/radio.jsx +193 -0
  464. package/templates/next/files/components/ui/rating.jsx +131 -0
  465. package/templates/next/files/components/ui/resizable.jsx +338 -0
  466. package/templates/next/files/components/ui/scroll-area.jsx +123 -0
  467. package/templates/next/files/components/ui/separator.jsx +119 -0
  468. package/templates/next/files/components/ui/sheet.jsx +96 -11
  469. package/templates/next/files/components/ui/slider.jsx +174 -0
  470. package/templates/next/files/components/ui/stat.jsx +574 -0
  471. package/templates/next/files/components/ui/steps.jsx +338 -0
  472. package/templates/next/files/components/ui/swatch.jsx +33 -0
  473. package/templates/next/files/components/ui/table.jsx +130 -0
  474. package/templates/next/files/components/ui/toast.jsx +440 -0
  475. package/templates/next/files/components/ui/toggle.jsx +195 -0
  476. package/templates/next/files/components/ui/tooltip.jsx +270 -0
  477. package/templates/next/files/lib/sample.js +4 -12
  478. package/templates/next/template.json +264 -8
@@ -0,0 +1,145 @@
1
+ # OrgChart
2
+
3
+ Who reports to whom, top down. Give it people as a flat list — each row
4
+ names its manager — and it draws the tree: managers centred over their
5
+ teams, a team with no managers in it as a compact column (twelve cards in
6
+ a row read worse than a list), every line in place.
7
+
8
+ Teams past the first levels start folded; the chip under a manager says
9
+ how many report to them and, folded, how many are hidden. **Find a
10
+ person** (or press `/`) unfolds the way down to them, centres them and
11
+ lights their chain of managers. A click selects a card; a second click
12
+ (or Enter) opens a details sheet: who they report to, their direct
13
+ reports, the team's size. Cards carry a colour strip by department, with
14
+ a legend on top.
15
+
16
+ With `onChangeManager`, drag a card onto another to move that person to a
17
+ new manager — shown at once, saved through your callback, undone if it
18
+ fails, with an Undo in the toast.
19
+
20
+ It is built on `flow-canvas` (which draws it, pans and zooms): this block
21
+ builds the tree, lays it out and owns the keys.
22
+
23
+ ```jsx
24
+ import { OrgChart } from "../components/blocks/org-chart"; // a Makersclaw app ("./blocks/org-chart" from components/)
25
+ import { OrgChart } from "@/components/makersclaw/blocks/org-chart"; // a shadcn project
26
+ ```
27
+
28
+ `OrgChart` is a client component: render it from a `"use client"`
29
+ component. `makersclaw add org-chart` adds `flow-canvas` with it (and its
30
+ npm package, `@xyflow/react`: run `npm install` after). The helpers
31
+ (`buildOrg`, `orgToText`…) are plain functions and work on the server too.
32
+
33
+ ## The data
34
+
35
+ One row per person, as a table holds them:
36
+
37
+ ```js
38
+ [
39
+ { id: "p1", name: "Amara Okafor", title: "Chief Executive Officer", department: "Leadership" },
40
+ { id: "p2", name: "Daniel Reyes", title: "VP Engineering", department: "Engineering", managerId: "p1", avatar: "https://…", email: "daniel@…", location: "Lisbon" },
41
+ ]
42
+ ```
43
+
44
+ - `id` — required, unique. `name`, `title` — the card's two lines.
45
+ - `managerId` (or the field named by `managerKey`) — the manager's `id`.
46
+ Missing, or naming someone not in the list: the person is the top of a
47
+ tree (several tops sit side by side). A loop of managers is broken, and
48
+ never hangs the chart.
49
+ - `avatar` — an image URL; without one the card shows initials.
50
+ - `department` (or the field named by `groupBy`) — the card's colour strip
51
+ and the legend. Colours are the theme's chart hues, given in the order
52
+ groups first appear.
53
+ - `email`, `location` — shown in the details sheet. Any other field is
54
+ kept and handed back to your callbacks.
55
+
56
+ ## Props
57
+
58
+ - `people` — required, the rows above. An empty list shows a friendly
59
+ empty state.
60
+ - `managerKey` — the field naming the manager (default `"managerId"`).
61
+ - `groupBy` — the field to colour by (default `"department"`), or
62
+ `(person) => group`; `null` for no colours or legend.
63
+ - `defaultDepth` — how many levels show before teams fold (default `3`:
64
+ the top, their reports, and theirs).
65
+ - `onChangeManager(person, managerId)` — `async`, return `{ ok: true }` or
66
+ `{ ok: false, error? }` (a throw counts as failed). Turns on dragging a
67
+ card onto another (with a mouse; on touch a drag always pans). The move
68
+ shows at once; a failure puts the person back and says why. Update
69
+ `people` when it succeeds (the chart keeps the move until you do).
70
+ - `onOpenPerson(person)` — open your own view of a person (a record page,
71
+ your own Sheet) instead of the built-in details sheet.
72
+ - `renderDetails(person)` — more for the built-in details sheet, under the
73
+ reports: kit parts (their open deals, a "Message" button).
74
+ - `onSelectionChange(person | null)` — the selected card changed.
75
+ - `height` — px or any CSS length, default `640`. A height class in
76
+ `className` (`h-dvh`, `h-full`, `flex-1`) replaces it.
77
+ - `label` — the chart's accessible name (default "Org chart").
78
+ - `className` — layout around it (margin, width, height). Never colour.
79
+
80
+ ## Keyboard and pointer
81
+
82
+ - `/` finds a person. Arrows walk the chart: ↑ to the manager, ↓ into the
83
+ team (unfolding it), ← → along the team (and across to the next team
84
+ at the end of a row); in a column ↑ ↓ go up and down it.
85
+ - Space folds or unfolds the selected person's team; Enter opens their
86
+ details; Home goes to the top; Esc clears the selection; ⇧1 fits the
87
+ chart to the screen.
88
+ - A plain drag on the canvas pans, pinch or ⌘-scroll zooms, the chip under
89
+ a manager folds their team. The zoom bar (bottom right) has fit, zoom
90
+ and a list view for screen readers.
91
+
92
+ ## The helpers
93
+
94
+ - `buildOrg(people, { managerKey })` → `{ roots, byId }`: each node
95
+ `{ id, person, parentId, depth, children, total }` (`total`: everyone
96
+ under them).
97
+ - `chainOf(byId, id)` → the chain of managers, top first, ending with them.
98
+ - `orgToText(people, { managerKey })` — one person a line, indented under
99
+ their manager, "Daniel Reyes — VP Engineering (10)": for an agent or a
100
+ search column.
101
+ - `layoutOrg(roots, { collapsed(node), stack = true })` → `{ items,
102
+ bounds }`: every visible card's box and the line up to its manager.
103
+ - `groupHues(people, key)` → Map(group → hue 1..5), the colours the chart
104
+ uses (for a Legend or Badge elsewhere).
105
+
106
+ ## Example
107
+
108
+ ```jsx
109
+ // components/TeamChart.jsx — client
110
+ "use client";
111
+ import { useState } from "react";
112
+ import { updateRow } from "../lib/actions";
113
+ import { OrgChart } from "./blocks/org-chart";
114
+
115
+ export default function TeamChart({ employees }) {
116
+ const [people, setPeople] = useState(employees); // rows of public.employees
117
+ return (
118
+ <OrgChart
119
+ people={people}
120
+ managerKey="manager_id"
121
+ onChangeManager={async (person, managerId) => {
122
+ const res = await updateRow({ source: "public.employees", id: person.id, patch: { manager_id: managerId } });
123
+ if (res.ok) setPeople((list) => list.map((p) => (p.id === person.id ? { ...p, manager_id: managerId } : p)));
124
+ return res;
125
+ }}
126
+ className="h-[calc(100dvh-8rem)]"
127
+ />
128
+ );
129
+ }
130
+ ```
131
+
132
+ ## What it will not do
133
+
134
+ - Show a person under two managers (dotted lines, matrix orgs): one
135
+ manager each.
136
+ - Edit a person's details: open your own form from `onOpenPerson` or put
137
+ a button in `renderDetails`.
138
+ - Export an image or print.
139
+ - Render on the server: the server shows the people as text until the
140
+ canvas mounts. For a read-only page that must be rich in the HTML,
141
+ render `orgToText` yourself.
142
+
143
+ A chart it cannot be is your own component in `components/` — not an edit
144
+ to this block. Its files are fixed: `npm run check` refuses a change, and
145
+ `makersclaw add org-chart` restores them.
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "org-chart",
3
+ "title": "OrgChart",
4
+ "description": "An org chart on flow-canvas: people laid out top down from a flat list (each names a manager), managers centred over their teams, a team with no managers in it as a compact column, every line drawn for you. Teams fold past the first levels behind a chip that says how many are hidden; search finds a person, unfolds the way to them, centres them and lights their chain of managers; a card opens a details sheet (reports to, direct reports, team size). Colour strips and a legend by department. Optional: drag a card onto another to change someone's manager (async { ok }, optimistic, with Undo). Keyboard throughout.",
5
+ "useWhen": "A screen that shows who reports to whom: a team or company directory's chart, an account's buying committee as a hierarchy, a reporting line to check before a reorg. Not for a free-form map of people and notes (account-map, flow-canvas), a plain list of people (data-table), or a tree of ideas (mind-map).",
6
+ "tags": ["org chart", "organization", "organisation", "hierarchy", "reporting line", "manager", "team", "people", "directory", "tree", "reports", "reorg", "canvas"],
7
+ "exports": ["OrgChart", "buildOrg", "layoutOrg", "chainOf", "orgToText", "groupHues"],
8
+ "files": ["index.js", "org-chart.jsx", "person.jsx", "org.js"],
9
+ "requires": ["flow-canvas"]
10
+ }
@@ -0,0 +1,94 @@
1
+ "use client";
2
+
3
+ // OrgChart — the gallery's and the smoke test's surface. Not installed
4
+ // into apps.
5
+ // Company a 38-person company: five departments, teams folded past
6
+ // the third level, search, details. Moving people on or off,
7
+ // and a failing save, behind switches.
8
+ // Empty no people yet.
9
+ import { useState } from "react";
10
+ import { Switch, TabPanel, Tabs } from "../components/ui";
11
+ import { OrgChart } from "../components/blocks/org-chart";
12
+
13
+ const TEAM = [
14
+ { id: "p1", name: "Amara Okafor", title: "Chief Executive Officer", department: "Leadership", location: "London", email: "amara@northwind.test" },
15
+ { id: "p2", name: "Daniel Reyes", title: "VP Engineering", department: "Engineering", managerId: "p1", location: "Lisbon" },
16
+ { id: "p3", name: "Priya Raman", title: "Head of Product", department: "Product", managerId: "p1", location: "London" },
17
+ { id: "p4", name: "Tomás Novak", title: "VP Sales", department: "Sales", managerId: "p1", location: "Berlin" },
18
+ { id: "p5", name: "Grace Liu", title: "Head of Operations", department: "Operations", managerId: "p1", location: "London" },
19
+
20
+ { id: "p6", name: "Sofia Marchetti", title: "Engineering Manager, Platform", department: "Engineering", managerId: "p2" },
21
+ { id: "p7", name: "Kwame Mensah", title: "Engineering Manager, Apps", department: "Engineering", managerId: "p2" },
22
+ { id: "p8", name: "Hannah Weber", title: "Staff Engineer", department: "Engineering", managerId: "p2" },
23
+ { id: "p9", name: "Leo Tanaka", title: "Senior Engineer", department: "Engineering", managerId: "p6" },
24
+ { id: "p10", name: "Isla Murphy", title: "Engineer", department: "Engineering", managerId: "p6" },
25
+ { id: "p11", name: "Ravi Iyer", title: "Site Reliability Engineer", department: "Engineering", managerId: "p6" },
26
+ { id: "p12", name: "Chloé Martin", title: "Senior Engineer", department: "Engineering", managerId: "p7" },
27
+ { id: "p13", name: "Mateo Silva", title: "Engineer", department: "Engineering", managerId: "p7" },
28
+ { id: "p14", name: "Yuki Sato", title: "Mobile Engineer", department: "Engineering", managerId: "p7" },
29
+ { id: "p15", name: "Noah Fischer", title: "Engineer", department: "Engineering", managerId: "p7" },
30
+
31
+ { id: "p16", name: "Elena Popescu", title: "Senior Product Designer", department: "Product", managerId: "p3" },
32
+ { id: "p17", name: "Omar Haddad", title: "Product Manager", department: "Product", managerId: "p3" },
33
+ { id: "p18", name: "Freya Lindqvist", title: "Product Designer", department: "Product", managerId: "p3" },
34
+ { id: "p19", name: "Samuel Adeyemi", title: "User Researcher", department: "Product", managerId: "p3" },
35
+
36
+ { id: "p20", name: "Lucía Fernández", title: "Sales Manager, EMEA", department: "Sales", managerId: "p4" },
37
+ { id: "p21", name: "Ethan Brooks", title: "Sales Manager, North America", department: "Sales", managerId: "p4" },
38
+ { id: "p22", name: "Mia Kowalski", title: "Sales Engineer", department: "Sales", managerId: "p4" },
39
+ { id: "p23", name: "Jonas Berg", title: "Account Executive", department: "Sales", managerId: "p20" },
40
+ { id: "p24", name: "Aisha Khan", title: "Account Executive", department: "Sales", managerId: "p20" },
41
+ { id: "p25", name: "Pierre Dubois", title: "Sales Development Rep", department: "Sales", managerId: "p20" },
42
+ { id: "p26", name: "Olivia Grant", title: "Account Executive", department: "Sales", managerId: "p21" },
43
+ { id: "p27", name: "Marcus Hill", title: "Account Executive", department: "Sales", managerId: "p21" },
44
+ { id: "p28", name: "Zoe Campbell", title: "Sales Development Rep", department: "Sales", managerId: "p21" },
45
+ { id: "p29", name: "Diego Alvarez", title: "Sales Development Rep", department: "Sales", managerId: "p21" },
46
+
47
+ { id: "p30", name: "Nadia Petrova", title: "Finance Lead", department: "Operations", managerId: "p5" },
48
+ { id: "p31", name: "Ben Carter", title: "People Partner", department: "Operations", managerId: "p5" },
49
+ { id: "p32", name: "Hiroshi Mori", title: "Customer Support Lead", department: "Operations", managerId: "p5" },
50
+ { id: "p33", name: "Fatima Zahra", title: "Support Specialist", department: "Operations", managerId: "p32" },
51
+ { id: "p34", name: "Liam O'Connor", title: "Support Specialist", department: "Operations", managerId: "p32" },
52
+ { id: "p35", name: "Ana Costa", title: "Support Specialist", department: "Operations", managerId: "p32" },
53
+ { id: "p36", name: "Theo Laurent", title: "Accountant", department: "Operations", managerId: "p30" },
54
+ { id: "p37", name: "Maya Cohen", title: "Recruiter", department: "Operations", managerId: "p31" },
55
+ { id: "p38", name: "Sven Olsen", title: "Office Manager", department: "Operations", managerId: "p5" },
56
+ ];
57
+
58
+ export default function OrgChartDemo() {
59
+ const [people, setPeople] = useState(TEAM);
60
+ const [movable, setMovable] = useState(true);
61
+ const [failing, setFailing] = useState(false);
62
+ const [tab, setTab] = useState("company");
63
+
64
+ const move = async (person, managerId) => {
65
+ await new Promise((r) => setTimeout(r, 450));
66
+ if (failing) return { ok: false, error: "The HR system didn't answer." };
67
+ setPeople((list) => list.map((p) => (p.id === person.id ? { ...p, managerId } : p)));
68
+ return { ok: true };
69
+ };
70
+
71
+ return (
72
+ <div className="grid gap-4">
73
+ <Tabs
74
+ aria-label="Examples"
75
+ value={tab}
76
+ onChange={setTab}
77
+ tabs={[
78
+ { key: "company", label: "Company" },
79
+ { key: "empty", label: "Empty" },
80
+ ]}
81
+ />
82
+ <TabPanel tab="company" value={tab} className="grid gap-4">
83
+ <div className="flex flex-wrap items-center gap-x-6 gap-y-2">
84
+ <Switch label="Drag to change a manager" checked={movable} onChange={(e) => setMovable(e.target.checked)} />
85
+ <Switch label="Moves fail" checked={failing} onChange={(e) => setFailing(e.target.checked)} />
86
+ </div>
87
+ <OrgChart people={people} onChangeManager={movable ? move : undefined} label="Northwind org chart" height={640} />
88
+ </TabPanel>
89
+ <TabPanel tab="empty" value={tab}>
90
+ <OrgChart people={[]} label="Empty org chart" height={320} />
91
+ </TabPanel>
92
+ </div>
93
+ );
94
+ }
@@ -0,0 +1,7 @@
1
+ // The OrgChart block — `makersclaw add org-chart`. Fixed: compose it
2
+ // through its props (README.md beside this file). Built on flow-canvas
3
+ // (it draws, pans and zooms; this block builds the tree, lays it out and
4
+ // owns the keys). The helpers in org.js are plain functions and run
5
+ // anywhere, the server included.
6
+ export { OrgChart } from "./org-chart";
7
+ export { buildOrg, layoutOrg, chainOf, orgToText, groupHues } from "./org";