@cloudraker/reki 2.6.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/CHANGELOG.md +1892 -0
- package/README.md +525 -0
- package/ai/USAGE.md +201 -0
- package/ai/component-registry.json +6707 -0
- package/ai/component-registry.md +8346 -0
- package/ai/schemas.ts +955 -0
- package/bin/reki.js +36 -0
- package/dist/.build-complete +1 -0
- package/dist/ai/schemas.d.ts +2514 -0
- package/dist/ai/schemas.d.ts.map +1 -0
- package/dist/ai/schemas.js +3985 -0
- package/dist/ai/schemas.js.map +1 -0
- package/dist/blocks-source/delete-resource/delete-resource.tsx +213 -0
- package/dist/blocks-source/page-header/page-header.tsx +99 -0
- package/dist/blocks-source/resource-list/resource-list.test.tsx +28 -0
- package/dist/blocks-source/resource-list/resource-list.tsx +69 -0
- package/dist/catalog.js +229 -0
- package/dist/catalog.js.map +1 -0
- package/dist/chunks/SankeyChart-jwwpwps4npqzbrvn.js +890 -0
- package/dist/chunks/SankeyChart-jwwpwps4npqzbrvn.js.map +1 -0
- package/dist/chunks/autocomplete-f4vetako14h2aqsw.js +193 -0
- package/dist/chunks/autocomplete-f4vetako14h2aqsw.js.map +1 -0
- package/dist/chunks/badge-pc33c5ir7muabgfh.js +163 -0
- package/dist/chunks/badge-pc33c5ir7muabgfh.js.map +1 -0
- package/dist/chunks/banner-kis9h1yq636liunc.js +120 -0
- package/dist/chunks/banner-kis9h1yq636liunc.js.map +1 -0
- package/dist/chunks/bash-g5z23u7me5rx7bzt.js +15 -0
- package/dist/chunks/bash-g5z23u7me5rx7bzt.js.map +1 -0
- package/dist/chunks/breadcrumbs-d6149hyct4puz3x4.js +169 -0
- package/dist/chunks/breadcrumbs-d6149hyct4puz3x4.js.map +1 -0
- package/dist/chunks/button-nc5p1h28cwes0tjw.js +237 -0
- package/dist/chunks/button-nc5p1h28cwes0tjw.js.map +1 -0
- package/dist/chunks/checkbox-g2661n3eodgoispq.js +216 -0
- package/dist/chunks/checkbox-g2661n3eodgoispq.js.map +1 -0
- package/dist/chunks/clipboard-text-g3659lejx2d7i93e.js +191 -0
- package/dist/chunks/clipboard-text-g3659lejx2d7i93e.js.map +1 -0
- package/dist/chunks/cloudflare-logo-k0f07zztsda8m4ca.js +175 -0
- package/dist/chunks/cloudflare-logo-k0f07zztsda8m4ca.js.map +1 -0
- package/dist/chunks/cn-ct4n7r74mh8y0f48.js +26 -0
- package/dist/chunks/cn-ct4n7r74mh8y0f48.js.map +1 -0
- package/dist/chunks/code-fm5rpi47v6cj9o8o.js +61 -0
- package/dist/chunks/code-fm5rpi47v6cj9o8o.js.map +1 -0
- package/dist/chunks/collapsible-ndvmgo29s5iqfcor.js +76 -0
- package/dist/chunks/collapsible-ndvmgo29s5iqfcor.js.map +1 -0
- package/dist/chunks/combobox-i38w67netm8ukw4f.js +408 -0
- package/dist/chunks/combobox-i38w67netm8ukw4f.js.map +1 -0
- package/dist/chunks/command-palette-fe5cjfdgsg3t17vq.js +403 -0
- package/dist/chunks/command-palette-fe5cjfdgsg3t17vq.js.map +1 -0
- package/dist/chunks/core-oowp00biqxe3hvjc.js +5806 -0
- package/dist/chunks/core-oowp00biqxe3hvjc.js.map +1 -0
- package/dist/chunks/css-d1mi3wy1sl3fzekh.js +8 -0
- package/dist/chunks/css-d1mi3wy1sl3fzekh.js.map +1 -0
- package/dist/chunks/date-picker-81mc3zrsmobm3ydm.js +2921 -0
- package/dist/chunks/date-picker-81mc3zrsmobm3ydm.js.map +1 -0
- package/dist/chunks/date-range-picker-c8ttrfaos9mb1w5n.js +408 -0
- package/dist/chunks/date-range-picker-c8ttrfaos9mb1w5n.js.map +1 -0
- package/dist/chunks/dialog-m4go8xof25fospqo.js +134 -0
- package/dist/chunks/dialog-m4go8xof25fospqo.js.map +1 -0
- package/dist/chunks/diff-cpj1h9lg0bw716mj.js +8 -0
- package/dist/chunks/diff-cpj1h9lg0bw716mj.js.map +1 -0
- package/dist/chunks/dropdown-j5uht8mn4z7xc9fc.js +313 -0
- package/dist/chunks/dropdown-j5uht8mn4z7xc9fc.js.map +1 -0
- package/dist/chunks/empty-kazxr0248zjemw6n.js +94 -0
- package/dist/chunks/empty-kazxr0248zjemw6n.js.map +1 -0
- package/dist/chunks/engine-javascript-iqcmg6wi2pjun29k.js +2637 -0
- package/dist/chunks/engine-javascript-iqcmg6wi2pjun29k.js.map +1 -0
- package/dist/chunks/engine-oniguruma-g75h8oxao68cjmhg.js +295 -0
- package/dist/chunks/engine-oniguruma-g75h8oxao68cjmhg.js.map +1 -0
- package/dist/chunks/field-fe5m8z3vbpvtctbe.js +77 -0
- package/dist/chunks/field-fe5m8z3vbpvtctbe.js.map +1 -0
- package/dist/chunks/github-light-ulev8flhimfg79ob.js +6 -0
- package/dist/chunks/github-light-ulev8flhimfg79ob.js.map +1 -0
- package/dist/chunks/graphql-ft2h47erta7isqn4.js +16 -0
- package/dist/chunks/graphql-ft2h47erta7isqn4.js.map +1 -0
- package/dist/chunks/grid-enlbb88vucgeq1np.js +128 -0
- package/dist/chunks/grid-enlbb88vucgeq1np.js.map +1 -0
- package/dist/chunks/hcl-hcu7d6ja6t540ijn.js +8 -0
- package/dist/chunks/hcl-hcu7d6ja6t540ijn.js.map +1 -0
- package/dist/chunks/html-kl304jmqj4jxj777.js +12 -0
- package/dist/chunks/html-kl304jmqj4jxj777.js.map +1 -0
- package/dist/chunks/input-area-ciw85g3fno06t4tw.js +78 -0
- package/dist/chunks/input-area-ciw85g3fno06t4tw.js.map +1 -0
- package/dist/chunks/input-group-mo7tq7jr19hmgor5.js +505 -0
- package/dist/chunks/input-group-mo7tq7jr19hmgor5.js.map +1 -0
- package/dist/chunks/input-i5nefqk213n4z7pr.js +130 -0
- package/dist/chunks/input-i5nefqk213n4z7pr.js.map +1 -0
- package/dist/chunks/javascript-hhx3avh9uv2o27ay.js +8 -0
- package/dist/chunks/javascript-hhx3avh9uv2o27ay.js.map +1 -0
- package/dist/chunks/json-jovp9qemdkp5cziz.js +8 -0
- package/dist/chunks/json-jovp9qemdkp5cziz.js.map +1 -0
- package/dist/chunks/jsonc-jbkkgjer6ispw2u3.js +8 -0
- package/dist/chunks/jsonc-jbkkgjer6ispw2u3.js.map +1 -0
- package/dist/chunks/jsx-ij885l2li2lzfoss.js +8 -0
- package/dist/chunks/jsx-ij885l2li2lzfoss.js.map +1 -0
- package/dist/chunks/label-fcho4757rbdess0c.js +68 -0
- package/dist/chunks/label-fcho4757rbdess0c.js.map +1 -0
- package/dist/chunks/layer-card-kzu48dhzxm3e9p4u.js +47 -0
- package/dist/chunks/layer-card-kzu48dhzxm3e9p4u.js.map +1 -0
- package/dist/chunks/link-j2gu5dr3nr4i4yf0.js +95 -0
- package/dist/chunks/link-j2gu5dr3nr4i4yf0.js.map +1 -0
- package/dist/chunks/link-provider-bgljdgs4hs438h0u.js +22 -0
- package/dist/chunks/link-provider-bgljdgs4hs438h0u.js.map +1 -0
- package/dist/chunks/loader-cxzp72mn53lzbv9c.js +109 -0
- package/dist/chunks/loader-cxzp72mn53lzbv9c.js.map +1 -0
- package/dist/chunks/markdown-n2vyyq7l68fy32wc.js +8 -0
- package/dist/chunks/markdown-n2vyyq7l68fy32wc.js.map +1 -0
- package/dist/chunks/menubar-ir5gbjmsizsddz7g.js +98 -0
- package/dist/chunks/menubar-ir5gbjmsizsddz7g.js.map +1 -0
- package/dist/chunks/meter-o5yd7ctjf80vvyjx.js +51 -0
- package/dist/chunks/meter-o5yd7ctjf80vvyjx.js.map +1 -0
- package/dist/chunks/pagination-bryw6rohfr7mm3km.js +266 -0
- package/dist/chunks/pagination-bryw6rohfr7mm3km.js.map +1 -0
- package/dist/chunks/popover-elxcmvv7mu7m7uk4.js +181 -0
- package/dist/chunks/popover-elxcmvv7mu7m7uk4.js.map +1 -0
- package/dist/chunks/portal-provider-off76og7tjyz96ys.js +18 -0
- package/dist/chunks/portal-provider-off76og7tjyz96ys.js.map +1 -0
- package/dist/chunks/python-gg755pb8oe9ra1d1.js +8 -0
- package/dist/chunks/python-gg755pb8oe9ra1d1.js.map +1 -0
- package/dist/chunks/radio-newyq331uk4lltr6.js +226 -0
- package/dist/chunks/radio-newyq331uk4lltr6.js.map +1 -0
- package/dist/chunks/resolve-variant-t8jcltsizeg29ege.js +11 -0
- package/dist/chunks/resolve-variant-t8jcltsizeg29ege.js.map +1 -0
- package/dist/chunks/select-h5480mbro0ypxu0b.js +237 -0
- package/dist/chunks/select-h5480mbro0ypxu0b.js.map +1 -0
- package/dist/chunks/sensitive-input-lqugq6uvx0lkpu0u.js +273 -0
- package/dist/chunks/sensitive-input-lqugq6uvx0lkpu0u.js.map +1 -0
- package/dist/chunks/sidebar-noz668nhdu2gso12.js +1144 -0
- package/dist/chunks/sidebar-noz668nhdu2gso12.js.map +1 -0
- package/dist/chunks/skeleton-line-epxenksfesr2fkcv.js +33 -0
- package/dist/chunks/skeleton-line-epxenksfesr2fkcv.js.map +1 -0
- package/dist/chunks/sql-ovukp5mrfunfk5tv.js +8 -0
- package/dist/chunks/sql-ovukp5mrfunfk5tv.js.map +1 -0
- package/dist/chunks/surface-cyxme7mlr49l33f8.js +29 -0
- package/dist/chunks/surface-cyxme7mlr49l33f8.js.map +1 -0
- package/dist/chunks/switch-bigo96fyjlh7ivbi.js +256 -0
- package/dist/chunks/switch-bigo96fyjlh7ivbi.js.map +1 -0
- package/dist/chunks/table-mwcmwp6a80zvyrxw.js +208 -0
- package/dist/chunks/table-mwcmwp6a80zvyrxw.js.map +1 -0
- package/dist/chunks/table-of-contents-gkuvkr2w6lbhi7wt.js +106 -0
- package/dist/chunks/table-of-contents-gkuvkr2w6lbhi7wt.js.map +1 -0
- package/dist/chunks/tabs-e4pcjkw94kpe35x0.js +177 -0
- package/dist/chunks/tabs-e4pcjkw94kpe35x0.js.map +1 -0
- package/dist/chunks/text-oxsrbmjmfq99ue85.js +103 -0
- package/dist/chunks/text-oxsrbmjmfq99ue85.js.map +1 -0
- package/dist/chunks/toast-ivr4097bstjcjotf.js +370 -0
- package/dist/chunks/toast-ivr4097bstjcjotf.js.map +1 -0
- package/dist/chunks/toml-nczb2z9n0o23o3ci.js +8 -0
- package/dist/chunks/toml-nczb2z9n0o23o3ci.js.map +1 -0
- package/dist/chunks/tooltip-ncaia8n1lavkyw8n.js +103 -0
- package/dist/chunks/tooltip-ncaia8n1lavkyw8n.js.map +1 -0
- package/dist/chunks/tsx-ehy8lrzet6v54zur.js +8 -0
- package/dist/chunks/tsx-ehy8lrzet6v54zur.js.map +1 -0
- package/dist/chunks/typescript-k4ggjrxhrhcdni6u.js +8 -0
- package/dist/chunks/typescript-k4ggjrxhrhcdni6u.js.map +1 -0
- package/dist/chunks/vendor-base-ui-bgl9g5nkvqy3tn36.js +24690 -0
- package/dist/chunks/vendor-base-ui-bgl9g5nkvqy3tn36.js.map +1 -0
- package/dist/chunks/vendor-floating-ui-dn8xswn8036udsqq.js +1311 -0
- package/dist/chunks/vendor-floating-ui-dn8xswn8036udsqq.js.map +1 -0
- package/dist/chunks/vendor-styling-gobnkhsy0rva4qd3.js +2775 -0
- package/dist/chunks/vendor-styling-gobnkhsy0rva4qd3.js.map +1 -0
- package/dist/chunks/vendor-utils-m5h2xu7s2rs3pgk5.js +217 -0
- package/dist/chunks/vendor-utils-m5h2xu7s2rs3pgk5.js.map +1 -0
- package/dist/chunks/vesper-ebfu9ns65f2v830s.js +6 -0
- package/dist/chunks/vesper-ebfu9ns65f2v830s.js.map +1 -0
- package/dist/chunks/wasm-oj22f8usru9h7dzg.js +9 -0
- package/dist/chunks/wasm-oj22f8usru9h7dzg.js.map +1 -0
- package/dist/chunks/yaml-e2v22lr79tss2brj.js +8 -0
- package/dist/chunks/yaml-e2v22lr79tss2brj.js.map +1 -0
- package/dist/code/server.js +88 -0
- package/dist/code/server.js.map +1 -0
- package/dist/code.js +256 -0
- package/dist/code.js.map +1 -0
- package/dist/command-line/cli.js +850 -0
- package/dist/command-line/commands/add.js +282 -0
- package/dist/command-line/commands/ai.js +22 -0
- package/dist/command-line/commands/blocks.js +61 -0
- package/dist/command-line/commands/doc.js +167 -0
- package/dist/command-line/commands/init.js +95 -0
- package/dist/command-line/commands/ls.js +53 -0
- package/dist/components/autocomplete.js +9 -0
- package/dist/components/autocomplete.js.map +1 -0
- package/dist/components/badge.js +7 -0
- package/dist/components/badge.js.map +1 -0
- package/dist/components/banner.js +7 -0
- package/dist/components/banner.js.map +1 -0
- package/dist/components/breadcrumbs.js +9 -0
- package/dist/components/breadcrumbs.js.map +1 -0
- package/dist/components/button.js +9 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/chart.js +10 -0
- package/dist/components/chart.js.map +1 -0
- package/dist/components/checkbox.js +8 -0
- package/dist/components/checkbox.js.map +1 -0
- package/dist/components/clipboard-text.js +6 -0
- package/dist/components/clipboard-text.js.map +1 -0
- package/dist/components/cloudflare-logo.js +10 -0
- package/dist/components/cloudflare-logo.js.map +1 -0
- package/dist/components/code.js +7 -0
- package/dist/components/code.js.map +1 -0
- package/dist/components/collapsible.js +6 -0
- package/dist/components/collapsible.js.map +1 -0
- package/dist/components/combobox.js +6 -0
- package/dist/components/combobox.js.map +1 -0
- package/dist/components/command-palette.js +8 -0
- package/dist/components/command-palette.js.map +1 -0
- package/dist/components/date-picker.js +6 -0
- package/dist/components/date-picker.js.map +1 -0
- package/dist/components/date-range-picker.js +6 -0
- package/dist/components/date-range-picker.js.map +1 -0
- package/dist/components/dialog.js +11 -0
- package/dist/components/dialog.js.map +1 -0
- package/dist/components/dropdown.js +6 -0
- package/dist/components/dropdown.js.map +1 -0
- package/dist/components/empty.js +9 -0
- package/dist/components/empty.js.map +1 -0
- package/dist/components/field.js +10 -0
- package/dist/components/field.js.map +1 -0
- package/dist/components/flow.js +5831 -0
- package/dist/components/flow.js.map +1 -0
- package/dist/components/grid.js +11 -0
- package/dist/components/grid.js.map +1 -0
- package/dist/components/input-group.js +8 -0
- package/dist/components/input-group.js.map +1 -0
- package/dist/components/input.js +14 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/label.js +10 -0
- package/dist/components/label.js.map +1 -0
- package/dist/components/layer-card.js +6 -0
- package/dist/components/layer-card.js.map +1 -0
- package/dist/components/link.js +9 -0
- package/dist/components/link.js.map +1 -0
- package/dist/components/loader.js +8 -0
- package/dist/components/loader.js.map +1 -0
- package/dist/components/menubar.js +7 -0
- package/dist/components/menubar.js.map +1 -0
- package/dist/components/meter.js +6 -0
- package/dist/components/meter.js.map +1 -0
- package/dist/components/pagination.js +6 -0
- package/dist/components/pagination.js.map +1 -0
- package/dist/components/popover.js +14 -0
- package/dist/components/popover.js.map +1 -0
- package/dist/components/radio.js +10 -0
- package/dist/components/radio.js.map +1 -0
- package/dist/components/select.js +6 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/sensitive-input.js +8 -0
- package/dist/components/sensitive-input.js.map +1 -0
- package/dist/components/sidebar.js +34 -0
- package/dist/components/sidebar.js.map +1 -0
- package/dist/components/surface.js +6 -0
- package/dist/components/surface.js.map +1 -0
- package/dist/components/switch.js +8 -0
- package/dist/components/switch.js.map +1 -0
- package/dist/components/table-of-contents.js +8 -0
- package/dist/components/table-of-contents.js.map +1 -0
- package/dist/components/table.js +8 -0
- package/dist/components/table.js.map +1 -0
- package/dist/components/tabs.js +6 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/text.js +6 -0
- package/dist/components/text.js.map +1 -0
- package/dist/components/toast.js +11 -0
- package/dist/components/toast.js.map +1 -0
- package/dist/components/tooltip.js +7 -0
- package/dist/components/tooltip.js.map +1 -0
- package/dist/index.js +344 -0
- package/dist/index.js.map +1 -0
- package/dist/primitives/accordion.js +6 -0
- package/dist/primitives/accordion.js.map +1 -0
- package/dist/primitives/alert-dialog.js +6 -0
- package/dist/primitives/alert-dialog.js.map +1 -0
- package/dist/primitives/autocomplete.js +6 -0
- package/dist/primitives/autocomplete.js.map +1 -0
- package/dist/primitives/avatar.js +6 -0
- package/dist/primitives/avatar.js.map +1 -0
- package/dist/primitives/button.js +6 -0
- package/dist/primitives/button.js.map +1 -0
- package/dist/primitives/checkbox-group.js +6 -0
- package/dist/primitives/checkbox-group.js.map +1 -0
- package/dist/primitives/checkbox.js +6 -0
- package/dist/primitives/checkbox.js.map +1 -0
- package/dist/primitives/collapsible.js +6 -0
- package/dist/primitives/collapsible.js.map +1 -0
- package/dist/primitives/combobox.js +6 -0
- package/dist/primitives/combobox.js.map +1 -0
- package/dist/primitives/context-menu.js +6 -0
- package/dist/primitives/context-menu.js.map +1 -0
- package/dist/primitives/csp-provider.js +6 -0
- package/dist/primitives/csp-provider.js.map +1 -0
- package/dist/primitives/dialog.js +6 -0
- package/dist/primitives/dialog.js.map +1 -0
- package/dist/primitives/direction-provider.js +7 -0
- package/dist/primitives/direction-provider.js.map +1 -0
- package/dist/primitives/drawer.js +6 -0
- package/dist/primitives/drawer.js.map +1 -0
- package/dist/primitives/field.js +6 -0
- package/dist/primitives/field.js.map +1 -0
- package/dist/primitives/fieldset.js +6 -0
- package/dist/primitives/fieldset.js.map +1 -0
- package/dist/primitives/form.js +6 -0
- package/dist/primitives/form.js.map +1 -0
- package/dist/primitives/input.js +6 -0
- package/dist/primitives/input.js.map +1 -0
- package/dist/primitives/menu.js +6 -0
- package/dist/primitives/menu.js.map +1 -0
- package/dist/primitives/menubar.js +6 -0
- package/dist/primitives/menubar.js.map +1 -0
- package/dist/primitives/meter.js +6 -0
- package/dist/primitives/meter.js.map +1 -0
- package/dist/primitives/navigation-menu.js +6 -0
- package/dist/primitives/navigation-menu.js.map +1 -0
- package/dist/primitives/number-field.js +6 -0
- package/dist/primitives/number-field.js.map +1 -0
- package/dist/primitives/otp-field.js +6 -0
- package/dist/primitives/otp-field.js.map +1 -0
- package/dist/primitives/popover.js +6 -0
- package/dist/primitives/popover.js.map +1 -0
- package/dist/primitives/preview-card.js +6 -0
- package/dist/primitives/preview-card.js.map +1 -0
- package/dist/primitives/progress.js +6 -0
- package/dist/primitives/progress.js.map +1 -0
- package/dist/primitives/radio-group.js +6 -0
- package/dist/primitives/radio-group.js.map +1 -0
- package/dist/primitives/radio.js +6 -0
- package/dist/primitives/radio.js.map +1 -0
- package/dist/primitives/scroll-area.js +6 -0
- package/dist/primitives/scroll-area.js.map +1 -0
- package/dist/primitives/select.js +6 -0
- package/dist/primitives/select.js.map +1 -0
- package/dist/primitives/separator.js +6 -0
- package/dist/primitives/separator.js.map +1 -0
- package/dist/primitives/slider.js +6 -0
- package/dist/primitives/slider.js.map +1 -0
- package/dist/primitives/switch.js +6 -0
- package/dist/primitives/switch.js.map +1 -0
- package/dist/primitives/tabs.js +6 -0
- package/dist/primitives/tabs.js.map +1 -0
- package/dist/primitives/toast.js +6 -0
- package/dist/primitives/toast.js.map +1 -0
- package/dist/primitives/toggle-group.js +6 -0
- package/dist/primitives/toggle-group.js.map +1 -0
- package/dist/primitives/toggle.js +6 -0
- package/dist/primitives/toggle.js.map +1 -0
- package/dist/primitives/toolbar.js +6 -0
- package/dist/primitives/toolbar.js.map +1 -0
- package/dist/primitives/tooltip.js +6 -0
- package/dist/primitives/tooltip.js.map +1 -0
- package/dist/primitives.js +46 -0
- package/dist/primitives.js.map +1 -0
- package/dist/registry.js +2 -0
- package/dist/registry.js.map +1 -0
- package/dist/scripts/theme-generator/config.d.ts +6 -0
- package/dist/scripts/theme-generator/config.d.ts.map +1 -0
- package/dist/scripts/theme-generator/config.js +629 -0
- package/dist/scripts/theme-generator/config.js.map +1 -0
- package/dist/scripts/theme-generator/generate-css.d.ts +31 -0
- package/dist/scripts/theme-generator/generate-css.d.ts.map +1 -0
- package/dist/scripts/theme-generator/index.d.ts +13 -0
- package/dist/scripts/theme-generator/index.d.ts.map +1 -0
- package/dist/scripts/theme-generator/migrate.d.ts +56 -0
- package/dist/scripts/theme-generator/migrate.d.ts.map +1 -0
- package/dist/scripts/theme-generator/types.d.ts +82 -0
- package/dist/scripts/theme-generator/types.d.ts.map +1 -0
- package/dist/scripts/theme-generator/types.js +2 -0
- package/dist/scripts/theme-generator/types.js.map +1 -0
- package/dist/src/blocks/delete-resource/delete-resource.d.ts +46 -0
- package/dist/src/blocks/delete-resource/delete-resource.d.ts.map +1 -0
- package/dist/src/blocks/delete-resource/index.d.ts +2 -0
- package/dist/src/blocks/delete-resource/index.d.ts.map +1 -0
- package/dist/src/blocks/page-header/index.d.ts +2 -0
- package/dist/src/blocks/page-header/index.d.ts.map +1 -0
- package/dist/src/blocks/page-header/page-header.d.ts +38 -0
- package/dist/src/blocks/page-header/page-header.d.ts.map +1 -0
- package/dist/src/blocks/resource-list/index.d.ts +2 -0
- package/dist/src/blocks/resource-list/index.d.ts.map +1 -0
- package/dist/src/blocks/resource-list/resource-list.d.ts +18 -0
- package/dist/src/blocks/resource-list/resource-list.d.ts.map +1 -0
- package/dist/src/catalog/catalog.d.ts +75 -0
- package/dist/src/catalog/catalog.d.ts.map +1 -0
- package/dist/src/catalog/data.d.ts +44 -0
- package/dist/src/catalog/data.d.ts.map +1 -0
- package/dist/src/catalog/index.d.ts +39 -0
- package/dist/src/catalog/index.d.ts.map +1 -0
- package/dist/src/catalog/types.d.ts +226 -0
- package/dist/src/catalog/types.d.ts.map +1 -0
- package/dist/src/catalog/visibility.d.ts +37 -0
- package/dist/src/catalog/visibility.d.ts.map +1 -0
- package/dist/src/code/code-highlighted.d.ts +32 -0
- package/dist/src/code/code-highlighted.d.ts.map +1 -0
- package/dist/src/code/context.d.ts +16 -0
- package/dist/src/code/context.d.ts.map +1 -0
- package/dist/src/code/index.d.ts +32 -0
- package/dist/src/code/index.d.ts.map +1 -0
- package/dist/src/code/provider.d.ts +13 -0
- package/dist/src/code/provider.d.ts.map +1 -0
- package/dist/src/code/server.d.ts +95 -0
- package/dist/src/code/server.d.ts.map +1 -0
- package/dist/src/code/types.d.ts +130 -0
- package/dist/src/code/types.d.ts.map +1 -0
- package/dist/src/code/use-shiki-highlighter.d.ts +36 -0
- package/dist/src/code/use-shiki-highlighter.d.ts.map +1 -0
- package/dist/src/command-line/build-cli.d.ts +7 -0
- package/dist/src/command-line/build-cli.d.ts.map +1 -0
- package/dist/src/command-line/cli.d.ts +13 -0
- package/dist/src/command-line/cli.d.ts.map +1 -0
- package/dist/src/command-line/commands/add.d.ts +10 -0
- package/dist/src/command-line/commands/add.d.ts.map +1 -0
- package/dist/src/command-line/commands/ai.d.ts +10 -0
- package/dist/src/command-line/commands/ai.d.ts.map +1 -0
- package/dist/src/command-line/commands/blocks.d.ts +10 -0
- package/dist/src/command-line/commands/blocks.d.ts.map +1 -0
- package/dist/src/command-line/commands/doc.d.ts +14 -0
- package/dist/src/command-line/commands/doc.d.ts.map +1 -0
- package/dist/src/command-line/commands/init.d.ts +18 -0
- package/dist/src/command-line/commands/init.d.ts.map +1 -0
- package/dist/src/command-line/commands/ls.d.ts +10 -0
- package/dist/src/command-line/commands/ls.d.ts.map +1 -0
- package/dist/src/command-line/commands/migrate.d.ts +10 -0
- package/dist/src/command-line/commands/migrate.d.ts.map +1 -0
- package/dist/src/command-line/utils/config.d.ts +42 -0
- package/dist/src/command-line/utils/config.d.ts.map +1 -0
- package/dist/src/command-line/utils/transformer.d.ts +21 -0
- package/dist/src/command-line/utils/transformer.d.ts.map +1 -0
- package/dist/src/components/autocomplete/autocomplete.d.ts +181 -0
- package/dist/src/components/autocomplete/autocomplete.d.ts.map +1 -0
- package/dist/src/components/autocomplete/index.d.ts +3 -0
- package/dist/src/components/autocomplete/index.d.ts.map +1 -0
- package/dist/src/components/badge/badge.d.ts +180 -0
- package/dist/src/components/badge/badge.d.ts.map +1 -0
- package/dist/src/components/badge/index.d.ts +2 -0
- package/dist/src/components/badge/index.d.ts.map +1 -0
- package/dist/src/components/banner/banner.d.ts +106 -0
- package/dist/src/components/banner/banner.d.ts.map +1 -0
- package/dist/src/components/banner/index.d.ts +2 -0
- package/dist/src/components/banner/index.d.ts.map +1 -0
- package/dist/src/components/breadcrumbs/breadcrumbs.d.ts +78 -0
- package/dist/src/components/breadcrumbs/breadcrumbs.d.ts.map +1 -0
- package/dist/src/components/breadcrumbs/index.d.ts +2 -0
- package/dist/src/components/breadcrumbs/index.d.ts.map +1 -0
- package/dist/src/components/button/button.d.ts +214 -0
- package/dist/src/components/button/button.d.ts.map +1 -0
- package/dist/src/components/button/index.d.ts +2 -0
- package/dist/src/components/button/index.d.ts.map +1 -0
- package/dist/src/components/chart/Color.d.ts +91 -0
- package/dist/src/components/chart/Color.d.ts.map +1 -0
- package/dist/src/components/chart/EChart.d.ts +159 -0
- package/dist/src/components/chart/EChart.d.ts.map +1 -0
- package/dist/src/components/chart/Legend.d.ts +51 -0
- package/dist/src/components/chart/Legend.d.ts.map +1 -0
- package/dist/src/components/chart/SankeyChart.d.ts +98 -0
- package/dist/src/components/chart/SankeyChart.d.ts.map +1 -0
- package/dist/src/components/chart/TimeseriesChart.d.ts +181 -0
- package/dist/src/components/chart/TimeseriesChart.d.ts.map +1 -0
- package/dist/src/components/chart/index.d.ts +6 -0
- package/dist/src/components/chart/index.d.ts.map +1 -0
- package/dist/src/components/checkbox/checkbox.d.ts +197 -0
- package/dist/src/components/checkbox/checkbox.d.ts.map +1 -0
- package/dist/src/components/checkbox/index.d.ts +2 -0
- package/dist/src/components/checkbox/index.d.ts.map +1 -0
- package/dist/src/components/clipboard-text/clipboard-text.d.ts +88 -0
- package/dist/src/components/clipboard-text/clipboard-text.d.ts.map +1 -0
- package/dist/src/components/clipboard-text/index.d.ts +2 -0
- package/dist/src/components/clipboard-text/index.d.ts.map +1 -0
- package/dist/src/components/cloudflare-logo/cloudflare-logo.d.ts +133 -0
- package/dist/src/components/cloudflare-logo/cloudflare-logo.d.ts.map +1 -0
- package/dist/src/components/cloudflare-logo/index.d.ts +2 -0
- package/dist/src/components/cloudflare-logo/index.d.ts.map +1 -0
- package/dist/src/components/code/code.d.ts +189 -0
- package/dist/src/components/code/code.d.ts.map +1 -0
- package/dist/src/components/code/index.d.ts +4 -0
- package/dist/src/components/code/index.d.ts.map +1 -0
- package/dist/src/components/collapsible/collapsible.d.ts +109 -0
- package/dist/src/components/collapsible/collapsible.d.ts.map +1 -0
- package/dist/src/components/collapsible/index.d.ts +2 -0
- package/dist/src/components/collapsible/index.d.ts.map +1 -0
- package/dist/src/components/combobox/combobox.d.ts +246 -0
- package/dist/src/components/combobox/combobox.d.ts.map +1 -0
- package/dist/src/components/combobox/index.d.ts +3 -0
- package/dist/src/components/combobox/index.d.ts.map +1 -0
- package/dist/src/components/command-palette/command-palette.d.ts +258 -0
- package/dist/src/components/command-palette/command-palette.d.ts.map +1 -0
- package/dist/src/components/command-palette/index.d.ts +3 -0
- package/dist/src/components/command-palette/index.d.ts.map +1 -0
- package/dist/src/components/command-palette/types.d.ts +168 -0
- package/dist/src/components/command-palette/types.d.ts.map +1 -0
- package/dist/src/components/date-picker/date-picker.d.ts +65 -0
- package/dist/src/components/date-picker/date-picker.d.ts.map +1 -0
- package/dist/src/components/date-picker/index.d.ts +4 -0
- package/dist/src/components/date-picker/index.d.ts.map +1 -0
- package/dist/src/components/date-range-picker/date-range-picker.d.ts +125 -0
- package/dist/src/components/date-range-picker/date-range-picker.d.ts.map +1 -0
- package/dist/src/components/date-range-picker/index.d.ts +5 -0
- package/dist/src/components/date-range-picker/index.d.ts.map +1 -0
- package/dist/src/components/dialog/dialog.d.ts +242 -0
- package/dist/src/components/dialog/dialog.d.ts.map +1 -0
- package/dist/src/components/dialog/index.d.ts +2 -0
- package/dist/src/components/dialog/index.d.ts.map +1 -0
- package/dist/src/components/dropdown/dropdown.d.ts +116 -0
- package/dist/src/components/dropdown/dropdown.d.ts.map +1 -0
- package/dist/src/components/dropdown/index.d.ts +2 -0
- package/dist/src/components/dropdown/index.d.ts.map +1 -0
- package/dist/src/components/empty/empty.d.ts +69 -0
- package/dist/src/components/empty/empty.d.ts.map +1 -0
- package/dist/src/components/empty/index.d.ts +2 -0
- package/dist/src/components/empty/index.d.ts.map +1 -0
- package/dist/src/components/field/field.d.ts +89 -0
- package/dist/src/components/field/field.d.ts.map +1 -0
- package/dist/src/components/field/index.d.ts +2 -0
- package/dist/src/components/field/index.d.ts.map +1 -0
- package/dist/src/components/flow/connectors.d.ts +41 -0
- package/dist/src/components/flow/connectors.d.ts.map +1 -0
- package/dist/src/components/flow/diagram.d.ts +96 -0
- package/dist/src/components/flow/diagram.d.ts.map +1 -0
- package/dist/src/components/flow/index.d.ts +26 -0
- package/dist/src/components/flow/index.d.ts.map +1 -0
- package/dist/src/components/flow/node.d.ts +61 -0
- package/dist/src/components/flow/node.d.ts.map +1 -0
- package/dist/src/components/flow/parallel.d.ts +13 -0
- package/dist/src/components/flow/parallel.d.ts.map +1 -0
- package/dist/src/components/flow/use-children.d.ts +87 -0
- package/dist/src/components/flow/use-children.d.ts.map +1 -0
- package/dist/src/components/grid/grid.d.ts +135 -0
- package/dist/src/components/grid/grid.d.ts.map +1 -0
- package/dist/src/components/grid/index.d.ts +2 -0
- package/dist/src/components/grid/index.d.ts.map +1 -0
- package/dist/src/components/input/index.d.ts +19 -0
- package/dist/src/components/input/index.d.ts.map +1 -0
- package/dist/src/components/input/input-area.d.ts +65 -0
- package/dist/src/components/input/input-area.d.ts.map +1 -0
- package/dist/src/components/input/input.d.ts +175 -0
- package/dist/src/components/input/input.d.ts.map +1 -0
- package/dist/src/components/input-group/context.d.ts +96 -0
- package/dist/src/components/input-group/context.d.ts.map +1 -0
- package/dist/src/components/input-group/index.d.ts +2 -0
- package/dist/src/components/input-group/index.d.ts.map +1 -0
- package/dist/src/components/input-group/input-group-addon.d.ts +15 -0
- package/dist/src/components/input-group/input-group-addon.d.ts.map +1 -0
- package/dist/src/components/input-group/input-group-button.d.ts +36 -0
- package/dist/src/components/input-group/input-group-button.d.ts.map +1 -0
- package/dist/src/components/input-group/input-group-input.d.ts +9 -0
- package/dist/src/components/input-group/input-group-input.d.ts.map +1 -0
- package/dist/src/components/input-group/input-group-suffix.d.ts +13 -0
- package/dist/src/components/input-group/input-group-suffix.d.ts.map +1 -0
- package/dist/src/components/input-group/input-group.d.ts +43 -0
- package/dist/src/components/input-group/input-group.d.ts.map +1 -0
- package/dist/src/components/label/index.d.ts +2 -0
- package/dist/src/components/label/index.d.ts.map +1 -0
- package/dist/src/components/label/label.d.ts +67 -0
- package/dist/src/components/label/label.d.ts.map +1 -0
- package/dist/src/components/layer-card/index.d.ts +2 -0
- package/dist/src/components/layer-card/index.d.ts.map +1 -0
- package/dist/src/components/layer-card/layer-card.d.ts +60 -0
- package/dist/src/components/layer-card/layer-card.d.ts.map +1 -0
- package/dist/src/components/link/index.d.ts +2 -0
- package/dist/src/components/link/index.d.ts.map +1 -0
- package/dist/src/components/link/link.d.ts +66 -0
- package/dist/src/components/link/link.d.ts.map +1 -0
- package/dist/src/components/loader/index.d.ts +3 -0
- package/dist/src/components/loader/index.d.ts.map +1 -0
- package/dist/src/components/loader/loader.d.ts +70 -0
- package/dist/src/components/loader/loader.d.ts.map +1 -0
- package/dist/src/components/loader/skeleton-line.d.ts +11 -0
- package/dist/src/components/loader/skeleton-line.d.ts.map +1 -0
- package/dist/src/components/menubar/index.d.ts +3 -0
- package/dist/src/components/menubar/index.d.ts.map +1 -0
- package/dist/src/components/menubar/menubar.d.ts +66 -0
- package/dist/src/components/menubar/menubar.d.ts.map +1 -0
- package/dist/src/components/menubar/use-menu-navigation.d.ts +8 -0
- package/dist/src/components/menubar/use-menu-navigation.d.ts.map +1 -0
- package/dist/src/components/meter/index.d.ts +2 -0
- package/dist/src/components/meter/index.d.ts.map +1 -0
- package/dist/src/components/meter/meter.d.ts +44 -0
- package/dist/src/components/meter/meter.d.ts.map +1 -0
- package/dist/src/components/pagination/index.d.ts +2 -0
- package/dist/src/components/pagination/index.d.ts.map +1 -0
- package/dist/src/components/pagination/pagination.d.ts +241 -0
- package/dist/src/components/pagination/pagination.d.ts.map +1 -0
- package/dist/src/components/popover/index.d.ts +3 -0
- package/dist/src/components/popover/index.d.ts.map +1 -0
- package/dist/src/components/popover/popover.d.ts +178 -0
- package/dist/src/components/popover/popover.d.ts.map +1 -0
- package/dist/src/components/radio/index.d.ts +2 -0
- package/dist/src/components/radio/index.d.ts.map +1 -0
- package/dist/src/components/radio/radio.d.ts +277 -0
- package/dist/src/components/radio/radio.d.ts.map +1 -0
- package/dist/src/components/radio/radio.type-spec.d.ts +12 -0
- package/dist/src/components/radio/radio.type-spec.d.ts.map +1 -0
- package/dist/src/components/select/index.d.ts +2 -0
- package/dist/src/components/select/index.d.ts.map +1 -0
- package/dist/src/components/select/select.d.ts +288 -0
- package/dist/src/components/select/select.d.ts.map +1 -0
- package/dist/src/components/sensitive-input/index.d.ts +2 -0
- package/dist/src/components/sensitive-input/index.d.ts.map +1 -0
- package/dist/src/components/sensitive-input/sensitive-input.d.ts +94 -0
- package/dist/src/components/sensitive-input/sensitive-input.d.ts.map +1 -0
- package/dist/src/components/sidebar/index.d.ts +2 -0
- package/dist/src/components/sidebar/index.d.ts.map +1 -0
- package/dist/src/components/sidebar/sidebar.d.ts +581 -0
- package/dist/src/components/sidebar/sidebar.d.ts.map +1 -0
- package/dist/src/components/surface/index.d.ts +5 -0
- package/dist/src/components/surface/index.d.ts.map +1 -0
- package/dist/src/components/surface/surface.d.ts +64 -0
- package/dist/src/components/surface/surface.d.ts.map +1 -0
- package/dist/src/components/switch/index.d.ts +2 -0
- package/dist/src/components/switch/index.d.ts.map +1 -0
- package/dist/src/components/switch/switch.d.ts +197 -0
- package/dist/src/components/switch/switch.d.ts.map +1 -0
- package/dist/src/components/table/index.d.ts +2 -0
- package/dist/src/components/table/index.d.ts.map +1 -0
- package/dist/src/components/table/table.d.ts +138 -0
- package/dist/src/components/table/table.d.ts.map +1 -0
- package/dist/src/components/table-of-contents/index.d.ts +2 -0
- package/dist/src/components/table-of-contents/index.d.ts.map +1 -0
- package/dist/src/components/table-of-contents/table-of-contents.d.ts +72 -0
- package/dist/src/components/table-of-contents/table-of-contents.d.ts.map +1 -0
- package/dist/src/components/tabs/index.d.ts +3 -0
- package/dist/src/components/tabs/index.d.ts.map +1 -0
- package/dist/src/components/tabs/tabs.d.ts +116 -0
- package/dist/src/components/tabs/tabs.d.ts.map +1 -0
- package/dist/src/components/text/index.d.ts +2 -0
- package/dist/src/components/text/index.d.ts.map +1 -0
- package/dist/src/components/text/text.d.ts +214 -0
- package/dist/src/components/text/text.d.ts.map +1 -0
- package/dist/src/components/text/text.type-spec.d.ts +44 -0
- package/dist/src/components/text/text.type-spec.d.ts.map +1 -0
- package/dist/src/components/toast/index.d.ts +5 -0
- package/dist/src/components/toast/index.d.ts.map +1 -0
- package/dist/src/components/toast/toast.d.ts +197 -0
- package/dist/src/components/toast/toast.d.ts.map +1 -0
- package/dist/src/components/tooltip/index.d.ts +2 -0
- package/dist/src/components/tooltip/index.d.ts.map +1 -0
- package/dist/src/components/tooltip/tooltip.d.ts +108 -0
- package/dist/src/components/tooltip/tooltip.d.ts.map +1 -0
- package/dist/src/index.d.ts +84 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/primitives/accordion.d.ts +13 -0
- package/dist/src/primitives/accordion.d.ts.map +1 -0
- package/dist/src/primitives/alert-dialog.d.ts +13 -0
- package/dist/src/primitives/alert-dialog.d.ts.map +1 -0
- package/dist/src/primitives/autocomplete.d.ts +13 -0
- package/dist/src/primitives/autocomplete.d.ts.map +1 -0
- package/dist/src/primitives/avatar.d.ts +13 -0
- package/dist/src/primitives/avatar.d.ts.map +1 -0
- package/dist/src/primitives/button.d.ts +13 -0
- package/dist/src/primitives/button.d.ts.map +1 -0
- package/dist/src/primitives/checkbox-group.d.ts +13 -0
- package/dist/src/primitives/checkbox-group.d.ts.map +1 -0
- package/dist/src/primitives/checkbox.d.ts +13 -0
- package/dist/src/primitives/checkbox.d.ts.map +1 -0
- package/dist/src/primitives/collapsible.d.ts +13 -0
- package/dist/src/primitives/collapsible.d.ts.map +1 -0
- package/dist/src/primitives/combobox.d.ts +13 -0
- package/dist/src/primitives/combobox.d.ts.map +1 -0
- package/dist/src/primitives/context-menu.d.ts +13 -0
- package/dist/src/primitives/context-menu.d.ts.map +1 -0
- package/dist/src/primitives/csp-provider.d.ts +13 -0
- package/dist/src/primitives/csp-provider.d.ts.map +1 -0
- package/dist/src/primitives/dialog.d.ts +13 -0
- package/dist/src/primitives/dialog.d.ts.map +1 -0
- package/dist/src/primitives/direction-provider.d.ts +13 -0
- package/dist/src/primitives/direction-provider.d.ts.map +1 -0
- package/dist/src/primitives/drawer.d.ts +13 -0
- package/dist/src/primitives/drawer.d.ts.map +1 -0
- package/dist/src/primitives/field.d.ts +13 -0
- package/dist/src/primitives/field.d.ts.map +1 -0
- package/dist/src/primitives/fieldset.d.ts +13 -0
- package/dist/src/primitives/fieldset.d.ts.map +1 -0
- package/dist/src/primitives/form.d.ts +13 -0
- package/dist/src/primitives/form.d.ts.map +1 -0
- package/dist/src/primitives/index.d.ts +55 -0
- package/dist/src/primitives/index.d.ts.map +1 -0
- package/dist/src/primitives/input.d.ts +13 -0
- package/dist/src/primitives/input.d.ts.map +1 -0
- package/dist/src/primitives/menu.d.ts +13 -0
- package/dist/src/primitives/menu.d.ts.map +1 -0
- package/dist/src/primitives/menubar.d.ts +13 -0
- package/dist/src/primitives/menubar.d.ts.map +1 -0
- package/dist/src/primitives/meter.d.ts +13 -0
- package/dist/src/primitives/meter.d.ts.map +1 -0
- package/dist/src/primitives/navigation-menu.d.ts +13 -0
- package/dist/src/primitives/navigation-menu.d.ts.map +1 -0
- package/dist/src/primitives/number-field.d.ts +13 -0
- package/dist/src/primitives/number-field.d.ts.map +1 -0
- package/dist/src/primitives/otp-field.d.ts +13 -0
- package/dist/src/primitives/otp-field.d.ts.map +1 -0
- package/dist/src/primitives/popover.d.ts +13 -0
- package/dist/src/primitives/popover.d.ts.map +1 -0
- package/dist/src/primitives/preview-card.d.ts +13 -0
- package/dist/src/primitives/preview-card.d.ts.map +1 -0
- package/dist/src/primitives/progress.d.ts +13 -0
- package/dist/src/primitives/progress.d.ts.map +1 -0
- package/dist/src/primitives/radio-group.d.ts +13 -0
- package/dist/src/primitives/radio-group.d.ts.map +1 -0
- package/dist/src/primitives/radio.d.ts +13 -0
- package/dist/src/primitives/radio.d.ts.map +1 -0
- package/dist/src/primitives/scroll-area.d.ts +13 -0
- package/dist/src/primitives/scroll-area.d.ts.map +1 -0
- package/dist/src/primitives/select.d.ts +13 -0
- package/dist/src/primitives/select.d.ts.map +1 -0
- package/dist/src/primitives/separator.d.ts +13 -0
- package/dist/src/primitives/separator.d.ts.map +1 -0
- package/dist/src/primitives/slider.d.ts +13 -0
- package/dist/src/primitives/slider.d.ts.map +1 -0
- package/dist/src/primitives/switch.d.ts +13 -0
- package/dist/src/primitives/switch.d.ts.map +1 -0
- package/dist/src/primitives/tabs.d.ts +13 -0
- package/dist/src/primitives/tabs.d.ts.map +1 -0
- package/dist/src/primitives/toast.d.ts +13 -0
- package/dist/src/primitives/toast.d.ts.map +1 -0
- package/dist/src/primitives/toggle-group.d.ts +13 -0
- package/dist/src/primitives/toggle-group.d.ts.map +1 -0
- package/dist/src/primitives/toggle.d.ts +13 -0
- package/dist/src/primitives/toggle.d.ts.map +1 -0
- package/dist/src/primitives/toolbar.d.ts +13 -0
- package/dist/src/primitives/toolbar.d.ts.map +1 -0
- package/dist/src/primitives/tooltip.d.ts +13 -0
- package/dist/src/primitives/tooltip.d.ts.map +1 -0
- package/dist/src/registry/index.d.ts +8 -0
- package/dist/src/registry/index.d.ts.map +1 -0
- package/dist/src/registry/types.d.ts +191 -0
- package/dist/src/registry/types.d.ts.map +1 -0
- package/dist/src/utils/cn.d.ts +4 -0
- package/dist/src/utils/cn.d.ts.map +1 -0
- package/dist/src/utils/index.d.ts +4 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/link-provider.d.ts +66 -0
- package/dist/src/utils/link-provider.d.ts.map +1 -0
- package/dist/src/utils/portal-provider.d.ts +56 -0
- package/dist/src/utils/portal-provider.d.ts.map +1 -0
- package/dist/src/utils/prop-examples.d.ts +36 -0
- package/dist/src/utils/prop-examples.d.ts.map +1 -0
- package/dist/src/utils/resolve-variant.d.ts +27 -0
- package/dist/src/utils/resolve-variant.d.ts.map +1 -0
- package/dist/styles/reki-binding.css +303 -0
- package/dist/styles/reki-standalone.css +2 -0
- package/dist/styles/reki.css +700 -0
- package/dist/styles/theme-fedramp.css +39 -0
- package/dist/styles/theme-reki.css +412 -0
- package/dist/utils.js +12 -0
- package/dist/utils.js.map +1 -0
- package/package.json +511 -0
- package/scripts/component-registry/cache.ts +123 -0
- package/scripts/component-registry/discovery.ts +469 -0
- package/scripts/component-registry/example-cleanup.ts +168 -0
- package/scripts/component-registry/index.test.ts +987 -0
- package/scripts/component-registry/index.ts +970 -0
- package/scripts/component-registry/markdown-generator.ts +222 -0
- package/scripts/component-registry/metadata.ts +956 -0
- package/scripts/component-registry/props-filter.ts +310 -0
- package/scripts/component-registry/schema-generator.ts +331 -0
- package/scripts/component-registry/sub-components.ts +380 -0
- package/scripts/component-registry/types.ts +158 -0
- package/scripts/component-registry/utils.ts +280 -0
- package/scripts/component-registry/variant-parser.ts +261 -0
- package/scripts/css-build.ts +105 -0
- package/scripts/generate-primitives.ts +183 -0
- package/scripts/theme-generator/config.ts +653 -0
- package/scripts/theme-generator/generate-css.test.ts +30 -0
- package/scripts/theme-generator/generate-css.ts +351 -0
- package/scripts/theme-generator/index.ts +159 -0
- package/scripts/theme-generator/migrate.ts +560 -0
- package/scripts/theme-generator/types.ts +92 -0
|
@@ -0,0 +1,850 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
// src/command-line/commands/ls.ts
|
|
4
|
+
import { readFileSync } from "node:fs";
|
|
5
|
+
import { dirname, join } from "node:path";
|
|
6
|
+
import { fileURLToPath } from "node:url";
|
|
7
|
+
function getRegistryPath() {
|
|
8
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
9
|
+
return join(__dirname, "..", "..", "ai", "component-registry.json");
|
|
10
|
+
}
|
|
11
|
+
function loadRegistry() {
|
|
12
|
+
const registryPath = getRegistryPath();
|
|
13
|
+
const content = readFileSync(registryPath, "utf-8");
|
|
14
|
+
return JSON.parse(content);
|
|
15
|
+
}
|
|
16
|
+
function ls() {
|
|
17
|
+
try {
|
|
18
|
+
const registry = loadRegistry();
|
|
19
|
+
const components = Object.values(registry.components);
|
|
20
|
+
const byCategory = /* @__PURE__ */ new Map();
|
|
21
|
+
for (const component of components) {
|
|
22
|
+
const category = component.category || "Other";
|
|
23
|
+
if (!byCategory.has(category)) {
|
|
24
|
+
byCategory.set(category, []);
|
|
25
|
+
}
|
|
26
|
+
byCategory.get(category).push(component);
|
|
27
|
+
}
|
|
28
|
+
const sortedCategories = [...byCategory.keys()].sort();
|
|
29
|
+
console.log(`Reki Components (${components.length} total)
|
|
30
|
+
`);
|
|
31
|
+
for (const category of sortedCategories) {
|
|
32
|
+
const categoryComponents = [...byCategory.get(category)].sort(
|
|
33
|
+
(a, b) => a.name.localeCompare(b.name)
|
|
34
|
+
);
|
|
35
|
+
console.log(`${category}:`);
|
|
36
|
+
for (const component of categoryComponents) {
|
|
37
|
+
console.log(` ${component.name} - ${component.description}`);
|
|
38
|
+
}
|
|
39
|
+
console.log();
|
|
40
|
+
}
|
|
41
|
+
} catch (error) {
|
|
42
|
+
if (error instanceof Error && "code" in error && error.code === "ENOENT") {
|
|
43
|
+
console.error(
|
|
44
|
+
"Error: Component registry not found. Run `pnpm codegen:registry` first."
|
|
45
|
+
);
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
48
|
+
throw error;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// src/command-line/commands/doc.ts
|
|
53
|
+
import { readFileSync as readFileSync2 } from "node:fs";
|
|
54
|
+
import { dirname as dirname2, join as join2 } from "node:path";
|
|
55
|
+
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
56
|
+
function getRegistryPath2() {
|
|
57
|
+
const __dirname = dirname2(fileURLToPath2(import.meta.url));
|
|
58
|
+
return join2(__dirname, "..", "..", "ai", "component-registry.json");
|
|
59
|
+
}
|
|
60
|
+
function loadRegistry2() {
|
|
61
|
+
const registryPath = getRegistryPath2();
|
|
62
|
+
const content = readFileSync2(registryPath, "utf-8");
|
|
63
|
+
return JSON.parse(content);
|
|
64
|
+
}
|
|
65
|
+
function findComponent(registry, name) {
|
|
66
|
+
const lowerName = name.toLowerCase();
|
|
67
|
+
for (const [key, component] of Object.entries(registry.components)) {
|
|
68
|
+
if (key.toLowerCase() === lowerName) {
|
|
69
|
+
return component;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
function findSimilar(registry, name) {
|
|
75
|
+
const lowerName = name.toLowerCase();
|
|
76
|
+
const componentNames = Object.keys(registry.components);
|
|
77
|
+
return componentNames.filter(
|
|
78
|
+
(n) => n.toLowerCase().includes(lowerName) || lowerName.includes(n.toLowerCase())
|
|
79
|
+
).slice(0, 5);
|
|
80
|
+
}
|
|
81
|
+
function formatProp(name, prop) {
|
|
82
|
+
const parts = [];
|
|
83
|
+
let typeStr = prop.type;
|
|
84
|
+
if (prop.values && prop.values.length > 0) {
|
|
85
|
+
typeStr = prop.values.map((v) => `"${v}"`).join(" | ");
|
|
86
|
+
}
|
|
87
|
+
const required = prop.required === true || prop.optional === false;
|
|
88
|
+
const requiredStr = required ? "(required)" : "";
|
|
89
|
+
const defaultStr = prop.default ? `[default: ${prop.default}]` : "";
|
|
90
|
+
parts.push(` ${name}: ${typeStr} ${requiredStr} ${defaultStr}`.trim());
|
|
91
|
+
if (prop.description) {
|
|
92
|
+
parts.push(` ${prop.description}`);
|
|
93
|
+
}
|
|
94
|
+
if (prop.descriptions && Object.keys(prop.descriptions).length > 0) {
|
|
95
|
+
for (const [value, desc] of Object.entries(prop.descriptions)) {
|
|
96
|
+
parts.push(` - "${value}": ${desc}`);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return parts.join("\n");
|
|
100
|
+
}
|
|
101
|
+
function formatComponentDoc(component) {
|
|
102
|
+
const lines = [];
|
|
103
|
+
lines.push(`# ${component.name}
|
|
104
|
+
`);
|
|
105
|
+
lines.push(`${component.description}
|
|
106
|
+
`);
|
|
107
|
+
lines.push(
|
|
108
|
+
`**Import:** \`import { ${component.name} } from "${component.importPath}";\`
|
|
109
|
+
`
|
|
110
|
+
);
|
|
111
|
+
lines.push(`**Category:** ${component.category}
|
|
112
|
+
`);
|
|
113
|
+
const propEntries = Object.entries(component.props);
|
|
114
|
+
if (propEntries.length > 0) {
|
|
115
|
+
lines.push("## Props\n");
|
|
116
|
+
for (const [propName, propInfo] of propEntries) {
|
|
117
|
+
lines.push(formatProp(propName, propInfo));
|
|
118
|
+
lines.push("");
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
if (component.subComponents) {
|
|
122
|
+
lines.push("## Sub-Components\n");
|
|
123
|
+
for (const [subName, subInfo] of Object.entries(component.subComponents)) {
|
|
124
|
+
lines.push(`### ${component.name}.${subName}`);
|
|
125
|
+
if (subInfo.description) {
|
|
126
|
+
lines.push(subInfo.description);
|
|
127
|
+
}
|
|
128
|
+
if (subInfo.renderElement) {
|
|
129
|
+
lines.push(`Renders: ${subInfo.renderElement}`);
|
|
130
|
+
}
|
|
131
|
+
if (subInfo.props) {
|
|
132
|
+
lines.push("Props:");
|
|
133
|
+
for (const [propName, propInfo] of Object.entries(subInfo.props)) {
|
|
134
|
+
const required = propInfo.required ? "(required)" : "";
|
|
135
|
+
lines.push(` - ${propName}: ${propInfo.type} ${required}`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
lines.push("");
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
if (component.examples && component.examples.length > 0) {
|
|
142
|
+
lines.push("## Examples\n");
|
|
143
|
+
for (const example of component.examples.slice(0, 3)) {
|
|
144
|
+
lines.push("```tsx");
|
|
145
|
+
lines.push(example);
|
|
146
|
+
lines.push("```\n");
|
|
147
|
+
}
|
|
148
|
+
if (component.examples.length > 3) {
|
|
149
|
+
lines.push(
|
|
150
|
+
`(${component.examples.length - 3} more examples available in Storybook)`
|
|
151
|
+
);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
if (component.colors && component.colors.length > 0) {
|
|
155
|
+
lines.push("\n## Semantic Tokens Used\n");
|
|
156
|
+
lines.push(component.colors.join(", "));
|
|
157
|
+
}
|
|
158
|
+
return lines.join("\n");
|
|
159
|
+
}
|
|
160
|
+
function docs() {
|
|
161
|
+
try {
|
|
162
|
+
const registry = loadRegistry2();
|
|
163
|
+
const components = Object.values(registry.components);
|
|
164
|
+
console.log(`# Reki Component Documentation
|
|
165
|
+
`);
|
|
166
|
+
console.log(`${components.length} components available
|
|
167
|
+
`);
|
|
168
|
+
console.log("---\n");
|
|
169
|
+
for (const component of components) {
|
|
170
|
+
console.log(formatComponentDoc(component));
|
|
171
|
+
console.log("\n---\n");
|
|
172
|
+
}
|
|
173
|
+
} catch (error) {
|
|
174
|
+
if (error instanceof Error && "code" in error && error.code === "ENOENT") {
|
|
175
|
+
console.error(
|
|
176
|
+
"Error: Component registry not found. Run `pnpm codegen:registry` first."
|
|
177
|
+
);
|
|
178
|
+
process.exit(1);
|
|
179
|
+
}
|
|
180
|
+
throw error;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
function doc(componentName) {
|
|
184
|
+
if (!componentName) {
|
|
185
|
+
docs();
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
try {
|
|
189
|
+
const registry = loadRegistry2();
|
|
190
|
+
const component = findComponent(registry, componentName);
|
|
191
|
+
if (!component) {
|
|
192
|
+
const similar = findSimilar(registry, componentName);
|
|
193
|
+
console.error(`Component "${componentName}" not found.`);
|
|
194
|
+
if (similar.length > 0) {
|
|
195
|
+
console.error(`
|
|
196
|
+
Did you mean: ${similar.join(", ")}?`);
|
|
197
|
+
}
|
|
198
|
+
console.error(`
|
|
199
|
+
Run "reki ls" to see all available components.`);
|
|
200
|
+
process.exit(1);
|
|
201
|
+
}
|
|
202
|
+
console.log(formatComponentDoc(component));
|
|
203
|
+
} catch (error) {
|
|
204
|
+
if (error instanceof Error && "code" in error && error.code === "ENOENT") {
|
|
205
|
+
console.error(
|
|
206
|
+
"Error: Component registry not found. Run `pnpm codegen:registry` first."
|
|
207
|
+
);
|
|
208
|
+
process.exit(1);
|
|
209
|
+
}
|
|
210
|
+
throw error;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
// src/command-line/commands/init.ts
|
|
215
|
+
import { createInterface } from "node:readline/promises";
|
|
216
|
+
|
|
217
|
+
// src/command-line/utils/config.ts
|
|
218
|
+
import { existsSync, readFileSync as readFileSync3, writeFileSync } from "node:fs";
|
|
219
|
+
import { join as join3 } from "node:path";
|
|
220
|
+
var DEFAULT_CONFIG = {
|
|
221
|
+
blocksDir: "src/components/reki",
|
|
222
|
+
version: "1.0.0"
|
|
223
|
+
};
|
|
224
|
+
function readConfig(projectRoot = process.cwd()) {
|
|
225
|
+
const configPath = join3(projectRoot, "reki.json");
|
|
226
|
+
if (!existsSync(configPath)) {
|
|
227
|
+
return null;
|
|
228
|
+
}
|
|
229
|
+
try {
|
|
230
|
+
const content = readFileSync3(configPath, "utf-8");
|
|
231
|
+
const config = JSON.parse(content);
|
|
232
|
+
return {
|
|
233
|
+
...DEFAULT_CONFIG,
|
|
234
|
+
...config
|
|
235
|
+
};
|
|
236
|
+
} catch (error) {
|
|
237
|
+
throw new Error(
|
|
238
|
+
`Failed to parse reki.json: ${error instanceof Error ? error.message : String(error)}`,
|
|
239
|
+
{ cause: error }
|
|
240
|
+
);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
function writeConfig(config, projectRoot = process.cwd()) {
|
|
244
|
+
const configPath = join3(projectRoot, "reki.json");
|
|
245
|
+
const fullConfig = {
|
|
246
|
+
...DEFAULT_CONFIG,
|
|
247
|
+
...config
|
|
248
|
+
};
|
|
249
|
+
try {
|
|
250
|
+
const content = JSON.stringify(fullConfig, null, 2) + "\n";
|
|
251
|
+
writeFileSync(configPath, content, "utf-8");
|
|
252
|
+
} catch (error) {
|
|
253
|
+
throw new Error(
|
|
254
|
+
`Failed to write reki.json: ${error instanceof Error ? error.message : String(error)}`,
|
|
255
|
+
{ cause: error }
|
|
256
|
+
);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
function configExists(projectRoot = process.cwd()) {
|
|
260
|
+
const configPath = join3(projectRoot, "reki.json");
|
|
261
|
+
return existsSync(configPath);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
// src/command-line/commands/init.ts
|
|
265
|
+
async function prompt(question, defaultValue) {
|
|
266
|
+
const rl = createInterface({
|
|
267
|
+
input: process.stdin,
|
|
268
|
+
output: process.stdout
|
|
269
|
+
});
|
|
270
|
+
try {
|
|
271
|
+
const suffix = defaultValue ? ` (${defaultValue})` : "";
|
|
272
|
+
const answer = await rl.question(`${question}${suffix}: `);
|
|
273
|
+
return answer.trim() || defaultValue || "";
|
|
274
|
+
} finally {
|
|
275
|
+
rl.close();
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
async function confirm(question) {
|
|
279
|
+
const rl = createInterface({
|
|
280
|
+
input: process.stdin,
|
|
281
|
+
output: process.stdout
|
|
282
|
+
});
|
|
283
|
+
try {
|
|
284
|
+
const answer = await rl.question(`${question} (y/n): `);
|
|
285
|
+
return answer.trim().toLowerCase() === "y";
|
|
286
|
+
} finally {
|
|
287
|
+
rl.close();
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
async function init() {
|
|
291
|
+
try {
|
|
292
|
+
const projectRoot = process.cwd();
|
|
293
|
+
if (configExists(projectRoot)) {
|
|
294
|
+
console.log("\u26A0\uFE0F reki.json already exists in this directory.");
|
|
295
|
+
const shouldOverwrite = await confirm("Do you want to overwrite it?");
|
|
296
|
+
if (!shouldOverwrite) {
|
|
297
|
+
console.log("Initialization cancelled.");
|
|
298
|
+
process.exit(0);
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
console.log("\n\u{1F680} Initializing Reki configuration...\n");
|
|
302
|
+
const blocksDir = await prompt(
|
|
303
|
+
"Where should blocks be installed?",
|
|
304
|
+
DEFAULT_CONFIG.blocksDir
|
|
305
|
+
);
|
|
306
|
+
const config = {
|
|
307
|
+
blocksDir: blocksDir || DEFAULT_CONFIG.blocksDir,
|
|
308
|
+
version: DEFAULT_CONFIG.version
|
|
309
|
+
};
|
|
310
|
+
writeConfig(config, projectRoot);
|
|
311
|
+
console.log("\n\u2705 Created reki.json with the following configuration:");
|
|
312
|
+
console.log(` \u{1F4C1} Blocks directory: ${config.blocksDir}`);
|
|
313
|
+
console.log("\nNext steps:");
|
|
314
|
+
console.log(" \u2022 Run `reki blocks` to see available blocks");
|
|
315
|
+
console.log(" \u2022 Run `reki add <block>` to install a block");
|
|
316
|
+
} catch (error) {
|
|
317
|
+
console.error("Error initializing configuration:", error);
|
|
318
|
+
process.exit(1);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
// src/command-line/commands/blocks.ts
|
|
323
|
+
import { readFileSync as readFileSync4 } from "node:fs";
|
|
324
|
+
import { dirname as dirname3, join as join4 } from "node:path";
|
|
325
|
+
import { fileURLToPath as fileURLToPath3 } from "node:url";
|
|
326
|
+
function getRegistryPath3() {
|
|
327
|
+
const __dirname = dirname3(fileURLToPath3(import.meta.url));
|
|
328
|
+
return join4(__dirname, "..", "..", "ai", "component-registry.json");
|
|
329
|
+
}
|
|
330
|
+
function loadRegistry3() {
|
|
331
|
+
const registryPath = getRegistryPath3();
|
|
332
|
+
const content = readFileSync4(registryPath, "utf-8");
|
|
333
|
+
return JSON.parse(content);
|
|
334
|
+
}
|
|
335
|
+
function blocks() {
|
|
336
|
+
try {
|
|
337
|
+
const registry = loadRegistry3();
|
|
338
|
+
if (!registry.blocks || Object.keys(registry.blocks).length === 0) {
|
|
339
|
+
console.log("No blocks available.");
|
|
340
|
+
return;
|
|
341
|
+
}
|
|
342
|
+
const blockList = Object.values(registry.blocks);
|
|
343
|
+
const byCategory = /* @__PURE__ */ new Map();
|
|
344
|
+
for (const block of blockList) {
|
|
345
|
+
const category = block.category || "Other";
|
|
346
|
+
if (!byCategory.has(category)) {
|
|
347
|
+
byCategory.set(category, []);
|
|
348
|
+
}
|
|
349
|
+
byCategory.get(category).push(block);
|
|
350
|
+
}
|
|
351
|
+
const sortedCategories = [...byCategory.keys()].sort();
|
|
352
|
+
console.log(`Reki Blocks (${blockList.length} total)
|
|
353
|
+
`);
|
|
354
|
+
for (const category of sortedCategories) {
|
|
355
|
+
const categoryBlocks = [...byCategory.get(category)].sort(
|
|
356
|
+
(a, b) => a.name.localeCompare(b.name)
|
|
357
|
+
);
|
|
358
|
+
console.log(`${category}:`);
|
|
359
|
+
for (const block of categoryBlocks) {
|
|
360
|
+
console.log(` ${block.name} - ${block.description}`);
|
|
361
|
+
}
|
|
362
|
+
console.log();
|
|
363
|
+
}
|
|
364
|
+
console.log("To install a block, run:");
|
|
365
|
+
console.log(" reki add <block-name>\n");
|
|
366
|
+
console.log("Example:");
|
|
367
|
+
console.log(" reki add PageHeader");
|
|
368
|
+
} catch (error) {
|
|
369
|
+
if (error instanceof Error && "code" in error && error.code === "ENOENT") {
|
|
370
|
+
console.error(
|
|
371
|
+
"Error: Component registry not found. Run `pnpm codegen:registry` first."
|
|
372
|
+
);
|
|
373
|
+
process.exit(1);
|
|
374
|
+
}
|
|
375
|
+
throw error;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
// src/command-line/commands/add.ts
|
|
380
|
+
import { existsSync as existsSync2, mkdirSync, readFileSync as readFileSync5, writeFileSync as writeFileSync2 } from "node:fs";
|
|
381
|
+
import { dirname as dirname4, join as join5, resolve, relative, isAbsolute } from "node:path";
|
|
382
|
+
import { fileURLToPath as fileURLToPath4 } from "node:url";
|
|
383
|
+
|
|
384
|
+
// src/command-line/utils/transformer.ts
|
|
385
|
+
function parseImports(content) {
|
|
386
|
+
const importRegex = /import\s+(type\s+)?{([^}]+)}\s+from\s+["']([^"']+)["'];?/g;
|
|
387
|
+
const imports = [];
|
|
388
|
+
let match;
|
|
389
|
+
while ((match = importRegex.exec(content)) !== null) {
|
|
390
|
+
imports.push({
|
|
391
|
+
fullMatch: match[0],
|
|
392
|
+
imports: match[2],
|
|
393
|
+
path: match[3],
|
|
394
|
+
startIndex: match.index,
|
|
395
|
+
endIndex: match.index + match[0].length,
|
|
396
|
+
isTypeOnlyImport: match[1] !== void 0
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
return imports;
|
|
400
|
+
}
|
|
401
|
+
function shouldTransformToReki(path) {
|
|
402
|
+
if (!path.startsWith("../")) {
|
|
403
|
+
return false;
|
|
404
|
+
}
|
|
405
|
+
return path.includes("/components/") || path.includes("/utils/");
|
|
406
|
+
}
|
|
407
|
+
function parseImportItems(imports, isTypeOnlyImport) {
|
|
408
|
+
const items = imports.split(",").map((item) => item.trim()).filter((item) => item.length > 0);
|
|
409
|
+
const valueImports = [];
|
|
410
|
+
const typeImports = [];
|
|
411
|
+
for (const item of items) {
|
|
412
|
+
if (isTypeOnlyImport || item.startsWith("type ")) {
|
|
413
|
+
const typeName = item.startsWith("type ") ? item.slice(5).trim() : item;
|
|
414
|
+
typeImports.push(typeName);
|
|
415
|
+
} else {
|
|
416
|
+
valueImports.push(item);
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
return { valueImports, typeImports };
|
|
420
|
+
}
|
|
421
|
+
function buildConsolidatedImport(valueImports, typeImports) {
|
|
422
|
+
const parts = [];
|
|
423
|
+
for (const item of valueImports) {
|
|
424
|
+
parts.push(item);
|
|
425
|
+
}
|
|
426
|
+
for (const item of typeImports) {
|
|
427
|
+
parts.push(`type ${item}`);
|
|
428
|
+
}
|
|
429
|
+
return `import { ${parts.join(", ")} } from "@cloudraker/reki";`;
|
|
430
|
+
}
|
|
431
|
+
function transformImports(content) {
|
|
432
|
+
const parsedImports = parseImports(content);
|
|
433
|
+
const rekiImports = [];
|
|
434
|
+
const nonRekiImports = [];
|
|
435
|
+
for (const imp of parsedImports) {
|
|
436
|
+
if (shouldTransformToReki(imp.path)) {
|
|
437
|
+
rekiImports.push(imp);
|
|
438
|
+
} else {
|
|
439
|
+
nonRekiImports.push(imp);
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
if (rekiImports.length === 0) {
|
|
443
|
+
return content;
|
|
444
|
+
}
|
|
445
|
+
const allValueImports = [];
|
|
446
|
+
const allTypeImports = [];
|
|
447
|
+
for (const imp of rekiImports) {
|
|
448
|
+
const { valueImports, typeImports } = parseImportItems(
|
|
449
|
+
imp.imports,
|
|
450
|
+
imp.isTypeOnlyImport
|
|
451
|
+
);
|
|
452
|
+
allValueImports.push(...valueImports);
|
|
453
|
+
allTypeImports.push(...typeImports);
|
|
454
|
+
}
|
|
455
|
+
const consolidatedImport = buildConsolidatedImport(
|
|
456
|
+
allValueImports,
|
|
457
|
+
allTypeImports
|
|
458
|
+
);
|
|
459
|
+
let result = content;
|
|
460
|
+
const sortedRekiImports = [...rekiImports].sort(
|
|
461
|
+
(a, b) => b.startIndex - a.startIndex
|
|
462
|
+
);
|
|
463
|
+
for (let i = 0; i < sortedRekiImports.length; i++) {
|
|
464
|
+
const imp = sortedRekiImports[i];
|
|
465
|
+
if (i === sortedRekiImports.length - 1) {
|
|
466
|
+
result = result.slice(0, imp.startIndex) + consolidatedImport + result.slice(imp.endIndex);
|
|
467
|
+
} else {
|
|
468
|
+
let startIndex = imp.startIndex;
|
|
469
|
+
let endIndex = imp.endIndex;
|
|
470
|
+
if (startIndex > 0 && result[startIndex - 1] === "\n") {
|
|
471
|
+
startIndex--;
|
|
472
|
+
}
|
|
473
|
+
result = result.slice(0, startIndex) + result.slice(endIndex);
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
return result;
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
// src/command-line/commands/add.ts
|
|
480
|
+
import { createInterface as createInterface2 } from "node:readline/promises";
|
|
481
|
+
function getRegistryPath4() {
|
|
482
|
+
const __dirname = dirname4(fileURLToPath4(import.meta.url));
|
|
483
|
+
const possiblePaths = [
|
|
484
|
+
join5(__dirname, "..", "..", "ai", "component-registry.json"),
|
|
485
|
+
join5(__dirname, "..", "ai", "component-registry.json"),
|
|
486
|
+
join5(__dirname, "ai", "component-registry.json")
|
|
487
|
+
];
|
|
488
|
+
for (const path of possiblePaths) {
|
|
489
|
+
if (existsSync2(path)) {
|
|
490
|
+
return path;
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
throw new Error(
|
|
494
|
+
"component-registry.json not found. Please regenerate with: pnpm codegen:registry"
|
|
495
|
+
);
|
|
496
|
+
}
|
|
497
|
+
function getBlocksSourcePath() {
|
|
498
|
+
const __dirname = dirname4(fileURLToPath4(import.meta.url));
|
|
499
|
+
const possiblePaths = [
|
|
500
|
+
join5(__dirname, "..", "..", "blocks-source"),
|
|
501
|
+
join5(__dirname, "..", "blocks-source"),
|
|
502
|
+
join5(__dirname, "blocks-source"),
|
|
503
|
+
// Fallback to old location for backwards compatibility during development
|
|
504
|
+
join5(__dirname, "..", "..", "src", "blocks"),
|
|
505
|
+
join5(__dirname, "..", "src", "blocks"),
|
|
506
|
+
join5(__dirname, "src", "blocks")
|
|
507
|
+
];
|
|
508
|
+
for (const path of possiblePaths) {
|
|
509
|
+
if (existsSync2(path)) {
|
|
510
|
+
return path;
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
throw new Error(
|
|
514
|
+
"Blocks source directory not found. The package may be corrupted."
|
|
515
|
+
);
|
|
516
|
+
}
|
|
517
|
+
function loadRegistry4() {
|
|
518
|
+
const registryPath = getRegistryPath4();
|
|
519
|
+
const content = readFileSync5(registryPath, "utf-8");
|
|
520
|
+
return JSON.parse(content);
|
|
521
|
+
}
|
|
522
|
+
async function confirm2(message) {
|
|
523
|
+
const rl = createInterface2({
|
|
524
|
+
input: process.stdin,
|
|
525
|
+
output: process.stdout
|
|
526
|
+
});
|
|
527
|
+
const answer = await rl.question(`${message} (y/n): `);
|
|
528
|
+
rl.close();
|
|
529
|
+
return answer.toLowerCase() === "y" || answer.toLowerCase() === "yes";
|
|
530
|
+
}
|
|
531
|
+
async function add(blockName) {
|
|
532
|
+
if (!blockName) {
|
|
533
|
+
console.error("Error: Block name is required.");
|
|
534
|
+
console.log("\nUsage: reki add <block-name>");
|
|
535
|
+
console.log("\nRun 'reki blocks' to see available blocks.");
|
|
536
|
+
process.exit(1);
|
|
537
|
+
}
|
|
538
|
+
const config = readConfig();
|
|
539
|
+
if (!config) {
|
|
540
|
+
console.error(
|
|
541
|
+
"Error: reki.json not found. Run 'reki init' first to initialize the configuration."
|
|
542
|
+
);
|
|
543
|
+
process.exit(1);
|
|
544
|
+
}
|
|
545
|
+
let registry;
|
|
546
|
+
try {
|
|
547
|
+
registry = loadRegistry4();
|
|
548
|
+
} catch (error) {
|
|
549
|
+
const message = error instanceof Error ? error.message : "Component registry not found. Run `pnpm codegen:registry` first.";
|
|
550
|
+
console.error(`Error: ${message}`);
|
|
551
|
+
process.exit(1);
|
|
552
|
+
}
|
|
553
|
+
const block = registry.blocks?.[blockName];
|
|
554
|
+
if (!block) {
|
|
555
|
+
console.error(`Error: Block '${blockName}' not found.`);
|
|
556
|
+
console.log("\nRun 'reki blocks' to see available blocks.");
|
|
557
|
+
process.exit(1);
|
|
558
|
+
}
|
|
559
|
+
let blocksSourcePath;
|
|
560
|
+
try {
|
|
561
|
+
blocksSourcePath = getBlocksSourcePath();
|
|
562
|
+
} catch (error) {
|
|
563
|
+
const message = error instanceof Error ? error.message : "Blocks source directory not found.";
|
|
564
|
+
console.error(`Error: ${message}`);
|
|
565
|
+
process.exit(1);
|
|
566
|
+
}
|
|
567
|
+
const projectRoot = process.cwd();
|
|
568
|
+
const targetDir = join5(projectRoot, config.blocksDir);
|
|
569
|
+
if (!existsSync2(targetDir)) {
|
|
570
|
+
mkdirSync(targetDir, { recursive: true });
|
|
571
|
+
console.log(`\u{1F4C1} Created directory: ${config.blocksDir}`);
|
|
572
|
+
}
|
|
573
|
+
const blockExists = block.files.some((file) => {
|
|
574
|
+
const targetPath = join5(targetDir, file);
|
|
575
|
+
return existsSync2(targetPath);
|
|
576
|
+
});
|
|
577
|
+
if (blockExists) {
|
|
578
|
+
console.log(
|
|
579
|
+
`\u26A0\uFE0F Block '${blockName}' already exists in ${config.blocksDir}`
|
|
580
|
+
);
|
|
581
|
+
const shouldOverwrite = await confirm2("Do you want to overwrite it?");
|
|
582
|
+
if (!shouldOverwrite) {
|
|
583
|
+
console.log("Installation cancelled.");
|
|
584
|
+
return;
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
console.log(`\u{1F4E6} Installing block: ${blockName}`);
|
|
588
|
+
for (const file of block.files) {
|
|
589
|
+
const sourcePath = resolve(blocksSourcePath, file);
|
|
590
|
+
const targetPath = resolve(targetDir, file);
|
|
591
|
+
const relativeSource = relative(blocksSourcePath, sourcePath);
|
|
592
|
+
if (relativeSource.startsWith("..") || relativeSource.startsWith("/") || isAbsolute(relativeSource)) {
|
|
593
|
+
console.error(`Error: Invalid source path for file: ${file}`);
|
|
594
|
+
process.exit(1);
|
|
595
|
+
}
|
|
596
|
+
const relativeTarget = relative(targetDir, targetPath);
|
|
597
|
+
if (relativeTarget.startsWith("..") || relativeTarget.startsWith("/") || isAbsolute(relativeTarget)) {
|
|
598
|
+
console.error(`Error: Invalid target path for file: ${file}`);
|
|
599
|
+
process.exit(1);
|
|
600
|
+
}
|
|
601
|
+
const targetSubdir = dirname4(targetPath);
|
|
602
|
+
if (!existsSync2(targetSubdir)) {
|
|
603
|
+
mkdirSync(targetSubdir, { recursive: true });
|
|
604
|
+
}
|
|
605
|
+
const content = readFileSync5(sourcePath, "utf-8");
|
|
606
|
+
const transformed = transformImports(content);
|
|
607
|
+
writeFileSync2(targetPath, transformed, "utf-8");
|
|
608
|
+
console.log(` \u2705 ${file}`);
|
|
609
|
+
}
|
|
610
|
+
if (block.dependencies.length > 0) {
|
|
611
|
+
console.log(`
|
|
612
|
+
\u{1F4DA} This block depends on the following Reki components:
|
|
613
|
+
`);
|
|
614
|
+
for (const dep of block.dependencies) {
|
|
615
|
+
console.log(` - ${dep} (from @cloudraker/reki)`);
|
|
616
|
+
}
|
|
617
|
+
console.log("\nMake sure @cloudraker/reki is installed in your project:");
|
|
618
|
+
console.log(" pnpm add @cloudraker/reki");
|
|
619
|
+
}
|
|
620
|
+
console.log(`
|
|
621
|
+
\u{1F389} Successfully installed ${blockName}!`);
|
|
622
|
+
console.log(`
|
|
623
|
+
You can now import it in your project:
|
|
624
|
+
`);
|
|
625
|
+
const blockFile = block.files[0].replace(/\.tsx?$/, "");
|
|
626
|
+
const importPath = join5(config.blocksDir, blockFile).replace(/\\/g, "/");
|
|
627
|
+
console.log(` import { ${blockName} } from "${importPath}";`);
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
// src/command-line/commands/migrate.ts
|
|
631
|
+
var PENDING_MIGRATIONS = {
|
|
632
|
+
text: {},
|
|
633
|
+
color: {}
|
|
634
|
+
};
|
|
635
|
+
var COLOR_PREFIXES = [
|
|
636
|
+
"bg",
|
|
637
|
+
"border",
|
|
638
|
+
"border-t",
|
|
639
|
+
"border-r",
|
|
640
|
+
"border-b",
|
|
641
|
+
"border-l",
|
|
642
|
+
"border-x",
|
|
643
|
+
"border-y",
|
|
644
|
+
"ring",
|
|
645
|
+
"ring-offset",
|
|
646
|
+
"outline",
|
|
647
|
+
"divide",
|
|
648
|
+
"shadow",
|
|
649
|
+
"accent",
|
|
650
|
+
"caret",
|
|
651
|
+
"fill",
|
|
652
|
+
"stroke",
|
|
653
|
+
"decoration",
|
|
654
|
+
"from",
|
|
655
|
+
"via",
|
|
656
|
+
"to"
|
|
657
|
+
];
|
|
658
|
+
var TEXT_PREFIXES = ["text"];
|
|
659
|
+
function hasPendingMigrations() {
|
|
660
|
+
return Object.values(PENDING_MIGRATIONS.text).some((v) => v !== "") || Object.values(PENDING_MIGRATIONS.color).some((v) => v !== "");
|
|
661
|
+
}
|
|
662
|
+
function generateClassMap(direction) {
|
|
663
|
+
const classMap = {};
|
|
664
|
+
for (const [oldName, newName] of Object.entries(PENDING_MIGRATIONS.text)) {
|
|
665
|
+
if (!newName) continue;
|
|
666
|
+
const [from, to] = direction === "to-new" ? [oldName, newName] : [newName, oldName];
|
|
667
|
+
for (const prefix of TEXT_PREFIXES) {
|
|
668
|
+
classMap[`${prefix}-${from}`] = `${prefix}-${to}`;
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
for (const [oldName, newName] of Object.entries(PENDING_MIGRATIONS.color)) {
|
|
672
|
+
if (!newName) continue;
|
|
673
|
+
const [from, to] = direction === "to-new" ? [oldName, newName] : [newName, oldName];
|
|
674
|
+
for (const prefix of COLOR_PREFIXES) {
|
|
675
|
+
classMap[`${prefix}-${from}`] = `${prefix}-${to}`;
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
return classMap;
|
|
679
|
+
}
|
|
680
|
+
var MIGRATE_HELP = `
|
|
681
|
+
Reki Token Migration Tool (for consumers)
|
|
682
|
+
|
|
683
|
+
When Reki releases breaking changes to token names, use this command
|
|
684
|
+
to get the rename map for updating your codebase.
|
|
685
|
+
|
|
686
|
+
USAGE:
|
|
687
|
+
npx @cloudraker/reki migrate [options]
|
|
688
|
+
|
|
689
|
+
OPTIONS:
|
|
690
|
+
--json Output machine-readable JSON (default)
|
|
691
|
+
--classes Output as class-level mapping (bg-reki-base -> bg-reki-base)
|
|
692
|
+
--to-old Reverse mapping (new names -> old names)
|
|
693
|
+
--help Show this help message
|
|
694
|
+
|
|
695
|
+
EXAMPLES:
|
|
696
|
+
# Check if there are pending migrations
|
|
697
|
+
npx @cloudraker/reki migrate
|
|
698
|
+
|
|
699
|
+
# Get class-level mapping for sed/find-replace
|
|
700
|
+
npx @cloudraker/reki migrate --classes
|
|
701
|
+
|
|
702
|
+
# Get JSON for custom codemod
|
|
703
|
+
npx @cloudraker/reki migrate --json > rename-map.json
|
|
704
|
+
|
|
705
|
+
USING WITH sed:
|
|
706
|
+
npx @cloudraker/reki migrate --classes | grep "^bg-\\|^text-" | \\
|
|
707
|
+
while IFS= read -r line; do
|
|
708
|
+
old=$(echo "$line" | awk '{print $1}')
|
|
709
|
+
new=$(echo "$line" | awk '{print $3}')
|
|
710
|
+
find src -name '*.tsx' -exec sed -i '' "s/\\b$old\\b/$new/g" {} +
|
|
711
|
+
done
|
|
712
|
+
|
|
713
|
+
NOTE:
|
|
714
|
+
If no migrations are pending, you're up to date with the current version.
|
|
715
|
+
Migrations are only needed when upgrading to a new major/minor version
|
|
716
|
+
that includes breaking token name changes.
|
|
717
|
+
`;
|
|
718
|
+
function migrate(args) {
|
|
719
|
+
const showHelp = args.includes("--help") || args.includes("-h");
|
|
720
|
+
const outputClasses = args.includes("--classes");
|
|
721
|
+
const toOld = args.includes("--to-old");
|
|
722
|
+
if (showHelp) {
|
|
723
|
+
console.log(MIGRATE_HELP.trim());
|
|
724
|
+
return;
|
|
725
|
+
}
|
|
726
|
+
if (!hasPendingMigrations()) {
|
|
727
|
+
console.log("No pending token migrations.");
|
|
728
|
+
console.log("\nYour codebase is up to date with the current Reki version.");
|
|
729
|
+
console.log("Token migrations are only needed when upgrading to versions");
|
|
730
|
+
console.log("that include breaking changes to token names.");
|
|
731
|
+
return;
|
|
732
|
+
}
|
|
733
|
+
const direction = toOld ? "to-old" : "to-new";
|
|
734
|
+
const classMap = generateClassMap(direction);
|
|
735
|
+
if (outputClasses) {
|
|
736
|
+
const maxKeyLen = Math.max(...Object.keys(classMap).map((k) => k.length));
|
|
737
|
+
console.log(`# Reki Token Migration (${direction})`);
|
|
738
|
+
console.log(`# ${Object.keys(classMap).length} class mappings
|
|
739
|
+
`);
|
|
740
|
+
for (const [from, to] of Object.entries(classMap)) {
|
|
741
|
+
console.log(`${from.padEnd(maxKeyLen)} -> ${to}`);
|
|
742
|
+
}
|
|
743
|
+
return;
|
|
744
|
+
}
|
|
745
|
+
const output = {
|
|
746
|
+
meta: {
|
|
747
|
+
description: "Reki token class name migration map",
|
|
748
|
+
direction,
|
|
749
|
+
generatedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
750
|
+
},
|
|
751
|
+
tokens: PENDING_MIGRATIONS,
|
|
752
|
+
classes: classMap
|
|
753
|
+
};
|
|
754
|
+
console.log(JSON.stringify(output, null, 2));
|
|
755
|
+
}
|
|
756
|
+
|
|
757
|
+
// src/command-line/commands/ai.ts
|
|
758
|
+
import { readFileSync as readFileSync6 } from "node:fs";
|
|
759
|
+
import { dirname as dirname5, join as join6 } from "node:path";
|
|
760
|
+
import { fileURLToPath as fileURLToPath5 } from "node:url";
|
|
761
|
+
function ai() {
|
|
762
|
+
const __dirname = dirname5(fileURLToPath5(import.meta.url));
|
|
763
|
+
const usagePath = join6(__dirname, "..", "..", "ai", "USAGE.md");
|
|
764
|
+
try {
|
|
765
|
+
const content = readFileSync6(usagePath, "utf-8");
|
|
766
|
+
console.log(content);
|
|
767
|
+
} catch {
|
|
768
|
+
console.error(
|
|
769
|
+
"Could not read ai/USAGE.md. Make sure you are running this from an installed @cloudraker/reki package."
|
|
770
|
+
);
|
|
771
|
+
process.exit(1);
|
|
772
|
+
}
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
// src/command-line/cli.ts
|
|
776
|
+
var HELP = `
|
|
777
|
+
Reki CLI - Component registry and blocks distribution
|
|
778
|
+
|
|
779
|
+
BLOCKS:
|
|
780
|
+
reki init Initialize reki.json configuration file
|
|
781
|
+
reki blocks List all available blocks for CLI installation
|
|
782
|
+
reki add <block> Install a block to your project
|
|
783
|
+
|
|
784
|
+
COMPONENT REGISTRY:
|
|
785
|
+
reki ls List all Reki components with categories
|
|
786
|
+
reki doc <name> Get detailed documentation for a component
|
|
787
|
+
reki docs Get documentation for all components
|
|
788
|
+
|
|
789
|
+
MIGRATION:
|
|
790
|
+
reki migrate Export token rename map for codebase migration
|
|
791
|
+
reki migrate --classes Show class-level mappings (bg-reki-base -> bg-reki-base)
|
|
792
|
+
reki migrate --help Show migration help
|
|
793
|
+
|
|
794
|
+
AI:
|
|
795
|
+
reki ai Print the AI usage guide (component API reference)
|
|
796
|
+
|
|
797
|
+
GENERAL:
|
|
798
|
+
reki help Show this help message
|
|
799
|
+
|
|
800
|
+
Examples:
|
|
801
|
+
reki init
|
|
802
|
+
reki blocks
|
|
803
|
+
reki add PageHeader
|
|
804
|
+
reki ls
|
|
805
|
+
reki doc Button
|
|
806
|
+
reki docs
|
|
807
|
+
reki migrate --json > rename-map.json
|
|
808
|
+
`;
|
|
809
|
+
async function main() {
|
|
810
|
+
const args = process.argv.slice(2);
|
|
811
|
+
const command = args[0]?.toLowerCase();
|
|
812
|
+
switch (command) {
|
|
813
|
+
case "init":
|
|
814
|
+
await init();
|
|
815
|
+
break;
|
|
816
|
+
case "blocks":
|
|
817
|
+
blocks();
|
|
818
|
+
break;
|
|
819
|
+
case "add":
|
|
820
|
+
await add(args[1]);
|
|
821
|
+
break;
|
|
822
|
+
case "ls":
|
|
823
|
+
ls();
|
|
824
|
+
break;
|
|
825
|
+
case "doc":
|
|
826
|
+
case "docs":
|
|
827
|
+
doc(args[1]);
|
|
828
|
+
break;
|
|
829
|
+
case "migrate":
|
|
830
|
+
migrate(args.slice(1));
|
|
831
|
+
break;
|
|
832
|
+
case "ai":
|
|
833
|
+
ai();
|
|
834
|
+
break;
|
|
835
|
+
case "help":
|
|
836
|
+
case "--help":
|
|
837
|
+
case "-h":
|
|
838
|
+
case void 0:
|
|
839
|
+
console.log(HELP.trim());
|
|
840
|
+
break;
|
|
841
|
+
default:
|
|
842
|
+
console.error(`Unknown command: ${command}`);
|
|
843
|
+
console.log(HELP.trim());
|
|
844
|
+
process.exit(1);
|
|
845
|
+
}
|
|
846
|
+
}
|
|
847
|
+
main().catch((error) => {
|
|
848
|
+
console.error(error);
|
|
849
|
+
process.exit(1);
|
|
850
|
+
});
|