makersclaw 0.2.0 → 0.3.1
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/THIRD-PARTY-NOTICES.md +180 -0
- package/package.json +3 -2
- 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 +10 -6
- 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 +205 -8
- 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 +12 -7
- 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 +3411 -29
- 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 +55 -5
- package/registry/blocks/board/block.json +2 -2
- package/registry/blocks/board/board.jsx +230 -86
- 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 +80 -0
- 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/cli.mjs +19 -6
- package/src/install.mjs +18 -0
- package/src/registry.mjs +38 -4
- package/src/shadcn.mjs +14 -1
- 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/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/template.json +264 -8
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { IconButton, cx } from "../../ui";
|
|
5
|
+
|
|
6
|
+
// ChatText — a message's words, drawn safely. No HTML is ever parsed and
|
|
7
|
+
// no markdown library is loaded: the text is split by hand and every piece
|
|
8
|
+
// is a React text node, so "<script>" in a message is shown, not run.
|
|
9
|
+
//
|
|
10
|
+
// What it understands, and nothing more:
|
|
11
|
+
// ```lang … ``` a code block (an unclosed fence runs to the end, so a
|
|
12
|
+
// block that is still streaming already looks like one)
|
|
13
|
+
// `code` a code span
|
|
14
|
+
// **bold** strong text
|
|
15
|
+
// line breaks kept as they were typed
|
|
16
|
+
// Links, headings, lists and tables stay plain text.
|
|
17
|
+
|
|
18
|
+
const FENCE = /```([^\n`]*)\n?([\s\S]*?)(?:```|$)/g;
|
|
19
|
+
const INLINE = /(`[^`\n]+`|\*\*[^*\n]+\*\*)/g;
|
|
20
|
+
|
|
21
|
+
function blocks(text) {
|
|
22
|
+
const out = [];
|
|
23
|
+
let last = 0;
|
|
24
|
+
for (const m of text.matchAll(FENCE)) {
|
|
25
|
+
// A block stands on its own line: the newline on either side of it is
|
|
26
|
+
// the block's, not the text's.
|
|
27
|
+
if (m.index > last) out.push({ type: "text", body: text.slice(last, m.index).replace(/\n$/, "") });
|
|
28
|
+
out.push({ type: "code", lang: m[1].trim(), body: m[2].replace(/\n$/, "") });
|
|
29
|
+
last = m.index + m[0].length;
|
|
30
|
+
if (text[last] === "\n") last += 1;
|
|
31
|
+
}
|
|
32
|
+
if (last < text.length) out.push({ type: "text", body: text.slice(last) });
|
|
33
|
+
return out;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function Inline({ text, tone }) {
|
|
37
|
+
return text.split(INLINE).map((piece, i) => {
|
|
38
|
+
if (piece.length > 2 && piece.startsWith("`") && piece.endsWith("`")) {
|
|
39
|
+
return (
|
|
40
|
+
<code
|
|
41
|
+
key={i}
|
|
42
|
+
className={cx("rounded-sm px-1 py-0.5 font-mono text-[0.9em]", tone === "primary" ? "bg-primary-foreground/15" : "bg-muted")}
|
|
43
|
+
>
|
|
44
|
+
{piece.slice(1, -1)}
|
|
45
|
+
</code>
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
if (piece.length > 4 && piece.startsWith("**") && piece.endsWith("**")) {
|
|
49
|
+
return (
|
|
50
|
+
<strong key={i} className="font-semibold">
|
|
51
|
+
{piece.slice(2, -2)}
|
|
52
|
+
</strong>
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
return piece;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function CodeBlock({ lang, body }) {
|
|
60
|
+
const [copied, setCopied] = useState(false);
|
|
61
|
+
async function copy() {
|
|
62
|
+
try {
|
|
63
|
+
await navigator.clipboard.writeText(body);
|
|
64
|
+
setCopied(true);
|
|
65
|
+
setTimeout(() => setCopied(false), 1500);
|
|
66
|
+
} catch {
|
|
67
|
+
// No clipboard (an insecure origin): the code is still selectable.
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return (
|
|
71
|
+
<div className="my-2 min-w-0 overflow-hidden rounded-md border border-border bg-muted text-foreground first:mt-0 last:mb-0">
|
|
72
|
+
<div className="flex min-h-9 items-center justify-between gap-2 border-b border-border pl-3">
|
|
73
|
+
<span className="truncate font-mono text-xs text-muted-foreground">{lang || "code"}</span>
|
|
74
|
+
<IconButton icon={copied ? "check" : "copy"} label={copied ? "Copied" : "Copy code"} size="sm" onClick={copy} />
|
|
75
|
+
</div>
|
|
76
|
+
<pre className="overflow-x-auto p-3 font-mono text-xs leading-relaxed">
|
|
77
|
+
<code>{body}</code>
|
|
78
|
+
</pre>
|
|
79
|
+
</div>
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/** The words of one message. `tone` is "primary" inside a user bubble;
|
|
84
|
+
* `trailing` sits inline after the last word (a streaming caret). */
|
|
85
|
+
export function ChatText({ text, tone, trailing, className }) {
|
|
86
|
+
const value = String(text ?? "");
|
|
87
|
+
const parts = blocks(value);
|
|
88
|
+
const end = parts.length - 1;
|
|
89
|
+
return (
|
|
90
|
+
<div className={cx("min-w-0 whitespace-pre-wrap [overflow-wrap:anywhere]", className)}>
|
|
91
|
+
{parts.map((b, i) =>
|
|
92
|
+
b.type === "code" ? (
|
|
93
|
+
<CodeBlock key={i} lang={b.lang} body={b.body} />
|
|
94
|
+
) : (
|
|
95
|
+
<span key={i}>
|
|
96
|
+
<Inline text={b.body} tone={tone} />
|
|
97
|
+
{i === end ? trailing : null}
|
|
98
|
+
</span>
|
|
99
|
+
),
|
|
100
|
+
)}
|
|
101
|
+
{parts[end]?.type === "text" ? null : trailing}
|
|
102
|
+
</div>
|
|
103
|
+
);
|
|
104
|
+
}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
# CodeEditor
|
|
2
|
+
|
|
3
|
+
A code editor in the workspace theme. Three modes: **SQL** (keywords,
|
|
4
|
+
functions, and your database's tables and columns in autocomplete),
|
|
5
|
+
**JSON** (checked as you type; mistakes are underlined and said in plain
|
|
6
|
+
words — "A comma is missing before this", "Keys need double quotes") and
|
|
7
|
+
**plain text**. Line numbers, find and replace (Cmd/Ctrl+F), folding in
|
|
8
|
+
JSON, multiple cursors, and a run hook: Cmd/Ctrl+Enter runs the selection,
|
|
9
|
+
or the SQL statement under the cursor. A quiet status line under the text
|
|
10
|
+
shows problems (click to jump to the next one), the cursor's line and
|
|
11
|
+
column, the mode and — when there is a run hook — a Run button, which is
|
|
12
|
+
how a phone runs.
|
|
13
|
+
|
|
14
|
+
It is [CodeMirror 6](https://codemirror.net) (MIT) underneath. Every
|
|
15
|
+
colour is a workspace token read by the browser (`var(--color-…)`), so a
|
|
16
|
+
change of theme or of light/dark repaints it with no work. Syntax colours
|
|
17
|
+
come from the chart hues: keywords `chart-1` (the primary), text in
|
|
18
|
+
quotes `chart-2`, numbers and true/false/null `chart-3`, functions
|
|
19
|
+
`chart-4`, columns, keys and types `chart-5`; comments step back into
|
|
20
|
+
`muted-foreground`. `json-editor` and `sql-console` are built on this
|
|
21
|
+
block: they import it, never `@codemirror/*`.
|
|
22
|
+
|
|
23
|
+
```jsx
|
|
24
|
+
import { CodeEditor, useCodeEditor } from "../components/blocks/code-editor"; // a Makersclaw app ("./blocks/code-editor" from components/)
|
|
25
|
+
import { CodeEditor, useCodeEditor } from "@/components/makersclaw/blocks/code-editor"; // a shadcn project
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
`CodeEditor` is a client component: render it from a `"use client"`
|
|
29
|
+
component. The helpers (`splitStatements`, `statementAt`, `checkJson`,
|
|
30
|
+
`formatJson`…) are plain functions and work on the server too.
|
|
31
|
+
|
|
32
|
+
`makersclaw add code-editor` adds the CodeMirror packages
|
|
33
|
+
(`@codemirror/state`, `view`, `commands`, `language`, `autocomplete`,
|
|
34
|
+
`search`, `lint`, `lang-sql`, `lang-json`, and `@lezer/highlight` — pinned,
|
|
35
|
+
exact) to package.json: run `npm install` after. They load with the page
|
|
36
|
+
(no `import()`): the editor is created after the first render, and until
|
|
37
|
+
then — on the server — the box shows the text with its line numbers.
|
|
38
|
+
|
|
39
|
+
## Props
|
|
40
|
+
|
|
41
|
+
- `value` — the text, controlled. A new `value` that is not the editor's
|
|
42
|
+
text replaces it (loading another query); pass back exactly what
|
|
43
|
+
`onChange` gave you and nothing resets, the cursor included.
|
|
44
|
+
- `defaultValue` — the starting text, uncontrolled. With neither, empty.
|
|
45
|
+
- `onChange(text)` — every edit, with the whole text. Debounce a save
|
|
46
|
+
yourself.
|
|
47
|
+
- `language` — `"text"` (default) · `"sql"` · `"json"`.
|
|
48
|
+
- `dialect` — SQL only: `"postgres"` (default) · `"mysql"` · `"mariadb"` ·
|
|
49
|
+
`"sqlite"` · `"mssql"` · `"standard"`. Sets keywords, functions and
|
|
50
|
+
quoting (and whether `\'` escapes a quote when finding the statement to
|
|
51
|
+
run: MySQL and MariaDB only).
|
|
52
|
+
- `schema` — SQL only: the tables autocomplete offers.
|
|
53
|
+
`[{ name, schema?, description?, columns: [{ name, type?, description?,
|
|
54
|
+
primaryKey? } | "name"] }]`. A table completes with its column count
|
|
55
|
+
beside it and its description in a side note; `deals.` offers its
|
|
56
|
+
columns with their types (`uuid · key`); in a query that names a table,
|
|
57
|
+
its columns complete bare. Tables with a `schema` nest under it
|
|
58
|
+
(`auth.users`); `defaultSchema` (e.g. `"public"`) lets that schema's
|
|
59
|
+
tables complete without the prefix. Change it and autocomplete follows.
|
|
60
|
+
- `completions` — extra words to complete in any mode: strings, or
|
|
61
|
+
`{ label, type?, detail?, info?, apply? }` (`type` picks the little icon:
|
|
62
|
+
`"variable"`, `"function"`, `"keyword"`, `"property"`, `"type"`).
|
|
63
|
+
Saved snippets, `{{variables}}`, function names.
|
|
64
|
+
- `onRun({ text, statement, from, to, selection, all })` — Cmd/Ctrl+Enter
|
|
65
|
+
and the Run button. `statement` is what to run: the selection when there
|
|
66
|
+
is one; else, in SQL, the statement under the cursor (split on `;` —
|
|
67
|
+
quotes, comments and `$$` bodies respected; a cursor just after a `;`
|
|
68
|
+
runs the statement before it); else the whole text. Shift+Cmd/Ctrl+Enter
|
|
69
|
+
runs everything (`all: true`). `from`/`to` are its offsets in `text`, so
|
|
70
|
+
a caller can map an error position back. The range lights up for a
|
|
71
|
+
moment. Without `onRun` there is no Run button and the keys do nothing.
|
|
72
|
+
- `runLabel` — the button's word, default `"Run"` (`"Run query"`,
|
|
73
|
+
`"Send"`).
|
|
74
|
+
- `onSave(text)` — Cmd/Ctrl+S (the browser's save dialog is held back).
|
|
75
|
+
Without it the keys are the browser's.
|
|
76
|
+
- `diagnostics` — problems found outside the editor (a database error, a
|
|
77
|
+
server-side check), drawn on the text: `[{ message, severity?, …where }]`
|
|
78
|
+
where "where" is `{ from, to }` offsets, `{ line, col?, endLine?,
|
|
79
|
+
endCol? }` (1-based; no `col` underlines the whole line) or
|
|
80
|
+
`{ position }` (a 1-based character position, as Postgres reports
|
|
81
|
+
`error.position`). `severity` is `"error"` (default), `"warning"` or
|
|
82
|
+
`"info"`. They belong to the text they were found in: **they show until
|
|
83
|
+
the text changes**, then clear themselves. Pass `[]` to clear sooner.
|
|
84
|
+
- `lint(text) → problems` — a check of your own, run 300ms after typing
|
|
85
|
+
stops; same shape as `diagnostics`; may be async.
|
|
86
|
+
- `validate` — JSON only: `true` (default) checks the text as you type.
|
|
87
|
+
- `readOnly` — `false` (default). `true` shows the text read-only: it can
|
|
88
|
+
still be selected, searched and copied.
|
|
89
|
+
- `lineNumbers` — `true` (default).
|
|
90
|
+
- `wrap` — `false` (default): long lines scroll sideways. `true` wraps.
|
|
91
|
+
- `placeholder` — shown while the text is empty: say what goes here
|
|
92
|
+
("Write a query — try SELECT * FROM deals").
|
|
93
|
+
- `height` — a fixed height (px number or CSS length); the text scrolls
|
|
94
|
+
inside. Without it the editor grows with its text from `minHeight`
|
|
95
|
+
(120) to `maxHeight` (480), then scrolls.
|
|
96
|
+
- `tabSize` — `2` (default). Tab indents; **Esc then Tab** leaves the
|
|
97
|
+
editor, so it never traps the keyboard.
|
|
98
|
+
- `autoFocus` — `false` (default).
|
|
99
|
+
- `footer` — `true` (default) shows the status line. `false` hides it
|
|
100
|
+
(a block that draws its own).
|
|
101
|
+
- `frameless` — `false` (default). `true` drops the border and card fill,
|
|
102
|
+
for an editor inside a panel that already has them.
|
|
103
|
+
- `label` — what a screen reader calls the editor (default: the mode's
|
|
104
|
+
name).
|
|
105
|
+
- `editorRef` — a ref from `useCodeEditor()`; `.current` is the handle.
|
|
106
|
+
- `className` — the frame's classes (a width, a margin, `h-full`).
|
|
107
|
+
|
|
108
|
+
### The handle
|
|
109
|
+
|
|
110
|
+
`const ed = useCodeEditor()`, `<CodeEditor editorRef={ed} />`, then:
|
|
111
|
+
|
|
112
|
+
- `ed.current.getValue()` / `setValue(text)`
|
|
113
|
+
- `getSelection()` → `{ from, to, text }` · `select(from, to?)` ·
|
|
114
|
+
`replaceSelection(text)` · `insert(text)` (at the cursor, then focus)
|
|
115
|
+
- `goTo(line, col?)` — move the cursor there, scroll, focus (a results
|
|
116
|
+
panel's "show me the error")
|
|
117
|
+
- `cursor()` → `{ line, col }`
|
|
118
|
+
- `statementAtCursor()` → `{ from, to, text }` or null
|
|
119
|
+
- `run(all?)` — as the keys; `format()` — JSON only, lays it out again
|
|
120
|
+
(also Shift+Alt+F)
|
|
121
|
+
- `focus()`; `view` — the CodeMirror view, for the rare thing no prop does
|
|
122
|
+
|
|
123
|
+
### Keys
|
|
124
|
+
|
|
125
|
+
Cmd/Ctrl+Enter run · Shift+Cmd/Ctrl+Enter run all · Cmd/Ctrl+S save ·
|
|
126
|
+
Cmd/Ctrl+F find · Cmd/Ctrl+Z / Shift+Cmd/Ctrl+Z undo/redo ·
|
|
127
|
+
Ctrl+Space complete · Cmd/Ctrl+/ comment · Alt+drag a column ·
|
|
128
|
+
Shift+Alt+F format JSON · Esc, Tab leave the editor.
|
|
129
|
+
|
|
130
|
+
## The helpers
|
|
131
|
+
|
|
132
|
+
Plain functions, on the server too.
|
|
133
|
+
|
|
134
|
+
- `splitStatements(sql, { backslash? })` → `[{ from, to, text }]` — the
|
|
135
|
+
statements in a script, trimmed, without their `;`. Comment-only
|
|
136
|
+
stretches are not statements.
|
|
137
|
+
- `statementAt(sql, pos, { backslash? })` → the statement to run for a
|
|
138
|
+
cursor at `pos`, or null.
|
|
139
|
+
- `sqlNamespace(tables)` → `{ namespace, tables }` — the `schema` prop as
|
|
140
|
+
the SQL mode reads it (you do not need it to use the editor).
|
|
141
|
+
- `checkJson(text, { allowEmpty? })` → `{ ok: true, value }` or
|
|
142
|
+
`{ ok: false, error: { message, from, to, line, col } }` — the same
|
|
143
|
+
words in every browser.
|
|
144
|
+
- `formatJson(text, { indent = 2, width = 80 })` → the text laid out
|
|
145
|
+
again, keys, order and numbers exactly as written (`indent: 0`
|
|
146
|
+
minifies); null when it is not valid JSON.
|
|
147
|
+
- `stringifyJson(value)` → a value as 2-space JSON, short lists on one
|
|
148
|
+
line.
|
|
149
|
+
- `lineCol(text, offset)`, `offsetOf(text, line, col)`,
|
|
150
|
+
`normalizeDiagnostics(text, problems)` — positions both ways.
|
|
151
|
+
|
|
152
|
+
## Example
|
|
153
|
+
|
|
154
|
+
```jsx
|
|
155
|
+
"use client";
|
|
156
|
+
import { useState } from "react";
|
|
157
|
+
import { CodeEditor, useCodeEditor } from "../components/blocks/code-editor";
|
|
158
|
+
|
|
159
|
+
const TABLES = [
|
|
160
|
+
{ name: "deals", description: "Every open and closed deal", columns: [
|
|
161
|
+
{ name: "id", type: "uuid", primaryKey: true },
|
|
162
|
+
{ name: "account_id", type: "uuid" },
|
|
163
|
+
{ name: "amount", type: "numeric" },
|
|
164
|
+
{ name: "stage", type: "text", description: "lead · qualified · proposal · won · lost" },
|
|
165
|
+
{ name: "closed_at", type: "timestamptz" },
|
|
166
|
+
] },
|
|
167
|
+
{ name: "accounts", columns: [{ name: "id", type: "uuid", primaryKey: true }, { name: "name", type: "text" }] },
|
|
168
|
+
];
|
|
169
|
+
|
|
170
|
+
export function QueryBox({ runQuery }) {
|
|
171
|
+
const [sql, setSql] = useState("SELECT stage, sum(amount)\nFROM deals\nGROUP BY stage;");
|
|
172
|
+
const [problems, setProblems] = useState([]);
|
|
173
|
+
const ed = useCodeEditor();
|
|
174
|
+
|
|
175
|
+
async function run({ statement, from }) {
|
|
176
|
+
const r = await runQuery(statement); // your server action: { ok, rows } or { ok: false, error, position }
|
|
177
|
+
if (r.ok) setProblems([]);
|
|
178
|
+
else setProblems([{ position: from + (r.position ?? 1), message: r.error }]);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
return (
|
|
182
|
+
<CodeEditor
|
|
183
|
+
language="sql"
|
|
184
|
+
schema={TABLES}
|
|
185
|
+
value={sql}
|
|
186
|
+
onChange={setSql}
|
|
187
|
+
onRun={run}
|
|
188
|
+
diagnostics={problems}
|
|
189
|
+
placeholder="Write a query — try SELECT * FROM deals"
|
|
190
|
+
editorRef={ed}
|
|
191
|
+
/>
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
JSON, read-only, fixed height:
|
|
197
|
+
|
|
198
|
+
```jsx
|
|
199
|
+
<CodeEditor language="json" value={JSON.stringify(payload, null, 2)} readOnly height={240} />
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
## What it will not do
|
|
203
|
+
|
|
204
|
+
- It is not an IDE: no language server, no go-to-definition, no type
|
|
205
|
+
checking. SQL is checked by running it (hand the database's error back
|
|
206
|
+
through `diagnostics`); JSON is checked here.
|
|
207
|
+
- Modes are SQL, JSON and plain text. Another language is another mode
|
|
208
|
+
in this block, not a package a screen imports.
|
|
209
|
+
- It never runs anything: `onRun` hands you the statement.
|
|
210
|
+
- No live collaboration (that needs a sync server).
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "code-editor",
|
|
3
|
+
"title": "CodeEditor",
|
|
4
|
+
"description": "A code editor (CodeMirror 6) in the workspace theme: SQL with the database's tables and columns in autocomplete, JSON checked as you type with plain-words errors, or plain text; line numbers, problems underlined in the text with a dot in the gutter, find and replace, folding, and a run hook on Cmd/Ctrl+Enter that runs the selection or the statement under the cursor. A quiet status line shows problems, the cursor, the mode and a Run button. Helpers split SQL into statements and check or format JSON anywhere, the server included.",
|
|
5
|
+
"useWhen": "A screen edits code or structured text: a SQL console, a query in a report, a JSON config or payload, a webhook body, a template, a script. json-editor and sql-console are built on it. Not for prose (doc-editor), one line of text (the kit's Input), or showing a diagram (diagram).",
|
|
6
|
+
"tags": ["code", "editor", "codemirror", "sql", "query", "json", "syntax highlighting", "autocomplete", "lint", "monospace", "console", "script", "config"],
|
|
7
|
+
"exports": ["CodeEditor", "useCodeEditor", "LANGUAGES", "SQL_DIALECTS", "splitStatements", "statementAt", "sqlNamespace", "checkJson", "formatJson", "stringifyJson", "lineCol", "offsetOf", "normalizeDiagnostics"],
|
|
8
|
+
"files": ["index.js", "code-editor.jsx", "codemirror.js", "theme.js", "sql.js", "json.js", "text.js"],
|
|
9
|
+
"requires": [],
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"@codemirror/state": "6.7.6",
|
|
12
|
+
"@codemirror/view": "6.43.13",
|
|
13
|
+
"@codemirror/commands": "6.11.1",
|
|
14
|
+
"@codemirror/language": "6.12.4",
|
|
15
|
+
"@codemirror/autocomplete": "6.20.3",
|
|
16
|
+
"@codemirror/search": "6.7.2",
|
|
17
|
+
"@codemirror/lint": "6.9.7",
|
|
18
|
+
"@codemirror/lang-sql": "6.10.0",
|
|
19
|
+
"@codemirror/lang-json": "6.0.2",
|
|
20
|
+
"@lezer/highlight": "1.2.3"
|
|
21
|
+
}
|
|
22
|
+
}
|