@vadimcomanescu/nadicode-design-system 4.0.10 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/seed/SKILL.md +27 -22
- package/.agents/skills/seed/references/animation.md +1 -1
- package/.agents/skills/seed/references/composition.md +1 -1
- package/.agents/skills/seed/references/glass-and-effects.md +16 -21
- package/.agents/skills/seed/references/patterns.md +47 -47
- package/.agents/skills/seed/references/state-machines.md +19 -18
- package/README.md +3 -1
- package/contracts/consumer-intent-map.json +2 -700
- package/contracts/message-catalog-contract.json +20 -20
- package/contracts/release-governance-baseline.json +14 -265
- package/css/tokens.css +28 -18
- package/dist/ProfilePage-KJVA3ZQ5.js +87 -0
- package/dist/TeamPage-BX3RMSZU.js +479 -0
- package/dist/catalog/catalog.d.ts +4753 -1883
- package/dist/catalog/catalog.js +22 -2107
- package/dist/catalog/components.d.ts +234 -177
- package/dist/catalog/components.js +218 -289
- package/dist/catalog/definitions/action.d.ts +170 -0
- package/dist/catalog/definitions/action.js +1 -0
- package/dist/catalog/definitions/agent.d.ts +496 -0
- package/dist/catalog/definitions/agent.js +1 -0
- package/dist/catalog/definitions/blocks-agent.d.ts +359 -0
- package/dist/catalog/definitions/blocks-agent.js +1 -0
- package/dist/catalog/definitions/blocks-auth.d.ts +179 -0
- package/dist/catalog/definitions/blocks-auth.js +1 -0
- package/dist/catalog/definitions/blocks-content.d.ts +495 -0
- package/dist/catalog/definitions/blocks-content.js +2 -0
- package/dist/catalog/definitions/blocks-crud.d.ts +485 -0
- package/dist/catalog/definitions/blocks-crud.js +1 -0
- package/dist/catalog/definitions/blocks-data.d.ts +309 -0
- package/dist/catalog/definitions/blocks-data.js +2 -0
- package/dist/catalog/definitions/blocks-marketing.d.ts +381 -0
- package/dist/catalog/definitions/blocks-marketing.js +1 -0
- package/dist/catalog/definitions/blocks-misc.d.ts +108 -0
- package/dist/catalog/definitions/blocks-misc.js +1 -0
- package/dist/catalog/definitions/chart.d.ts +293 -0
- package/dist/catalog/definitions/chart.js +2 -0
- package/dist/catalog/definitions/chat.d.ts +108 -0
- package/dist/catalog/definitions/chat.js +1 -0
- package/dist/catalog/definitions/display.d.ts +575 -0
- package/dist/catalog/definitions/display.js +2 -0
- package/dist/catalog/definitions/effects.d.ts +267 -0
- package/dist/catalog/definitions/effects.js +1 -0
- package/dist/catalog/definitions/form.d.ts +413 -0
- package/dist/catalog/definitions/form.js +2 -0
- package/dist/catalog/definitions/index.d.ts +5262 -0
- package/dist/catalog/definitions/index.js +21 -0
- package/dist/catalog/definitions/layout.d.ts +133 -0
- package/dist/catalog/definitions/layout.js +1 -0
- package/dist/catalog/definitions/navigation.d.ts +121 -0
- package/dist/catalog/definitions/navigation.js +1 -0
- package/dist/catalog/definitions/overlay.d.ts +183 -0
- package/dist/catalog/definitions/overlay.js +1 -0
- package/dist/catalog/definitions/shared.d.ts +31 -0
- package/dist/catalog/definitions/shared.js +1 -0
- package/dist/catalog/definitions/text-effects.d.ts +204 -0
- package/dist/catalog/definitions/text-effects.js +1 -0
- package/dist/catalog/definitions/text.d.ts +38 -0
- package/dist/catalog/definitions/text.js +1 -0
- package/dist/catalog/primitives/action.d.ts +12 -0
- package/dist/{components/blocks/TwoFactorChallengeBlock.js → catalog/primitives/action.js} +42 -36
- package/dist/catalog/primitives/agent.d.ts +18 -0
- package/dist/catalog/primitives/agent.js +32 -0
- package/dist/catalog/primitives/chart.d.ts +12 -0
- package/dist/catalog/primitives/chart.js +17 -0
- package/dist/catalog/primitives/chat.d.ts +10 -0
- package/dist/{components/page-kits/TwoFactorPageKit.js → catalog/primitives/chat.js} +42 -44
- package/dist/catalog/primitives/display.d.ts +34 -0
- package/dist/{components/page-kits/TeamSettingsPageKit.js → catalog/primitives/display.js} +71 -48
- package/dist/catalog/primitives/effects.d.ts +19 -0
- package/dist/catalog/primitives/effects.js +25 -0
- package/dist/catalog/primitives/form.d.ts +22 -0
- package/dist/{components/page-kits/OnboardingPageKit.js → catalog/primitives/form.js} +51 -47
- package/dist/catalog/primitives/index.d.ts +137 -0
- package/dist/{components/page-kits/LandingPageKit.js → catalog/primitives/index.js} +171 -58
- package/dist/catalog/primitives/layout.d.ts +14 -0
- package/dist/catalog/primitives/layout.js +130 -0
- package/dist/catalog/primitives/navigation.d.ts +10 -0
- package/dist/{components/page-kits/NavigationShellPageKit.js → catalog/primitives/navigation.js} +41 -37
- package/dist/catalog/primitives/overlay.d.ts +12 -0
- package/dist/catalog/primitives/overlay.js +130 -0
- package/dist/catalog/primitives/text-effects.d.ts +13 -0
- package/dist/{components/blocks/SocialProofBlock.js → catalog/primitives/text-effects.js} +4 -11
- package/dist/catalog/primitives/text.d.ts +7 -0
- package/dist/catalog/primitives/text.js +7 -0
- package/dist/catalog/primitives/utils.d.ts +8 -0
- package/dist/catalog/primitives/utils.js +1 -0
- package/dist/catalog/types.d.ts +3 -3
- package/dist/chunk-2LBEV4YF.js +128 -0
- package/dist/chunk-2NMP3J5R.js +6 -0
- package/dist/chunk-34MKVVGB.js +176 -0
- package/dist/{chunk-KFL4YCMI.js → chunk-37LY27CX.js} +1 -1
- package/dist/{chunk-LPED36AD.js → chunk-3BGWXRQC.js} +6 -8
- package/dist/chunk-3QMHVXSQ.js +258 -0
- package/dist/{chunk-ZI22L4DD.js → chunk-3TYPQWKD.js} +7 -13
- package/dist/chunk-44NVO477.js +46 -0
- package/dist/chunk-4ACR6NGQ.js +144 -0
- package/dist/{chunk-FF3XUIZO.js → chunk-4DWRAIM2.js} +1 -1
- package/dist/chunk-4EHXVFQY.js +78 -0
- package/dist/chunk-4EOX2S37.js +24 -0
- package/dist/chunk-4GLBFZVI.js +184 -0
- package/dist/chunk-4GQ5EMWR.js +142 -0
- package/dist/chunk-4TK2PXMJ.js +6 -0
- package/dist/chunk-4ZST7OY5.js +153 -0
- package/dist/chunk-56TNQ2P4.js +82 -0
- package/dist/chunk-5B3GLRX3.js +139 -0
- package/dist/chunk-5KQEGO3O.js +71 -0
- package/dist/chunk-5L2RFJZR.js +31 -0
- package/dist/{chunk-2325VORX.js → chunk-5MLOZVOQ.js} +32 -25
- package/dist/chunk-5XDYCBR6.js +345 -0
- package/dist/chunk-5ZC3RHXB.js +72 -0
- package/dist/chunk-65CUE2WL.js +257 -0
- package/dist/chunk-6KRT337C.js +75 -0
- package/dist/{chunk-DVU2EABM.js → chunk-6LD76RMU.js} +9 -12
- package/dist/{chunk-L3WRHSHM.js → chunk-6NL36QN3.js} +9 -8
- package/dist/chunk-6NND57T2.js +79 -0
- package/dist/{chunk-TBJPLMUE.js → chunk-6OBT3A5O.js} +6 -9
- package/dist/{chunk-ZR7PL5XQ.js → chunk-767GZSNJ.js} +7 -10
- package/dist/{chunk-2S4727W3.js → chunk-7AUNUDHM.js} +20 -16
- package/dist/chunk-7IVXTSZK.js +185 -0
- package/dist/{chunk-N2J3XFR6.js → chunk-7OOO22KB.js} +11 -16
- package/dist/chunk-7PTI46BS.js +119 -0
- package/dist/chunk-7SOMHO2L.js +181 -0
- package/dist/chunk-7SRNVMBY.js +72 -0
- package/dist/chunk-7U7XFIP6.js +17 -0
- package/dist/{chunk-3HHLJH72.js → chunk-7UY24UWL.js} +1 -1
- package/dist/chunk-7X3GXC7C.js +52 -0
- package/dist/{chunk-R4CRWXEQ.js → chunk-A44E44UV.js} +35 -27
- package/dist/chunk-A4TQNK7R.js +58 -0
- package/dist/chunk-AU2Q7CXZ.js +45 -0
- package/dist/{chunk-IJ46YEUQ.js → chunk-B4YCI5NM.js} +10 -19
- package/dist/{chunk-JXZ4HYXA.js → chunk-BAB6AHOM.js} +64 -60
- package/dist/chunk-BHPATKC7.js +116 -0
- package/dist/chunk-BJVCZI2B.js +29 -0
- package/dist/{chunk-ZTYKDD4V.js → chunk-BVXSAVKY.js} +7 -12
- package/dist/chunk-C7LO3JEF.js +195 -0
- package/dist/chunk-CAET62YQ.js +228 -0
- package/dist/chunk-CPHVCY3M.js +230 -0
- package/dist/{chunk-WOYBVPXK.js → chunk-CQ75K2DH.js} +8 -10
- package/dist/{chunk-OSNTB6RY.js → chunk-CY3PROVO.js} +88 -26
- package/dist/{chunk-FRAGRQOH.js → chunk-D6MFOI3N.js} +20 -20
- package/dist/{chunk-D3PKI34R.js → chunk-DGSNEGJP.js} +16 -18
- package/dist/{chunk-NTN5DWXV.js → chunk-DSNPOAE6.js} +7 -10
- package/dist/chunk-E5E3W2K4.js +6 -0
- package/dist/chunk-EJQ73FJ5.js +383 -0
- package/dist/chunk-F3QIIOOL.js +71 -0
- package/dist/chunk-FAKTXE3F.js +272 -0
- package/dist/chunk-FAQZPQF7.js +119 -0
- package/dist/chunk-FOXDDL2Z.js +41 -0
- package/dist/chunk-G722PEFL.js +71 -0
- package/dist/chunk-GC7QKZQW.js +20 -0
- package/dist/{chunk-QLL3Z6U6.js → chunk-GE4WUAAE.js} +8 -8
- package/dist/chunk-GNKNT52O.js +45 -0
- package/dist/chunk-GQEB425G.js +41 -0
- package/dist/{chunk-XTASI4IY.js → chunk-GVOWGEGX.js} +6 -13
- package/dist/chunk-GXUQFXT7.js +282 -0
- package/dist/chunk-GZ4DTYWM.js +36 -0
- package/dist/{chunk-7XRKBROR.js → chunk-HF2HNDE7.js} +22 -12
- package/dist/chunk-HMN4K4L6.js +44 -0
- package/dist/{chunk-XA7VQWCT.js → chunk-HX3VXWNJ.js} +20 -13
- package/dist/{chunk-ERYYZSJU.js → chunk-HZTWLK7C.js} +17 -19
- package/dist/{chunk-B66BU2S5.js → chunk-ID3N3MHQ.js} +14 -22
- package/dist/{chunk-JGEE66UI.js → chunk-IHGZJS7N.js} +12 -12
- package/dist/{chunk-N3S6KCXN.js → chunk-IYK2ABFE.js} +25 -14
- package/dist/{chunk-WSBLCWY7.js → chunk-IZ7A62GI.js} +7 -6
- package/dist/chunk-JDLCIPSC.js +18 -0
- package/dist/{chunk-B5HTI43H.js → chunk-JPA45CDE.js} +68 -43
- package/dist/{chunk-J7F42IR3.js → chunk-JPNNAU26.js} +7 -3
- package/dist/chunk-JUAOQFC3.js +32 -0
- package/dist/{chunk-3TZLHB2L.js → chunk-JVQQQS2M.js} +8 -13
- package/dist/{chunk-4GSIGQXI.js → chunk-JWWXY7XR.js} +6 -6
- package/dist/chunk-KA44DDCB.js +42 -0
- package/dist/chunk-KANK5FAG.js +150 -0
- package/dist/chunk-KKBTPNXT.js +110 -0
- package/dist/chunk-KL43KGCK.js +106 -0
- package/dist/chunk-KMTLCN6S.js +134 -0
- package/dist/{chunk-HOWTYZL5.js → chunk-KPO4PD6C.js} +78 -12
- package/dist/{chunk-TYP2MR3Q.js → chunk-KV726HMK.js} +20 -2
- package/dist/{chunk-4QOH76MI.js → chunk-KWIIKHIB.js} +10 -13
- package/dist/chunk-KXZP6XI2.js +84 -0
- package/dist/chunk-L2IRYY6K.js +230 -0
- package/dist/chunk-L4Q724G2.js +217 -0
- package/dist/chunk-L55GVKLY.js +149 -0
- package/dist/{chunk-5NOH3QLY.js → chunk-L77KWJJB.js} +30 -31
- package/dist/chunk-LH5KBOIA.js +228 -0
- package/dist/chunk-LO3MDQSJ.js +130 -0
- package/dist/chunk-LYI5YMC6.js +125 -0
- package/dist/chunk-LZ66ADSL.js +142 -0
- package/dist/chunk-MB75U2OV.js +77 -0
- package/dist/{components/ui/AnimatedTabs.js → chunk-MFZYC6QC.js} +41 -24
- package/dist/chunk-MOFWXBTK.js +112 -0
- package/dist/chunk-MT76BPYV.js +30 -0
- package/dist/{chunk-X5AEOQAL.js → chunk-MZGGA75L.js} +1 -40
- package/dist/chunk-N334RMNE.js +39 -0
- package/dist/{chunk-ABV4BQF6.js → chunk-NA6ZPKIK.js} +20 -8
- package/dist/chunk-NF2Y5ERJ.js +186 -0
- package/dist/{chunk-4CUKPNS5.js → chunk-NVBF4OWT.js} +7 -10
- package/dist/chunk-NZXZ3PH2.js +56 -0
- package/dist/chunk-OB2KVO7O.js +23 -0
- package/dist/chunk-OLDUGLDM.js +114 -0
- package/dist/{chunk-HWOGLSB6.js → chunk-OMGVZWRM.js} +26 -17
- package/dist/{chunk-X4HXVLER.js → chunk-OMI2LLXM.js} +16 -19
- package/dist/{chunk-UIZTZCAU.js → chunk-OS2BLQ2G.js} +9 -14
- package/dist/chunk-OUXJUUCB.js +131 -0
- package/dist/{chunk-QQOWC53X.js → chunk-OWWQP3YW.js} +4 -2
- package/dist/chunk-P5I63ETD.js +691 -0
- package/dist/chunk-P7CTBRHO.js +176 -0
- package/dist/chunk-P7JS4B7U.js +101 -0
- package/dist/{chunk-FODQX5Q5.js → chunk-PD6WW7E5.js} +8 -10
- package/dist/chunk-PJ7DVYWA.js +185 -0
- package/dist/{chunk-BKWURLHQ.js → chunk-PQBVNNEG.js} +19 -19
- package/dist/chunk-PY7WBWKH.js +37 -0
- package/dist/{chunk-TBD4VKXH.js → chunk-PYRHNONA.js} +26 -17
- package/dist/{chunk-TBXW5MDR.js → chunk-Q4CRHV5T.js} +25 -17
- package/dist/{chunk-PC6VMNDY.js → chunk-Q7PCHHVJ.js} +0 -8
- package/dist/chunk-QCL76CM6.js +92 -0
- package/dist/chunk-QFXWI2WX.js +40 -0
- package/dist/{chunk-YZXCW44Y.js → chunk-QLPU2IEO.js} +26 -40
- package/dist/{chunk-C4PVGV2F.js → chunk-R4DPHCHJ.js} +22 -15
- package/dist/chunk-SEJXMNMK.js +191 -0
- package/dist/{chunk-CIDN3ULD.js → chunk-SIXPY62Q.js} +17 -16
- package/dist/chunk-STKNMEJA.js +15 -0
- package/dist/chunk-STNVWBJH.js +41 -0
- package/dist/{chunk-N5QVBOYM.js → chunk-TKT6WW4E.js} +2 -2
- package/dist/{chunk-73T44TBV.js → chunk-TL5UCQC3.js} +12 -16
- package/dist/{chunk-D4BKRPO4.js → chunk-TNDMBLYP.js} +8 -19
- package/dist/chunk-TTA5TLNJ.js +97 -0
- package/dist/chunk-TV6CJ5NI.js +57 -0
- package/dist/chunk-TXRGQO5M.js +100 -0
- package/dist/chunk-U3QOFPHD.js +28 -0
- package/dist/chunk-UB6XJTRU.js +45 -0
- package/dist/chunk-UGXI4PES.js +415 -0
- package/dist/{chunk-YNRO42PX.js → chunk-UIYX2EMT.js} +12 -20
- package/dist/chunk-UOUERAB4.js +446 -0
- package/dist/chunk-UQB54LIA.js +228 -0
- package/dist/chunk-UT6MKK2S.js +115 -0
- package/dist/chunk-UXYLA2IV.js +124 -0
- package/dist/{chunk-PDSQC6VE.js → chunk-V5RSV4ZV.js} +5 -2
- package/dist/chunk-VUNXVYOH.js +129 -0
- package/dist/chunk-W4KI424V.js +380 -0
- package/dist/chunk-W7ZGCFTB.js +23 -0
- package/dist/chunk-WAIZR4CR.js +107 -0
- package/dist/{chunk-T5LXQNIP.js → chunk-WHYKEOUV.js} +29 -25
- package/dist/chunk-WRBPEZFY.js +80 -0
- package/dist/chunk-XI775QZZ.js +275 -0
- package/dist/chunk-XLIFWBE7.js +117 -0
- package/dist/{chunk-BI3TXPMR.js → chunk-XMGWLDNG.js} +4 -6
- package/dist/chunk-XYMFKNKG.js +93 -0
- package/dist/chunk-XYYZRQES.js +256 -0
- package/dist/chunk-XZDVTOXJ.js +94 -0
- package/dist/{chunk-XFQLYQCV.js → chunk-YB3J4ZRZ.js} +16 -7
- package/dist/chunk-YCS4MMC3.js +133 -0
- package/dist/chunk-YGDO5KDY.js +33 -0
- package/dist/{chunk-OMEWVRBK.js → chunk-YNBDA24W.js} +7 -14
- package/dist/chunk-YXRIXTXW.js +32 -0
- package/dist/chunk-ZFCSKVTZ.js +102 -0
- package/dist/chunk-ZLWEBAL6.js +48 -0
- package/dist/chunk-ZND7AAWG.js +290 -0
- package/dist/{chunk-FAPU77SV.js → chunk-ZNF6S3DQ.js} +21 -39
- package/dist/chunk-ZSU5ZI4O.js +32 -0
- package/dist/components/blocks/AccountLockedBlock.d.ts +3 -11
- package/dist/components/blocks/AccountLockedBlock.js +3 -3
- package/dist/components/blocks/ActivityFeedBlock.d.ts +3 -14
- package/dist/components/blocks/ActivityFeedBlock.js +2 -2
- package/dist/components/blocks/AgentConversationBlock.d.ts +12 -17
- package/dist/components/blocks/AgentConversationBlock.js +10 -109
- package/dist/components/blocks/AgentProfileGridBlock.d.ts +3 -19
- package/dist/components/blocks/AgentProfileGridBlock.js +2 -2
- package/dist/components/blocks/AgentRunOverviewBlock.d.ts +3 -31
- package/dist/components/blocks/AgentRunOverviewBlock.js +2 -2
- package/dist/components/blocks/AgentWorkbenchBlock.d.ts +5 -21
- package/dist/components/blocks/AgentWorkbenchBlock.js +14 -112
- package/dist/components/blocks/ApiKeysBlock.d.ts +3 -18
- package/dist/components/blocks/ApiKeysBlock.js +35 -35
- package/dist/components/blocks/AuthLayout.d.ts +3 -17
- package/dist/components/blocks/AuthLayout.js +4 -4
- package/dist/components/blocks/AuthSuccessBlock.d.ts +3 -12
- package/dist/components/blocks/AuthSuccessBlock.js +7 -2
- package/dist/components/blocks/BannerBlock.d.ts +3 -9
- package/dist/components/blocks/BannerBlock.js +33 -33
- package/dist/components/blocks/BenchmarksBlock.d.ts +3 -20
- package/dist/components/blocks/BenchmarksBlock.js +2 -2
- package/dist/components/blocks/BlogDetailBlock.d.ts +3 -0
- package/dist/components/{page-kits/SuccessPageKit.js → blocks/BlogDetailBlock.js} +37 -34
- package/dist/components/blocks/BlogIndexBlock.d.ts +3 -0
- package/dist/components/blocks/{EmailVerifiedBlock.js → BlogIndexBlock.js} +4 -4
- package/dist/components/blocks/CallToActionBlock.d.ts +3 -13
- package/dist/components/blocks/CallToActionBlock.js +3 -3
- package/dist/components/blocks/ChangelogBlock.d.ts +3 -16
- package/dist/components/blocks/ChangelogBlock.js +33 -32
- package/dist/components/blocks/ChartBlock.d.ts +3 -16
- package/dist/components/blocks/ChartBlock.js +33 -33
- package/dist/components/blocks/ChartCollectionBlock.d.ts +3 -5
- package/dist/components/blocks/ChartCollectionBlock.js +4 -4
- package/dist/components/blocks/ChatLayout.d.ts +3 -17
- package/dist/components/blocks/ChatLayout.js +33 -33
- package/dist/components/blocks/CheckEmailBlock.d.ts +3 -9
- package/dist/components/blocks/CheckEmailBlock.js +2 -2
- package/dist/components/blocks/CodeBlock.d.ts +3 -7
- package/dist/components/blocks/CodeBlock.js +1 -1
- package/dist/components/blocks/CommandPaletteBlock.d.ts +3 -9
- package/dist/components/blocks/CommandPaletteBlock.js +35 -35
- package/dist/components/blocks/ComparisonBlock.d.ts +3 -13
- package/dist/components/blocks/ComparisonBlock.js +2 -2
- package/dist/components/blocks/ContactBlock.d.ts +3 -17
- package/dist/components/blocks/ContactBlock.js +3 -3
- package/dist/components/blocks/CreateBlock.d.ts +1 -16
- package/dist/components/blocks/CreateBlock.js +33 -34
- package/dist/components/blocks/CrudListBlock.d.ts +3 -0
- package/dist/components/{page-kits/VerifyEmailPageKit.js → blocks/CrudListBlock.js} +41 -34
- package/dist/components/blocks/DashboardBlock.d.ts +3 -0
- package/dist/components/{page-kits/DashboardPageKit.js → blocks/DashboardBlock.js} +49 -50
- package/dist/components/blocks/DataGridBlock.d.ts +3 -10
- package/dist/components/blocks/DataGridBlock.js +35 -36
- package/dist/components/blocks/DirectoryBlock.d.ts +3 -17
- package/dist/components/blocks/DirectoryBlock.js +38 -37
- package/dist/components/blocks/FAQBlock.d.ts +3 -12
- package/dist/components/blocks/FAQBlock.js +33 -33
- package/dist/components/blocks/FeatureBlock.d.ts +3 -23
- package/dist/components/blocks/FeatureBlock.js +33 -33
- package/dist/components/blocks/FooterBlock.d.ts +3 -19
- package/dist/components/blocks/FooterBlock.js +1 -1
- package/dist/components/blocks/FormFieldBlock.d.ts +3 -0
- package/dist/components/{page-kits/MarketingShellPageKit.js → blocks/FormFieldBlock.js} +38 -41
- package/dist/components/blocks/GalleryBlock.d.ts +3 -13
- package/dist/components/blocks/GalleryBlock.js +35 -35
- package/dist/components/blocks/HeaderBlock.d.ts +3 -14
- package/dist/components/blocks/HeaderBlock.js +35 -34
- package/dist/components/blocks/HeatmapChartBlock.d.ts +3 -15
- package/dist/components/blocks/HeatmapChartBlock.js +2 -2
- package/dist/components/blocks/HeroBlock.d.ts +4 -2
- package/dist/components/blocks/HeroBlock.js +36 -36
- package/dist/components/blocks/IntegrationsBlock.d.ts +3 -15
- package/dist/components/blocks/IntegrationsBlock.js +33 -33
- package/dist/components/blocks/InteractiveAreaChartBlock.d.ts +3 -21
- package/dist/components/blocks/InteractiveAreaChartBlock.js +33 -33
- package/dist/components/blocks/LoginBlock.d.ts +3 -41
- package/dist/components/blocks/LoginBlock.js +2 -2
- package/dist/components/blocks/LogoCloud.d.ts +3 -12
- package/dist/components/blocks/LogoCloud.js +6 -2
- package/dist/components/blocks/NewsletterBlock.d.ts +1 -8
- package/dist/components/blocks/NewsletterBlock.js +3 -3
- package/dist/components/blocks/NotFoundBlock.d.ts +3 -9
- package/dist/components/blocks/NotFoundBlock.js +36 -36
- package/dist/components/blocks/OTPBlock.d.ts +3 -10
- package/dist/components/blocks/OTPBlock.js +35 -33
- package/dist/components/blocks/OnboardingBlock.d.ts +1 -14
- package/dist/components/blocks/OnboardingBlock.js +34 -34
- package/dist/components/blocks/OnboardingFlowBlock.d.ts +3 -0
- package/dist/components/blocks/OnboardingFlowBlock.js +127 -0
- package/dist/components/blocks/PasswordRecoveryBlock.d.ts +1 -12
- package/dist/components/blocks/PasswordRecoveryBlock.js +3 -3
- package/dist/components/blocks/PricingBlock.d.ts +1 -19
- package/dist/components/blocks/PricingBlock.js +4 -4
- package/dist/components/blocks/ProcessFlowBlock.d.ts +3 -15
- package/dist/components/blocks/ProcessFlowBlock.js +2 -6
- package/dist/components/blocks/ROICalculatorBlock.d.ts +3 -0
- package/dist/components/blocks/{SavingsCalculatorBlock.js → ROICalculatorBlock.js} +4 -4
- package/dist/components/blocks/ResetPasswordBlock.d.ts +3 -9
- package/dist/components/blocks/ResetPasswordBlock.js +2 -2
- package/dist/components/blocks/SettingsNavBlock.d.ts +3 -0
- package/dist/components/blocks/{SettingsLayout.js → SettingsNavBlock.js} +39 -37
- package/dist/components/blocks/SolutionShowcaseBlock.d.ts +3 -17
- package/dist/components/blocks/SolutionShowcaseBlock.js +2 -2
- package/dist/components/blocks/StatsBlock.d.ts +3 -21
- package/dist/components/blocks/StatsBlock.js +3 -112
- package/dist/components/blocks/StatsMarketingBlock.d.ts +3 -14
- package/dist/components/blocks/StatsMarketingBlock.js +3 -3
- package/dist/components/blocks/TeamBlock.d.ts +3 -16
- package/dist/components/blocks/TeamBlock.js +1 -1
- package/dist/components/blocks/TestimonialsBlock.d.ts +6 -9
- package/dist/components/blocks/TestimonialsBlock.js +16 -3
- package/dist/components/blocks/TimezonePickerBlock.d.ts +3 -11
- package/dist/components/blocks/TimezonePickerBlock.js +35 -35
- package/dist/components/blocks/TwoFactorSetupBlock.d.ts +1 -12
- package/dist/components/blocks/TwoFactorSetupBlock.js +37 -37
- package/dist/components/blocks/UsageDonutBlock.d.ts +3 -16
- package/dist/components/blocks/UsageDonutBlock.js +2 -2
- package/dist/components/blocks/WizardBlock.d.ts +1 -15
- package/dist/components/blocks/WizardBlock.js +33 -33
- package/dist/components/blocks/user/InviteUserModal.d.ts +4 -4
- package/dist/components/blocks/user/InviteUserModal.js +34 -34
- package/dist/components/pages/settings/ProfilePage.d.ts +1 -0
- package/dist/components/pages/settings/TeamPage.d.ts +1 -0
- package/dist/components/ui/Accordion.js +31 -31
- package/dist/components/ui/AgentAvatar.js +2 -72
- package/dist/components/ui/AgentStatus.d.ts +1 -1
- package/dist/components/ui/AgentStatus.js +2 -71
- package/dist/components/ui/AgentTimeline.js +3 -97
- package/dist/components/ui/AlertDialog.js +3 -133
- package/dist/components/ui/AnnouncementBanner.js +4 -46
- package/dist/components/ui/ApprovalCard.js +5 -115
- package/dist/components/ui/AspectRatio.js +1 -5
- package/dist/components/ui/AvatarUpload.js +6 -119
- package/dist/components/ui/BentoGrid.js +4 -28
- package/dist/components/ui/Breadcrumb.js +31 -31
- package/dist/components/ui/ButtonGroup.js +2 -18
- package/dist/components/ui/Calendar.js +31 -31
- package/dist/components/ui/Card.js +1 -1
- package/dist/components/ui/Carousel.js +35 -247
- package/dist/components/ui/ChartCard.js +3 -3
- package/dist/components/ui/ChatActions.js +2 -2
- package/dist/components/ui/ChatGreeting.js +3 -77
- package/dist/components/ui/ChatMessage.d.ts +26 -5
- package/dist/components/ui/ChatMessage.js +3 -95
- package/dist/components/ui/ChatPromptInput.js +4 -191
- package/dist/components/ui/ChatResponse.js +2 -24
- package/dist/components/ui/ChatThinkingMessage.d.ts +25 -6
- package/dist/components/ui/ChatThinkingMessage.js +7 -53
- package/dist/components/ui/ChatToolCall.d.ts +4 -2
- package/dist/components/ui/ChatToolCall.js +13 -190
- package/dist/components/ui/CheckStatus.js +2 -57
- package/dist/components/ui/Checkbox.js +31 -31
- package/dist/components/ui/CheckoutForm.d.ts +3 -7
- package/dist/components/ui/CheckoutForm.js +35 -34
- package/dist/components/ui/CheckoutFormDemo.js +33 -33
- package/dist/components/ui/Combobox.d.ts +2 -1
- package/dist/components/ui/Combobox.js +38 -109
- package/dist/components/ui/Command.js +34 -34
- package/dist/components/ui/ConfettiBurst.js +3 -71
- package/dist/components/ui/ContextMenu.js +34 -215
- package/dist/components/ui/Conversation.js +35 -115
- package/dist/components/ui/DataTable.d.ts +2 -1
- package/dist/components/ui/DataTable.js +33 -33
- package/dist/components/ui/DatePicker.js +31 -31
- package/dist/components/ui/DateRangePicker.js +31 -31
- package/dist/components/ui/Dialog.js +33 -33
- package/dist/components/ui/DiffStat.js +2 -32
- package/dist/components/ui/Drawer.js +3 -116
- package/dist/components/ui/DropdownMenu.js +32 -32
- package/dist/components/ui/FileUpload.js +34 -171
- package/dist/components/ui/FloatingDock.js +3 -100
- package/dist/components/ui/FormWizard.d.ts +5 -13
- package/dist/components/ui/FormWizard.js +1 -1
- package/dist/components/ui/HandoffIndicator.js +4 -42
- package/dist/components/ui/HoverCard.js +2 -23
- package/dist/components/ui/InputGroup.js +2 -36
- package/dist/components/ui/InputOTP.js +31 -31
- package/dist/components/ui/Item.d.ts +1 -1
- package/dist/components/ui/Item.js +2 -176
- package/dist/components/ui/KanbanBoard.d.ts +2 -1
- package/dist/components/ui/KanbanBoard.js +2 -2
- package/dist/components/ui/Kbd.js +2 -17
- package/dist/components/ui/LanguageSwitcher.js +31 -31
- package/dist/components/ui/MagneticElement.js +3 -41
- package/dist/components/ui/MemoryInspector.js +3 -94
- package/dist/components/ui/Menubar.js +34 -257
- package/dist/components/ui/MetricCard.js +2 -2
- package/dist/components/ui/MouseGlow.d.ts +10 -0
- package/dist/components/ui/MouseGlow.js +3 -0
- package/dist/components/ui/{MouseEffect.d.ts → MouseSpotlight.d.ts} +0 -9
- package/dist/components/ui/{MouseEffect.js → MouseSpotlight.js} +1 -1
- package/dist/components/ui/MovingBorder.js +2 -40
- package/dist/components/ui/NavUser.d.ts +4 -0
- package/dist/components/{blocks → ui}/NavUser.js +37 -36
- package/dist/components/ui/NavigationMenu.js +34 -161
- package/dist/components/ui/NotificationCenter.js +34 -136
- package/dist/components/ui/Pagination.js +31 -31
- package/dist/components/ui/ProgressRing.js +4 -128
- package/dist/components/ui/PromoCard.js +4 -41
- package/dist/components/ui/RadioGroup.js +33 -69
- package/dist/components/ui/Resizable.js +34 -68
- package/dist/components/ui/Select.js +31 -31
- package/dist/components/ui/SettingsModal.js +41 -137
- package/dist/components/ui/ShaderBackground.js +4 -71
- package/dist/components/ui/Sheet.d.ts +2 -1
- package/dist/components/ui/Sheet.js +36 -32
- package/dist/components/ui/Sidebar.js +35 -34
- package/dist/components/ui/SourceCitation.js +3 -119
- package/dist/components/ui/SpringHover.js +3 -32
- package/dist/components/ui/StaggeredEntrance.js +2 -23
- package/dist/components/ui/StatusDot.d.ts +1 -1
- package/dist/components/ui/StyleToggle.js +1 -1
- package/dist/components/ui/SuccessCheck.js +3 -52
- package/dist/components/ui/Tabs.d.ts +5 -3
- package/dist/components/ui/Tabs.js +5 -1
- package/dist/components/ui/TagInput.js +35 -132
- package/dist/components/ui/ThemeToggle.d.ts +2 -1
- package/dist/components/ui/ThemeToggle.js +36 -66
- package/dist/components/ui/TiltCard.js +3 -48
- package/dist/components/ui/ToggleGroup.js +3 -56
- package/dist/components/ui/TreeView.js +35 -216
- package/dist/components/ui/Typography.d.ts +1 -1
- package/dist/components/ui/Typography.js +1 -1
- package/dist/components/ui/VoiceAgentCard.d.ts +9 -0
- package/dist/components/{blocks → ui}/VoiceAgentCard.js +2 -2
- package/dist/components/ui/WorkspaceSwitcherBlock.d.ts +3 -0
- package/dist/components/{blocks → ui}/WorkspaceSwitcherBlock.js +36 -35
- package/dist/components/ui/charts/index.js +1 -1
- package/dist/components/ui/icons/index.js +31 -31
- package/dist/components/ui/text-effects/index.js +2 -2
- package/dist/index.js +39 -39
- package/dist/internal/local-image-assets.d.ts +1 -0
- package/dist/lib/json-render/app.d.ts +11 -0
- package/dist/lib/json-render/app.js +7 -0
- package/dist/lib/json-render/catalog.d.ts +1154 -0
- package/dist/lib/json-render/catalog.js +23 -0
- package/dist/lib/json-render/registry.d.ts +1 -0
- package/dist/lib/json-render/registry.js +58 -0
- package/dist/lib/json-render/showcase-spec.d.ts +3 -0
- package/dist/lib/json-render/showcase-spec.js +2 -0
- package/dist/lib/react-utils.d.ts +1 -1
- package/dist/lib/standalone-routes.d.ts +56 -0
- package/dist/lib/standalone-routes.js +1 -0
- package/dist/lib/tool-call-state-map.d.ts +2 -0
- package/dist/lib/tool-call-state-map.js +1 -0
- package/dist/messages/en.js +1 -1
- package/dist/messages/it.js +1 -1
- package/dist/test/PublicSeedTestProvider.js +2 -2
- package/eslint-rules/nadicode/__tests__/rules.test.js +3 -3
- package/eslint-rules/nadicode/data/catalog-names.json +149 -38
- package/eslint-rules/nadicode/rules/__tests__/no-diy-backdrop-blur.test.js +0 -5
- package/eslint-rules/nadicode/rules/__tests__/require-catalog-component.test.js +2 -2
- package/eslint-rules/nadicode/rules/no-diy-backdrop-blur.js +0 -1
- package/eslint-rules/nadicode/rules/no-unregistered-glass.js +4 -6
- package/eslint-rules/nadicode/rules/require-glass-on-floating-ui.js +0 -2
- package/eslint-rules/nadicode/rules/require-metadata-on-page.js +11 -0
- package/eslint-rules/nadicode/rules/require-scroll-containment-on-overlay.js +0 -2
- package/package.json +9 -678
- package/src/lib/tokens.config.js +5 -5
- package/dist/chunk-2HETVNKL.js +0 -30
- package/dist/chunk-2IMMY3XX.js +0 -56
- package/dist/chunk-2KTT2AYB.js +0 -101
- package/dist/chunk-2WV6RLAC.js +0 -169
- package/dist/chunk-2YZZJUJ6.js +0 -70
- package/dist/chunk-3QKI6RJX.js +0 -149
- package/dist/chunk-3RCDKGEU.js +0 -72
- package/dist/chunk-4IGBBIYW.js +0 -47
- package/dist/chunk-4QMIT6UE.js +0 -30
- package/dist/chunk-4WPZ6T7V.js +0 -186
- package/dist/chunk-557WPFT4.js +0 -138
- package/dist/chunk-5CXWLUM5.js +0 -75
- package/dist/chunk-5Y4BOIYO.js +0 -121
- package/dist/chunk-67IG5FCH.js +0 -167
- package/dist/chunk-6QNV75XU.js +0 -126
- package/dist/chunk-7ANMFY6R.js +0 -36
- package/dist/chunk-7LIF2WZX.js +0 -125
- package/dist/chunk-7TGOAMCR.js +0 -94
- package/dist/chunk-A4UWREN6.js +0 -47
- package/dist/chunk-AN5TW4AL.js +0 -50
- package/dist/chunk-BPULUURW.js +0 -269
- package/dist/chunk-BXH7TNB3.js +0 -28
- package/dist/chunk-CCUXLYZX.js +0 -33
- package/dist/chunk-CI2O2OSW.js +0 -168
- package/dist/chunk-CN3DMZOJ.js +0 -175
- package/dist/chunk-EYWOKTOY.js +0 -58
- package/dist/chunk-G2YPDV3F.js +0 -130
- package/dist/chunk-G4FB7QSY.js +0 -134
- package/dist/chunk-G6EQO6QD.js +0 -165
- package/dist/chunk-GUSLJ3AL.js +0 -115
- package/dist/chunk-GZ6VDBQG.js +0 -42
- package/dist/chunk-I66XWYSS.js +0 -117
- package/dist/chunk-ILFUTPHO.js +0 -32
- package/dist/chunk-JQFECS4H.js +0 -52
- package/dist/chunk-K5JBAA4S.js +0 -147
- package/dist/chunk-KCOMDSQ4.js +0 -86
- package/dist/chunk-KQ672GKM.js +0 -114
- package/dist/chunk-L7XRBXDR.js +0 -30
- package/dist/chunk-LIJYUSSE.js +0 -152
- package/dist/chunk-LNVZNQCZ.js +0 -124
- package/dist/chunk-MLLNRFNW.js +0 -60
- package/dist/chunk-MO4BC6JT.js +0 -83
- package/dist/chunk-NOQKH3IZ.js +0 -150
- package/dist/chunk-OXEVIO5Z.js +0 -30
- package/dist/chunk-P3IWXUMH.js +0 -60
- package/dist/chunk-QLOLLRTD.js +0 -60
- package/dist/chunk-QOHUG6UP.js +0 -145
- package/dist/chunk-R3OWXU5R.js +0 -40
- package/dist/chunk-SBC32M5H.js +0 -164
- package/dist/chunk-SNSFT4EZ.js +0 -96
- package/dist/chunk-UO5DYAP7.js +0 -35
- package/dist/chunk-UWLSJLKT.js +0 -147
- package/dist/chunk-V3FMLBOA.js +0 -105
- package/dist/chunk-YCSEV2GM.js +0 -159
- package/dist/chunk-YVS2TJ7I.js +0 -32
- package/dist/chunk-ZBQLUB3B.js +0 -110
- package/dist/chunk-ZYWO77BI.js +0 -120
- package/dist/components/blocks/AudioVisualizerBlock.d.ts +0 -6
- package/dist/components/blocks/AudioVisualizerBlock.js +0 -3
- package/dist/components/blocks/BarChartBlock.d.ts +0 -15
- package/dist/components/blocks/BarChartBlock.js +0 -10
- package/dist/components/blocks/EmailVerifiedBlock.d.ts +0 -10
- package/dist/components/blocks/FeatureGridBlock.d.ts +0 -14
- package/dist/components/blocks/FeatureGridBlock.js +0 -12
- package/dist/components/blocks/ForgotPasswordBlock.d.ts +0 -14
- package/dist/components/blocks/ForgotPasswordBlock.js +0 -15
- package/dist/components/blocks/HeroSectionBlock.d.ts +0 -19
- package/dist/components/blocks/HeroSectionBlock.js +0 -139
- package/dist/components/blocks/KanbanDemoBlock.d.ts +0 -4
- package/dist/components/blocks/KanbanDemoBlock.js +0 -17
- package/dist/components/blocks/MagicLinkBlock.d.ts +0 -12
- package/dist/components/blocks/MagicLinkBlock.js +0 -18
- package/dist/components/blocks/NavUser.d.ts +0 -18
- package/dist/components/blocks/PasswordChangedBlock.d.ts +0 -10
- package/dist/components/blocks/PasswordChangedBlock.js +0 -10
- package/dist/components/blocks/PricingTableBlock.d.ts +0 -19
- package/dist/components/blocks/PricingTableBlock.js +0 -13
- package/dist/components/blocks/SavingsCalculatorBlock.d.ts +0 -30
- package/dist/components/blocks/SettingsLayout.d.ts +0 -16
- package/dist/components/blocks/SignUpBlock.d.ts +0 -11
- package/dist/components/blocks/SignUpBlock.js +0 -14
- package/dist/components/blocks/SocialProofBlock.d.ts +0 -19
- package/dist/components/blocks/TwoFactorChallengeBlock.d.ts +0 -12
- package/dist/components/blocks/VoiceAgentCard.d.ts +0 -19
- package/dist/components/blocks/WorkspaceSwitcherBlock.d.ts +0 -11
- package/dist/components/page-kits/AccountLockedPageKit.d.ts +0 -10
- package/dist/components/page-kits/AccountLockedPageKit.js +0 -11
- package/dist/components/page-kits/AgentsChatPageKit.d.ts +0 -46
- package/dist/components/page-kits/AgentsChatPageKit.js +0 -142
- package/dist/components/page-kits/AnalyticsPageKit.d.ts +0 -49
- package/dist/components/page-kits/AnalyticsPageKit.js +0 -139
- package/dist/components/page-kits/BlogContentPageKit.d.ts +0 -64
- package/dist/components/page-kits/BlogContentPageKit.js +0 -141
- package/dist/components/page-kits/CheckoutPageKit.d.ts +0 -36
- package/dist/components/page-kits/CheckoutPageKit.js +0 -135
- package/dist/components/page-kits/CompanySuitePageKit.d.ts +0 -25
- package/dist/components/page-kits/CompanySuitePageKit.js +0 -153
- package/dist/components/page-kits/CrudFormPageKit.d.ts +0 -54
- package/dist/components/page-kits/CrudFormPageKit.js +0 -138
- package/dist/components/page-kits/CrudListDetailPageKit.d.ts +0 -70
- package/dist/components/page-kits/CrudListDetailPageKit.js +0 -138
- package/dist/components/page-kits/DashboardPageKit.d.ts +0 -39
- package/dist/components/page-kits/ErrorPageKit.d.ts +0 -22
- package/dist/components/page-kits/ErrorPageKit.js +0 -8
- package/dist/components/page-kits/KanbanBoardPageKit.d.ts +0 -31
- package/dist/components/page-kits/KanbanBoardPageKit.js +0 -143
- package/dist/components/page-kits/LandingPageKit.d.ts +0 -29
- package/dist/components/page-kits/LoginPageKit.d.ts +0 -16
- package/dist/components/page-kits/LoginPageKit.js +0 -14
- package/dist/components/page-kits/MarketingShellPageKit.d.ts +0 -21
- package/dist/components/page-kits/NavigationShellPageKit.d.ts +0 -41
- package/dist/components/page-kits/OnboardingPageKit.d.ts +0 -26
- package/dist/components/page-kits/PricingPageKit.d.ts +0 -41
- package/dist/components/page-kits/PricingPageKit.js +0 -153
- package/dist/components/page-kits/ProfileSettingsPageKit.d.ts +0 -50
- package/dist/components/page-kits/ProfileSettingsPageKit.js +0 -17
- package/dist/components/page-kits/RecoveryPageKit.d.ts +0 -17
- package/dist/components/page-kits/RecoveryPageKit.js +0 -19
- package/dist/components/page-kits/ResetPageKit.d.ts +0 -14
- package/dist/components/page-kits/ResetPageKit.js +0 -19
- package/dist/components/page-kits/ServiceSuitePageKit.d.ts +0 -25
- package/dist/components/page-kits/ServiceSuitePageKit.js +0 -156
- package/dist/components/page-kits/SettingsPageKit.d.ts +0 -27
- package/dist/components/page-kits/SettingsPageKit.js +0 -11
- package/dist/components/page-kits/SignupPageKit.d.ts +0 -15
- package/dist/components/page-kits/SignupPageKit.js +0 -14
- package/dist/components/page-kits/SuccessPageKit.d.ts +0 -15
- package/dist/components/page-kits/TeamSettingsPageKit.d.ts +0 -50
- package/dist/components/page-kits/TwoFactorPageKit.d.ts +0 -16
- package/dist/components/page-kits/VerifyEmailPageKit.d.ts +0 -15
- package/dist/components/page-kits/VoiceAgentsPageKit.d.ts +0 -35
- package/dist/components/page-kits/VoiceAgentsPageKit.js +0 -133
- package/dist/components/ui/AgentMessageBubble.d.ts +0 -37
- package/dist/components/ui/AgentMessageBubble.js +0 -115
- package/dist/components/ui/AnimatedDialog.d.ts +0 -30
- package/dist/components/ui/AnimatedDialog.js +0 -119
- package/dist/components/ui/AnimatedSheet.d.ts +0 -26
- package/dist/components/ui/AnimatedSheet.js +0 -264
- package/dist/components/ui/AnimatedTabs.d.ts +0 -16
- package/dist/components/ui/AuroraEffect.d.ts +0 -9
- package/dist/components/ui/AuroraEffect.js +0 -77
- package/dist/components/ui/ChatPromptInputAttachments.d.ts +0 -9
- package/dist/components/ui/ChatPromptInputAttachments.js +0 -145
- package/dist/components/ui/ConversationThread.d.ts +0 -27
- package/dist/components/ui/ConversationThread.js +0 -99
- package/dist/components/ui/PageTransition.d.ts +0 -9
- package/dist/components/ui/PageTransition.js +0 -56
- package/dist/components/ui/SearchCommand.d.ts +0 -33
- package/dist/components/ui/SearchCommand.js +0 -115
- package/dist/components/ui/ThinkingIndicator.d.ts +0 -14
- package/dist/components/ui/ThinkingIndicator.js +0 -9
- package/dist/components/ui/Toast.d.ts +0 -28
- package/dist/components/ui/Toast.js +0 -115
- package/dist/components/ui/Toaster.d.ts +0 -1
- package/dist/components/ui/Toaster.js +0 -136
- package/dist/components/ui/ToolCallCard.d.ts +0 -16
- package/dist/components/ui/ToolCallCard.js +0 -13
- package/dist/components/ui/VisuallyHidden.d.ts +0 -2
- package/dist/components/ui/VisuallyHidden.js +0 -8
- package/dist/hooks/use-toast.d.ts +0 -44
- package/dist/hooks/use-toast.js +0 -2
- package/dist/{chunk-CQEUNASC.js → chunk-ETS5O4ZQ.js} +1 -1
- package/dist/{chunk-C6MJQDPC.js → chunk-KHLMOBAU.js} +1 -1
- package/dist/{chunk-M4XKO45H.js → chunk-MPVYXUOD.js} +8 -8
- package/dist/{chunk-EEL4RAPC.js → chunk-V4NBPGED.js} +8 -8
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
import { treeNodeSchema } from './chunk-BJVCZI2B.js';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
|
|
4
|
+
var displayDefinitions = {
|
|
5
|
+
Accordion: {
|
|
6
|
+
props: z.object({
|
|
7
|
+
// Matches Radix AccordionPrimitive.Root: type 'single' enforces one open
|
|
8
|
+
// item at a time; 'multiple' allows many. items drives the rendered list.
|
|
9
|
+
type: z.enum(["single", "multiple"]).nullable(),
|
|
10
|
+
items: z.array(
|
|
11
|
+
z.object({
|
|
12
|
+
value: z.string(),
|
|
13
|
+
title: z.string(),
|
|
14
|
+
content: z.string()
|
|
15
|
+
})
|
|
16
|
+
).nullable()
|
|
17
|
+
}),
|
|
18
|
+
events: ["valueChange"],
|
|
19
|
+
description: "Radix-based accordion with single or multiple open mode. Each item has a value key, trigger title, and body content string.",
|
|
20
|
+
example: {
|
|
21
|
+
type: "single",
|
|
22
|
+
items: [
|
|
23
|
+
{ value: "shipping", title: "Shipping Policy", content: "Orders ship within 2 business days via USPS Priority Mail." },
|
|
24
|
+
{ value: "returns", title: "Return Policy", content: "Returns accepted within 30 days of delivery with original packaging." }
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
Alert: {
|
|
29
|
+
props: z.object({
|
|
30
|
+
variant: z.enum(["default", "destructive", "success", "warning"]).nullable(),
|
|
31
|
+
title: z.string().nullable(),
|
|
32
|
+
description: z.string().nullable()
|
|
33
|
+
}),
|
|
34
|
+
slots: ["default"],
|
|
35
|
+
description: "Alert banner with title, description, and icon slot. Variants: default, destructive, success, warning.",
|
|
36
|
+
example: { variant: "warning", title: "Rate limit approaching", description: "You have used 85% of your monthly API quota." }
|
|
37
|
+
},
|
|
38
|
+
AnnouncementBanner: {
|
|
39
|
+
props: z.object({
|
|
40
|
+
variant: z.enum(["info", "warning", "success", "accent"]).nullable(),
|
|
41
|
+
storageKey: z.string().nullable(),
|
|
42
|
+
className: z.string().nullable()
|
|
43
|
+
}),
|
|
44
|
+
events: ["dismiss"],
|
|
45
|
+
slots: ["default"],
|
|
46
|
+
description: "Dismissable announcement banner strip. Persists dismissal to localStorage via storageKey. Variants: info, warning, success, accent.",
|
|
47
|
+
example: { variant: "accent", storageKey: "product-launch-2026", className: null }
|
|
48
|
+
},
|
|
49
|
+
AudioWaveform: {
|
|
50
|
+
props: z.object({
|
|
51
|
+
variant: z.enum(["default", "accent", "success"]).nullable(),
|
|
52
|
+
size: z.enum(["sm", "default", "lg"]).nullable(),
|
|
53
|
+
bars: z.number().nullable(),
|
|
54
|
+
active: z.boolean().nullable(),
|
|
55
|
+
barWidth: z.number().nullable(),
|
|
56
|
+
className: z.string().nullable()
|
|
57
|
+
}),
|
|
58
|
+
description: "Animated audio waveform visualization with configurable bar count, size, and color variant.",
|
|
59
|
+
example: { variant: "accent", size: "default", bars: 5, active: true, barWidth: null, className: null }
|
|
60
|
+
},
|
|
61
|
+
Avatar: {
|
|
62
|
+
props: z.object({
|
|
63
|
+
src: z.string().nullable(),
|
|
64
|
+
alt: z.string().nullable(),
|
|
65
|
+
fallback: z.string().nullable(),
|
|
66
|
+
size: z.enum(["sm", "md", "lg"]).nullable()
|
|
67
|
+
}),
|
|
68
|
+
description: "Circular avatar composed from Avatar + AvatarImage + AvatarFallback. Renders the image when src loads; falls back to the fallback string (typically initials). size controls dimensions: sm (24px), md (40px, default), lg (56px).",
|
|
69
|
+
example: { src: "https://avatars.githubusercontent.com/u/1234", alt: "Maria Chen", fallback: "MC", size: "md" }
|
|
70
|
+
},
|
|
71
|
+
Avatar3D: {
|
|
72
|
+
props: z.object({
|
|
73
|
+
src: z.string(),
|
|
74
|
+
name: z.string(),
|
|
75
|
+
state: z.enum(["idle", "listening", "speaking"]).nullable(),
|
|
76
|
+
size: z.enum(["md", "lg", "xl"]).nullable(),
|
|
77
|
+
enableTilt: z.boolean().nullable(),
|
|
78
|
+
maxTilt: z.number().nullable(),
|
|
79
|
+
interactive: z.boolean().nullable(),
|
|
80
|
+
className: z.string().nullable()
|
|
81
|
+
}),
|
|
82
|
+
events: ["select"],
|
|
83
|
+
description: "Interactive 3D avatar with tilt-on-hover, ambient glow, and state-based ring animations (idle/listening/speaking). Renders as a button when interactive. Fires select on click.",
|
|
84
|
+
example: { src: "https://avatars.githubusercontent.com/u/5678", name: "Aria", state: "listening", size: "lg", enableTilt: true, maxTilt: null, interactive: true, className: null }
|
|
85
|
+
},
|
|
86
|
+
AvatarUpload: {
|
|
87
|
+
props: z.object({
|
|
88
|
+
value: z.string().nullable(),
|
|
89
|
+
className: z.string().nullable()
|
|
90
|
+
}),
|
|
91
|
+
events: ["change"],
|
|
92
|
+
description: "Circular avatar upload zone. Shows the current avatar when value (URL) is set, or a camera icon placeholder. Fires change when a file is selected or cleared.",
|
|
93
|
+
example: { value: null, className: null }
|
|
94
|
+
},
|
|
95
|
+
Badge: {
|
|
96
|
+
props: z.object({
|
|
97
|
+
// Badge renders children as content; text drives what json-render passes
|
|
98
|
+
// as the child string.
|
|
99
|
+
text: z.string(),
|
|
100
|
+
variant: z.enum(["primary", "secondary", "destructive", "outline", "accent"]).nullable()
|
|
101
|
+
}),
|
|
102
|
+
description: "Small pill label. variant controls color. Defaults to primary.",
|
|
103
|
+
example: { text: "New", variant: "accent" }
|
|
104
|
+
},
|
|
105
|
+
ChartCard: {
|
|
106
|
+
props: z.object({
|
|
107
|
+
title: z.string(),
|
|
108
|
+
description: z.string().nullable(),
|
|
109
|
+
loading: z.boolean().nullable(),
|
|
110
|
+
emptyTitle: z.string().nullable(),
|
|
111
|
+
emptyDescription: z.string().nullable(),
|
|
112
|
+
hasData: z.boolean().nullable()
|
|
113
|
+
}),
|
|
114
|
+
slots: ["chart", "action", "emptyCta"],
|
|
115
|
+
description: "Card wrapper for charts. Shows a Skeleton while loading, an Empty state when hasData is false, and renders the chart slot otherwise. title is required. hasData defaults to true.",
|
|
116
|
+
example: { title: "Monthly Revenue", description: "Revenue trends over the last 6 months", loading: false, emptyTitle: null, emptyDescription: null, hasData: true }
|
|
117
|
+
},
|
|
118
|
+
CheckStatus: {
|
|
119
|
+
props: z.object({
|
|
120
|
+
status: z.enum(["passing", "failing", "pending", "neutral"]).nullable(),
|
|
121
|
+
count: z.number().nullable(),
|
|
122
|
+
label: z.string().nullable(),
|
|
123
|
+
className: z.string().nullable()
|
|
124
|
+
}),
|
|
125
|
+
description: "CI/build check status indicator with colored dot. Shows count and status label. Defaults to neutral.",
|
|
126
|
+
example: { status: "passing", count: 42, label: "Unit Tests", className: null }
|
|
127
|
+
},
|
|
128
|
+
Carousel: {
|
|
129
|
+
props: z.object({
|
|
130
|
+
orientation: z.enum(["horizontal", "vertical"]).nullable(),
|
|
131
|
+
className: z.string().nullable()
|
|
132
|
+
}),
|
|
133
|
+
slots: ["default"],
|
|
134
|
+
events: ["select"],
|
|
135
|
+
description: "Embla-powered carousel with keyboard navigation. Children should be CarouselContent > CarouselItem wrappers. orientation defaults to horizontal. Compound sub-parts (CarouselContent, CarouselItem, CarouselPrevious, CarouselNext) are internal.",
|
|
136
|
+
example: { orientation: "horizontal", className: null }
|
|
137
|
+
},
|
|
138
|
+
DataTable: {
|
|
139
|
+
props: z.object({
|
|
140
|
+
// columns and rows are serialisable shapes suitable for json-render specs.
|
|
141
|
+
// The underlying DataTable component uses TanStack Table; column.key maps
|
|
142
|
+
// to the accessorKey, header is the display label.
|
|
143
|
+
columns: z.array(
|
|
144
|
+
z.object({
|
|
145
|
+
key: z.string(),
|
|
146
|
+
header: z.string(),
|
|
147
|
+
sortable: z.boolean().nullable()
|
|
148
|
+
})
|
|
149
|
+
).nullable(),
|
|
150
|
+
rows: z.array(z.record(z.string(), z.unknown())).nullable(),
|
|
151
|
+
searchKey: z.string().nullable()
|
|
152
|
+
}),
|
|
153
|
+
events: ["sort", "filter", "select"],
|
|
154
|
+
description: "TanStack Table\u2013based data table with sorting, column-visibility toggle, optional search filter, and pagination. Pass columns (key + header) and rows (record objects keyed by column.key).",
|
|
155
|
+
example: {
|
|
156
|
+
columns: [
|
|
157
|
+
{ key: "name", header: "Customer", sortable: true },
|
|
158
|
+
{ key: "plan", header: "Plan", sortable: false },
|
|
159
|
+
{ key: "mrr", header: "MRR", sortable: true }
|
|
160
|
+
],
|
|
161
|
+
rows: [
|
|
162
|
+
{ name: "Acme Corp", plan: "Enterprise", mrr: "$12,400" },
|
|
163
|
+
{ name: "Globex Inc", plan: "Growth", mrr: "$3,200" }
|
|
164
|
+
],
|
|
165
|
+
searchKey: "name"
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
DataFreshness: {
|
|
169
|
+
props: z.object({
|
|
170
|
+
lastUpdated: z.string(),
|
|
171
|
+
isLive: z.boolean().nullable(),
|
|
172
|
+
staleThresholdMs: z.number().nullable(),
|
|
173
|
+
className: z.string().nullable()
|
|
174
|
+
}),
|
|
175
|
+
description: "Shows relative time since last data update with optional live dot indicator. lastUpdated is an ISO date string. Stale threshold defaults to 5 minutes.",
|
|
176
|
+
example: { lastUpdated: "2026-03-30T14:22:00Z", isLive: true, staleThresholdMs: null, className: null }
|
|
177
|
+
},
|
|
178
|
+
DiffStat: {
|
|
179
|
+
props: z.object({
|
|
180
|
+
additions: z.number().nullable(),
|
|
181
|
+
deletions: z.number().nullable(),
|
|
182
|
+
className: z.string().nullable()
|
|
183
|
+
}),
|
|
184
|
+
description: "Git-style diff stat showing green +additions and red -deletions.",
|
|
185
|
+
example: { additions: 47, deletions: 12, className: null }
|
|
186
|
+
},
|
|
187
|
+
Empty: {
|
|
188
|
+
props: z.object({
|
|
189
|
+
title: z.string().nullable(),
|
|
190
|
+
description: z.string().nullable()
|
|
191
|
+
}),
|
|
192
|
+
slots: ["icon", "cta"],
|
|
193
|
+
description: "Empty state placeholder with dashed border, optional icon slot, title, description, and CTA slot. Use when a list or chart has no data.",
|
|
194
|
+
example: { title: "No invoices yet", description: "Create your first invoice to start tracking payments." }
|
|
195
|
+
},
|
|
196
|
+
Item: {
|
|
197
|
+
props: z.object({
|
|
198
|
+
variant: z.enum(["default", "outline", "muted"]).nullable(),
|
|
199
|
+
size: z.enum(["default", "sm", "xs"]).nullable(),
|
|
200
|
+
className: z.string().nullable()
|
|
201
|
+
}),
|
|
202
|
+
slots: ["default"],
|
|
203
|
+
events: ["press"],
|
|
204
|
+
description: "Flexible list item container with variant and size. Compound sub-parts (ItemMedia, ItemContent, ItemTitle, ItemDescription, ItemActions, ItemHeader, ItemFooter, ItemGroup, ItemSeparator) are internal. Use children to compose layout.",
|
|
205
|
+
example: { variant: "default", size: "default", className: null }
|
|
206
|
+
},
|
|
207
|
+
MetricCard: {
|
|
208
|
+
props: z.object({
|
|
209
|
+
label: z.string(),
|
|
210
|
+
value: z.union([z.string(), z.number()]),
|
|
211
|
+
trend: z.object({
|
|
212
|
+
value: z.number(),
|
|
213
|
+
direction: z.enum(["up", "down", "flat"]).nullable()
|
|
214
|
+
}).nullable(),
|
|
215
|
+
sparklineData: z.array(z.number()).nullable(),
|
|
216
|
+
prefix: z.string().nullable(),
|
|
217
|
+
suffix: z.string().nullable(),
|
|
218
|
+
loading: z.boolean().nullable()
|
|
219
|
+
}),
|
|
220
|
+
description: "KPI card with animated SlidingNumber value, optional trend badge, sparkline, prefix/suffix, and loading skeleton. label and value are required.",
|
|
221
|
+
example: {
|
|
222
|
+
label: "Active Subscriptions",
|
|
223
|
+
value: 8420,
|
|
224
|
+
trend: { value: 5.3, direction: "up" },
|
|
225
|
+
sparklineData: [72, 68, 75, 80, 78, 84],
|
|
226
|
+
prefix: null,
|
|
227
|
+
suffix: null,
|
|
228
|
+
loading: false
|
|
229
|
+
}
|
|
230
|
+
},
|
|
231
|
+
Progress: {
|
|
232
|
+
props: z.object({
|
|
233
|
+
value: z.number().nullable(),
|
|
234
|
+
max: z.number().nullable(),
|
|
235
|
+
label: z.string().nullable()
|
|
236
|
+
}),
|
|
237
|
+
description: "Radix-based progress bar. value is 0\u2013100 (or 0\u2013max when max is set). label sets aria-label for accessibility. Animates fill with shimmer overlay.",
|
|
238
|
+
example: { value: 68, max: null, label: "Upload progress" }
|
|
239
|
+
},
|
|
240
|
+
ProgressRing: {
|
|
241
|
+
props: z.object({
|
|
242
|
+
value: z.number(),
|
|
243
|
+
max: z.number().nullable(),
|
|
244
|
+
size: z.enum(["sm", "md", "lg"]).nullable(),
|
|
245
|
+
color: z.string().nullable(),
|
|
246
|
+
trackColor: z.string().nullable(),
|
|
247
|
+
showValue: z.boolean().nullable(),
|
|
248
|
+
label: z.string().nullable(),
|
|
249
|
+
className: z.string().nullable()
|
|
250
|
+
}),
|
|
251
|
+
description: "Circular SVG progress ring with spring animation. value is 0\u2013max (default 100). size controls diameter (sm 32px, md 48px, lg 64px). showValue renders percentage text inside the ring. label sets aria-label.",
|
|
252
|
+
example: { value: 73, max: null, size: "md", color: null, trackColor: null, showValue: true, label: "Storage used", className: null }
|
|
253
|
+
},
|
|
254
|
+
PromoCard: {
|
|
255
|
+
props: z.object({
|
|
256
|
+
title: z.string().nullable(),
|
|
257
|
+
description: z.string().nullable(),
|
|
258
|
+
actionLabel: z.string().nullable(),
|
|
259
|
+
className: z.string().nullable()
|
|
260
|
+
}),
|
|
261
|
+
events: ["action"],
|
|
262
|
+
description: 'Promotional card with title, description, and CTA button. Fires action on button click. Defaults to "Upgrade to Pro" messaging when no props are set.',
|
|
263
|
+
example: { title: "Unlock Advanced Analytics", description: "Get real-time dashboards, custom reports, and data exports.", actionLabel: "Upgrade Now", className: null }
|
|
264
|
+
},
|
|
265
|
+
RoleBadge: {
|
|
266
|
+
props: z.object({
|
|
267
|
+
role: z.enum(["owner", "admin", "member", "guest"]),
|
|
268
|
+
description: z.string().nullable()
|
|
269
|
+
}),
|
|
270
|
+
description: "Styled role pill for owner, admin, member, and guest. When description is set a tooltip is shown on hover.",
|
|
271
|
+
example: { role: "admin", description: "Full access to all workspace settings and billing." }
|
|
272
|
+
},
|
|
273
|
+
Skeleton: {
|
|
274
|
+
props: z.object({
|
|
275
|
+
className: z.string().nullable(),
|
|
276
|
+
width: z.string().nullable(),
|
|
277
|
+
height: z.string().nullable()
|
|
278
|
+
}),
|
|
279
|
+
description: "Shimmer placeholder rectangle. width and height set inline dimensions. className can add Tailwind utilities. Use while content is loading.",
|
|
280
|
+
example: { className: null, width: "200px", height: "20px" }
|
|
281
|
+
},
|
|
282
|
+
Spinner: {
|
|
283
|
+
props: z.object({
|
|
284
|
+
className: z.string().nullable(),
|
|
285
|
+
size: z.enum(["sm", "default", "lg"]).nullable(),
|
|
286
|
+
label: z.string().nullable()
|
|
287
|
+
}),
|
|
288
|
+
description: "Spinning loading indicator. size controls dimensions: sm (12px), default (16px), lg (24px). label sets aria-label for accessibility.",
|
|
289
|
+
example: { className: null, size: "default", label: "Loading results" }
|
|
290
|
+
},
|
|
291
|
+
StatusDot: {
|
|
292
|
+
props: z.object({
|
|
293
|
+
status: z.enum(["online", "offline", "busy", "dnd"]).nullable(),
|
|
294
|
+
size: z.enum(["sm", "default", "lg"]).nullable(),
|
|
295
|
+
className: z.string().nullable()
|
|
296
|
+
}),
|
|
297
|
+
description: "Small colored status indicator dot. status controls color (online=green pulse, offline=muted, busy=warning, dnd=destructive). size controls diameter.",
|
|
298
|
+
example: { status: "online", size: "default", className: null }
|
|
299
|
+
},
|
|
300
|
+
SuccessCheck: {
|
|
301
|
+
props: z.object({
|
|
302
|
+
size: z.number().nullable(),
|
|
303
|
+
className: z.string().nullable()
|
|
304
|
+
}),
|
|
305
|
+
events: ["complete"],
|
|
306
|
+
description: "Animated SVG checkmark with spring physics. Circle draws first, then checkmark. Fires complete when animation finishes. size controls pixel dimensions (default 48).",
|
|
307
|
+
example: { size: 48, className: null }
|
|
308
|
+
},
|
|
309
|
+
Table: {
|
|
310
|
+
props: z.object({
|
|
311
|
+
columns: z.array(z.string()).nullable(),
|
|
312
|
+
rows: z.array(z.array(z.string())).nullable(),
|
|
313
|
+
density: z.enum(["default", "compact"]).nullable(),
|
|
314
|
+
striped: z.boolean().nullable(),
|
|
315
|
+
caption: z.string().nullable()
|
|
316
|
+
}),
|
|
317
|
+
description: "HTML table with optional striped rows and compact density mode. columns is a header label array; rows is a 2-D string array. caption renders a table caption element. For interactive features (sort, filter, select) use DataTable.",
|
|
318
|
+
example: {
|
|
319
|
+
columns: ["Region", "Q1 Sales", "Q2 Sales"],
|
|
320
|
+
rows: [
|
|
321
|
+
["North America", "$1.2M", "$1.4M"],
|
|
322
|
+
["Europe", "$890K", "$920K"]
|
|
323
|
+
],
|
|
324
|
+
density: "default",
|
|
325
|
+
striped: true,
|
|
326
|
+
caption: "Quarterly sales by region"
|
|
327
|
+
}
|
|
328
|
+
},
|
|
329
|
+
Timeline: {
|
|
330
|
+
props: z.object({
|
|
331
|
+
items: z.array(
|
|
332
|
+
z.object({
|
|
333
|
+
title: z.string(),
|
|
334
|
+
description: z.string().nullable(),
|
|
335
|
+
timestamp: z.string().nullable()
|
|
336
|
+
})
|
|
337
|
+
).nullable()
|
|
338
|
+
}),
|
|
339
|
+
description: "Vertical timeline. Each item has a title (required), optional description, and optional timestamp. Custom icons are not supported in json-render specs; the default dot is used.",
|
|
340
|
+
example: {
|
|
341
|
+
items: [
|
|
342
|
+
{ title: "Order placed", description: "Payment confirmed via Stripe.", timestamp: "2026-03-28T09:15:00Z" },
|
|
343
|
+
{ title: "Shipped", description: null, timestamp: "2026-03-29T14:30:00Z" },
|
|
344
|
+
{ title: "Delivered", description: "Left at front door.", timestamp: null }
|
|
345
|
+
]
|
|
346
|
+
}
|
|
347
|
+
},
|
|
348
|
+
TrendIndicator: {
|
|
349
|
+
props: z.object({
|
|
350
|
+
value: z.number(),
|
|
351
|
+
direction: z.enum(["up", "down", "flat"]).nullable(),
|
|
352
|
+
format: z.enum(["percent", "absolute"]).nullable(),
|
|
353
|
+
showIcon: z.boolean().nullable()
|
|
354
|
+
}),
|
|
355
|
+
description: "Badge-style trend pill with directional arrow icon and formatted value. direction defaults to up when value > 0, down when < 0, flat when 0. format defaults to percent.",
|
|
356
|
+
example: { value: 12.5, direction: "up", format: "percent", showIcon: true }
|
|
357
|
+
},
|
|
358
|
+
TreeView: {
|
|
359
|
+
props: z.object({
|
|
360
|
+
data: z.array(
|
|
361
|
+
z.lazy(() => treeNodeSchema)
|
|
362
|
+
),
|
|
363
|
+
className: z.string().nullable()
|
|
364
|
+
}),
|
|
365
|
+
events: ["select"],
|
|
366
|
+
description: "Collapsible tree view. data is a recursive array of nodes with id, label, and optional children. Fires select on node click.",
|
|
367
|
+
example: {
|
|
368
|
+
data: [
|
|
369
|
+
{ id: "src", label: "src", children: [
|
|
370
|
+
{ id: "components", label: "components", children: null },
|
|
371
|
+
{ id: "lib", label: "lib", children: null }
|
|
372
|
+
] },
|
|
373
|
+
{ id: "public", label: "public", children: null }
|
|
374
|
+
],
|
|
375
|
+
className: null
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
};
|
|
379
|
+
|
|
380
|
+
export { displayDefinitions };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { cn } from './chunk-QYZT24TS.js';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
function StaggeredEntrance({ children, className, delayMs = 50 }) {
|
|
6
|
+
return /* @__PURE__ */ jsx("div", { className: cn("contents", className), children: React.Children.map(children, (child, index) => {
|
|
7
|
+
if (!React.isValidElement(child)) return child;
|
|
8
|
+
return /* @__PURE__ */ jsx(
|
|
9
|
+
"div",
|
|
10
|
+
{
|
|
11
|
+
style: {
|
|
12
|
+
"--stagger-index": index,
|
|
13
|
+
animationDelay: `${index * delayMs}ms`
|
|
14
|
+
},
|
|
15
|
+
className: "animate-fade-in-up opacity-0 [animation-fill-mode:backwards]",
|
|
16
|
+
children: child
|
|
17
|
+
},
|
|
18
|
+
child.key ?? index
|
|
19
|
+
);
|
|
20
|
+
}) });
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { StaggeredEntrance };
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
// src/catalog/definitions/blocks-misc.ts
|
|
4
|
+
var blocksMiscDefinitions = {
|
|
5
|
+
Drawer: {
|
|
6
|
+
props: z.object({
|
|
7
|
+
triggerLabel: z.string().nullable(),
|
|
8
|
+
title: z.string().nullable(),
|
|
9
|
+
description: z.string().nullable(),
|
|
10
|
+
className: z.string().nullable()
|
|
11
|
+
}),
|
|
12
|
+
slots: ["default"],
|
|
13
|
+
events: ["close"],
|
|
14
|
+
description: "Bottom-sheet drawer (Vaul) with drag handle, title, and description. triggerLabel controls the open button text. Children render inside the drawer body. Fires close on dismiss.",
|
|
15
|
+
example: { triggerLabel: "View Details", title: "Order Summary", description: "Review your order before confirming.", className: null }
|
|
16
|
+
},
|
|
17
|
+
FloatingDock: {
|
|
18
|
+
props: z.object({
|
|
19
|
+
items: z.array(
|
|
20
|
+
z.object({
|
|
21
|
+
icon: z.string(),
|
|
22
|
+
label: z.string()
|
|
23
|
+
})
|
|
24
|
+
),
|
|
25
|
+
className: z.string().nullable()
|
|
26
|
+
}),
|
|
27
|
+
events: ["select"],
|
|
28
|
+
description: "macOS-style floating dock with spring magnification on hover. Items have string icon keys resolved at render time. Fires select on item click.",
|
|
29
|
+
example: {
|
|
30
|
+
items: [
|
|
31
|
+
{ icon: "Home", label: "Home" },
|
|
32
|
+
{ icon: "Search", label: "Search" },
|
|
33
|
+
{ icon: "Bell", label: "Notifications" },
|
|
34
|
+
{ icon: "Settings", label: "Settings" }
|
|
35
|
+
],
|
|
36
|
+
className: null
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
Kbd: {
|
|
40
|
+
props: z.object({
|
|
41
|
+
text: z.string(),
|
|
42
|
+
className: z.string().nullable()
|
|
43
|
+
}),
|
|
44
|
+
description: "Keyboard shortcut badge. Renders an inline <kbd> element styled as a key cap.",
|
|
45
|
+
example: { text: "\u2318K", className: null }
|
|
46
|
+
},
|
|
47
|
+
Menubar: {
|
|
48
|
+
props: z.object({
|
|
49
|
+
menus: z.array(
|
|
50
|
+
z.object({
|
|
51
|
+
label: z.string(),
|
|
52
|
+
items: z.array(
|
|
53
|
+
z.object({
|
|
54
|
+
label: z.string(),
|
|
55
|
+
value: z.string(),
|
|
56
|
+
shortcut: z.string().nullable()
|
|
57
|
+
})
|
|
58
|
+
)
|
|
59
|
+
})
|
|
60
|
+
),
|
|
61
|
+
className: z.string().nullable()
|
|
62
|
+
}),
|
|
63
|
+
events: ["select"],
|
|
64
|
+
description: "Horizontal menu bar with dropdown menus. Each menu has a trigger label and a list of items. Fires select on item click. Built on Radix Menubar.",
|
|
65
|
+
example: {
|
|
66
|
+
menus: [
|
|
67
|
+
{ label: "File", items: [
|
|
68
|
+
{ label: "New Document", value: "new", shortcut: "\u2318N" },
|
|
69
|
+
{ label: "Save", value: "save", shortcut: "\u2318S" }
|
|
70
|
+
] },
|
|
71
|
+
{ label: "Edit", items: [
|
|
72
|
+
{ label: "Undo", value: "undo", shortcut: "\u2318Z" },
|
|
73
|
+
{ label: "Redo", value: "redo", shortcut: "\u2318\u21E7Z" }
|
|
74
|
+
] }
|
|
75
|
+
],
|
|
76
|
+
className: null
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
NotFoundBlock: {
|
|
80
|
+
props: z.object({
|
|
81
|
+
title: z.string().nullable(),
|
|
82
|
+
description: z.string().nullable(),
|
|
83
|
+
backHref: z.string().nullable(),
|
|
84
|
+
backLabel: z.string().nullable(),
|
|
85
|
+
variant: z.enum(["not-found", "server-error", "generic-fallback"]).nullable(),
|
|
86
|
+
metadata: z.array(z.object({ label: z.string(), value: z.string() })).nullable(),
|
|
87
|
+
supportContent: z.string().nullable(),
|
|
88
|
+
secondaryActionLabel: z.string().nullable(),
|
|
89
|
+
className: z.string().nullable()
|
|
90
|
+
}),
|
|
91
|
+
events: ["primaryAction", "secondaryAction"],
|
|
92
|
+
description: "Error/not-found section with animated gradient title, description, primary action button, optional secondary action, and optional variant display (not-found/server-error/generic-fallback), metadata grid, and support content. Embeds a MeteorShower background effect.",
|
|
93
|
+
example: {
|
|
94
|
+
title: "Page Not Found",
|
|
95
|
+
description: "The page you are looking for does not exist or has been moved.",
|
|
96
|
+
backHref: "/",
|
|
97
|
+
backLabel: "Back to Home",
|
|
98
|
+
variant: "not-found",
|
|
99
|
+
metadata: null,
|
|
100
|
+
supportContent: null,
|
|
101
|
+
secondaryActionLabel: null,
|
|
102
|
+
className: null
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
export { blocksMiscDefinitions };
|
|
@@ -3,6 +3,7 @@ import { motionSpring, useMotionConfig, m } from './chunk-PD2YEH3H.js';
|
|
|
3
3
|
import { CheckIcon } from './chunk-CXACRCZ4.js';
|
|
4
4
|
import { cn } from './chunk-QYZT24TS.js';
|
|
5
5
|
import * as React from 'react';
|
|
6
|
+
import { useBoundProp } from '@json-render/react';
|
|
6
7
|
import { useTranslations } from 'next-intl';
|
|
7
8
|
import { AnimatePresence } from 'motion/react';
|
|
8
9
|
import { cva } from 'class-variance-authority';
|
|
@@ -47,46 +48,50 @@ var stepIndicatorVariants = cva(
|
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
50
|
);
|
|
51
|
+
var DEFAULT_STEPS = [];
|
|
50
52
|
function FormWizard({
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
steps,
|
|
55
|
-
activeStep: controlledStep,
|
|
56
|
-
onStepChange,
|
|
53
|
+
props,
|
|
54
|
+
bindings,
|
|
55
|
+
emit,
|
|
56
|
+
steps = DEFAULT_STEPS,
|
|
57
57
|
onComplete,
|
|
58
|
-
|
|
59
|
-
backLabel,
|
|
60
|
-
completeLabel,
|
|
61
|
-
ref,
|
|
62
|
-
...props
|
|
58
|
+
ref
|
|
63
59
|
}) {
|
|
60
|
+
const {
|
|
61
|
+
activeStep: activeStepProp,
|
|
62
|
+
nextLabel,
|
|
63
|
+
backLabel,
|
|
64
|
+
completeLabel,
|
|
65
|
+
variant,
|
|
66
|
+
size,
|
|
67
|
+
className
|
|
68
|
+
} = props;
|
|
69
|
+
const [boundStep, setBoundStep] = useBoundProp(
|
|
70
|
+
activeStepProp,
|
|
71
|
+
bindings?.activeStep
|
|
72
|
+
);
|
|
73
|
+
const [internalStep, setInternalStep] = React.useState(0);
|
|
74
|
+
const isBound = !!bindings?.activeStep;
|
|
75
|
+
const currentStep = isBound ? boundStep ?? 0 : activeStepProp ?? internalStep;
|
|
76
|
+
const setStep = isBound ? setBoundStep : setInternalStep;
|
|
64
77
|
const t = useTranslations("components.formWizard");
|
|
65
78
|
const resolvedNextLabel = nextLabel ?? t("next");
|
|
66
79
|
const resolvedBackLabel = backLabel ?? t("back");
|
|
67
80
|
const resolvedCompleteLabel = completeLabel ?? t("complete");
|
|
68
81
|
const motionConfig = useMotionConfig();
|
|
69
|
-
const [internalStep, setInternalStep] = React.useState(0);
|
|
70
82
|
const [direction, setDirection] = React.useState(0);
|
|
71
|
-
const currentStep = controlledStep ?? internalStep;
|
|
72
|
-
const prevStepRef = React.useRef(currentStep);
|
|
73
|
-
React.useEffect(() => {
|
|
74
|
-
prevStepRef.current = currentStep;
|
|
75
|
-
}, [currentStep]);
|
|
76
83
|
const goTo = (step) => {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
} else {
|
|
80
|
-
setInternalStep(step);
|
|
81
|
-
}
|
|
84
|
+
emit("stepChange");
|
|
85
|
+
setStep(step);
|
|
82
86
|
};
|
|
83
87
|
const handleNext = () => {
|
|
84
88
|
const step = steps[currentStep];
|
|
85
|
-
if (step
|
|
89
|
+
if (step?.validate && !step.validate()) return;
|
|
86
90
|
if (currentStep < steps.length - 1) {
|
|
87
91
|
setDirection(1);
|
|
88
92
|
goTo(currentStep + 1);
|
|
89
93
|
} else {
|
|
94
|
+
emit("complete");
|
|
90
95
|
onComplete?.();
|
|
91
96
|
}
|
|
92
97
|
};
|
|
@@ -101,10 +106,9 @@ function FormWizard({
|
|
|
101
106
|
"div",
|
|
102
107
|
{
|
|
103
108
|
ref,
|
|
104
|
-
className: cn(formWizardVariants({ variant, size }), className),
|
|
109
|
+
className: cn(formWizardVariants({ variant, size }), className ?? void 0),
|
|
105
110
|
role: "group",
|
|
106
111
|
"aria-label": t("formWizard"),
|
|
107
|
-
...props,
|
|
108
112
|
children: [
|
|
109
113
|
/* @__PURE__ */ jsx("nav", { "aria-label": t("wizardSteps"), className: "flex items-center gap-2", children: steps.map((step, index) => {
|
|
110
114
|
const state = index < currentStep ? "complete" : index === currentStep ? "active" : "pending";
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Popover, PopoverTrigger, PopoverContent } from './chunk-UYT33NG6.js';
|
|
2
|
+
import { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem } from './chunk-37LY27CX.js';
|
|
3
|
+
import { Button } from './chunk-7KIDDF3I.js';
|
|
4
|
+
import { ChevronsUpDownIcon } from './chunk-SW6QPJM4.js';
|
|
5
|
+
import { CheckIcon } from './chunk-CXACRCZ4.js';
|
|
6
|
+
import { cn } from './chunk-QYZT24TS.js';
|
|
7
|
+
import * as React from 'react';
|
|
8
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
9
|
+
|
|
10
|
+
function Combobox({
|
|
11
|
+
options,
|
|
12
|
+
placeholder = "Select option...",
|
|
13
|
+
emptyText = "No option found.",
|
|
14
|
+
value,
|
|
15
|
+
disabled,
|
|
16
|
+
onValueChange
|
|
17
|
+
}) {
|
|
18
|
+
const [open, setOpen] = React.useState(false);
|
|
19
|
+
const [internalValue, setInternalValue] = React.useState(value || "");
|
|
20
|
+
const selectedValue = value !== void 0 ? value : internalValue;
|
|
21
|
+
const selectedLabel = React.useMemo(
|
|
22
|
+
() => options.find((option) => option.value === selectedValue)?.label,
|
|
23
|
+
[options, selectedValue]
|
|
24
|
+
);
|
|
25
|
+
return /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: setOpen, children: [
|
|
26
|
+
/* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
|
|
27
|
+
Button,
|
|
28
|
+
{
|
|
29
|
+
variant: "outline",
|
|
30
|
+
role: "combobox",
|
|
31
|
+
"aria-expanded": open,
|
|
32
|
+
"aria-label": selectedLabel || placeholder,
|
|
33
|
+
disabled,
|
|
34
|
+
className: "w-full sm:w-[200px] justify-between text-text-primary",
|
|
35
|
+
children: [
|
|
36
|
+
selectedLabel || placeholder,
|
|
37
|
+
/* @__PURE__ */ jsx(ChevronsUpDownIcon, { size: 16, className: "ml-2 shrink-0 opacity-50" })
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
) }),
|
|
41
|
+
/* @__PURE__ */ jsx(PopoverContent, { className: "w-[var(--radix-popover-trigger-width)] p-0", children: /* @__PURE__ */ jsxs(Command, { children: [
|
|
42
|
+
/* @__PURE__ */ jsx(CommandInput, { placeholder: `Search ${placeholder.toLowerCase()}...` }),
|
|
43
|
+
/* @__PURE__ */ jsxs(CommandList, { children: [
|
|
44
|
+
/* @__PURE__ */ jsx(CommandEmpty, { children: emptyText }),
|
|
45
|
+
/* @__PURE__ */ jsx(CommandGroup, { children: options.map((option) => /* @__PURE__ */ jsxs(
|
|
46
|
+
CommandItem,
|
|
47
|
+
{
|
|
48
|
+
value: option.value,
|
|
49
|
+
onSelect: (currentValue) => {
|
|
50
|
+
const newValue = currentValue === selectedValue ? "" : currentValue;
|
|
51
|
+
if (onValueChange) {
|
|
52
|
+
onValueChange(newValue);
|
|
53
|
+
} else {
|
|
54
|
+
setInternalValue(newValue);
|
|
55
|
+
}
|
|
56
|
+
setOpen(false);
|
|
57
|
+
},
|
|
58
|
+
className: "text-text-primary",
|
|
59
|
+
children: [
|
|
60
|
+
/* @__PURE__ */ jsx(
|
|
61
|
+
CheckIcon,
|
|
62
|
+
{
|
|
63
|
+
size: 16,
|
|
64
|
+
className: cn(
|
|
65
|
+
"mr-2",
|
|
66
|
+
selectedValue === option.value ? "opacity-100" : "opacity-0"
|
|
67
|
+
)
|
|
68
|
+
}
|
|
69
|
+
),
|
|
70
|
+
option.label
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
option.value
|
|
74
|
+
)) })
|
|
75
|
+
] })
|
|
76
|
+
] }) })
|
|
77
|
+
] });
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export { Combobox };
|