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,131 @@
1
+ "use client";
2
+
3
+ // AuthForm, every variant — the gallery's and the smoke test's surface.
4
+ // Not installed into apps: `makersclaw add auth-form` lays index.js and
5
+ // auth-form.jsx only. Nothing signs anyone in: the callbacks wait a
6
+ // moment and answer. Turn on "Fail the next submit" to see the error, or
7
+ // type an email with "taken" in it.
8
+ import { useState } from "react";
9
+ import { Field, Icon, Select, Switch } from "../components/ui";
10
+ import { AuthForm } from "../components/blocks/auth-form";
11
+
12
+ const wait = (ms) => new Promise((r) => setTimeout(r, ms));
13
+
14
+ const Logo = () => (
15
+ <span className="grid size-10 place-items-center rounded-md bg-primary text-primary-foreground">
16
+ <Icon name="layers" size={20} />
17
+ </span>
18
+ );
19
+
20
+ const ROLES = [
21
+ { value: "founder", label: "Founder" },
22
+ { value: "ops", label: "Operations" },
23
+ { value: "sales", label: "Sales" },
24
+ { value: "engineering", label: "Engineering" },
25
+ ];
26
+
27
+ const TIPS = [
28
+ "Use a password manager, and a different password for every account.",
29
+ "Never share it, not even with someone from our team.",
30
+ "Turn on two-step sign-in in Security.",
31
+ ];
32
+
33
+ // Each source file is one variant: its props, and the label in the switcher.
34
+ const VARIANTS = [
35
+ { key: "basic", label: "Sign in — email and password", props: { mode: "sign-in" } },
36
+ { key: "google", label: "Sign in — then Google", props: { mode: "sign-in", providers: ["google"] } },
37
+ { key: "email-only", label: "Sign in — email only, Google", props: { mode: "sign-in", password: false, providers: ["google"], title: "Log in or create an account", description: null } },
38
+ { key: "providers-first", label: "Sign in — providers first", props: { mode: "sign-in", providers: ["github", "google"], providersFirst: true, title: "Sign in to Ledgerly" } },
39
+ { key: "magic", label: "Magic link, SSO and terms", props: { mode: "magic-link", providers: ["sso"], title: "Welcome back" } },
40
+ { key: "page", label: "Full page — remember for 30 days", props: { mode: "sign-in", layout: "page", providers: ["google", "apple", "microsoft"], providersFirst: true, remember: "Remember me for 30 days", title: "Welcome back", description: "Sign in to your dashboard, reports and settings." } },
41
+ { key: "card", label: "Card — reset link and remember me", props: { mode: "sign-in", remember: true, title: "Sign in to Ledgerly" } },
42
+ { key: "sign-up", label: "Sign up — confirm, news, terms", props: { mode: "sign-up", newsletter: true, acceptTerms: true, title: "Create a Ledgerly account" } },
43
+ {
44
+ key: "sign-up-fields",
45
+ label: "Sign up — more fields and rules",
46
+ props: {
47
+ mode: "sign-up",
48
+ providers: ["github"],
49
+ rules: [
50
+ { label: "At least 10 characters", test: (v) => v.length >= 10 },
51
+ { label: "A number", test: (v) => /\d/.test(v) },
52
+ ],
53
+ fields: [
54
+ { name: "firstName", label: "First name", autoComplete: "given-name", required: true, half: true },
55
+ { name: "lastName", label: "Last name", autoComplete: "family-name", required: true, half: true },
56
+ { name: "username", label: "Username", autoComplete: "username", hint: "Shown on your comments. You can change it later." },
57
+ { name: "role", label: "Your role", type: "select", options: ROLES },
58
+ ],
59
+ },
60
+ },
61
+ { key: "reset", label: "Reset — email a link", props: { mode: "reset" } },
62
+ { key: "change", label: "Change password — rules beside", props: { mode: "change-password", tips: TIPS } },
63
+ ];
64
+
65
+ export default function AuthFormDemo() {
66
+ const [key, setKey] = useState("basic");
67
+ const [fail, setFail] = useState(false);
68
+ const [log, setLog] = useState(null);
69
+ const variant = VARIANTS.find((v) => v.key === key) ?? VARIANTS[0];
70
+
71
+ // The links switch variants in place, as an app's routes would.
72
+ const go = (to) => () => setKey(to);
73
+ const links = {
74
+ "sign-up": go("sign-up"),
75
+ "sign-in": go("basic"),
76
+ reset: go("reset"),
77
+ "magic-link": go("magic"),
78
+ terms: "#terms",
79
+ privacy: "#privacy",
80
+ };
81
+
82
+ async function onSubmit(values, mode) {
83
+ await wait(700);
84
+ const shown = { ...values };
85
+ for (const k of ["password", "currentPassword", "newPassword"]) if (k in shown) shown[k] = "••••••";
86
+ if (fail) {
87
+ setFail(false);
88
+ return { ok: false, error: mode === "change-password" ? "Your current password is not right." : "We could not reach the server. Check your connection and try again." };
89
+ }
90
+ if (values.email?.includes("taken")) return { ok: false, error: `An account already uses ${values.email}. Sign in instead.` };
91
+ setLog(`${mode}: ${JSON.stringify(shown)}`);
92
+ return { ok: true };
93
+ }
94
+
95
+ async function onProvider(id) {
96
+ await wait(600);
97
+ if (fail) {
98
+ setFail(false);
99
+ return { ok: false, error: `The ${id} window closed before you finished. Try again.` };
100
+ }
101
+ setLog(`provider: ${id}`);
102
+ return { ok: true };
103
+ }
104
+
105
+ return (
106
+ <div className="grid gap-6">
107
+ <div className="flex flex-wrap items-end gap-x-6 gap-y-2">
108
+ <Field id="auth-variant" label="Variant" className="w-full sm:w-80">
109
+ <Select id="auth-variant" value={key} onChange={(e) => setKey(e.target.value)} options={VARIANTS.map((v) => ({ value: v.key, label: v.label }))} />
110
+ </Field>
111
+ <Switch id="auth-fail" label="Fail the next submit" checked={fail} onChange={(e) => setFail(e.target.checked)} />
112
+ </div>
113
+
114
+ <div className="grid justify-items-center rounded-lg bg-muted px-4 py-8">
115
+ <AuthForm
116
+ key={key}
117
+ {...variant.props}
118
+ logo={key === "change" ? undefined : <Logo />}
119
+ links={links}
120
+ onSubmit={onSubmit}
121
+ onProvider={onProvider}
122
+ onCancel={key === "change" ? () => setLog("change-password: cancelled") : undefined}
123
+ />
124
+ </div>
125
+
126
+ <p className="min-h-5 break-all text-xs text-muted-foreground" aria-live="polite">
127
+ {log ? `Sent — ${log}` : "Submit a form to see what the callback receives."}
128
+ </p>
129
+ </div>
130
+ );
131
+ }
@@ -0,0 +1,3 @@
1
+ // The AuthForm block — `makersclaw add auth-form`. Fixed: compose it
2
+ // through its props (README.md beside this file).
3
+ export { AuthForm, PASSWORD_RULES } from "./auth-form";
@@ -7,7 +7,8 @@ saved. The move shows at once; when the write fails the card goes back and
7
7
  the board says why.
