@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,106 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as e, jsxs as b } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef as i, isValidElement as O, cloneElement as E } from "react";
|
|
4
|
+
import { c as n } from "./cn-ct4n7r74mh8y0f48.js";
|
|
5
|
+
const m = {
|
|
6
|
+
state: {
|
|
7
|
+
default: {
|
|
8
|
+
classes: "text-reki-subtle hover:border-reki-line hover:text-reki-default hover:font-medium",
|
|
9
|
+
description: "Inactive section link"
|
|
10
|
+
},
|
|
11
|
+
active: {
|
|
12
|
+
classes: "border-reki-brand font-medium text-reki-default",
|
|
13
|
+
description: "Currently visible / active section"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}, A = {
|
|
17
|
+
state: "default"
|
|
18
|
+
}, u = "block w-full truncate border-l-2 border-transparent py-0.5 pl-4 text-sm text-left no-underline", T = i(
|
|
19
|
+
({ className: t, "aria-label": a = "Table of contents", ...s }, l) => /* @__PURE__ */ e("nav", { ref: l, "aria-label": a, className: t, ...s })
|
|
20
|
+
), N = i(({ className: t, ...a }, s) => /* @__PURE__ */ e(
|
|
21
|
+
"p",
|
|
22
|
+
{
|
|
23
|
+
ref: s,
|
|
24
|
+
className: n(
|
|
25
|
+
"mb-3 text-xs font-semibold tracking-wide text-reki-subtle uppercase",
|
|
26
|
+
t
|
|
27
|
+
),
|
|
28
|
+
...a
|
|
29
|
+
}
|
|
30
|
+
)), C = i(({ className: t, ...a }, s) => /* @__PURE__ */ e(
|
|
31
|
+
"ul",
|
|
32
|
+
{
|
|
33
|
+
ref: s,
|
|
34
|
+
className: n(
|
|
35
|
+
"flex flex-col gap-2 border-l-2 border-reki-hairline",
|
|
36
|
+
t
|
|
37
|
+
),
|
|
38
|
+
...a
|
|
39
|
+
}
|
|
40
|
+
)), x = i(({ active: t = !1, className: a, children: s, render: l, ...o }, r) => {
|
|
41
|
+
const c = t ? m.state.active.classes : m.state.default.classes, d = n(u, c, a), f = {
|
|
42
|
+
ref: r,
|
|
43
|
+
"aria-current": t ? "true" : void 0,
|
|
44
|
+
"data-reki-component": "TableOfContents",
|
|
45
|
+
"data-reki-part": "item",
|
|
46
|
+
className: d,
|
|
47
|
+
children: /* @__PURE__ */ e("span", { className: "block min-w-0 leading-5", children: s }),
|
|
48
|
+
...o
|
|
49
|
+
};
|
|
50
|
+
return l && O(l) ? /* @__PURE__ */ e("li", { className: "-ml-0.5", children: E(l, f) }) : /* @__PURE__ */ e("li", { className: "-ml-0.5", children: /* @__PURE__ */ e("a", { ...f }) });
|
|
51
|
+
}), p = "flex flex-col gap-2 border-l-2 border-reki-hairline [&>li>a]:pl-7 [&>li>button]:pl-7", k = i(({ label: t, href: a, active: s = !1, className: l, children: o, ...r }, c) => {
|
|
52
|
+
if (a) {
|
|
53
|
+
const d = s ? m.state.active.classes : m.state.default.classes;
|
|
54
|
+
return /* @__PURE__ */ b(
|
|
55
|
+
"li",
|
|
56
|
+
{
|
|
57
|
+
ref: c,
|
|
58
|
+
className: n("-ml-0.5 flex flex-col gap-2", l),
|
|
59
|
+
...r,
|
|
60
|
+
children: [
|
|
61
|
+
/* @__PURE__ */ e(
|
|
62
|
+
"a",
|
|
63
|
+
{
|
|
64
|
+
href: a,
|
|
65
|
+
"aria-current": s ? "true" : void 0,
|
|
66
|
+
"data-reki-component": "TableOfContents",
|
|
67
|
+
"data-reki-part": "group-link",
|
|
68
|
+
className: n(u, d),
|
|
69
|
+
children: /* @__PURE__ */ e("span", { className: "block min-w-0 leading-5", children: t })
|
|
70
|
+
}
|
|
71
|
+
),
|
|
72
|
+
/* @__PURE__ */ e("ul", { className: n(p), children: o })
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
return /* @__PURE__ */ b(
|
|
78
|
+
"li",
|
|
79
|
+
{
|
|
80
|
+
ref: c,
|
|
81
|
+
className: n("-ml-0.5 flex flex-col gap-2", l),
|
|
82
|
+
...r,
|
|
83
|
+
children: [
|
|
84
|
+
/* @__PURE__ */ e("p", { className: "py-0.5 pl-4 text-sm leading-5 font-medium text-reki-subtle", children: t }),
|
|
85
|
+
/* @__PURE__ */ e("ul", { className: n(p), children: o })
|
|
86
|
+
]
|
|
87
|
+
}
|
|
88
|
+
);
|
|
89
|
+
});
|
|
90
|
+
T.displayName = "TableOfContents";
|
|
91
|
+
N.displayName = "TableOfContents.Title";
|
|
92
|
+
C.displayName = "TableOfContents.List";
|
|
93
|
+
x.displayName = "TableOfContents.Item";
|
|
94
|
+
k.displayName = "TableOfContents.Group";
|
|
95
|
+
const I = Object.assign(T, {
|
|
96
|
+
Title: N,
|
|
97
|
+
List: C,
|
|
98
|
+
Item: x,
|
|
99
|
+
Group: k
|
|
100
|
+
});
|
|
101
|
+
export {
|
|
102
|
+
A as R,
|
|
103
|
+
I as T,
|
|
104
|
+
m as a
|
|
105
|
+
};
|
|
106
|
+
//# sourceMappingURL=table-of-contents-gkuvkr2w6lbhi7wt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-of-contents-gkuvkr2w6lbhi7wt.js","sources":["../../src/components/table-of-contents/table-of-contents.tsx"],"sourcesContent":["import { cloneElement, forwardRef, isValidElement } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\n/** TableOfContents item state variant definitions. */\nexport const REKI_TABLE_OF_CONTENTS_VARIANTS = {\n state: {\n default: {\n classes:\n \"text-reki-subtle hover:border-reki-line hover:text-reki-default hover:font-medium\",\n description: \"Inactive section link\",\n },\n active: {\n classes: \"border-reki-brand font-medium text-reki-default\",\n description: \"Currently visible / active section\",\n },\n },\n} as const;\n\nexport const REKI_TABLE_OF_CONTENTS_DEFAULT_VARIANTS = {\n state: \"default\",\n} as const;\n\nexport type RekiTableOfContentsState =\n keyof typeof REKI_TABLE_OF_CONTENTS_VARIANTS.state;\n\nconst ITEM_BASE =\n \"block w-full truncate border-l-2 border-transparent py-0.5 pl-4 text-sm text-left no-underline\";\n\nexport type TableOfContentsProps = React.HTMLAttributes<HTMLElement>;\n\nconst TableOfContentsRoot = forwardRef<HTMLElement, TableOfContentsProps>(\n (\n { className, \"aria-label\": ariaLabel = \"Table of contents\", ...props },\n ref,\n ) => (\n <nav ref={ref} aria-label={ariaLabel} className={className} {...props} />\n ),\n);\n\nexport type TableOfContentsTitleProps =\n React.HTMLAttributes<HTMLParagraphElement>;\n\nconst TableOfContentsTitle = forwardRef<\n HTMLParagraphElement,\n TableOfContentsTitleProps\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\n \"mb-3 text-xs font-semibold tracking-wide text-reki-subtle uppercase\",\n className,\n )}\n {...props}\n />\n));\n\nexport type TableOfContentsListProps = React.HTMLAttributes<HTMLUListElement>;\n\nconst TableOfContentsList = forwardRef<\n HTMLUListElement,\n TableOfContentsListProps\n>(({ className, ...props }, ref) => (\n <ul\n ref={ref}\n className={cn(\n \"flex flex-col gap-2 border-l-2 border-reki-hairline\",\n className,\n )}\n {...props}\n />\n));\nexport interface TableOfContentsItemProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n /** Whether this item represents the currently active section. */\n active?: boolean;\n /**\n * Custom element to render as the link. Use this to integrate with\n * framework routers (e.g., Next.js `<Link>`, React Router `<NavLink>`).\n * The element receives all anchor props including `href`, `className`, and `children`.\n *\n * @example\n * ```tsx\n * <TableOfContents.Item render={<Link />} href=\"/intro\" active>\n * Introduction\n * </TableOfContents.Item>\n * ```\n */\n render?: React.ReactElement;\n}\n\nconst TableOfContentsItem = forwardRef<\n HTMLAnchorElement,\n TableOfContentsItemProps\n>(({ active = false, className, children, render, ...props }, ref) => {\n const stateClasses = active\n ? REKI_TABLE_OF_CONTENTS_VARIANTS.state.active.classes\n : REKI_TABLE_OF_CONTENTS_VARIANTS.state.default.classes;\n\n const combinedClassName = cn(ITEM_BASE, stateClasses, className);\n\n const innerContent = (\n <span className=\"block min-w-0 leading-5\">{children}</span>\n );\n\n const sharedProps = {\n ref,\n \"aria-current\": active ? (\"true\" as const) : undefined,\n \"data-reki-component\": \"TableOfContents\",\n \"data-reki-part\": \"item\",\n className: combinedClassName,\n children: innerContent,\n ...props,\n };\n\n // If a render prop is provided, clone it with our props\n if (render && isValidElement(render)) {\n return <li className=\"-ml-0.5\">{cloneElement(render, sharedProps)}</li>;\n }\n\n // Default to anchor tag\n return (\n <li className=\"-ml-0.5\">\n {/* oxlint-disable-next-line anchor-has-content -- children are in sharedProps */}\n <a {...sharedProps} />\n </li>\n );\n});\n\nexport interface TableOfContentsGroupProps extends Omit<\n React.HTMLAttributes<HTMLLIElement>,\n \"title\"\n> {\n /** Label displayed above the group's items. */\n label: string;\n /** URL the group label links to. When provided, the label renders as a clickable link with item styling. */\n href?: string;\n /** Whether this group's label represents the currently active section. Only applies when `href` is provided. */\n active?: boolean;\n}\n\nconst NESTED_UL_CLASSES =\n \"flex flex-col gap-2 border-l-2 border-reki-hairline [&>li>a]:pl-7 [&>li>button]:pl-7\";\n\nconst TableOfContentsGroup = forwardRef<\n HTMLLIElement,\n TableOfContentsGroupProps\n>(({ label, href, active = false, className, children, ...props }, ref) => {\n if (href) {\n const stateClasses = active\n ? REKI_TABLE_OF_CONTENTS_VARIANTS.state.active.classes\n : REKI_TABLE_OF_CONTENTS_VARIANTS.state.default.classes;\n\n return (\n <li\n ref={ref}\n className={cn(\"-ml-0.5 flex flex-col gap-2\", className)}\n {...props}\n >\n <a\n href={href}\n aria-current={active ? (\"true\" as const) : undefined}\n data-reki-component=\"TableOfContents\"\n data-reki-part=\"group-link\"\n className={cn(ITEM_BASE, stateClasses)}\n >\n <span className=\"block min-w-0 leading-5\">{label}</span>\n </a>\n <ul className={cn(NESTED_UL_CLASSES)}>{children}</ul>\n </li>\n );\n }\n\n return (\n <li\n ref={ref}\n className={cn(\"-ml-0.5 flex flex-col gap-2\", className)}\n {...props}\n >\n <p className=\"py-0.5 pl-4 text-sm leading-5 font-medium text-reki-subtle\">\n {label}\n </p>\n <ul className={cn(NESTED_UL_CLASSES)}>{children}</ul>\n </li>\n );\n});\n\nTableOfContentsRoot.displayName = \"TableOfContents\";\nTableOfContentsTitle.displayName = \"TableOfContents.Title\";\nTableOfContentsList.displayName = \"TableOfContents.List\";\nTableOfContentsItem.displayName = \"TableOfContents.Item\";\nTableOfContentsGroup.displayName = \"TableOfContents.Group\";\n\n/**\n * TableOfContents — presentational compound component for section navigation.\n *\n * Purely visual; all interaction logic (scroll tracking, active state management)\n * is left to the consumer.\n *\n * @example\n * ```tsx\n * <TableOfContents>\n * <TableOfContents.Title>On this page</TableOfContents.Title>\n * <TableOfContents.List>\n * <TableOfContents.Item href=\"#intro\" active>Introduction</TableOfContents.Item>\n * <TableOfContents.Group label=\"Getting Started\">\n * <TableOfContents.Item href=\"#install\">Installation</TableOfContents.Item>\n * <TableOfContents.Item href=\"#setup\">Setup</TableOfContents.Item>\n * </TableOfContents.Group>\n * </TableOfContents.List>\n * </TableOfContents>\n * ```\n */\nexport const TableOfContents = Object.assign(TableOfContentsRoot, {\n Title: TableOfContentsTitle,\n List: TableOfContentsList,\n Item: TableOfContentsItem,\n Group: TableOfContentsGroup,\n});\n"],"names":["REKI_TABLE_OF_CONTENTS_VARIANTS","REKI_TABLE_OF_CONTENTS_DEFAULT_VARIANTS","ITEM_BASE","TableOfContentsRoot","forwardRef","className","ariaLabel","props","ref","TableOfContentsTitle","jsx","cn","TableOfContentsList","TableOfContentsItem","active","children","render","stateClasses","combinedClassName","sharedProps","isValidElement","cloneElement","NESTED_UL_CLASSES","TableOfContentsGroup","label","href","jsxs","TableOfContents"],"mappings":"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"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsxs as w, jsx as g } from "react/jsx-runtime";
|
|
3
|
+
import { useRef as h, useState as z, useEffect as D } from "react";
|
|
4
|
+
import { c as u } from "./cn-ct4n7r74mh8y0f48.js";
|
|
5
|
+
import { bg as N, bh as y, bi as L, bj as R } from "./vendor-base-ui-bgl9g5nkvqy3tn36.js";
|
|
6
|
+
const I = {
|
|
7
|
+
variant: "segmented",
|
|
8
|
+
size: "base"
|
|
9
|
+
};
|
|
10
|
+
function U({
|
|
11
|
+
tabs: o,
|
|
12
|
+
value: a,
|
|
13
|
+
selectedValue: n,
|
|
14
|
+
onValueChange: i,
|
|
15
|
+
activateOnFocus: e,
|
|
16
|
+
className: r,
|
|
17
|
+
listClassName: t,
|
|
18
|
+
indicatorClassName: f,
|
|
19
|
+
variant: v = I.variant,
|
|
20
|
+
size: C = I.size
|
|
21
|
+
}) {
|
|
22
|
+
const b = o ?? [];
|
|
23
|
+
if (b.length === 0)
|
|
24
|
+
return null;
|
|
25
|
+
const T = b[0]?.value, k = a !== void 0, P = {
|
|
26
|
+
value: k ? a : void 0,
|
|
27
|
+
defaultValue: k ? void 0 : n ?? T
|
|
28
|
+
}, l = v === "segmented", d = v === "underline", c = C === "sm", { ref: x, isOverflowing: p } = O(l), S = V(x, p);
|
|
29
|
+
return /* @__PURE__ */ w(
|
|
30
|
+
N,
|
|
31
|
+
{
|
|
32
|
+
...P,
|
|
33
|
+
className: u(
|
|
34
|
+
"relative isolate min-w-0 font-medium",
|
|
35
|
+
l && (c ? "rounded-md" : "rounded-lg") + " ring ring-reki-hairline/70",
|
|
36
|
+
r
|
|
37
|
+
),
|
|
38
|
+
onValueChange: (s) => {
|
|
39
|
+
const m = String(s);
|
|
40
|
+
i?.(m);
|
|
41
|
+
},
|
|
42
|
+
children: [
|
|
43
|
+
l && /* @__PURE__ */ g(
|
|
44
|
+
"div",
|
|
45
|
+
{
|
|
46
|
+
className: u(
|
|
47
|
+
"absolute inset-x-0 top-1/2 z-0 -translate-y-1/2 rounded-lg bg-reki-recessed",
|
|
48
|
+
c ? "h-6.5" : "h-9"
|
|
49
|
+
)
|
|
50
|
+
}
|
|
51
|
+
),
|
|
52
|
+
/* @__PURE__ */ w(
|
|
53
|
+
y,
|
|
54
|
+
{
|
|
55
|
+
ref: x,
|
|
56
|
+
activateOnFocus: e,
|
|
57
|
+
"data-overflowing": p ? "" : void 0,
|
|
58
|
+
...S(),
|
|
59
|
+
className: u(
|
|
60
|
+
"relative flex min-w-0 shrink items-stretch",
|
|
61
|
+
l && "reki-tabs-list overflow-x-auto rounded-lg bg-reki-recessed px-0.5 [--scroll-fade-width:3rem] scroll-px-(--scroll-fade-width)",
|
|
62
|
+
l && (c ? "h-6.5 rounded-md" : "h-9"),
|
|
63
|
+
p && "cursor-grab active:cursor-grabbing",
|
|
64
|
+
d && "gap-4 border-b border-reki-hairline pb-2",
|
|
65
|
+
d && (c ? "h-6.5" : "h-7.5"),
|
|
66
|
+
t
|
|
67
|
+
),
|
|
68
|
+
children: [
|
|
69
|
+
b.map((s) => /* @__PURE__ */ g(
|
|
70
|
+
L,
|
|
71
|
+
{
|
|
72
|
+
"data-reki-component": "Tabs",
|
|
73
|
+
"data-reki-part": "tab",
|
|
74
|
+
value: s.value,
|
|
75
|
+
render: s.render,
|
|
76
|
+
onClick: (m) => {
|
|
77
|
+
m.currentTarget.scrollIntoView({
|
|
78
|
+
behavior: "smooth",
|
|
79
|
+
block: "nearest",
|
|
80
|
+
inline: "nearest"
|
|
81
|
+
});
|
|
82
|
+
},
|
|
83
|
+
className: u(
|
|
84
|
+
"relative z-2 flex items-center rounded bg-transparent whitespace-nowrap focus:outline-none focus:ring-reki-focus/50 focus-visible:ring-2 focus-visible:ring-reki-brand",
|
|
85
|
+
p ? "cursor-grab active:cursor-grabbing" : "cursor-pointer",
|
|
86
|
+
c ? "text-xs" : "text-base",
|
|
87
|
+
l && "my-0.5 text-reki-subtle hover:text-reki-default aria-selected:text-reki-default focus-visible:ring-inset",
|
|
88
|
+
l && (c ? "px-2 rounded-sm" : "px-2.5 rounded-md"),
|
|
89
|
+
d && "text-reki-subtle hover:bg-reki-tint hover:text-reki-default aria-selected:hover:bg-reki-tint aria-selected:font-medium aria-selected:text-reki-default",
|
|
90
|
+
d && (c ? "px-1.5 py-2.5" : "px-2 py-3"),
|
|
91
|
+
s.className
|
|
92
|
+
),
|
|
93
|
+
children: s.label
|
|
94
|
+
},
|
|
95
|
+
s.value
|
|
96
|
+
)),
|
|
97
|
+
/* @__PURE__ */ g(
|
|
98
|
+
R,
|
|
99
|
+
{
|
|
100
|
+
render: (s) => /* @__PURE__ */ g(
|
|
101
|
+
"div",
|
|
102
|
+
{
|
|
103
|
+
...s,
|
|
104
|
+
className: u(
|
|
105
|
+
"absolute z-1 left-0",
|
|
106
|
+
"w-(--active-tab-width) translate-x-(--active-tab-left) transition-all duration-200",
|
|
107
|
+
"data-[rendered=false]:scale-90 data-[rendered=false]:opacity-0",
|
|
108
|
+
l && u(
|
|
109
|
+
"top-(--active-tab-top) h-(--active-tab-height) bg-reki-base shadow-sm ring ring-reki-line",
|
|
110
|
+
c ? "rounded" : "rounded-md"
|
|
111
|
+
),
|
|
112
|
+
d && "bottom-0 h-0.5 bg-reki-brand",
|
|
113
|
+
f
|
|
114
|
+
)
|
|
115
|
+
}
|
|
116
|
+
)
|
|
117
|
+
}
|
|
118
|
+
)
|
|
119
|
+
]
|
|
120
|
+
}
|
|
121
|
+
)
|
|
122
|
+
]
|
|
123
|
+
}
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
function V(o, a) {
|
|
127
|
+
const n = h(null), i = h(!1);
|
|
128
|
+
return () => ({
|
|
129
|
+
onPointerDownCapture: (e) => {
|
|
130
|
+
const r = o.current;
|
|
131
|
+
!r || !a || e.pointerType !== "mouse" || e.button !== 0 || (n.current = {
|
|
132
|
+
pointerId: e.pointerId,
|
|
133
|
+
startX: e.clientX,
|
|
134
|
+
scrollLeft: r.scrollLeft,
|
|
135
|
+
dragging: !1
|
|
136
|
+
}, i.current = !1);
|
|
137
|
+
},
|
|
138
|
+
onPointerMoveCapture: (e) => {
|
|
139
|
+
const r = o.current, t = n.current;
|
|
140
|
+
if (!r || !a || !t || t.pointerId !== e.pointerId)
|
|
141
|
+
return;
|
|
142
|
+
const f = e.clientX - t.startX;
|
|
143
|
+
if (!t.dragging) {
|
|
144
|
+
if (Math.abs(f) <= 3) return;
|
|
145
|
+
t.dragging = !0, i.current = !0, r.setPointerCapture(e.pointerId);
|
|
146
|
+
}
|
|
147
|
+
e.preventDefault(), r.scrollLeft = t.scrollLeft - f;
|
|
148
|
+
},
|
|
149
|
+
onPointerUpCapture: (e) => {
|
|
150
|
+
const r = o.current, t = n.current;
|
|
151
|
+
!r || !t || t.pointerId !== e.pointerId || (n.current = null, r.hasPointerCapture(e.pointerId) && r.releasePointerCapture(e.pointerId), i.current && window.setTimeout(() => {
|
|
152
|
+
i.current = !1;
|
|
153
|
+
}, 0));
|
|
154
|
+
},
|
|
155
|
+
onPointerCancelCapture: (e) => {
|
|
156
|
+
const r = o.current, t = n.current;
|
|
157
|
+
!r || !t || t.pointerId !== e.pointerId || (n.current = null, r.hasPointerCapture(e.pointerId) && r.releasePointerCapture(e.pointerId));
|
|
158
|
+
},
|
|
159
|
+
onClickCapture: (e) => {
|
|
160
|
+
i.current && (e.preventDefault(), e.stopPropagation(), i.current = !1);
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
function O(o) {
|
|
165
|
+
const a = h(null), [n, i] = z(!1);
|
|
166
|
+
return D(() => {
|
|
167
|
+
if (!o) return;
|
|
168
|
+
const e = a.current;
|
|
169
|
+
if (!e) return;
|
|
170
|
+
const r = () => i(e.scrollWidth > e.clientWidth), t = new ResizeObserver(r);
|
|
171
|
+
return t.observe(e), r(), () => t.disconnect();
|
|
172
|
+
}, [o]), { ref: a, isOverflowing: n };
|
|
173
|
+
}
|
|
174
|
+
export {
|
|
175
|
+
U as T
|
|
176
|
+
};
|
|
177
|
+
//# sourceMappingURL=tabs-e4pcjkw94kpe35x0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs-e4pcjkw94kpe35x0.js","sources":["../../src/components/tabs/tabs.tsx"],"sourcesContent":["import {\n useEffect,\n useRef,\n useState,\n type MouseEvent,\n type PointerEvent,\n type ReactNode,\n} from \"react\";\nimport type { TabsTab } from \"@base-ui/react/tabs\";\nimport { Tabs as TabsPrimitive } from \"@base-ui/react/tabs\";\nimport { cn } from \"../../utils/cn\";\n\n/** Tabs variant definitions. */\nexport const REKI_TABS_VARIANTS = {\n variant: [\"segmented\", \"underline\"],\n size: [\"base\", \"sm\"],\n} as const;\n\nexport const REKI_TABS_DEFAULT_VARIANTS = {\n variant: \"segmented\",\n size: \"base\",\n} as const;\n\nexport const REKI_TABS_STYLING = {\n container: {\n height: 34,\n borderRadius: 8,\n background: \"color-accent\",\n padding: 1,\n },\n tab: {\n paddingX: 10,\n verticalMargin: 1,\n fontSize: 16,\n fontWeight: 500,\n borderRadius: 8,\n activeColor: \"text-color-surface\",\n inactiveColor: \"text-color-label\",\n },\n indicator: {\n background: \"color-surface-secondary\",\n ring: \"color-color-2\",\n borderRadius: 6,\n shadow: \"shadow-sm\",\n },\n} as const;\n\n// Derived types from REKI_TABS_VARIANTS\nexport interface RekiTabsVariantsProps {\n /**\n * Tab style.\n * - `\"segmented\"` — Pill-shaped indicator on a filled track\n * - `\"underline\"` — Underline indicator below tab text\n * @default \"segmented\"\n */\n variant?: (typeof REKI_TABS_VARIANTS.variant)[number];\n /**\n * Tab size.\n * - `\"base\"` — Default size (h-9, text-base)\n * - `\"sm\"` — Compact size (h-6.5, text-xs) — matches Input size=\"sm\"\n * @default \"base\"\n */\n size?: (typeof REKI_TABS_VARIANTS.size)[number];\n}\n\n/** Configuration for a single tab within the Tabs component. */\nexport type TabsItem = {\n /** Unique identifier for the tab, used as the controlled value. */\n value: string;\n /** Display content for the tab trigger. */\n label: ReactNode;\n /** Additional CSS classes for this tab trigger. */\n className?: string;\n /**\n * Custom render function or element to replace the tab element (e.g. for link-based tabs).\n * When using a function, it receives the props to spread on the element and the tab's state.\n */\n render?: TabsTab.Props[\"render\"];\n};\n\n/**\n * Tabs component props.\n *\n * @example\n * ```tsx\n * <Tabs\n * tabs={[\n * { value: \"overview\", label: \"Overview\" },\n * { value: \"settings\", label: \"Settings\" },\n * ]}\n * value={activeTab}\n * onValueChange={setActiveTab}\n * />\n * ```\n */\nexport type TabsProps = RekiTabsVariantsProps & {\n /** Array of tab items to render. */\n tabs?: TabsItem[];\n /** Controlled value. When set, component becomes controlled. */\n value?: string;\n /** Default selected value for uncontrolled mode. Ignored when `value` is set. */\n selectedValue?: string;\n /** Callback fired when the active tab changes. */\n onValueChange?: (value: string) => void;\n /**\n * When `true`, tabs are activated immediately upon receiving focus via arrow keys.\n * When `false` (default), tabs receive focus but require Enter/Space to activate.\n */\n activateOnFocus?: boolean;\n /** Additional CSS classes for the root element. */\n className?: string;\n /** Additional CSS classes for the tab list element. */\n listClassName?: string;\n /** Additional CSS classes for the indicator element. */\n indicatorClassName?: string;\n};\n\n/**\n * Tab navigation component with segmented or underline style.\n * Built on Base UI Tabs with animated active indicator.\n *\n * @example\n * ```tsx\n * <Tabs\n * variant=\"segmented\"\n * tabs={[{ value: \"tab1\", label: \"Tab 1\" }, { value: \"tab2\", label: \"Tab 2\" }]}\n * value={active}\n * onValueChange={setActive}\n * />\n * ```\n */\nexport function Tabs({\n tabs,\n value,\n selectedValue,\n onValueChange,\n activateOnFocus,\n className,\n listClassName,\n indicatorClassName,\n variant = REKI_TABS_DEFAULT_VARIANTS.variant,\n size = REKI_TABS_DEFAULT_VARIANTS.size,\n}: TabsProps) {\n const items: TabsItem[] = tabs ?? [];\n\n if (items.length === 0) {\n return null;\n }\n\n const fallbackValue = items[0]?.value;\n const isControlled = value !== undefined;\n const rootProps = {\n value: isControlled ? value : undefined,\n defaultValue: isControlled ? undefined : (selectedValue ?? fallbackValue),\n };\n\n const isSegmented = variant === \"segmented\";\n const isUnderline = variant === \"underline\";\n const isSm = size === \"sm\";\n const { ref: listRef, isOverflowing } = useOverflowDetect(isSegmented);\n const bindDrag = useHorizontalDragScroll(listRef, isOverflowing);\n\n return (\n <TabsPrimitive.Root\n {...rootProps}\n className={cn(\n \"relative isolate min-w-0 font-medium\",\n isSegmented &&\n (isSm ? \"rounded-md\" : \"rounded-lg\") + \" ring ring-reki-hairline/70\",\n className,\n )}\n onValueChange={(nextValue) => {\n const stringValue = String(nextValue);\n onValueChange?.(stringValue);\n }}\n >\n {/* Background element for segmented variant */}\n {isSegmented && (\n <div\n className={cn(\n \"absolute inset-x-0 top-1/2 z-0 -translate-y-1/2 rounded-lg bg-reki-recessed\",\n isSm ? \"h-6.5\" : \"h-9\",\n )}\n />\n )}\n <TabsPrimitive.List\n ref={listRef}\n activateOnFocus={activateOnFocus}\n data-overflowing={isOverflowing ? \"\" : undefined}\n {...bindDrag()}\n className={cn(\n \"relative flex min-w-0 shrink items-stretch\",\n isSegmented &&\n \"reki-tabs-list overflow-x-auto rounded-lg bg-reki-recessed px-0.5 [--scroll-fade-width:3rem] scroll-px-(--scroll-fade-width)\",\n isSegmented && (isSm ? \"h-6.5 rounded-md\" : \"h-9\"),\n isOverflowing && \"cursor-grab active:cursor-grabbing\",\n isUnderline && \"gap-4 border-b border-reki-hairline pb-2\",\n isUnderline && (isSm ? \"h-6.5\" : \"h-7.5\"),\n listClassName,\n )}\n >\n {items.map((tab) => (\n <TabsPrimitive.Tab\n key={tab.value}\n data-reki-component=\"Tabs\"\n data-reki-part=\"tab\"\n value={tab.value}\n render={tab.render}\n onClick={(e) => {\n e.currentTarget.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n inline: \"nearest\",\n });\n }}\n className={cn(\n \"relative z-2 flex items-center rounded bg-transparent whitespace-nowrap focus:outline-none focus:ring-reki-focus/50 focus-visible:ring-2 focus-visible:ring-reki-brand\",\n isOverflowing\n ? \"cursor-grab active:cursor-grabbing\"\n : \"cursor-pointer\",\n isSm ? \"text-xs\" : \"text-base\",\n isSegmented &&\n \"my-0.5 text-reki-subtle hover:text-reki-default aria-selected:text-reki-default focus-visible:ring-inset\",\n isSegmented && (isSm ? \"px-2 rounded-sm\" : \"px-2.5 rounded-md\"),\n isUnderline &&\n \"text-reki-subtle hover:bg-reki-tint hover:text-reki-default aria-selected:hover:bg-reki-tint aria-selected:font-medium aria-selected:text-reki-default\",\n isUnderline && (isSm ? \"px-1.5 py-2.5\" : \"px-2 py-3\"),\n tab.className,\n )}\n >\n {tab.label}\n </TabsPrimitive.Tab>\n ))}\n <TabsPrimitive.Indicator\n render={(props) => (\n <div\n {...props}\n className={cn(\n \"absolute z-1 left-0\",\n \"w-(--active-tab-width) translate-x-(--active-tab-left) transition-all duration-200\",\n \"data-[rendered=false]:scale-90 data-[rendered=false]:opacity-0\",\n isSegmented &&\n cn(\n \"top-(--active-tab-top) h-(--active-tab-height) bg-reki-base shadow-sm ring ring-reki-line\",\n isSm ? \"rounded\" : \"rounded-md\",\n ),\n isUnderline && \"bottom-0 h-0.5 bg-reki-brand\",\n indicatorClassName,\n )}\n />\n )}\n />\n </TabsPrimitive.List>\n </TabsPrimitive.Root>\n );\n}\n\n// ─── Horizontal drag-to-scroll ────────────────────────────────────────\n\n/**\n * Enables mouse drag to horizontally scroll the tab list.\n * Touch devices keep native horizontal overflow scrolling and inertia.\n */\nfunction useHorizontalDragScroll(\n ref: React.RefObject<HTMLElement | null>,\n enabled: boolean,\n) {\n const dragState = useRef<{\n pointerId: number;\n startX: number;\n scrollLeft: number;\n dragging: boolean;\n } | null>(null);\n const shouldSuppressClick = useRef(false);\n\n return () => ({\n onPointerDownCapture: (event: PointerEvent<HTMLElement>) => {\n const el = ref.current;\n if (!el || !enabled) return;\n if (event.pointerType !== \"mouse\" || event.button !== 0) return;\n\n dragState.current = {\n pointerId: event.pointerId,\n startX: event.clientX,\n scrollLeft: el.scrollLeft,\n dragging: false,\n };\n shouldSuppressClick.current = false;\n },\n onPointerMoveCapture: (event: PointerEvent<HTMLElement>) => {\n const el = ref.current;\n const state = dragState.current;\n if (!el || !enabled || !state || state.pointerId !== event.pointerId)\n return;\n\n const movementX = event.clientX - state.startX;\n if (!state.dragging) {\n if (Math.abs(movementX) <= 3) return;\n state.dragging = true;\n shouldSuppressClick.current = true;\n el.setPointerCapture(event.pointerId);\n }\n\n event.preventDefault();\n el.scrollLeft = state.scrollLeft - movementX;\n },\n onPointerUpCapture: (event: PointerEvent<HTMLElement>) => {\n const el = ref.current;\n const state = dragState.current;\n if (!el || !state || state.pointerId !== event.pointerId) return;\n\n dragState.current = null;\n if (el.hasPointerCapture(event.pointerId)) {\n el.releasePointerCapture(event.pointerId);\n }\n if (shouldSuppressClick.current) {\n window.setTimeout(() => {\n shouldSuppressClick.current = false;\n }, 0);\n }\n },\n onPointerCancelCapture: (event: PointerEvent<HTMLElement>) => {\n const el = ref.current;\n const state = dragState.current;\n if (!el || !state || state.pointerId !== event.pointerId) return;\n\n dragState.current = null;\n if (el.hasPointerCapture(event.pointerId)) {\n el.releasePointerCapture(event.pointerId);\n }\n },\n onClickCapture: (event: MouseEvent<HTMLElement>) => {\n if (!shouldSuppressClick.current) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n shouldSuppressClick.current = false;\n },\n });\n}\n\n// ─── Overflow detection ───────────────────────────────────────────────\n\n/**\n * Detects whether the element's content overflows horizontally.\n * Returns a ref to attach and a boolean for conditional rendering.\n * The `data-overflowing` attribute drives the scroll-fade CSS.\n */\nfunction useOverflowDetect(enabled: boolean) {\n const ref = useRef<HTMLDivElement>(null);\n const [isOverflowing, setIsOverflowing] = useState(false);\n\n useEffect(() => {\n if (!enabled) return;\n const el = ref.current;\n if (!el) return;\n\n const check = () => setIsOverflowing(el.scrollWidth > el.clientWidth);\n\n const ro = new ResizeObserver(check);\n ro.observe(el);\n check();\n\n return () => ro.disconnect();\n }, [enabled]);\n\n return { ref, isOverflowing };\n}\n"],"names":["REKI_TABS_DEFAULT_VARIANTS","Tabs","tabs","value","selectedValue","onValueChange","activateOnFocus","className","listClassName","indicatorClassName","variant","size","items","fallbackValue","isControlled","rootProps","isSegmented","isUnderline","isSm","listRef","isOverflowing","useOverflowDetect","bindDrag","useHorizontalDragScroll","jsxs","TabsPrimitive.Root","cn","nextValue","stringValue","jsx","TabsPrimitive.List","tab","TabsPrimitive.Tab","e","TabsPrimitive.Indicator","props","ref","enabled","dragState","useRef","shouldSuppressClick","event","el","state","movementX","setIsOverflowing","useState","useEffect","check","ro"],"mappings":"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"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as g } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef as b, useMemo as y } from "react";
|
|
4
|
+
import { c as T } from "./cn-ct4n7r74mh8y0f48.js";
|
|
5
|
+
import { r as i } from "./resolve-variant-t8jcltsizeg29ege.js";
|
|
6
|
+
const s = {
|
|
7
|
+
variant: {
|
|
8
|
+
heading1: {
|
|
9
|
+
classes: "text-3xl font-semibold",
|
|
10
|
+
description: "Large heading for page titles"
|
|
11
|
+
},
|
|
12
|
+
heading2: {
|
|
13
|
+
classes: "text-2xl font-semibold",
|
|
14
|
+
description: "Medium heading for section titles"
|
|
15
|
+
},
|
|
16
|
+
heading3: {
|
|
17
|
+
classes: "text-lg font-semibold",
|
|
18
|
+
description: "Small heading for subsections"
|
|
19
|
+
},
|
|
20
|
+
body: {
|
|
21
|
+
classes: "text-reki-default",
|
|
22
|
+
description: "Default body text"
|
|
23
|
+
},
|
|
24
|
+
secondary: {
|
|
25
|
+
classes: "text-reki-subtle",
|
|
26
|
+
description: "Muted text for secondary information"
|
|
27
|
+
},
|
|
28
|
+
success: {
|
|
29
|
+
classes: "text-reki-link",
|
|
30
|
+
description: "Success state text"
|
|
31
|
+
},
|
|
32
|
+
error: {
|
|
33
|
+
classes: "text-reki-danger",
|
|
34
|
+
description: "Error state text"
|
|
35
|
+
},
|
|
36
|
+
mono: {
|
|
37
|
+
classes: "font-mono",
|
|
38
|
+
description: "Monospace text for code"
|
|
39
|
+
},
|
|
40
|
+
"mono-secondary": {
|
|
41
|
+
classes: "font-mono text-reki-subtle",
|
|
42
|
+
description: "Muted monospace text"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
size: {
|
|
46
|
+
xs: {
|
|
47
|
+
classes: "text-xs",
|
|
48
|
+
description: "Extra small text"
|
|
49
|
+
},
|
|
50
|
+
sm: {
|
|
51
|
+
classes: "text-sm",
|
|
52
|
+
description: "Small text"
|
|
53
|
+
},
|
|
54
|
+
base: {
|
|
55
|
+
classes: "text-base",
|
|
56
|
+
description: "Default text size"
|
|
57
|
+
},
|
|
58
|
+
lg: {
|
|
59
|
+
classes: "text-lg",
|
|
60
|
+
description: "Large text"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}, r = {
|
|
64
|
+
variant: "body",
|
|
65
|
+
size: "base"
|
|
66
|
+
};
|
|
67
|
+
function h({
|
|
68
|
+
variant: e = "body",
|
|
69
|
+
bold: a = !1,
|
|
70
|
+
size: o = "base",
|
|
71
|
+
truncate: c = !1,
|
|
72
|
+
children: l,
|
|
73
|
+
DANGEROUS_className: d,
|
|
74
|
+
DANGEROUS_style: m,
|
|
75
|
+
as: t,
|
|
76
|
+
...x
|
|
77
|
+
}, f) {
|
|
78
|
+
const n = ["body", "secondary", "success", "error"].includes(e), u = ["mono", "mono-secondary"].includes(e), p = y(() => t || (["mono", "mono-secondary"].includes(e) || ["heading1", "heading2", "heading3"].includes(e) ? "span" : "p"), [e, t]);
|
|
79
|
+
return /* @__PURE__ */ g(
|
|
80
|
+
p,
|
|
81
|
+
{
|
|
82
|
+
ref: f,
|
|
83
|
+
className: T(
|
|
84
|
+
"text-reki-default",
|
|
85
|
+
i(s.variant, e, r.variant).classes,
|
|
86
|
+
n ? i(s.size, o, r.size).classes : "",
|
|
87
|
+
n && a ? "font-medium" : "",
|
|
88
|
+
// Monospace fonts need to be 1pt smaller than body text to optically match
|
|
89
|
+
u && (o === "lg" ? s.size.base.classes : s.size.sm.classes),
|
|
90
|
+
c && "truncate min-w-0",
|
|
91
|
+
d
|
|
92
|
+
),
|
|
93
|
+
style: m,
|
|
94
|
+
...x,
|
|
95
|
+
children: l
|
|
96
|
+
}
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
const _ = b(h);
|
|
100
|
+
export {
|
|
101
|
+
_ as T
|
|
102
|
+
};
|
|
103
|
+
//# sourceMappingURL=text-oxsrbmjmfq99ue85.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-oxsrbmjmfq99ue85.js","sources":["../../src/components/text/text.tsx"],"sourcesContent":["import {\n type CSSProperties,\n type ComponentPropsWithoutRef,\n type ElementRef,\n type ForwardedRef,\n forwardRef,\n useMemo,\n} from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { resolveVariant } from \"../../utils/resolve-variant\";\n\n/** Text variant and size definitions mapping names to their Tailwind classes. */\nexport const REKI_TEXT_VARIANTS = {\n variant: {\n heading1: {\n classes: \"text-3xl font-semibold\",\n description: \"Large heading for page titles\",\n },\n heading2: {\n classes: \"text-2xl font-semibold\",\n description: \"Medium heading for section titles\",\n },\n heading3: {\n classes: \"text-lg font-semibold\",\n description: \"Small heading for subsections\",\n },\n body: {\n classes: \"text-reki-default\",\n description: \"Default body text\",\n },\n secondary: {\n classes: \"text-reki-subtle\",\n description: \"Muted text for secondary information\",\n },\n success: {\n classes: \"text-reki-link\",\n description: \"Success state text\",\n },\n error: {\n classes: \"text-reki-danger\",\n description: \"Error state text\",\n },\n mono: {\n classes: \"font-mono\",\n description: \"Monospace text for code\",\n },\n \"mono-secondary\": {\n classes: \"font-mono text-reki-subtle\",\n description: \"Muted monospace text\",\n },\n },\n size: {\n xs: {\n classes: \"text-xs\",\n description: \"Extra small text\",\n },\n sm: {\n classes: \"text-sm\",\n description: \"Small text\",\n },\n base: {\n classes: \"text-base\",\n description: \"Default text size\",\n },\n lg: {\n classes: \"text-lg\",\n description: \"Large text\",\n },\n },\n} as const;\n\nexport const REKI_TEXT_DEFAULT_VARIANTS = {\n variant: \"body\",\n size: \"base\",\n} as const;\n\n/**\n * REKI_TEXT_STYLING - Typography metadata for Figma generator\n *\n * This export provides structured styling information extracted from text.tsx\n * for use by the Figma plugin generator. It documents font sizes, weights,\n * colors, and font families used across all Text variants.\n *\n * Source of truth chain:\n * text.tsx (this file) → component-registry.json → text.ts (Figma generator)\n */\nexport const REKI_TEXT_STYLING = {\n fontSizes: {\n xs: 12,\n sm: 14,\n base: 16,\n lg: 18,\n xl: 20,\n \"2xl\": 24,\n \"3xl\": 30,\n },\n fontWeights: {\n normal: 400,\n medium: 500,\n semibold: 600,\n },\n baseColor: \"text-reki-default\",\n variantColors: {\n body: \"text-reki-default\",\n secondary: \"text-reki-subtle\",\n success: \"text-reki-link\",\n error: \"text-reki-danger\",\n mono: \"text-reki-default\",\n \"mono-secondary\": \"text-reki-subtle\",\n },\n fontFamilies: {\n default: \"sans-serif\",\n mono: \"monospace\",\n },\n} as const;\n\n// Derived types from REKI_TEXT_VARIANTS\nexport type RekiTextVariant = keyof typeof REKI_TEXT_VARIANTS.variant;\nexport type RekiTextSize = keyof typeof REKI_TEXT_VARIANTS.size;\n\nexport interface RekiTextVariantsProps {\n variant?: RekiTextVariant;\n size?: RekiTextSize;\n}\n\nexport function textVariants({\n variant = REKI_TEXT_DEFAULT_VARIANTS.variant,\n size = REKI_TEXT_DEFAULT_VARIANTS.size,\n}: RekiTextVariantsProps = {}) {\n return cn(\n resolveVariant(REKI_TEXT_VARIANTS.variant, variant, REKI_TEXT_DEFAULT_VARIANTS.variant).classes,\n resolveVariant(REKI_TEXT_VARIANTS.size, size, REKI_TEXT_DEFAULT_VARIANTS.size).classes,\n );\n}\n\n// Legacy types for backwards compatibility\ntype Heading = \"heading1\" | \"heading2\" | \"heading3\";\ntype Copy = \"body\" | \"secondary\" | \"success\" | \"error\";\ntype Monospace = \"mono\" | \"mono-secondary\";\ntype TextSize = RekiTextSize;\ntype TextVariant = RekiTextVariant;\n\n/** Valid HTML elements for the Text component's `as` prop. */\nexport type TextElement =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"h5\"\n | \"h6\"\n | \"p\"\n | \"span\"\n | \"label\"\n | \"dt\"\n | \"dd\"\n | \"li\"\n | \"figcaption\"\n | \"legend\"\n | \"pre\"\n | \"code\"\n | \"em\"\n | \"strong\"\n | \"small\"\n | \"abbr\"\n | \"time\";\n\ntype BaseTextProps = Omit<\n ComponentPropsWithoutRef<\"span\">,\n \"className\" | \"style\"\n> & {\n DANGEROUS_className?: string;\n DANGEROUS_style?: CSSProperties;\n};\n\ntype TextPropsInternal<Variant extends TextVariant = \"body\"> = BaseTextProps &\n (Variant extends Copy\n ? {\n variant?: Variant;\n bold?: boolean;\n size?: TextSize;\n truncate?: boolean;\n /** Optional element override. Defaults to `<p>`. */\n as?: TextElement;\n }\n : Variant extends Monospace\n ? {\n variant?: Variant;\n bold?: never;\n size?: \"lg\";\n truncate?: boolean;\n /** Optional element override. Defaults to `<span>`. */\n as?: TextElement;\n }\n : Variant extends Heading\n ? {\n variant: Variant;\n bold?: never;\n size?: never;\n truncate?: boolean;\n /**\n * Required for heading variants. Pick the element that reflects\n * this text's place in the document outline (`\"h1\"` for a page\n * title, `\"h2\"` for a section title, etc.) or `\"span\"` for\n * decorative heading-styled text that is NOT a section heading.\n *\n * Previously optional (defaulted to `<span>`), which silently\n * excluded real section headings from the document outline.\n * Making it required surfaces the decision at the type level.\n */\n as: TextElement;\n }\n : never);\n\n/**\n * Text component props.\n *\n * @example\n * ```tsx\n * <Text variant=\"heading1\" as=\"h1\">Page Title</Text>\n * <Text variant=\"body\">Default paragraph text.</Text>\n * <Text variant=\"secondary\" size=\"sm\">Muted helper text</Text>\n * <Text variant=\"error\">Something went wrong</Text>\n * <Text variant=\"mono\">console.log(\"code\")</Text>\n * ```\n */\nexport interface TextProps {\n /**\n * Text style variant. Determines color, font, and weight.\n * - `\"heading1\"` — Large page title (30px, semibold)\n * - `\"heading2\"` — Section title (24px, semibold)\n * - `\"heading3\"` — Subsection title (18px, semibold)\n * - `\"body\"` — Default body text\n * - `\"secondary\"` — Muted text for secondary information\n * - `\"success\"` — Success state text\n * - `\"error\"` — Error state text\n * - `\"mono\"` — Monospace text for code\n * - `\"mono-secondary\"` — Muted monospace text\n * @default \"body\"\n */\n variant?: RekiTextVariant;\n /**\n * Text size (only applies to body/secondary/success/error variants).\n * - `\"xs\"` — 12px\n * - `\"sm\"` — 14px\n * - `\"base\"` — 16px\n * - `\"lg\"` — 18px\n * @default \"base\"\n */\n size?: RekiTextSize;\n /** Whether to use bold font weight (only applies to body variants). */\n bold?: boolean;\n /** Whether to truncate overflowing text with an ellipsis. Adds `truncate min-w-0` classes. */\n truncate?: boolean;\n /**\n * The HTML element to render. Accepts headings (`\"h1\"`–`\"h6\"`), block text\n * (`\"p\"`, `\"pre\"`), inline text (`\"span\"`, `\"code\"`, `\"em\"`, `\"strong\"`,\n * `\"small\"`, `\"abbr\"`, `\"time\"`), form-related (`\"label\"`, `\"legend\"`),\n * list/definition (`\"dt\"`, `\"dd\"`, `\"li\"`), and `\"figcaption\"`.\n *\n * - **Required** for heading variants (`\"heading1\"`, `\"heading2\"`,\n * `\"heading3\"`) — pick the element that reflects this text's place in\n * the document outline, or `\"span\"` for decorative heading-styled text\n * that is not a section heading.\n * - **Optional** for body variants (defaults to `\"p\"`) and monospace\n * variants (defaults to `\"span\"`).\n */\n as?: TextElement;\n /** Text content. */\n children?: React.ReactNode;\n}\n\n/**\n * Typography component for rendering text with consistent styling.\n * Renders as `<p>` for body variants and `<span>` for headings/mono.\n * Use the `as` prop to set semantic HTML elements for proper document outlines.\n *\n * @example\n * ```tsx\n * <Text variant=\"heading1\" as=\"h1\">Page Title</Text>\n * <Text variant=\"heading2\" as=\"h2\">Section Title</Text>\n * <Text>Default body text</Text>\n * ```\n */\nfunction _Text<Variant extends TextVariant = \"body\">(\n {\n variant = \"body\" as Variant,\n bold = false,\n size = \"base\",\n truncate = false,\n children,\n DANGEROUS_className,\n DANGEROUS_style,\n as,\n ...props\n }: TextPropsInternal<Variant>,\n ref: ForwardedRef<HTMLElement>,\n) {\n const isCopy = [\"body\", \"secondary\", \"success\", \"error\"].includes(variant);\n const isMono = [\"mono\", \"mono-secondary\"].includes(variant);\n\n // Heading variants no longer auto-select h1/h2/h3 to avoid coupling visual\n // presentation to semantic HTML. Use the `as` prop to set the appropriate\n // heading level for your document outline (e.g., as=\"h2\").\n const Component = useMemo(() => {\n if (as) return as;\n if ([\"mono\", \"mono-secondary\"].includes(variant)) return \"span\";\n // Headings and body text default to span; use `as` for semantic elements\n if ([\"heading1\", \"heading2\", \"heading3\"].includes(variant)) return \"span\";\n return \"p\";\n }, [variant, as]);\n\n return (\n <Component\n // The dynamic `Component` tag creates an impossible intersection of ref\n // types across all TextElement members. We widen to the common base\n // (HTMLElement) which is safe — all text elements extend HTMLElement.\n ref={ref as React.RefCallback<HTMLElement>}\n className={cn(\n \"text-reki-default\",\n resolveVariant(REKI_TEXT_VARIANTS.variant, variant, REKI_TEXT_DEFAULT_VARIANTS.variant).classes,\n isCopy ? resolveVariant(REKI_TEXT_VARIANTS.size, size, REKI_TEXT_DEFAULT_VARIANTS.size).classes : \"\",\n isCopy && bold ? \"font-medium\" : \"\",\n // Monospace fonts need to be 1pt smaller than body text to optically match\n isMono &&\n (size === \"lg\"\n ? REKI_TEXT_VARIANTS.size.base.classes\n : REKI_TEXT_VARIANTS.size.sm.classes),\n truncate && \"truncate min-w-0\",\n DANGEROUS_className,\n )}\n style={DANGEROUS_style}\n {...props}\n >\n {children}\n </Component>\n );\n}\n\nexport const Text = forwardRef(_Text) as <Variant extends TextVariant = \"body\">(\n props: TextPropsInternal<Variant> & {\n ref?: ForwardedRef<ElementRef<\"span\">>;\n },\n) => React.ReactElement;\n"],"names":["REKI_TEXT_VARIANTS","REKI_TEXT_DEFAULT_VARIANTS","_Text","variant","bold","size","truncate","children","DANGEROUS_className","DANGEROUS_style","as","props","ref","isCopy","isMono","Component","useMemo","jsx","cn","resolveVariant","Text","forwardRef"],"mappings":";;;;;AAYO,MAAMA,IAAqB;AAAA,EAChC,SAAS;AAAA,IACP,UAAU;AAAA,MACR,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,UAAU;AAAA,MACR,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,UAAU;AAAA,MACR,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,MAAM;AAAA,MACJ,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,WAAW;AAAA,MACT,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,SAAS;AAAA,MACP,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,OAAO;AAAA,MACL,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,MAAM;AAAA,MACJ,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,kBAAkB;AAAA,MAChB,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,EACf;AAAA,EAEF,MAAM;AAAA,IACJ,IAAI;AAAA,MACF,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,IAAI;AAAA,MACF,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,MAAM;AAAA,MACJ,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,IAAI;AAAA,MACF,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,EACf;AAEJ,GAEaC,IAA6B;AAAA,EACxC,SAAS;AAAA,EACT,MAAM;AACR;AAiNA,SAASC,EACP;AAAA,EACE,SAAAC,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,MAAAC,IAAO;AAAA,EACP,UAAAC,IAAW;AAAA,EACX,UAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,IAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AACA,QAAMC,IAAS,CAAC,QAAQ,aAAa,WAAW,OAAO,EAAE,SAASV,CAAO,GACnEW,IAAS,CAAC,QAAQ,gBAAgB,EAAE,SAASX,CAAO,GAKpDY,IAAYC,EAAQ,MACpBN,MACA,CAAC,QAAQ,gBAAgB,EAAE,SAASP,CAAO,KAE3C,CAAC,YAAY,YAAY,UAAU,EAAE,SAASA,CAAO,IAAU,SAC5D,MACN,CAACA,GAASO,CAAE,CAAC;AAEhB,SACE,gBAAAO;AAAA,IAACF;AAAA,IAAA;AAAA,MAIC,KAAAH;AAAA,MACA,WAAWM;AAAA,QACT;AAAA,QACAC,EAAenB,EAAmB,SAASG,GAASF,EAA2B,OAAO,EAAE;AAAA,QACxFY,IAASM,EAAenB,EAAmB,MAAMK,GAAMJ,EAA2B,IAAI,EAAE,UAAU;AAAA,QAClGY,KAAUT,IAAO,gBAAgB;AAAA;AAAA,QAEjCU,MACGT,MAAS,OACNL,EAAmB,KAAK,KAAK,UAC7BA,EAAmB,KAAK,GAAG;AAAA,QACjCM,KAAY;AAAA,QACZE;AAAA,MAAA;AAAA,MAEF,OAAOC;AAAA,MACN,GAAGE;AAAA,MAEH,UAAAJ;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,MAAMa,IAAOC,EAAWnB,CAAK;"}
|