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.
- package/LICENSE +21 -0
- package/README.md +41 -1
- package/THIRD-PARTY-NOTICES.md +180 -0
- package/package.json +15 -8
- package/r/annotate.json +62 -0
- package/r/approval-request.json +52 -0
- package/r/audio-player.json +74 -0
- package/r/auth-form.json +55 -0
- package/r/board.json +55 -0
- package/r/calendar-view.json +105 -0
- package/r/cart.json +62 -0
- package/r/chart.json +83 -0
- package/r/chat.json +95 -0
- package/r/code-editor.json +94 -0
- package/r/comment-box.json +64 -0
- package/r/contact-section.json +53 -0
- package/r/core.json +341 -0
- package/r/csv-import.json +63 -0
- package/r/data-table.json +69 -0
- package/r/diagram.json +74 -0
- package/r/doc-editor.json +82 -0
- package/r/doc-page.json +61 -0
- package/r/email-render.json +73 -0
- package/r/faq.json +50 -0
- package/r/file-upload.json +54 -0
- package/r/flow-canvas.json +93 -0
- package/r/footer.json +52 -0
- package/r/gantt.json +70 -0
- package/r/job-panel.json +56 -0
- package/r/json-editor.json +66 -0
- package/r/map.json +89 -0
- package/r/menubar.json +52 -0
- package/r/mind-map.json +67 -0
- package/r/navigation-menu.json +52 -0
- package/r/order-detail.json +54 -0
- package/r/org-chart.json +66 -0
- package/r/page-builder.json +105 -0
- package/r/payment-methods.json +51 -0
- package/r/pdf-document.json +79 -0
- package/r/pdf-viewer.json +88 -0
- package/r/product-detail.json +76 -0
- package/r/product-grid.json +65 -0
- package/r/record-form.json +67 -0
- package/r/record-notes.json +55 -0
- package/r/registry.json +3612 -0
- package/r/search-dialog.json +51 -0
- package/r/settings-list.json +66 -0
- package/r/setup-checklist.json +51 -0
- package/r/share-dialog.json +52 -0
- package/r/sidebar.json +69 -0
- package/r/signature-pad.json +72 -0
- package/r/sketch-canvas.json +99 -0
- package/r/spreadsheet.json +90 -0
- package/r/stat-cards.json +66 -0
- package/r/task-list.json +63 -0
- package/r/task-model.json +98 -0
- package/r/testimonials.json +52 -0
- package/r/transaction-list.json +53 -0
- package/r/whiteboard.json +66 -0
- package/registry/blocks/annotate/README.md +179 -0
- package/registry/blocks/annotate/annotate-data.js +250 -0
- package/registry/blocks/annotate/annotate.jsx +646 -0
- package/registry/blocks/annotate/block.json +10 -0
- package/registry/blocks/annotate/demo.jsx +135 -0
- package/registry/blocks/annotate/index.js +15 -0
- package/registry/blocks/approval-request/README.md +116 -0
- package/registry/blocks/approval-request/approval-request.jsx +386 -0
- package/registry/blocks/approval-request/block.json +10 -0
- package/registry/blocks/approval-request/demo.jsx +127 -0
- package/registry/blocks/approval-request/index.js +4 -0
- package/registry/blocks/audio-player/README.md +167 -0
- package/registry/blocks/audio-player/audio-player.jsx +623 -0
- package/registry/blocks/audio-player/block.json +14 -0
- package/registry/blocks/audio-player/colors.js +109 -0
- package/registry/blocks/audio-player/demo.jsx +209 -0
- package/registry/blocks/audio-player/index.js +6 -0
- package/registry/blocks/audio-player/time.js +67 -0
- package/registry/blocks/audio-player/wavesurfer.js +9 -0
- package/registry/blocks/auth-form/README.md +126 -0
- package/registry/blocks/auth-form/auth-form.jsx +568 -0
- package/registry/blocks/auth-form/block.json +10 -0
- package/registry/blocks/auth-form/demo.jsx +131 -0
- package/registry/blocks/auth-form/index.js +3 -0
- package/registry/blocks/board/README.md +64 -13
- package/registry/blocks/board/block.json +2 -2
- package/registry/blocks/board/board.jsx +237 -94
- package/registry/blocks/board/demo.jsx +103 -24
- package/registry/blocks/calendar-view/README.md +180 -0
- package/registry/blocks/calendar-view/agenda.jsx +147 -0
- package/registry/blocks/calendar-view/block.json +76 -0
- package/registry/blocks/calendar-view/calendar-model.js +442 -0
- package/registry/blocks/calendar-view/calendar.jsx +627 -0
- package/registry/blocks/calendar-view/demo.jsx +195 -0
- package/registry/blocks/calendar-view/draft.jsx +49 -0
- package/registry/blocks/calendar-view/index.js +39 -0
- package/registry/blocks/calendar-view/month.jsx +346 -0
- package/registry/blocks/calendar-view/paint.js +69 -0
- package/registry/blocks/calendar-view/time-grid.jsx +527 -0
- package/registry/blocks/calendar-view/tray.jsx +87 -0
- package/registry/blocks/cart/README.md +146 -0
- package/registry/blocks/cart/block.json +10 -0
- package/registry/blocks/cart/cart.jsx +597 -0
- package/registry/blocks/cart/demo.jsx +98 -0
- package/registry/blocks/cart/index.js +4 -0
- package/registry/blocks/cart/money.js +28 -0
- package/registry/blocks/chart/README.md +316 -0
- package/registry/blocks/chart/block.json +10 -0
- package/registry/blocks/chart/cartesian.jsx +642 -0
- package/registry/blocks/chart/core.jsx +262 -0
- package/registry/blocks/chart/demo.jsx +357 -0
- package/registry/blocks/chart/heatmap.jsx +336 -0
- package/registry/blocks/chart/index.js +8 -0
- package/registry/blocks/chart/pie.jsx +245 -0
- package/registry/blocks/chart/sparkline.jsx +88 -0
- package/registry/blocks/chat/README.md +273 -0
- package/registry/blocks/chat/attachment.jsx +95 -0
- package/registry/blocks/chat/block.json +10 -0
- package/registry/blocks/chat/chat.jsx +132 -0
- package/registry/blocks/chat/composer.jsx +364 -0
- package/registry/blocks/chat/demo.jsx +578 -0
- package/registry/blocks/chat/header.jsx +34 -0
- package/registry/blocks/chat/index.js +9 -0
- package/registry/blocks/chat/message.jsx +450 -0
- package/registry/blocks/chat/scroller.jsx +247 -0
- package/registry/blocks/chat/text.jsx +104 -0
- package/registry/blocks/code-editor/README.md +210 -0
- package/registry/blocks/code-editor/block.json +22 -0
- package/registry/blocks/code-editor/code-editor.jsx +534 -0
- package/registry/blocks/code-editor/codemirror.js +38 -0
- package/registry/blocks/code-editor/demo.jsx +205 -0
- package/registry/blocks/code-editor/index.js +8 -0
- package/registry/blocks/code-editor/json.js +317 -0
- package/registry/blocks/code-editor/sql.js +136 -0
- package/registry/blocks/code-editor/text.js +101 -0
- package/registry/blocks/code-editor/theme.js +186 -0
- package/registry/blocks/comment-box/README.md +123 -0
- package/registry/blocks/comment-box/block.json +10 -0
- package/registry/blocks/comment-box/comment-body.jsx +217 -0
- package/registry/blocks/comment-box/comment-box.jsx +198 -0
- package/registry/blocks/comment-box/comment-time.jsx +77 -0
- package/registry/blocks/comment-box/demo.jsx +141 -0
- package/registry/blocks/comment-box/index.js +8 -0
- package/registry/blocks/contact-section/README.md +152 -0
- package/registry/blocks/contact-section/block.json +11 -0
- package/registry/blocks/contact-section/contact-section.jsx +509 -0
- package/registry/blocks/contact-section/demo.jsx +93 -0
- package/registry/blocks/contact-section/index.js +4 -0
- package/registry/blocks/csv-import/README.md +133 -0
- package/registry/blocks/csv-import/block.json +13 -0
- package/registry/blocks/csv-import/csv-import.jsx +479 -0
- package/registry/blocks/csv-import/demo.jsx +106 -0
- package/registry/blocks/csv-import/import.js +200 -0
- package/registry/blocks/csv-import/index.js +7 -0
- package/registry/blocks/data-table/README.md +386 -0
- package/registry/blocks/data-table/block.json +10 -0
- package/registry/blocks/data-table/data-table.jsx +1164 -0
- package/registry/blocks/data-table/demo.jsx +588 -0
- package/registry/blocks/data-table/index.js +5 -0
- package/registry/blocks/data-table/model.js +169 -0
- package/registry/blocks/diagram/README.md +108 -0
- package/registry/blocks/diagram/block.json +13 -0
- package/registry/blocks/diagram/demo.jsx +113 -0
- package/registry/blocks/diagram/diagram.jsx +481 -0
- package/registry/blocks/diagram/index.js +7 -0
- package/registry/blocks/diagram/mermaid.js +52 -0
- package/registry/blocks/diagram/palette.js +313 -0
- package/registry/blocks/diagram/source.js +98 -0
- package/registry/blocks/doc-editor/README.md +215 -0
- package/registry/blocks/doc-editor/block.json +15 -0
- package/registry/blocks/doc-editor/demo.jsx +225 -0
- package/registry/blocks/doc-editor/doc-editor.jsx +291 -0
- package/registry/blocks/doc-editor/doc.js +309 -0
- package/registry/blocks/doc-editor/index.js +7 -0
- package/registry/blocks/doc-editor/schema.jsx +56 -0
- package/registry/blocks/doc-editor/shadcn-classes.js +110 -0
- package/registry/blocks/doc-editor/theme.js +82 -0
- package/registry/blocks/doc-page/README.md +119 -0
- package/registry/blocks/doc-page/autosave.js +104 -0
- package/registry/blocks/doc-page/block.json +10 -0
- package/registry/blocks/doc-page/demo.jsx +137 -0
- package/registry/blocks/doc-page/doc-page.jsx +276 -0
- package/registry/blocks/doc-page/index.js +4 -0
- package/registry/blocks/email-render/README.md +151 -0
- package/registry/blocks/email-render/block.json +14 -0
- package/registry/blocks/email-render/demo.jsx +153 -0
- package/registry/blocks/email-render/doc-email.jsx +210 -0
- package/registry/blocks/email-render/email.jsx +221 -0
- package/registry/blocks/email-render/index.js +10 -0
- package/registry/blocks/email-render/render.js +50 -0
- package/registry/blocks/email-render/theme.js +215 -0
- package/registry/blocks/faq/README.md +101 -0
- package/registry/blocks/faq/block.json +11 -0
- package/registry/blocks/faq/demo.jsx +89 -0
- package/registry/blocks/faq/faq.jsx +220 -0
- package/registry/blocks/faq/index.js +4 -0
- package/registry/blocks/file-upload/README.md +138 -0
- package/registry/blocks/file-upload/block.json +10 -0
- package/registry/blocks/file-upload/demo.jsx +204 -0
- package/registry/blocks/file-upload/file-upload.jsx +635 -0
- package/registry/blocks/file-upload/index.js +4 -0
- package/registry/blocks/flow-canvas/README.md +420 -0
- package/registry/blocks/flow-canvas/block.json +13 -0
- package/registry/blocks/flow-canvas/board.js +819 -0
- package/registry/blocks/flow-canvas/chrome.jsx +649 -0
- package/registry/blocks/flow-canvas/context.jsx +35 -0
- package/registry/blocks/flow-canvas/demo.jsx +249 -0
- package/registry/blocks/flow-canvas/edges.jsx +107 -0
- package/registry/blocks/flow-canvas/flow-canvas.jsx +1329 -0
- package/registry/blocks/flow-canvas/index.js +41 -0
- package/registry/blocks/flow-canvas/nodes.jsx +392 -0
- package/registry/blocks/flow-canvas/theme.js +174 -0
- package/registry/blocks/footer/README.md +133 -0
- package/registry/blocks/footer/block.json +11 -0
- package/registry/blocks/footer/demo.jsx +119 -0
- package/registry/blocks/footer/footer.jsx +406 -0
- package/registry/blocks/footer/index.js +4 -0
- package/registry/blocks/gantt/README.md +220 -0
- package/registry/blocks/gantt/block.json +10 -0
- package/registry/blocks/gantt/demo.jsx +148 -0
- package/registry/blocks/gantt/gantt.jsx +923 -0
- package/registry/blocks/gantt/index.js +7 -0
- package/registry/blocks/gantt/rows.jsx +468 -0
- package/registry/blocks/gantt/schedule.js +278 -0
- package/registry/blocks/job-panel/README.md +86 -2
- package/registry/blocks/job-panel/block.json +3 -3
- package/registry/blocks/job-panel/demo.jsx +230 -3
- package/registry/blocks/job-panel/job-panel.jsx +169 -3
- package/registry/blocks/json-editor/README.md +133 -0
- package/registry/blocks/json-editor/block.json +10 -0
- package/registry/blocks/json-editor/demo.jsx +92 -0
- package/registry/blocks/json-editor/index.js +7 -0
- package/registry/blocks/json-editor/json-editor.jsx +305 -0
- package/registry/blocks/json-editor/json-tree.jsx +393 -0
- package/registry/blocks/json-editor/tree.js +225 -0
- package/registry/blocks/map/README.md +221 -0
- package/registry/blocks/map/block.json +14 -0
- package/registry/blocks/map/demo.jsx +201 -0
- package/registry/blocks/map/geo.js +198 -0
- package/registry/blocks/map/index.js +8 -0
- package/registry/blocks/map/list.jsx +128 -0
- package/registry/blocks/map/map-view.jsx +715 -0
- package/registry/blocks/map/maplibre.js +30 -0
- package/registry/blocks/map/marks.jsx +146 -0
- package/registry/blocks/map/theme.js +142 -0
- package/registry/blocks/menubar/README.md +109 -0
- package/registry/blocks/menubar/block.json +10 -0
- package/registry/blocks/menubar/demo.jsx +128 -0
- package/registry/blocks/menubar/index.js +4 -0
- package/registry/blocks/menubar/menubar.jsx +199 -0
- package/registry/blocks/mind-map/README.md +206 -0
- package/registry/blocks/mind-map/block.json +10 -0
- package/registry/blocks/mind-map/demo.jsx +103 -0
- package/registry/blocks/mind-map/index.js +31 -0
- package/registry/blocks/mind-map/mind-map.jsx +1125 -0
- package/registry/blocks/mind-map/topic.jsx +143 -0
- package/registry/blocks/mind-map/tree.js +645 -0
- package/registry/blocks/navigation-menu/README.md +124 -0
- package/registry/blocks/navigation-menu/block.json +10 -0
- package/registry/blocks/navigation-menu/demo.jsx +84 -0
- package/registry/blocks/navigation-menu/index.js +4 -0
- package/registry/blocks/navigation-menu/navigation-menu.jsx +448 -0
- package/registry/blocks/order-detail/README.md +109 -0
- package/registry/blocks/order-detail/block.json +10 -0
- package/registry/blocks/order-detail/demo.jsx +88 -0
- package/registry/blocks/order-detail/index.js +4 -0
- package/registry/blocks/order-detail/order-detail.jsx +354 -0
- package/registry/blocks/org-chart/README.md +145 -0
- package/registry/blocks/org-chart/block.json +10 -0
- package/registry/blocks/org-chart/demo.jsx +94 -0
- package/registry/blocks/org-chart/index.js +7 -0
- package/registry/blocks/org-chart/org-chart.jsx +631 -0
- package/registry/blocks/org-chart/org.js +245 -0
- package/registry/blocks/org-chart/person.jsx +96 -0
- package/registry/blocks/page-builder/README.md +257 -0
- package/registry/blocks/page-builder/block.json +14 -0
- package/registry/blocks/page-builder/demo.jsx +145 -0
- package/registry/blocks/page-builder/grapes.js +18 -0
- package/registry/blocks/page-builder/index.js +11 -0
- package/registry/blocks/page-builder/page-builder.jsx +704 -0
- package/registry/blocks/page-builder/page-view.jsx +33 -0
- package/registry/blocks/page-builder/page.js +118 -0
- package/registry/blocks/page-builder/panels.jsx +588 -0
- package/registry/blocks/page-builder/sections.js +209 -0
- package/registry/blocks/page-builder/theme.js +87 -0
- package/registry/blocks/page-builder/thumbs.jsx +189 -0
- package/registry/blocks/page-builder/tokens.js +329 -0
- package/registry/blocks/payment-methods/README.md +104 -0
- package/registry/blocks/payment-methods/block.json +10 -0
- package/registry/blocks/payment-methods/demo.jsx +71 -0
- package/registry/blocks/payment-methods/index.js +4 -0
- package/registry/blocks/payment-methods/payment-methods.jsx +302 -0
- package/registry/blocks/pdf-document/README.md +213 -0
- package/registry/blocks/pdf-document/block.json +13 -0
- package/registry/blocks/pdf-document/demo.jsx +136 -0
- package/registry/blocks/pdf-document/index.js +33 -0
- package/registry/blocks/pdf-document/money.js +83 -0
- package/registry/blocks/pdf-document/pdf-document.jsx +144 -0
- package/registry/blocks/pdf-document/primitives.jsx +271 -0
- package/registry/blocks/pdf-document/quote.jsx +179 -0
- package/registry/blocks/pdf-document/theme.js +193 -0
- package/registry/blocks/pdf-viewer/README.md +191 -0
- package/registry/blocks/pdf-viewer/block.json +14 -0
- package/registry/blocks/pdf-viewer/demo.jsx +252 -0
- package/registry/blocks/pdf-viewer/helpers.js +270 -0
- package/registry/blocks/pdf-viewer/index.js +8 -0
- package/registry/blocks/pdf-viewer/notes.jsx +195 -0
- package/registry/blocks/pdf-viewer/pdf-viewer.jsx +1368 -0
- package/registry/blocks/pdf-viewer/pdfjs.js +37 -0
- package/registry/blocks/pdf-viewer/ssr-shim-end.js +6 -0
- package/registry/blocks/pdf-viewer/ssr-shim.js +44 -0
- package/registry/blocks/product-detail/README.md +217 -0
- package/registry/blocks/product-detail/block.json +10 -0
- package/registry/blocks/product-detail/demo.jsx +233 -0
- package/registry/blocks/product-detail/index.js +7 -0
- package/registry/blocks/product-detail/price.jsx +115 -0
- package/registry/blocks/product-detail/product-detail.jsx +348 -0
- package/registry/blocks/product-detail/product-media.jsx +102 -0
- package/registry/blocks/product-detail/product-options.jsx +144 -0
- package/registry/blocks/product-grid/README.md +162 -0
- package/registry/blocks/product-grid/block.json +10 -0
- package/registry/blocks/product-grid/demo.jsx +255 -0
- package/registry/blocks/product-grid/index.js +5 -0
- package/registry/blocks/product-grid/product-card.jsx +232 -0
- package/registry/blocks/product-grid/product-grid.jsx +235 -0
- package/registry/blocks/record-form/README.md +196 -0
- package/registry/blocks/record-form/block.json +10 -0
- package/registry/blocks/record-form/demo.jsx +525 -0
- package/registry/blocks/record-form/index.js +4 -0
- package/registry/blocks/record-form/record-fields.jsx +457 -0
- package/registry/blocks/record-form/record-form.jsx +415 -0
- package/registry/blocks/record-form/rules.js +81 -0
- package/registry/blocks/record-notes/README.md +139 -0
- package/registry/blocks/record-notes/block.json +10 -0
- package/registry/blocks/record-notes/demo.jsx +179 -0
- package/registry/blocks/record-notes/index.js +4 -0
- package/registry/blocks/record-notes/record-notes.jsx +266 -0
- package/registry/blocks/search-dialog/README.md +108 -0
- package/registry/blocks/search-dialog/block.json +10 -0
- package/registry/blocks/search-dialog/demo.jsx +116 -0
- package/registry/blocks/search-dialog/index.js +3 -0
- package/registry/blocks/search-dialog/search-dialog.jsx +235 -0
- package/registry/blocks/settings-list/README.md +171 -0
- package/registry/blocks/settings-list/block.json +10 -0
- package/registry/blocks/settings-list/demo.jsx +333 -0
- package/registry/blocks/settings-list/index.js +4 -0
- package/registry/blocks/settings-list/row-state.jsx +93 -0
- package/registry/blocks/settings-list/settings-list.jsx +349 -0
- package/registry/blocks/settings-list/settings-matrix.jsx +118 -0
- package/registry/blocks/setup-checklist/README.md +142 -0
- package/registry/blocks/setup-checklist/block.json +10 -0
- package/registry/blocks/setup-checklist/demo.jsx +159 -0
- package/registry/blocks/setup-checklist/index.js +4 -0
- package/registry/blocks/setup-checklist/setup-checklist.jsx +446 -0
- package/registry/blocks/share-dialog/README.md +113 -0
- package/registry/blocks/share-dialog/block.json +10 -0
- package/registry/blocks/share-dialog/demo.jsx +140 -0
- package/registry/blocks/share-dialog/index.js +3 -0
- package/registry/blocks/share-dialog/share-dialog.jsx +384 -0
- package/registry/blocks/sidebar/README.md +190 -0
- package/registry/blocks/sidebar/block.json +43 -0
- package/registry/blocks/sidebar/demo.jsx +577 -0
- package/registry/blocks/sidebar/index.js +4 -0
- package/registry/blocks/sidebar/sidebar-panel.jsx +149 -0
- package/registry/blocks/sidebar/sidebar.jsx +864 -0
- package/registry/blocks/signature-pad/README.md +137 -0
- package/registry/blocks/signature-pad/block.json +13 -0
- package/registry/blocks/signature-pad/colors.js +115 -0
- package/registry/blocks/signature-pad/demo.jsx +94 -0
- package/registry/blocks/signature-pad/index.js +6 -0
- package/registry/blocks/signature-pad/pad.js +7 -0
- package/registry/blocks/signature-pad/signature-pad.jsx +434 -0
- package/registry/blocks/signature-pad/signature.js +68 -0
- package/registry/blocks/sketch-canvas/README.md +280 -0
- package/registry/blocks/sketch-canvas/block.json +13 -0
- package/registry/blocks/sketch-canvas/demo.jsx +159 -0
- package/registry/blocks/sketch-canvas/excalidraw.js +40 -0
- package/registry/blocks/sketch-canvas/index.js +9 -0
- package/registry/blocks/sketch-canvas/palette.js +226 -0
- package/registry/blocks/sketch-canvas/sketch-canvas.jsx +1188 -0
- package/registry/blocks/sketch-canvas/sketch.js +179 -0
- package/registry/blocks/sketch-canvas/ssr-shim-end.js +6 -0
- package/registry/blocks/sketch-canvas/ssr-shim.js +45 -0
- package/registry/blocks/sketch-canvas/stamps.js +104 -0
- package/registry/blocks/sketch-canvas/theme.js +131 -0
- package/registry/blocks/spreadsheet/README.md +307 -0
- package/registry/blocks/spreadsheet/block.json +13 -0
- package/registry/blocks/spreadsheet/cells.jsx +455 -0
- package/registry/blocks/spreadsheet/chrome.jsx +325 -0
- package/registry/blocks/spreadsheet/demo.jsx +177 -0
- package/registry/blocks/spreadsheet/grid.js +387 -0
- package/registry/blocks/spreadsheet/index.js +34 -0
- package/registry/blocks/spreadsheet/spreadsheet.jsx +1732 -0
- package/registry/blocks/spreadsheet/types.js +473 -0
- package/registry/blocks/stat-cards/README.md +173 -0
- package/registry/blocks/stat-cards/block.json +10 -0
- package/registry/blocks/stat-cards/demo.jsx +257 -0
- package/registry/blocks/stat-cards/index.js +4 -0
- package/registry/blocks/stat-cards/stat-cards.jsx +307 -0
- package/registry/blocks/stat-cards/usage.jsx +243 -0
- package/registry/blocks/task-list/README.md +176 -0
- package/registry/blocks/task-list/block.json +10 -0
- package/registry/blocks/task-list/demo.jsx +134 -0
- package/registry/blocks/task-list/index.js +5 -0
- package/registry/blocks/task-list/task-list.jsx +907 -0
- package/registry/blocks/task-model/README.md +455 -0
- package/registry/blocks/task-model/block.json +167 -0
- package/registry/blocks/task-model/changes.js +89 -0
- package/registry/blocks/task-model/dates.js +371 -0
- package/registry/blocks/task-model/demo.jsx +215 -0
- package/registry/blocks/task-model/dnd.jsx +240 -0
- package/registry/blocks/task-model/index.js +97 -0
- package/registry/blocks/task-model/model.js +919 -0
- package/registry/blocks/task-model/parts.jsx +449 -0
- package/registry/blocks/task-model/toolbar.jsx +271 -0
- package/registry/blocks/testimonials/README.md +139 -0
- package/registry/blocks/testimonials/block.json +11 -0
- package/registry/blocks/testimonials/demo.jsx +137 -0
- package/registry/blocks/testimonials/index.js +4 -0
- package/registry/blocks/testimonials/testimonials.jsx +430 -0
- package/registry/blocks/transaction-list/README.md +126 -0
- package/registry/blocks/transaction-list/block.json +10 -0
- package/registry/blocks/transaction-list/demo.jsx +79 -0
- package/registry/blocks/transaction-list/index.js +4 -0
- package/registry/blocks/transaction-list/transaction-list.jsx +383 -0
- package/registry/blocks/whiteboard/README.md +179 -0
- package/registry/blocks/whiteboard/block.json +10 -0
- package/registry/blocks/whiteboard/demo.jsx +169 -0
- package/registry/blocks/whiteboard/index.js +6 -0
- package/registry/blocks/whiteboard/templates.js +150 -0
- package/registry/blocks/whiteboard/whiteboard.jsx +721 -0
- package/src/install.mjs +18 -0
- package/src/shadcn.mjs +171 -0
- package/templates/next/files/README.md +145 -11
- package/templates/next/files/app/globals.css +55 -4
- package/templates/next/files/check/run.mjs +3 -3
- package/templates/next/files/components/parts/fixture.jsx +1 -1
- package/templates/next/files/components/parts/sample.js +15 -0
- package/templates/next/files/components/ui/avatar.jsx +141 -0
- package/templates/next/files/components/ui/breadcrumb.jsx +149 -0
- package/templates/next/files/components/ui/button-group.jsx +70 -0
- package/templates/next/files/components/ui/button.jsx +132 -12
- package/templates/next/files/components/ui/calendar.jsx +609 -0
- package/templates/next/files/components/ui/carousel.jsx +281 -0
- package/templates/next/files/components/ui/collapsible.jsx +208 -0
- package/templates/next/files/components/ui/combobox.jsx +608 -0
- package/templates/next/files/components/ui/command.jsx +577 -0
- package/templates/next/files/components/ui/context-menu.jsx +191 -0
- package/templates/next/files/components/ui/date-picker.jsx +360 -0
- package/templates/next/files/components/ui/distribution.jsx +117 -0
- package/templates/next/files/components/ui/feedback.jsx +143 -0
- package/templates/next/files/components/ui/field.jsx +115 -3
- package/templates/next/files/components/ui/file-input.jsx +234 -0
- package/templates/next/files/components/ui/icon.jsx +130 -8
- package/templates/next/files/components/ui/image.jsx +143 -0
- package/templates/next/files/components/ui/index.js +47 -2
- package/templates/next/files/components/ui/input-group.jsx +213 -0
- package/templates/next/files/components/ui/input-otp.jsx +170 -0
- package/templates/next/files/components/ui/item.jsx +206 -0
- package/templates/next/files/components/ui/menu.jsx +454 -82
- package/templates/next/files/components/ui/notice.jsx +126 -14
- package/templates/next/files/components/ui/pagination.jsx +156 -0
- package/templates/next/files/components/ui/popover.jsx +284 -0
- package/templates/next/files/components/ui/radio.jsx +193 -0
- package/templates/next/files/components/ui/rating.jsx +131 -0
- package/templates/next/files/components/ui/resizable.jsx +338 -0
- package/templates/next/files/components/ui/scroll-area.jsx +123 -0
- package/templates/next/files/components/ui/separator.jsx +119 -0
- package/templates/next/files/components/ui/sheet.jsx +96 -11
- package/templates/next/files/components/ui/slider.jsx +174 -0
- package/templates/next/files/components/ui/stat.jsx +574 -0
- package/templates/next/files/components/ui/steps.jsx +338 -0
- package/templates/next/files/components/ui/swatch.jsx +33 -0
- package/templates/next/files/components/ui/table.jsx +130 -0
- package/templates/next/files/components/ui/toast.jsx +440 -0
- package/templates/next/files/components/ui/toggle.jsx +195 -0
- package/templates/next/files/components/ui/tooltip.jsx +270 -0
- package/templates/next/files/lib/sample.js +4 -12
- package/templates/next/template.json +264 -8
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// ApprovalRequest with the request in memory — the gallery's and the
|
|
4
|
+
// smoke test's surface. Not installed into apps: `makersclaw add
|
|
5
|
+
// approval-request` lays index.js and approval-request.jsx only.
|
|
6
|
+
import { useState } from "react";
|
|
7
|
+
import { Button, Field, Select, Switch, ToggleGroup } from "../components/ui";
|
|
8
|
+
import { ApprovalRequest } from "../components/blocks/approval-request";
|
|
9
|
+
|
|
10
|
+
const VARIANTS = [
|
|
11
|
+
{ value: "card", label: "Card — the request alone" },
|
|
12
|
+
{ value: "page", label: "Page — details beside the card" },
|
|
13
|
+
{ value: "refund", label: "Card — a refund, no reason needed" },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const PURCHASE = {
|
|
17
|
+
title: "Linear Business",
|
|
18
|
+
kind: "Per seat",
|
|
19
|
+
details: [
|
|
20
|
+
{ label: "Starts", value: "1 October 2026", icon: "calendar" },
|
|
21
|
+
{ label: "Seats", value: "24 people", icon: "users" },
|
|
22
|
+
{ label: "Billed", value: "Yearly, by invoice", icon: "credit-card" },
|
|
23
|
+
{ label: "Yearly cost", value: "$4,608", icon: "dollar", emphasis: true },
|
|
24
|
+
],
|
|
25
|
+
requester: { name: "Priya Raman", role: "Head of Engineering" },
|
|
26
|
+
requestedAt: "2026-09-21",
|
|
27
|
+
justification:
|
|
28
|
+
"The team has outgrown the free plan's issue limit, and Business adds the triage queue we keep building by hand. 24 seats covers engineering and design through Q2.",
|
|
29
|
+
sections: [
|
|
30
|
+
{
|
|
31
|
+
title: "What is bought",
|
|
32
|
+
fields: [
|
|
33
|
+
{ label: "Product", value: "Linear Business" },
|
|
34
|
+
{ label: "Vendor", value: "Linear Orbit, Inc." },
|
|
35
|
+
{ label: "Licence", value: "Per seat, cancel at renewal" },
|
|
36
|
+
{ label: "Term", value: "12 months" },
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
title: "Billing",
|
|
41
|
+
fields: [
|
|
42
|
+
{ label: "Cycle", value: "Yearly" },
|
|
43
|
+
{ label: "Paid by", value: "Invoice, 30 days" },
|
|
44
|
+
{ label: "Cost centre", value: "Engineering" },
|
|
45
|
+
{ label: "Yearly total", value: "$4,608", emphasis: true },
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
const REFUND = {
|
|
52
|
+
title: "Refund for order 20931",
|
|
53
|
+
kind: "Refund",
|
|
54
|
+
details: [
|
|
55
|
+
{ label: "Customer", value: "Harbor & Pine Coffee", icon: "building" },
|
|
56
|
+
{ label: "Reason given", value: "Charged twice for September", icon: "receipt" },
|
|
57
|
+
{ label: "Amount", value: "€149.00", icon: "dollar", emphasis: true },
|
|
58
|
+
],
|
|
59
|
+
requester: { name: "Tomás Ferreira", role: "Support" },
|
|
60
|
+
requestedAt: "2026-09-23",
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export default function ApprovalRequestDemo() {
|
|
64
|
+
const [variant, setVariant] = useState("card");
|
|
65
|
+
const [state, setState] = useState("request");
|
|
66
|
+
const [failNext, setFailNext] = useState(false);
|
|
67
|
+
const [round, setRound] = useState(0);
|
|
68
|
+
|
|
69
|
+
async function decide() {
|
|
70
|
+
await new Promise((r) => setTimeout(r, 800));
|
|
71
|
+
if (failNext) {
|
|
72
|
+
setFailNext(false);
|
|
73
|
+
return { ok: false, error: "The decision was not saved: the server did not answer. Try again." };
|
|
74
|
+
}
|
|
75
|
+
return { ok: true };
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const data = variant === "refund" ? REFUND : PURCHASE;
|
|
79
|
+
const decided = state === "approved" || state === "rejected";
|
|
80
|
+
|
|
81
|
+
return (
|
|
82
|
+
<div className="grid gap-4">
|
|
83
|
+
<div className="flex flex-wrap items-end gap-x-4 gap-y-2">
|
|
84
|
+
<Field id="ar-variant" label="Variant" className="w-full sm:w-72">
|
|
85
|
+
<Select id="ar-variant" value={variant} onChange={(e) => setVariant(e.target.value)} options={VARIANTS} />
|
|
86
|
+
</Field>
|
|
87
|
+
<ToggleGroup
|
|
88
|
+
size="sm"
|
|
89
|
+
aria-label="Demo state"
|
|
90
|
+
value={state}
|
|
91
|
+
onChange={setState}
|
|
92
|
+
items={[
|
|
93
|
+
{ value: "request", label: "Pending" },
|
|
94
|
+
{ value: "rejected", label: "Decided" },
|
|
95
|
+
{ value: "loading", label: "Loading" },
|
|
96
|
+
{ value: "empty", label: "Empty" },
|
|
97
|
+
]}
|
|
98
|
+
/>
|
|
99
|
+
</div>
|
|
100
|
+
<div className="flex flex-wrap items-center gap-x-4">
|
|
101
|
+
<Switch id="ar-fail" checked={failNext} onChange={(e) => setFailNext(e.target.checked)} label="Fail the next decision" />
|
|
102
|
+
<Button variant="quiet" size="sm" icon="refresh" onClick={() => setRound((n) => n + 1)}>
|
|
103
|
+
Start over
|
|
104
|
+
</Button>
|
|
105
|
+
</div>
|
|
106
|
+
<div className={variant === "page" ? "w-full" : "mx-auto grid w-full max-w-md"}>
|
|
107
|
+
<ApprovalRequest
|
|
108
|
+
key={`${variant}-${state}-${round}`}
|
|
109
|
+
variant={variant === "page" ? "page" : "card"}
|
|
110
|
+
heading={variant === "page" ? "Software purchase request" : undefined}
|
|
111
|
+
description={variant === "page" ? "Check the details, then approve or reject it." : undefined}
|
|
112
|
+
{...(state === "empty" ? {} : data)}
|
|
113
|
+
status={decided ? "rejected" : "pending"}
|
|
114
|
+
decidedBy={decided ? "Maya Okafor" : undefined}
|
|
115
|
+
decidedAt={decided ? "2026-09-22" : undefined}
|
|
116
|
+
decisionNote={decided ? "Over this quarter's tools budget. Ask again in January with the Q1 plan." : undefined}
|
|
117
|
+
loading={state === "loading"}
|
|
118
|
+
onApprove={decide}
|
|
119
|
+
onReject={decide}
|
|
120
|
+
reasonRequired={variant !== "refund"}
|
|
121
|
+
rejectLabel={variant === "refund" ? "Decline" : "Reject"}
|
|
122
|
+
approveLabel={variant === "refund" ? "Refund €149.00" : "Approve"}
|
|
123
|
+
/>
|
|
124
|
+
</div>
|
|
125
|
+
</div>
|
|
126
|
+
);
|
|
127
|
+
}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# AudioPlayer
|
|
2
|
+
|
|
3
|
+
A waveform audio player in the workspace theme. Play, skip back and
|
|
4
|
+
forward 15 seconds, change speed, mute. Hover the waveform to read the
|
|
5
|
+
time; click it to jump; drag across it to mark a region. **Regions** are
|
|
6
|
+
spans of the audio in a theme tone — a topic, a speaker turn, a clip —
|
|
7
|
+
tinted on the waveform and labelled in a lane under it; click a label to
|
|
8
|
+
play just that span. **Markers** are moments — a comment, a flag — shown
|
|
9
|
+
as pins above the waveform; click one to jump there. "Marker" adds one at
|
|
10
|
+
the playhead. It loads with a skeleton waveform, says so plainly when a
|
|
11
|
+
file will not play, and shows a friendly empty state when there is no
|
|
12
|
+
audio yet.
|
|
13
|
+
|
|
14
|
+
It is [wavesurfer.js](https://wavesurfer.xyz) (BSD-3-Clause) underneath:
|
|
15
|
+
it decodes, plays and paints the waveform. Regions, markers, the hover
|
|
16
|
+
line, the controls and every state are ours, in the kit. The blocks built
|
|
17
|
+
on this one — `call-review` — import it, never `wavesurfer.js`.
|
|
18
|
+
|
|
19
|
+
```jsx
|
|
20
|
+
import { AudioPlayer, useAudioPlayer } from "../components/blocks/audio-player"; // a Makersclaw app ("./blocks/audio-player" from components/)
|
|
21
|
+
import { AudioPlayer, useAudioPlayer } from "@/components/makersclaw/blocks/audio-player"; // a shadcn project
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
`AudioPlayer` is a client component: render it from a `"use client"`
|
|
25
|
+
component. `formatTime`, `formatRange`, `spokenTime` and `regionAt` are
|
|
26
|
+
plain functions and work on the server.
|
|
27
|
+
|
|
28
|
+
`makersclaw add audio-player` adds `wavesurfer.js` and
|
|
29
|
+
`@wavesurfer/react` (pinned, exact) to package.json: run `npm install`
|
|
30
|
+
after. Both load with the page (no `import()`); the player itself starts
|
|
31
|
+
in the browser, and until then the frame shows a skeleton waveform.
|
|
32
|
+
|
|
33
|
+
## The data
|
|
34
|
+
|
|
35
|
+
Times are **seconds** from the start of the audio (numbers, fractions
|
|
36
|
+
allowed).
|
|
37
|
+
|
|
38
|
+
```js
|
|
39
|
+
// a region: a span of the audio
|
|
40
|
+
{ id: "pricing", start: 12.4, end: 25.6, label: "Pricing and SSO", tone: "chart-3" }
|
|
41
|
+
|
|
42
|
+
// a marker: a moment
|
|
43
|
+
{ id: "m1", time: 17.2, label: "Asked whether SSO is on every plan", tone: "warning" }
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
- `id` — unique within its list; it comes back to you in the callbacks.
|
|
47
|
+
- `label` — shown in the lane (a region) or the tooltip (both), and read
|
|
48
|
+
to a screen reader. Keep it short.
|
|
49
|
+
- `tone` — a theme token, never a colour: `primary` (the default),
|
|
50
|
+
`chart-2` … `chart-5`, `success`, `warning`, `info`, `destructive`,
|
|
51
|
+
`muted`. `TONES` lists them. Use the `chart-*` tones for kinds (topics,
|
|
52
|
+
speakers) and the status tones for meaning (a risk, a win).
|
|
53
|
+
- Any other keys ride along untouched (a comment's author, a transcript
|
|
54
|
+
line's id…) and come back in `onRegionClick`, `onMarkerClick` and
|
|
55
|
+
`onActiveRegionChange`.
|
|
56
|
+
- Regions may overlap; where they do, the one that started last is the
|
|
57
|
+
active one. Anything past the end of the audio is clipped to it.
|
|
58
|
+
|
|
59
|
+
## Props
|
|
60
|
+
|
|
61
|
+
- `src` — the audio: a URL (`https://…`, `/api/recordings/123`, a
|
|
62
|
+
`data:` URL) or a `Blob` / `File` (from an upload, a recording). A Blob
|
|
63
|
+
plays through an object URL the player makes and revokes. Nothing
|
|
64
|
+
(`null`) shows the empty state.
|
|
65
|
+
- `peaks` — optional precomputed waveform (`[Float32Array | number[]]`,
|
|
66
|
+
one per channel) with `duration`: the waveform draws at once without
|
|
67
|
+
decoding the file — use it for long calls. Keep the array's identity
|
|
68
|
+
stable (state or `useMemo`); a new array rebuilds the player.
|
|
69
|
+
- `duration` — seconds, with `peaks`. Otherwise it is read from the file.
|
|
70
|
+
- `title`, `description` — the heading over the waveform and the muted
|
|
71
|
+
line under it ("Discovery call · Northwind", "Maya and Leo · Sep 18").
|
|
72
|
+
- `regions` — `[{ id, start, end, label?, tone? }]` (default none).
|
|
73
|
+
- `markers` — `[{ id, time, label?, tone? }]` (default none).
|
|
74
|
+
- `onAddMarker({ time })` — shows the "Marker" button (and the M key); the
|
|
75
|
+
new pin appears at once, dimmed, while you save. Add the marker to
|
|
76
|
+
`markers` and return `{ ok: true }`; return `{ ok: false, error }` (or
|
|
77
|
+
throw) and the pin goes, with a notice that says why. Without it there
|
|
78
|
+
is no button.
|
|
79
|
+
- `onRegionCreate({ start, end })` — makes a drag across the waveform
|
|
80
|
+
mark a region (a crosshair cursor, the span and its times shown while
|
|
81
|
+
dragging; shorter than half a second counts as a click). Same promise
|
|
82
|
+
as `onAddMarker`: add it to `regions`, return `{ ok }`. Without it a
|
|
83
|
+
drag scrubs.
|
|
84
|
+
- `onMarkerClick(marker)` — after the jump to it.
|
|
85
|
+
- `onRegionClick(region)` — after it starts playing (it stops at its end).
|
|
86
|
+
- `onActiveRegionChange(region | null)` — once each time the region under
|
|
87
|
+
the playhead changes (a transcript highlighting the line being said).
|
|
88
|
+
- `onTimeUpdate(seconds)` — continuously while playing (every frame):
|
|
89
|
+
keep it cheap.
|
|
90
|
+
- `onSeek(seconds)` — every jump: a click, a key, a skip, a pin, the handle.
|
|
91
|
+
- `onReady({ duration })`, `onPlay()`, `onPause()`, `onFinish()`,
|
|
92
|
+
`onError(error)` — as named.
|
|
93
|
+
- `rates` — the speeds offered, default `[0.75, 1, 1.25, 1.5, 2]`.
|
|
94
|
+
- `defaultRate` — the starting speed, default `1`.
|
|
95
|
+
- `skipSeconds` — the skip buttons' step (and J / L, Page Up / Down),
|
|
96
|
+
default `15`.
|
|
97
|
+
- `emptyTitle`, `emptyBody`, `emptyAction` — the empty state's words and
|
|
98
|
+
one action (a node: an upload button). Defaults: "No recording yet",
|
|
99
|
+
"When there is audio to play, it shows up here.", none.
|
|
100
|
+
- `bare` — no card around it (no border, background or padding), for a
|
|
101
|
+
player inside your own card or row. Default `false`.
|
|
102
|
+
- `playerRef` — a ref from `useAudioPlayer()` for the handle below.
|
|
103
|
+
- `className` — on the outer element.
|
|
104
|
+
|
|
105
|
+
### The handle
|
|
106
|
+
|
|
107
|
+
```jsx
|
|
108
|
+
const player = useAudioPlayer();
|
|
109
|
+
<AudioPlayer src={url} playerRef={player} />;
|
|
110
|
+
player.current?.seek(84);
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
`play()`, `pause()`, `toggle()`, `seek(seconds)`, `skip(±seconds)`,
|
|
114
|
+
`playRange(start, end?)` (stops at `end`), `playRegion(id)`,
|
|
115
|
+
`setRate(n)`, `setMuted(bool)`, `addMarker()` (as the button),
|
|
116
|
+
`getTime()`, `getDuration()`, `isPlaying()`, `isReady()`. Calls before
|
|
117
|
+
the audio is ready do nothing.
|
|
118
|
+
|
|
119
|
+
### Keys
|
|
120
|
+
|
|
121
|
+
On the waveform (a slider, one Tab stop): ← / → 5 seconds, Page Down /
|
|
122
|
+
Page Up `skipSeconds`, Home / End, Space or Enter to play or pause.
|
|
123
|
+
Anywhere in the player (not while typing, not with ⌘ / Ctrl / Alt): K
|
|
124
|
+
play / pause, J / L back / forward `skipSeconds`, M add a marker. Pins
|
|
125
|
+
and region labels are buttons in Tab order.
|
|
126
|
+
|
|
127
|
+
## Example
|
|
128
|
+
|
|
129
|
+
A call recording with its topics and comments, saved with
|
|
130
|
+
`lib/actions.js` in a Makersclaw app.
|
|
131
|
+
|
|
132
|
+
```jsx
|
|
133
|
+
"use client";
|
|
134
|
+
import { useState } from "react";
|
|
135
|
+
import { insertRow } from "../lib/actions";
|
|
136
|
+
import { AudioPlayer } from "./blocks/audio-player";
|
|
137
|
+
|
|
138
|
+
export default function CallRecording({ call, topics, comments: initial }) {
|
|
139
|
+
const [comments, setComments] = useState(initial);
|
|
140
|
+
return (
|
|
141
|
+
<AudioPlayer
|
|
142
|
+
src={call.recording_url}
|
|
143
|
+
title={call.title}
|
|
144
|
+
description={`${call.participants} · ${call.date}`}
|
|
145
|
+
regions={topics.map((t) => ({ id: t.id, start: t.start_s, end: t.end_s, label: t.name, tone: "chart-2" }))}
|
|
146
|
+
markers={comments.map((c) => ({ id: c.id, time: c.at_s, label: c.body, tone: "primary" }))}
|
|
147
|
+
onAddMarker={async ({ time }) => {
|
|
148
|
+
const values = { call_id: call.id, at_s: time, body: "New comment" };
|
|
149
|
+
const res = await insertRow({ source: "public.call_comments", values });
|
|
150
|
+
if (res.ok) setComments((cs) => [...cs, { ...values, id: res.id }]);
|
|
151
|
+
return res;
|
|
152
|
+
}}
|
|
153
|
+
/>
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## What it will not do
|
|
159
|
+
|
|
160
|
+
- Record from the microphone, or play video.
|
|
161
|
+
- Zoom or scroll the waveform: the whole recording always fits the
|
|
162
|
+
width (a long call reads as an overview; use `peaks` so it draws fast).
|
|
163
|
+
- Move, resize, rename or delete a region, or edit a marker, inside the
|
|
164
|
+
player: those are your list's actions — change `regions` / `markers`.
|
|
165
|
+
- Show a volume slider (mute only; the device's volume does the rest).
|
|
166
|
+
- Stream: the file is fetched and decoded in the browser (pass `peaks`
|
|
167
|
+
and `duration` for long files).
|