8
8
 
9
9
  ```jsx
10
- import { Board } from "../components/blocks/board"; // "./blocks/board" from components/
10
+ import { Board } from "../components/blocks/board"; // a Makersclaw app ("./blocks/board" from components/)
11
+ import { Board } from "@/components/makersclaw/blocks/board"; // a shadcn project
11
12
  ```
12
13
 
13
14
  It is a client component: render it from a `"use client"` component, and
@@ -26,21 +27,25 @@ record goes missing; it can be dragged out of it, not into it.
26
27
  example cards move on screen without saving (they are not rows).
27
28
  - `groupBy` — the column that holds the stage, e.g. `"stage"`.
28
29
  - `columns` — the stages in order: `["lead", "call", "won"]` (labels are
29
- made from the keys) or `[{ key: "lead", label: "New lead" }, …]`.
30
- - `source` — the table, e.g. `"public.deals"`: a move then saves itself
31
- through `moveRow` (lib/actions.js — the activity row included).
32
- - `onMove(row, to, from)` — instead of `source`, when a move is more than
33
- one column: return `{ ok: true }` or `{ ok: false, error }`. Without
34
- `source` or `onMove` the board only shows; nothing can be moved.
30
+ made from the keys) or `[{ key: "lead", label: "New lead", icon? }, …]`.
31
+ `icon` is a kit `Icon` name, drawn before the stage's label.
32
+ - `onMove(row, to, from)` — save the move; return `{ ok: true }` or
33
+ `{ ok: false, error }` (a throw counts as failed). In a Makersclaw app it
34
+ is one line over `moveRow` (lib/actions.js — the activity row included):
35
+ `onMove={(d, to) => moveRow({ source: "public.deals", id: d.id, stateColumn: "stage", to })}`.
36
+ Without `onMove` the board only shows; nothing can be moved.
35
37
  - `idColumn` — default `"id"`.
36
38
  - `titleOf(row)` — the card's title, default `row.title ?? row.name`. It
37
39
  also names the card in its menu, in announcements and in errors.
38
40
  - `onOpen(row)` — the title becomes a button: open your `Sheet` to edit
39
41
  the record. The block draws that button; you never style one.
40
- - `renderDetails(row, { column })` — what the card says under its title:
41
- the part of the board that is yours. Kit parts and tokens only.
42
+ - `renderDetails(row, { column, layout })` — what the card says under its
43
+ title: the part of the board that is yours. Kit parts and tokens only.
44
+ In `layout="stacked"` it sits at the row's end instead, so keep it short
45
+ there (a badge, an avatar); `layout` tells you which.
42
46
  - `metaOf(row)` — a plain muted line under the title, when that is all
43
- the card needs (ignored when `renderDetails` is set).
47
+ the card needs (ignored on cards when `renderDetails` is set; a stacked
48
+ row shows both).
44
49
  - `actionsOf(row)` — more menu items for a card, kit `Menu` shape:
45
50
  `[{ label, onSelect, icon?, tone?: "danger" }]`. The "Move to" items
46
51
  follow them.
@@ -51,6 +56,21 @@ record goes missing; it can be dragged out of it, not into it.
51
56
  - `addLabel` · `createPlaceholder` · `emptyLabel` · `otherLabel` — words.
52
57
  - `limits` — a work-in-progress limit per stage: `{ doing: 3 }` shows
53
58
  `4/3` in the header, in the warning tone, when it is exceeded.
59
+ - `aggregate(rows, column)` — a figure beside each stage's count, from the
60
+ records in it: ``(list) => `${list.reduce((s, r) => s + r.points, 0)}pt` ``
61
+ → "13pt". A string or a node; `column` is null for "No stage".
62
+ - `accentOf(row)` — the record's category as a colour on one edge of its
63
+ card: `1` … `5` (the chart tokens, `chart-1` … `chart-5`), or `null` for
64
+ none. A category, never a status: show what it means in words too (a
65
+ legend, or the type on the card).
66
+ - `accentEdge` — `"top"` (default) or `"start"` (the left edge, in a
67
+ right-to-left page the right). Stacked rows always use the start edge.
68
+ - `layout` — `"columns"` (default: side by side, dragged) or `"stacked"`:
69
+ the stages one under another as folding sections (icon, label, count,
70
+ chevron), each record a compact row. Rows move through their menu
71
+ ("Move to …"); nothing drags, so on a phone the page just scrolls.
72
+ - `defaultOpen` — stacked: the stage keys open at first, e.g.
73
+ `["todo"]`. Default: every stage open.
54
74
  - `label` — what the board is called to a screen reader.
55
75
  - `className` — layout around it (width, margin). Never colour.
56
76
 
@@ -71,7 +91,7 @@ export default async function PipelineSurface() {
71
91
  // components/Pipeline.jsx — client: the board, the card, the edit sheet
72
92
  "use client";
73
93
  import { useState } from "react";
74
- import { insertRow } from "../lib/actions";
94
+ import { insertRow, moveRow } from "../lib/actions";
75
95
  import { Badge, Notice } from "./ui";
76
96
  import { FixtureNotice, useFixture } from "./parts";
77
97
  import { Board } from "./blocks/board";
@@ -98,7 +118,7 @@ export default function Pipeline({ deals, error }) {
98
118
  rows={fixture.rows}
99
119
  groupBy="stage"
100
120
  columns={STAGES}
101
- source="public.deals"
121
+ onMove={(d, to) => moveRow({ source: "public.deals", id: d.id, stateColumn: "stage", to })}
102
122
  titleOf={(d) => d.name}
103
123
  limits={{ proposal: 5 }}
104
124
  onCreate={(name, stage) => insertRow({ source: "public.deals", values: { name, stage }, detail: name })}
@@ -117,13 +137,44 @@ export default function Pipeline({ deals, error }) {
117
137
  }
118
138
  ```
119
139
 
140
+ A sprint (icons, points per stage, a top edge by type) and a stacked list:
141
+
142
+ ```jsx
143
+ const TYPE_HUE = { feature: 1, bug: 4, task: 2 };
144
+
145
+ <Board
146
+ rows={stories}
147
+ groupBy="status"
148
+ columns={[{ key: "todo", label: "To do", icon: "inbox" }, { key: "doing", label: "In progress", icon: "zap" }, { key: "done", label: "Done", icon: "circle-check" }]}
149
+ onMove={(s, to) => moveRow({ source: "public.stories", id: s.id, stateColumn: "status", to })}
150
+ aggregate={(list) => `${list.reduce((n, s) => n + (s.points ?? 0), 0)}pt`}
151
+ accentOf={(s) => TYPE_HUE[s.type] ?? null}
152
+ renderDetails={(s) => <Badge>{s.points}pt</Badge>}
153
+ label="Stories by status"
154
+ />
155
+
156
+ <Board
157
+ layout="stacked"
158
+ rows={chores}
159
+ groupBy="state"
160
+ columns={[{ key: "todo", label: "To do", icon: "inbox" }, { key: "done", label: "Done", icon: "circle-check" }]}
161
+ defaultOpen={["todo"]}
162
+ onMove={(c, to) => moveRow({ source: "public.chores", id: c.id, stateColumn: "state", to })}
163
+ metaOf={(c) => c.room}
164
+ renderDetails={(c) => <Badge tone={c.every === "daily" ? "warning" : "info"}>{c.every}</Badge>}
165
+ label="Chores by state"
166
+ />
167
+ ```
168
+
120
169
  ## What it will not do
121
170
 
122
171
  - Order cards inside a column: they keep the order of `rows` — sort in
123
172
  the surface's `loadRows`.
124
173
  - Create a stage: `columns` is the surface's; a new stage is a new entry.
125
174
  - Colour a column: stages are not status. Put a `Badge` on the card when a
126
- stage means something the founder must see.
175
+ stage means something the founder must see. (`accentOf` colours a card
176
+ by its category, not its stage.)
177
+ - Drag in `layout="stacked"`: rows move from their menu.
127
178
 
128
179
  A board it cannot be is your own component in `components/`, built from
129
180
  the kit — not an edit to this block. Its files are fixed: `npm run check`
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "board",
3
3
  "title": "Board",
4
- "description": "Records as cards in columns, one per stage; drag a card to another column (mouse, touch, or the card's menu from the keyboard) and the stage is saved.",
4
+ "description": "Records as cards in columns, one per stage; drag a card to another column (mouse, touch, or the card's menu from the keyboard) and the stage is saved. Optional column icons, a per-column total (\"13pt\"), a category colour on each card's edge, and a stacked layout of folding sections with compact rows.",
5
5
  "useWhen": "A process where each record sits in one stage and moves forward: a pipeline, a hiring funnel, a sprint, a content calendar by status, outreach by reply state. Not for records with no stages (a table) or items placed on a timeline.",
6
- "tags": ["board", "kanban", "pipeline", "stages", "columns", "cards", "drag", "drop", "status", "workflow", "funnel"],
6
+ "tags": ["board", "kanban", "pipeline", "stages", "columns", "cards", "drag", "drop", "status", "workflow", "funnel", "sprint", "accent", "stacked", "collapsible"],
7
7
  "exports": ["Board"],
8
8
  "files": ["index.js", "board.jsx"],
9
9
  "requires": []