motion-brew 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +106 -2
- package/dist/account-menu.d.ts +1 -0
- package/dist/account-menu.js +16 -0
- package/dist/action-menu.d.ts +1 -0
- package/dist/action-menu.js +10 -0
- package/dist/activity-grid.d.ts +1 -0
- package/dist/activity-grid.js +14 -0
- package/dist/add-card.d.ts +1 -0
- package/dist/add-card.js +11 -0
- package/dist/amount-slider.d.ts +1 -0
- package/dist/amount-slider.js +10 -0
- package/dist/annotation-text.d.ts +1 -0
- package/dist/annotation-text.js +8 -0
- package/dist/aura-card.d.ts +1 -0
- package/dist/aura-card.js +19 -0
- package/dist/auth-card.d.ts +1 -0
- package/dist/auth-card.js +15 -0
- package/dist/avatar-testimonial.d.ts +1 -0
- package/dist/avatar-testimonial.js +8 -0
- package/dist/backspace-text.d.ts +1 -0
- package/dist/backspace-text.js +8 -0
- package/dist/bell-toggle.d.ts +1 -0
- package/dist/bell-toggle.js +8 -0
- package/dist/bill-list.d.ts +1 -0
- package/dist/bill-list.js +15 -0
- package/dist/binary-text.d.ts +1 -0
- package/dist/binary-text.js +8 -0
- package/dist/blur-accordion.d.ts +1 -0
- package/dist/blur-accordion.js +8 -0
- package/dist/blur-text.d.ts +1 -0
- package/dist/blur-text.js +8 -0
- package/dist/booking-card.d.ts +1 -0
- package/dist/booking-card.js +11 -0
- package/dist/brand-bridge.d.ts +1 -0
- package/dist/brand-bridge.js +12 -0
- package/dist/calendar-agenda.d.ts +1 -0
- package/dist/calendar-agenda.js +12 -0
- package/dist/channel-mix.d.ts +1 -0
- package/dist/channel-mix.js +11 -0
- package/dist/chunk-25254AZA.js +141 -0
- package/dist/chunk-2CIJ5TVW.js +59 -0
- package/dist/chunk-2GXY54MP.js +247 -0
- package/dist/chunk-2IMPUH4H.js +135 -0
- package/dist/chunk-2NRXP4HM.js +371 -0
- package/dist/chunk-2QCWELWT.js +120 -0
- package/dist/chunk-2TQSHVXA.js +12 -0
- package/dist/chunk-327TGRS5.js +75 -0
- package/dist/chunk-3B2RYSTL.js +867 -0
- package/dist/chunk-3RKCLFY5.js +634 -0
- package/dist/chunk-4BVCRIR4.js +51 -0
- package/dist/chunk-4CKKTOJK.js +366 -0
- package/dist/chunk-4IGMH34C.js +319 -0
- package/dist/chunk-4PI6UNIZ.js +464 -0
- package/dist/chunk-4RHQKP2P.js +664 -0
- package/dist/chunk-5IAO5YQA.js +373 -0
- package/dist/chunk-5MP5QNFG.js +560 -0
- package/dist/chunk-62RBYLIN.js +128 -0
- package/dist/chunk-6FTC5OQF.js +384 -0
- package/dist/chunk-6GAKTS3D.js +329 -0
- package/dist/chunk-6GRDT3OE.js +124 -0
- package/dist/chunk-6JQY7AX5.js +307 -0
- package/dist/chunk-6LOUA6XB.js +237 -0
- package/dist/chunk-6V6OTHNE.js +299 -0
- package/dist/chunk-6VZIT62Q.js +142 -0
- package/dist/chunk-6WSY725U.js +387 -0
- package/dist/chunk-6XSJC7M7.js +764 -0
- package/dist/chunk-75DEIDBX.js +129 -0
- package/dist/chunk-7FQ4XU7E.js +127 -0
- package/dist/chunk-7IL5WRJR.js +615 -0
- package/dist/chunk-7MPC3RUE.js +1462 -0
- package/dist/chunk-7PS2W7PU.js +112 -0
- package/dist/chunk-AATJOPNH.js +86 -0
- package/dist/chunk-ADXWPWJR.js +209 -0
- package/dist/chunk-ANNDITUM.js +47 -0
- package/dist/chunk-AQN6BHWC.js +325 -0
- package/dist/chunk-AVOS73MR.js +537 -0
- package/dist/chunk-B4LNE6YK.js +473 -0
- package/dist/chunk-BHUNLG6S.js +142 -0
- package/dist/chunk-BN4MA5UY.js +127 -0
- package/dist/chunk-BPE43MTT.js +183 -0
- package/dist/chunk-BPF3FQRS.js +590 -0
- package/dist/chunk-BRTZFUFR.js +503 -0
- package/dist/chunk-BS4ZFJKW.js +121 -0
- package/dist/chunk-BXAKCY6X.js +86 -0
- package/dist/chunk-CEQ56RF6.js +129 -0
- package/dist/chunk-CGDKH6BB.js +902 -0
- package/dist/chunk-CMTGYFT7.js +395 -0
- package/dist/chunk-DD55JZOI.js +257 -0
- package/dist/chunk-DQUXBNSH.js +412 -0
- package/dist/chunk-DR4DUSNF.js +265 -0
- package/dist/chunk-EDPCK6VU.js +419 -0
- package/dist/chunk-EEQ2WHTN.js +142 -0
- package/dist/chunk-ERVE5RSN.js +793 -0
- package/dist/chunk-FFUBTMDC.js +303 -0
- package/dist/chunk-FK4TZ5OW.js +29 -0
- package/dist/chunk-FXI6NHNR.js +1033 -0
- package/dist/chunk-G3XH7YT2.js +122 -0
- package/dist/chunk-G7KDH7ME.js +559 -0
- package/dist/chunk-GRUDTDLX.js +534 -0
- package/dist/chunk-GUQINNWS.js +770 -0
- package/dist/chunk-GV3Q4D2N.js +320 -0
- package/dist/chunk-GVWOJJ3T.js +129 -0
- package/dist/chunk-H2JOCJWM.js +125 -0
- package/dist/chunk-H7XKIWHA.js +135 -0
- package/dist/chunk-HHXK3NAH.js +1382 -0
- package/dist/chunk-HJINEW5T.js +3289 -0
- package/dist/chunk-HK34LPY6.js +112 -0
- package/dist/chunk-HLJXNSMM.js +320 -0
- package/dist/chunk-HPJJAQ5L.js +406 -0
- package/dist/chunk-HYSXVKZB.js +213 -0
- package/dist/chunk-I45D4XV4.js +124 -0
- package/dist/chunk-I7KTTOOJ.js +113 -0
- package/dist/chunk-IDJOKV6S.js +67 -0
- package/dist/chunk-IGI6OLRX.js +138 -0
- package/dist/chunk-IKM7EEYN.js +117 -0
- package/dist/chunk-INV5FI6O.js +394 -0
- package/dist/chunk-IUBUAIQZ.js +321 -0
- package/dist/chunk-IYZOANPX.js +159 -0
- package/dist/chunk-JFTD3YAL.js +163 -0
- package/dist/chunk-JGEV462J.js +235 -0
- package/dist/chunk-JHT6RCGY.js +127 -0
- package/dist/chunk-JJEWOQYQ.js +141 -0
- package/dist/chunk-JT2EIO5M.js +129 -0
- package/dist/chunk-K3HQEHJ6.js +663 -0
- package/dist/chunk-K6ET254T.js +398 -0
- package/dist/chunk-LBRMNY72.js +159 -0
- package/dist/chunk-LNBTWX4J.js +114 -0
- package/dist/chunk-LS4FP6SI.js +37 -0
- package/dist/chunk-M22UY764.js +135 -0
- package/dist/chunk-M4YMNHPI.js +204 -0
- package/dist/chunk-MGBS5LRY.js +412 -0
- package/dist/chunk-MKJOBHPQ.js +215 -0
- package/dist/chunk-MQDOFNKI.js +818 -0
- package/dist/chunk-MUDKP3LK.js +120 -0
- package/dist/chunk-N4ZNBWKO.js +118 -0
- package/dist/chunk-NB5CB65C.js +137 -0
- package/dist/chunk-NCEAUODT.js +172 -0
- package/dist/chunk-NGX34WJO.js +335 -0
- package/dist/chunk-NIQFSLPC.js +114 -0
- package/dist/chunk-NJWTPRGJ.js +806 -0
- package/dist/chunk-NNKC6NEH.js +128 -0
- package/dist/chunk-NY7M42KC.js +112 -0
- package/dist/chunk-O7G4ISAC.js +277 -0
- package/dist/chunk-O7QYPA6X.js +700 -0
- package/dist/chunk-OEDHLZ4T.js +651 -0
- package/dist/chunk-OGQQ2FZZ.js +114 -0
- package/dist/chunk-OINRQUYT.js +186 -0
- package/dist/chunk-OMJBDFEW.js +506 -0
- package/dist/chunk-ONUWTWKP.js +345 -0
- package/dist/chunk-OS6REIBR.js +154 -0
- package/dist/chunk-OUVP5VKH.js +702 -0
- package/dist/chunk-OVEBMZHA.js +573 -0
- package/dist/chunk-PJ5EVDNN.js +157 -0
- package/dist/chunk-PKM6B4JJ.js +108 -0
- package/dist/chunk-PV3OYTMT.js +596 -0
- package/dist/chunk-RBSLSNMW.js +444 -0
- package/dist/chunk-RE74K7KI.js +370 -0
- package/dist/chunk-RP22J4NX.js +247 -0
- package/dist/chunk-RU2Q2XVP.js +287 -0
- package/dist/chunk-RZ2UCZ3C.js +212 -0
- package/dist/chunk-SBDTC4UY.js +367 -0
- package/dist/chunk-SKEE23KW.js +137 -0
- package/dist/chunk-SOW7S7ET.js +1103 -0
- package/dist/chunk-SQ7F3VBU.js +1069 -0
- package/dist/chunk-SSWKGVRI.js +172 -0
- package/dist/chunk-SVK4MQMV.js +267 -0
- package/dist/chunk-SZAHSOSQ.js +932 -0
- package/dist/chunk-T2TSMDP3.js +1022 -0
- package/dist/chunk-TAFVHTWV.js +607 -0
- package/dist/chunk-TNLY4CSA.js +523 -0
- package/dist/chunk-TP3XIHL5.js +787 -0
- package/dist/chunk-TQ6KSDDE.js +682 -0
- package/dist/chunk-TRWXLGL7.js +885 -0
- package/dist/chunk-TTNORJF5.js +908 -0
- package/dist/chunk-UD5OQ2T3.js +117 -0
- package/dist/chunk-UDFBQWUH.js +333 -0
- package/dist/chunk-USRMXCZD.js +625 -0
- package/dist/chunk-VAPHE4G4.js +442 -0
- package/dist/chunk-VEC5QAOY.js +104 -0
- package/dist/chunk-VIR5NV5W.js +118 -0
- package/dist/chunk-VT2FNWQF.js +240 -0
- package/dist/chunk-VX4XEYQN.js +837 -0
- package/dist/chunk-W46CBUFX.js +425 -0
- package/dist/chunk-WE7VCUOA.js +130 -0
- package/dist/chunk-WFWO2EIW.js +120 -0
- package/dist/chunk-WGIT4MMH.js +350 -0
- package/dist/chunk-WOR2GMMN.js +114 -0
- package/dist/chunk-WTTDB475.js +54 -0
- package/dist/chunk-WWWKMU4Y.js +184 -0
- package/dist/chunk-XDR4FO6Q.js +124 -0
- package/dist/chunk-XH6YNONO.js +112 -0
- package/dist/chunk-XL4L2J6N.js +129 -0
- package/dist/chunk-Y6MTC46Q.js +684 -0
- package/dist/chunk-YFLQ4HPJ.js +119 -0
- package/dist/chunk-YGONLKWH.js +180 -0
- package/dist/chunk-YU6B7YRO.js +128 -0
- package/dist/chunk-YURGXJSP.js +102 -0
- package/dist/chunk-YVYYDPE2.js +124 -0
- package/dist/chunk-ZPGAMYOQ.js +1 -0
- package/dist/chunk-ZWGOAY27.js +234 -0
- package/dist/column-card.d.ts +1 -0
- package/dist/column-card.js +8 -0
- package/dist/components/account-menu/account-menu.d.ts +56 -0
- package/dist/components/account-menu/index.d.ts +1 -0
- package/dist/components/action-menu/action-menu.d.ts +45 -0
- package/dist/components/action-menu/index.d.ts +1 -0
- package/dist/components/activity-grid/activity-grid.d.ts +54 -0
- package/dist/components/activity-grid/index.d.ts +1 -0
- package/dist/components/add-card/add-card.d.ts +41 -0
- package/dist/components/add-card/index.d.ts +1 -0
- package/dist/components/amount-slider/amount-slider.d.ts +43 -0
- package/dist/components/amount-slider/index.d.ts +1 -0
- package/dist/components/annotation-text/annotation-text.d.ts +27 -0
- package/dist/components/annotation-text/index.d.ts +1 -0
- package/dist/components/aura-card/aura-card.d.ts +63 -0
- package/dist/components/aura-card/index.d.ts +1 -0
- package/dist/components/auth-card/auth-card.d.ts +51 -0
- package/dist/components/auth-card/index.d.ts +1 -0
- package/dist/components/avatar-testimonial/avatar-testimonial.d.ts +39 -0
- package/dist/components/avatar-testimonial/index.d.ts +1 -0
- package/dist/components/backspace-text/backspace-text.d.ts +27 -0
- package/dist/components/backspace-text/index.d.ts +1 -0
- package/dist/components/bell-toggle/bell-toggle.d.ts +33 -0
- package/dist/components/bell-toggle/index.d.ts +1 -0
- package/dist/components/bill-list/bill-list.d.ts +49 -0
- package/dist/components/bill-list/index.d.ts +1 -0
- package/dist/components/binary-text/binary-text.d.ts +24 -0
- package/dist/components/binary-text/index.d.ts +1 -0
- package/dist/components/blur-accordion/blur-accordion.d.ts +35 -0
- package/dist/components/blur-accordion/index.d.ts +1 -0
- package/dist/components/blur-text/blur-text.d.ts +33 -0
- package/dist/components/blur-text/index.d.ts +1 -0
- package/dist/components/booking-card/booking-card.d.ts +56 -0
- package/dist/components/booking-card/index.d.ts +1 -0
- package/dist/components/brand-bridge/brand-bridge.d.ts +63 -0
- package/dist/components/brand-bridge/index.d.ts +1 -0
- package/dist/components/calendar-agenda/calendar-agenda.d.ts +64 -0
- package/dist/components/calendar-agenda/index.d.ts +1 -0
- package/dist/components/channel-mix/channel-mix.d.ts +63 -0
- package/dist/components/channel-mix/index.d.ts +1 -0
- package/dist/components/column-card/column-card.d.ts +39 -0
- package/dist/components/column-card/index.d.ts +1 -0
- package/dist/components/contact-card/contact-card.d.ts +44 -0
- package/dist/components/contact-card/index.d.ts +1 -0
- package/dist/components/context-menu/context-menu.d.ts +59 -0
- package/dist/components/context-menu/index.d.ts +1 -0
- package/dist/components/contour-feature-card/contour-feature-card.d.ts +36 -0
- package/dist/components/contour-feature-card/index.d.ts +1 -0
- package/dist/components/contour-lines/contour-lines.d.ts +34 -0
- package/dist/components/contour-lines/index.d.ts +1 -0
- package/dist/components/decay-card/decay-card.d.ts +44 -0
- package/dist/components/decay-card/index.d.ts +1 -0
- package/dist/components/deploy-streak/deploy-streak.d.ts +30 -0
- package/dist/components/deploy-streak/index.d.ts +1 -0
- package/dist/components/depth-carousel/depth-carousel.d.ts +42 -0
- package/dist/components/depth-carousel/index.d.ts +1 -0
- package/dist/components/device-traffic/device-traffic.d.ts +59 -0
- package/dist/components/device-traffic/index.d.ts +1 -0
- package/dist/components/download-button/download-button.d.ts +36 -0
- package/dist/components/download-button/index.d.ts +1 -0
- package/dist/components/event-card/event-card.d.ts +55 -0
- package/dist/components/event-card/index.d.ts +1 -0
- package/dist/components/file-drop/file-drop.d.ts +46 -0
- package/dist/components/file-drop/index.d.ts +1 -0
- package/dist/components/flip-words/flip-words.d.ts +26 -0
- package/dist/components/flip-words/index.d.ts +1 -0
- package/dist/components/flux-card/flux-card.d.ts +56 -0
- package/dist/components/flux-card/index.d.ts +1 -0
- package/dist/components/fuse-button/fuse-button.d.ts +75 -0
- package/dist/components/fuse-button/index.d.ts +1 -0
- package/dist/components/globe-card/globe-card.d.ts +46 -0
- package/dist/components/globe-card/index.d.ts +1 -0
- package/dist/components/goal-gauge/goal-gauge.d.ts +47 -0
- package/dist/components/goal-gauge/index.d.ts +1 -0
- package/dist/components/gradient-card/gradient-card.d.ts +56 -0
- package/dist/components/gradient-card/index.d.ts +1 -0
- package/dist/components/gradient-text/gradient-text.d.ts +22 -0
- package/dist/components/gradient-text/index.d.ts +1 -0
- package/dist/components/gravity-tag-pile/gravity-tag-pile.d.ts +69 -0
- package/dist/components/gravity-tag-pile/index.d.ts +1 -0
- package/dist/components/growth-stream/growth-stream.d.ts +47 -0
- package/dist/components/growth-stream/index.d.ts +1 -0
- package/dist/components/highlight-text/highlight-text.d.ts +22 -0
- package/dist/components/highlight-text/index.d.ts +1 -0
- package/dist/components/hold-to-confirm/hold-to-confirm.d.ts +32 -0
- package/dist/components/hold-to-confirm/index.d.ts +1 -0
- package/dist/components/infinite-gallery/index.d.ts +1 -0
- package/dist/components/infinite-gallery/infinite-gallery.d.ts +73 -0
- package/dist/components/integration-hub/index.d.ts +1 -0
- package/dist/components/integration-hub/integration-hub.d.ts +40 -0
- package/dist/components/liquid-card/index.d.ts +1 -0
- package/dist/components/liquid-card/liquid-card.d.ts +66 -0
- package/dist/components/liquid-metal-card/index.d.ts +1 -0
- package/dist/components/liquid-metal-card/liquid-metal-card.d.ts +45 -0
- package/dist/components/liquid-tabs/index.d.ts +1 -0
- package/dist/components/liquid-tabs/liquid-tabs.d.ts +47 -0
- package/dist/components/magnetic-button/index.d.ts +1 -0
- package/dist/components/magnetic-button/magnetic-button.d.ts +46 -0
- package/dist/components/magnetic-flow/index.d.ts +1 -0
- package/dist/components/magnetic-flow/magnetic-flow.d.ts +35 -0
- package/dist/components/message-composer/index.d.ts +1 -0
- package/dist/components/message-composer/message-composer.d.ts +79 -0
- package/dist/components/metal-card-stack/index.d.ts +1 -0
- package/dist/components/metal-card-stack/metal-card-stack.d.ts +49 -0
- package/dist/components/metric-split/index.d.ts +1 -0
- package/dist/components/metric-split/metric-split.d.ts +45 -0
- package/dist/components/mix-chart/index.d.ts +1 -0
- package/dist/components/mix-chart/mix-chart.d.ts +59 -0
- package/dist/components/month-calendar/index.d.ts +1 -0
- package/dist/components/month-calendar/month-calendar.d.ts +34 -0
- package/dist/components/morph-search/index.d.ts +1 -0
- package/dist/components/morph-search/morph-search.d.ts +33 -0
- package/dist/components/orbit-card/index.d.ts +1 -0
- package/dist/components/orbit-card/orbit-card.d.ts +50 -0
- package/dist/components/otp-code/index.d.ts +1 -0
- package/dist/components/otp-code/otp-code.d.ts +61 -0
- package/dist/components/particle-card/index.d.ts +1 -0
- package/dist/components/particle-card/particle-card.d.ts +57 -0
- package/dist/components/payment-form/index.d.ts +1 -0
- package/dist/components/payment-form/payment-form.d.ts +54 -0
- package/dist/components/pill-tabs/index.d.ts +1 -0
- package/dist/components/pill-tabs/pill-tabs.d.ts +39 -0
- package/dist/components/pixel-blast/index.d.ts +1 -0
- package/dist/components/pixel-blast/pixel-blast.d.ts +41 -0
- package/dist/components/pixel-feature-card/index.d.ts +1 -0
- package/dist/components/pixel-feature-card/pixel-feature-card.d.ts +43 -0
- package/dist/components/pixel-scroll/index.d.ts +1 -0
- package/dist/components/pixel-scroll/pixel-scroll.d.ts +64 -0
- package/dist/components/pricing-card/index.d.ts +1 -0
- package/dist/components/pricing-card/pricing-card.d.ts +60 -0
- package/dist/components/prism-carousel/index.d.ts +1 -0
- package/dist/components/prism-carousel/prism-carousel.d.ts +54 -0
- package/dist/components/prism-flow/index.d.ts +1 -0
- package/dist/components/prism-flow/prism-flow.d.ts +41 -0
- package/dist/components/privacy-banner/index.d.ts +1 -0
- package/dist/components/privacy-banner/privacy-banner.d.ts +41 -0
- package/dist/components/profile-card/index.d.ts +1 -0
- package/dist/components/profile-card/profile-card.d.ts +52 -0
- package/dist/components/profile-menu/index.d.ts +1 -0
- package/dist/components/profile-menu/profile-menu.d.ts +43 -0
- package/dist/components/project-index/index.d.ts +1 -0
- package/dist/components/project-index/project-index.d.ts +65 -0
- package/dist/components/prompt-input/index.d.ts +1 -0
- package/dist/components/prompt-input/prompt-input.d.ts +49 -0
- package/dist/components/quota-gauge/index.d.ts +1 -0
- package/dist/components/quota-gauge/quota-gauge.d.ts +30 -0
- package/dist/components/range-chart/index.d.ts +1 -0
- package/dist/components/range-chart/range-chart.d.ts +47 -0
- package/dist/components/reaction-card/index.d.ts +1 -0
- package/dist/components/reaction-card/reaction-card.d.ts +60 -0
- package/dist/components/recap-card/index.d.ts +1 -0
- package/dist/components/recap-card/recap-card.d.ts +61 -0
- package/dist/components/receipt-button/index.d.ts +1 -0
- package/dist/components/receipt-button/receipt-button.d.ts +53 -0
- package/dist/components/ribbon-gallery/index.d.ts +1 -0
- package/dist/components/ribbon-gallery/ribbon-gallery.d.ts +61 -0
- package/dist/components/roadmap-card/index.d.ts +1 -0
- package/dist/components/roadmap-card/roadmap-card.d.ts +38 -0
- package/dist/components/rolling-card-stack/index.d.ts +1 -0
- package/dist/components/rolling-card-stack/rolling-card-stack.d.ts +53 -0
- package/dist/components/rolling-stepper/index.d.ts +1 -0
- package/dist/components/rolling-stepper/rolling-stepper.d.ts +33 -0
- package/dist/components/rotating-text/index.d.ts +1 -0
- package/dist/components/rotating-text/rotating-text.d.ts +25 -0
- package/dist/components/score-card/index.d.ts +1 -0
- package/dist/components/score-card/score-card.d.ts +40 -0
- package/dist/components/search-modal/index.d.ts +1 -0
- package/dist/components/search-modal/search-modal.d.ts +62 -0
- package/dist/components/shimmer-text/index.d.ts +1 -0
- package/dist/components/shimmer-text/shimmer-text.d.ts +22 -0
- package/dist/components/sidebar-nav/index.d.ts +1 -0
- package/dist/components/sidebar-nav/sidebar-nav.d.ts +71 -0
- package/dist/components/slide-commit/index.d.ts +1 -0
- package/dist/components/slide-commit/slide-commit.d.ts +39 -0
- package/dist/components/spatial-gallery/index.d.ts +1 -0
- package/dist/components/spatial-gallery/spatial-gallery.d.ts +88 -0
- package/dist/components/spending-meter/index.d.ts +1 -0
- package/dist/components/spending-meter/spending-meter.d.ts +41 -0
- package/dist/components/tab-bar/index.d.ts +1 -0
- package/dist/components/tab-bar/tab-bar.d.ts +44 -0
- package/dist/components/team-member-card/index.d.ts +1 -0
- package/dist/components/team-member-card/team-member-card.d.ts +66 -0
- package/dist/components/team-morph/index.d.ts +1 -0
- package/dist/components/team-morph/team-morph.d.ts +38 -0
- package/dist/components/tilt-card/index.d.ts +1 -0
- package/dist/components/tilt-card/tilt-card.d.ts +27 -0
- package/dist/components/tilt-carousel/index.d.ts +1 -0
- package/dist/components/tilt-carousel/tilt-carousel.d.ts +43 -0
- package/dist/components/toast-stack/index.d.ts +1 -0
- package/dist/components/toast-stack/toast-stack.d.ts +57 -0
- package/dist/components/usage-ring/index.d.ts +1 -0
- package/dist/components/usage-ring/usage-ring.d.ts +40 -0
- package/dist/components/verify-flow/index.d.ts +1 -0
- package/dist/components/verify-flow/verify-flow.d.ts +49 -0
- package/dist/components/voice-prompt/index.d.ts +1 -0
- package/dist/components/voice-prompt/voice-prompt.d.ts +55 -0
- package/dist/components/wallet-card/index.d.ts +1 -0
- package/dist/components/wallet-card/wallet-card.d.ts +54 -0
- package/dist/components/wave-text/index.d.ts +1 -0
- package/dist/components/wave-text/wave-text.d.ts +27 -0
- package/dist/contact-card.d.ts +1 -0
- package/dist/contact-card.js +12 -0
- package/dist/context-menu.d.ts +1 -0
- package/dist/context-menu.js +17 -0
- package/dist/contour-feature-card.d.ts +1 -0
- package/dist/contour-feature-card.js +9 -0
- package/dist/contour-lines.d.ts +1 -0
- package/dist/contour-lines.js +8 -0
- package/dist/decay-card.d.ts +1 -0
- package/dist/decay-card.js +8 -0
- package/dist/deploy-streak.d.ts +1 -0
- package/dist/deploy-streak.js +9 -0
- package/dist/depth-carousel.d.ts +1 -0
- package/dist/depth-carousel.js +8 -0
- package/dist/device-traffic.d.ts +1 -0
- package/dist/device-traffic.js +12 -0
- package/dist/download-button.d.ts +1 -0
- package/dist/download-button.js +8 -0
- package/dist/event-card.d.ts +1 -0
- package/dist/event-card.js +12 -0
- package/dist/file-drop.d.ts +1 -0
- package/dist/file-drop.js +12 -0
- package/dist/flip-words.d.ts +1 -0
- package/dist/flip-words.js +8 -0
- package/dist/flux-card.d.ts +1 -0
- package/dist/flux-card.js +13 -0
- package/dist/fuse-button.d.ts +1 -0
- package/dist/fuse-button.js +9 -0
- package/dist/globe-card.d.ts +1 -0
- package/dist/globe-card.js +8 -0
- package/dist/goal-gauge.d.ts +1 -0
- package/dist/goal-gauge.js +9 -0
- package/dist/gradient-card.d.ts +1 -0
- package/dist/gradient-card.js +8 -0
- package/dist/gradient-text.d.ts +1 -0
- package/dist/gradient-text.js +8 -0
- package/dist/gravity-tag-pile.d.ts +1 -0
- package/dist/gravity-tag-pile.js +9 -0
- package/dist/growth-stream.d.ts +1 -0
- package/dist/growth-stream.js +10 -0
- package/dist/highlight-text.d.ts +1 -0
- package/dist/highlight-text.js +8 -0
- package/dist/hold-to-confirm.d.ts +1 -0
- package/dist/hold-to-confirm.js +8 -0
- package/dist/icons/activity.d.ts +15 -0
- package/dist/icons/archive.d.ts +15 -0
- package/dist/icons/arrow-down-right.d.ts +15 -0
- package/dist/icons/arrow-down.d.ts +15 -0
- package/dist/icons/arrow-right.d.ts +15 -0
- package/dist/icons/arrow-up-right.d.ts +15 -0
- package/dist/icons/arrow-up.d.ts +15 -0
- package/dist/icons/at-sign.d.ts +15 -0
- package/dist/icons/attach-file.d.ts +15 -0
- package/dist/icons/badge-alert.d.ts +15 -0
- package/dist/icons/bell.d.ts +15 -0
- package/dist/icons/bold.d.ts +15 -0
- package/dist/icons/bookmark.d.ts +15 -0
- package/dist/icons/bot.d.ts +15 -0
- package/dist/icons/calendar-check-2.d.ts +15 -0
- package/dist/icons/calendar-check.d.ts +15 -0
- package/dist/icons/calendar-days.d.ts +15 -0
- package/dist/icons/chart-line.d.ts +15 -0
- package/dist/icons/chart-pie.d.ts +15 -0
- package/dist/icons/check.d.ts +15 -0
- package/dist/icons/chevron-down.d.ts +15 -0
- package/dist/icons/chevron-left.d.ts +15 -0
- package/dist/icons/chevron-right.d.ts +15 -0
- package/dist/icons/circle-check.d.ts +15 -0
- package/dist/icons/circle-dollar-sign.d.ts +15 -0
- package/dist/icons/clipboard-check.d.ts +15 -0
- package/dist/icons/clock.d.ts +15 -0
- package/dist/icons/cloud-upload.d.ts +15 -0
- package/dist/icons/compass.d.ts +15 -0
- package/dist/icons/contrast.d.ts +15 -0
- package/dist/icons/copy.d.ts +15 -0
- package/dist/icons/credit-card.d.ts +15 -0
- package/dist/icons/delete.d.ts +15 -0
- package/dist/icons/download.d.ts +15 -0
- package/dist/icons/dribbble.d.ts +15 -0
- package/dist/icons/earth.d.ts +15 -0
- package/dist/icons/eye-off.d.ts +15 -0
- package/dist/icons/eye.d.ts +15 -0
- package/dist/icons/feather.d.ts +15 -0
- package/dist/icons/figma.d.ts +15 -0
- package/dist/icons/file-text.d.ts +16 -0
- package/dist/icons/flame.d.ts +15 -0
- package/dist/icons/folder-input.d.ts +15 -0
- package/dist/icons/folder-open.d.ts +15 -0
- package/dist/icons/folders.d.ts +15 -0
- package/dist/icons/github.d.ts +15 -0
- package/dist/icons/hand-coins.d.ts +15 -0
- package/dist/icons/heart.d.ts +15 -0
- package/dist/icons/history.d.ts +15 -0
- package/dist/icons/home.d.ts +15 -0
- package/dist/icons/hourglass.d.ts +15 -0
- package/dist/icons/instagram.d.ts +15 -0
- package/dist/icons/italic.d.ts +15 -0
- package/dist/icons/layout-grid.d.ts +15 -0
- package/dist/icons/link.d.ts +15 -0
- package/dist/icons/linkedin.d.ts +15 -0
- package/dist/icons/loader-circle.d.ts +15 -0
- package/dist/icons/lock-keyhole-open.d.ts +15 -0
- package/dist/icons/lock-keyhole.d.ts +15 -0
- package/dist/icons/lock.d.ts +15 -0
- package/dist/icons/logout.d.ts +15 -0
- package/dist/icons/mail-check.d.ts +15 -0
- package/dist/icons/map-pin.d.ts +15 -0
- package/dist/icons/message-circle.d.ts +15 -0
- package/dist/icons/mic.d.ts +15 -0
- package/dist/icons/monitor-check.d.ts +15 -0
- package/dist/icons/moon.d.ts +15 -0
- package/dist/icons/palette.d.ts +15 -0
- package/dist/icons/panel-left-close.d.ts +15 -0
- package/dist/icons/panel-left-open.d.ts +15 -0
- package/dist/icons/plug-zap.d.ts +15 -0
- package/dist/icons/plus.d.ts +15 -0
- package/dist/icons/radio.d.ts +15 -0
- package/dist/icons/receipt.d.ts +15 -0
- package/dist/icons/refresh-cw.d.ts +15 -0
- package/dist/icons/rotate-ccw.d.ts +15 -0
- package/dist/icons/search.d.ts +15 -0
- package/dist/icons/send.d.ts +15 -0
- package/dist/icons/settings.d.ts +15 -0
- package/dist/icons/shield-check.d.ts +15 -0
- package/dist/icons/smartphone-nfc.d.ts +15 -0
- package/dist/icons/smile.d.ts +15 -0
- package/dist/icons/sparkles.d.ts +15 -0
- package/dist/icons/square-pen.d.ts +15 -0
- package/dist/icons/sun.d.ts +15 -0
- package/dist/icons/terminal.d.ts +15 -0
- package/dist/icons/timer.d.ts +15 -0
- package/dist/icons/trending-up.d.ts +15 -0
- package/dist/icons/twitter.d.ts +15 -0
- package/dist/icons/underline.d.ts +15 -0
- package/dist/icons/undo.d.ts +15 -0
- package/dist/icons/user-check.d.ts +15 -0
- package/dist/icons/user-plus.d.ts +15 -0
- package/dist/icons/user-round-plus.d.ts +15 -0
- package/dist/icons/user.d.ts +15 -0
- package/dist/icons/users.d.ts +15 -0
- package/dist/icons/wifi.d.ts +15 -0
- package/dist/icons/workflow.d.ts +15 -0
- package/dist/icons/x.d.ts +15 -0
- package/dist/icons/zap.d.ts +15 -0
- package/dist/index.d.ts +100 -0
- package/dist/index.js +472 -0
- package/dist/infinite-gallery.d.ts +1 -0
- package/dist/infinite-gallery.js +9 -0
- package/dist/integration-hub.d.ts +1 -0
- package/dist/integration-hub.js +8 -0
- package/dist/lib/cn.d.ts +3 -0
- package/dist/liquid-card.d.ts +1 -0
- package/dist/liquid-card.js +10 -0
- package/dist/liquid-metal-card.d.ts +1 -0
- package/dist/liquid-metal-card.js +8 -0
- package/dist/liquid-tabs.d.ts +1 -0
- package/dist/liquid-tabs.js +14 -0
- package/dist/magnetic-button.d.ts +1 -0
- package/dist/magnetic-button.js +8 -0
- package/dist/magnetic-flow.d.ts +1 -0
- package/dist/magnetic-flow.js +8 -0
- package/dist/message-composer.d.ts +1 -0
- package/dist/message-composer.js +20 -0
- package/dist/metal-card-stack.d.ts +1 -0
- package/dist/metal-card-stack.js +8 -0
- package/dist/metric-split.d.ts +1 -0
- package/dist/metric-split.js +9 -0
- package/dist/mix-chart.d.ts +1 -0
- package/dist/mix-chart.js +9 -0
- package/dist/month-calendar.d.ts +1 -0
- package/dist/month-calendar.js +10 -0
- package/dist/morph-search.d.ts +1 -0
- package/dist/morph-search.js +10 -0
- package/dist/orbit-card.d.ts +1 -0
- package/dist/orbit-card.js +8 -0
- package/dist/otp-code.d.ts +1 -0
- package/dist/otp-code.js +17 -0
- package/dist/particle-card.d.ts +1 -0
- package/dist/particle-card.js +8 -0
- package/dist/payment-form.d.ts +1 -0
- package/dist/payment-form.js +8 -0
- package/dist/pill-tabs.d.ts +1 -0
- package/dist/pill-tabs.js +9 -0
- package/dist/pixel-blast.d.ts +1 -0
- package/dist/pixel-blast.js +8 -0
- package/dist/pixel-feature-card.d.ts +1 -0
- package/dist/pixel-feature-card.js +9 -0
- package/dist/pixel-scroll.d.ts +1 -0
- package/dist/pixel-scroll.js +8 -0
- package/dist/pricing-card.d.ts +1 -0
- package/dist/pricing-card.js +14 -0
- package/dist/prism-carousel.d.ts +1 -0
- package/dist/prism-carousel.js +8 -0
- package/dist/prism-flow.d.ts +1 -0
- package/dist/prism-flow.js +8 -0
- package/dist/privacy-banner.d.ts +1 -0
- package/dist/privacy-banner.js +8 -0
- package/dist/profile-card.d.ts +1 -0
- package/dist/profile-card.js +14 -0
- package/dist/profile-menu.d.ts +1 -0
- package/dist/profile-menu.js +21 -0
- package/dist/project-index.d.ts +1 -0
- package/dist/project-index.js +9 -0
- package/dist/prompt-input.d.ts +1 -0
- package/dist/prompt-input.js +14 -0
- package/dist/quota-gauge.d.ts +1 -0
- package/dist/quota-gauge.js +9 -0
- package/dist/range-chart.d.ts +1 -0
- package/dist/range-chart.js +8 -0
- package/dist/reaction-card.d.ts +1 -0
- package/dist/reaction-card.js +8 -0
- package/dist/recap-card.d.ts +1 -0
- package/dist/recap-card.js +15 -0
- package/dist/receipt-button.d.ts +1 -0
- package/dist/receipt-button.js +8 -0
- package/dist/ribbon-gallery.d.ts +1 -0
- package/dist/ribbon-gallery.js +8 -0
- package/dist/roadmap-card.d.ts +1 -0
- package/dist/roadmap-card.js +11 -0
- package/dist/rolling-card-stack.d.ts +1 -0
- package/dist/rolling-card-stack.js +8 -0
- package/dist/rolling-stepper.d.ts +1 -0
- package/dist/rolling-stepper.js +8 -0
- package/dist/rotating-text.d.ts +1 -0
- package/dist/rotating-text.js +9 -0
- package/dist/score-card.d.ts +1 -0
- package/dist/score-card.js +10 -0
- package/dist/search-modal.d.ts +1 -0
- package/dist/search-modal.js +16 -0
- package/dist/shimmer-text.d.ts +1 -0
- package/dist/shimmer-text.js +8 -0
- package/dist/sidebar-nav.d.ts +1 -0
- package/dist/sidebar-nav.js +19 -0
- package/dist/slide-commit.d.ts +1 -0
- package/dist/slide-commit.js +9 -0
- package/dist/spatial-gallery.d.ts +1 -0
- package/dist/spatial-gallery.js +8 -0
- package/dist/spending-meter.d.ts +1 -0
- package/dist/spending-meter.js +9 -0
- package/dist/tab-bar.d.ts +1 -0
- package/dist/tab-bar.js +18 -0
- package/dist/team-member-card.d.ts +1 -0
- package/dist/team-member-card.js +14 -0
- package/dist/team-morph.d.ts +1 -0
- package/dist/team-morph.js +11 -0
- package/dist/tilt-card.d.ts +1 -0
- package/dist/tilt-card.js +8 -0
- package/dist/tilt-carousel.d.ts +1 -0
- package/dist/tilt-carousel.js +8 -0
- package/dist/toast-stack.d.ts +1 -0
- package/dist/toast-stack.js +13 -0
- package/dist/usage-ring.d.ts +1 -0
- package/dist/usage-ring.js +9 -0
- package/dist/verify-flow.d.ts +1 -0
- package/dist/verify-flow.js +10 -0
- package/dist/voice-prompt.d.ts +1 -0
- package/dist/voice-prompt.js +14 -0
- package/dist/wallet-card.d.ts +1 -0
- package/dist/wallet-card.js +15 -0
- package/dist/wave-text.d.ts +1 -0
- package/dist/wave-text.js +8 -0
- package/package.json +111 -4
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LiquidTabs
|
|
3
|
+
*
|
|
4
|
+
* Trigger: press (plus hover, keys and in view). Icon tabs over a white
|
|
5
|
+
* panel. The chosen tab is a white bump that grows out of the panel's top
|
|
6
|
+
* edge, joined to it by soft inward curves, so the tab and the panel read as
|
|
7
|
+
* one piece. Choose another tab and the bump flows there like liquid: its
|
|
8
|
+
* leading edge shoots ahead on a quick spring while the trailing edge follows
|
|
9
|
+
* on a slower one, so the shape stretches into a long blob, its top sags and
|
|
10
|
+
* its curves widen, then it snaps back into a round tab under the new icon.
|
|
11
|
+
* The icon on the bump plays. The content slides in from the side you moved
|
|
12
|
+
* toward through a blur while the panel eases to the new height. The demo is
|
|
13
|
+
* a profile settings screen: a profile with a status picker, notification
|
|
14
|
+
* switches, security with your signed in devices, and usage with a rolling
|
|
15
|
+
* number and growing bars. The arrow keys, Home and End move
|
|
16
|
+
* between tabs. Reduced motion jumps the bump and swaps content without
|
|
17
|
+
* movement.
|
|
18
|
+
*
|
|
19
|
+
* Engine: motion/react (two springs for the bump's edges feeding one SVG
|
|
20
|
+
* path, AnimatePresence for the content, a measured height tween) with
|
|
21
|
+
* animated icons from lucide-animated (MIT), vendored in src/icons.
|
|
22
|
+
*/
|
|
23
|
+
import * as React from "react";
|
|
24
|
+
export interface LiquidTab {
|
|
25
|
+
id: string;
|
|
26
|
+
/** Read by screen readers and shown in the tooltip. */
|
|
27
|
+
label: string;
|
|
28
|
+
/** An icon component; animated icons play while their tab is chosen. */
|
|
29
|
+
icon: React.ComponentType<{
|
|
30
|
+
active?: boolean;
|
|
31
|
+
className?: string;
|
|
32
|
+
}>;
|
|
33
|
+
content: React.ReactNode;
|
|
34
|
+
}
|
|
35
|
+
export interface LiquidTabsProps {
|
|
36
|
+
/** Tabs, left to right. Defaults to four demo tabs. */
|
|
37
|
+
tabs?: LiquidTab[];
|
|
38
|
+
/** Tab chosen first, by id. */
|
|
39
|
+
defaultValue?: string;
|
|
40
|
+
/** Chosen tab (controlled). */
|
|
41
|
+
value?: string;
|
|
42
|
+
onValueChange?: (id: string) => void;
|
|
43
|
+
/** How far the liquid stretches between tabs: 0 is firm, 1 is very stretchy. Default `0.6`. */
|
|
44
|
+
stretch?: number;
|
|
45
|
+
className?: string;
|
|
46
|
+
}
|
|
47
|
+
export declare const LiquidTabs: React.ForwardRefExoticComponent<LiquidTabsProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { MagneticButton, type MagneticButtonProps } from "./magnetic-button";
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MagneticButton
|
|
3
|
+
*
|
|
4
|
+
* Trigger: magnetic cursor. While a mouse hovers the button, the button leans
|
|
5
|
+
* toward the cursor on a spring and its label leans a little further, giving a
|
|
6
|
+
* parallax pull. A soft spotlight follows the cursor across the surface.
|
|
7
|
+
* Press gives a quick squash (scale 0.96). Touch and reduced-motion users get a
|
|
8
|
+
* still button with press feedback only.
|
|
9
|
+
*
|
|
10
|
+
* Engine: motion/react (springs + motion values, no re-renders on move).
|
|
11
|
+
*/
|
|
12
|
+
import * as React from "react";
|
|
13
|
+
import { type HTMLMotionProps, type SpringOptions } from "motion/react";
|
|
14
|
+
declare const VARIANTS: {
|
|
15
|
+
readonly solid: "bg-zinc-900 text-white shadow-[0_1px_0_0_rgba(255,255,255,0.12)_inset,0_8px_24px_-8px_rgba(0,0,0,0.5)] dark:bg-white dark:text-zinc-900";
|
|
16
|
+
readonly outline: "border border-zinc-300 bg-white/60 text-zinc-900 backdrop-blur dark:border-zinc-700 dark:bg-zinc-900/60 dark:text-zinc-100";
|
|
17
|
+
readonly ghost: "bg-transparent text-zinc-900 hover:bg-zinc-900/5 dark:text-zinc-100 dark:hover:bg-white/10";
|
|
18
|
+
};
|
|
19
|
+
declare const SIZES: {
|
|
20
|
+
readonly sm: "h-9 px-4 text-sm";
|
|
21
|
+
readonly md: "h-11 px-6 text-sm";
|
|
22
|
+
readonly lg: "h-14 px-8 text-base";
|
|
23
|
+
};
|
|
24
|
+
export interface MagneticButtonProps extends Omit<HTMLMotionProps<"button">, "children"> {
|
|
25
|
+
children?: React.ReactNode;
|
|
26
|
+
/** Visual style. Default `"solid"`. */
|
|
27
|
+
variant?: keyof typeof VARIANTS;
|
|
28
|
+
/** Height and padding preset. Default `"md"`. */
|
|
29
|
+
size?: keyof typeof SIZES;
|
|
30
|
+
/** How far the button follows the cursor, as a fraction of the cursor's offset from center. Default `0.3`. */
|
|
31
|
+
strength?: number;
|
|
32
|
+
/** Extra pull on the label, on top of the button's own movement. Default `0.15`. */
|
|
33
|
+
labelStrength?: number;
|
|
34
|
+
/** Spring used for the pull and the snap back. Default `{ stiffness: 400, damping: 25, mass: 0.6 }`. */
|
|
35
|
+
spring?: SpringOptions;
|
|
36
|
+
/** Show the cursor spotlight on the surface. Default `true`. */
|
|
37
|
+
spotlight?: boolean;
|
|
38
|
+
/** Render as a link to this address instead of a button. */
|
|
39
|
+
href?: string;
|
|
40
|
+
/** With `href`, where the link opens, like `"_blank"`. */
|
|
41
|
+
target?: string;
|
|
42
|
+
/** With `href`. Defaults to `"noopener noreferrer"` for a new tab. */
|
|
43
|
+
rel?: string;
|
|
44
|
+
}
|
|
45
|
+
export declare const MagneticButton: React.ForwardRefExoticComponent<Omit<MagneticButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
46
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { MagneticFlow, type MagneticFlowProps } from "./magnetic-flow";
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MagneticFlow
|
|
3
|
+
*
|
|
4
|
+
* Trigger: hover, then press. A stack of cards travels as a chain: the front
|
|
5
|
+
* card follows the pointer and every card behind it chases the one ahead, so
|
|
6
|
+
* the stack slithers like a snake and tilts with its speed. With no pointer the
|
|
7
|
+
* stack floats gently at the center. Click (or Enter / Space) and the cards burst
|
|
8
|
+
* open around the center like rays of a sun; click again, or wait, and they
|
|
9
|
+
* fold back into the stack and flow on. Reduced motion keeps a still stack and
|
|
10
|
+
* a plain burst.
|
|
11
|
+
*
|
|
12
|
+
* Engine: gsap + @gsap/react (a gsap.ticker loop with quickSetter for the chase,
|
|
13
|
+
* staggered elastic tweens for the burst, all scoped with useGSAP).
|
|
14
|
+
*/
|
|
15
|
+
import * as React from "react";
|
|
16
|
+
export interface MagneticFlowProps {
|
|
17
|
+
/** Card faces, back to front. The last one leads. Default eight graphic cards. */
|
|
18
|
+
cards?: React.ReactNode[];
|
|
19
|
+
/** Card edge length in px. Default `140`. */
|
|
20
|
+
cardSize?: number;
|
|
21
|
+
/** How tightly each card chases the one ahead, 0 to 1. Higher is snappier. Default `0.16`. */
|
|
22
|
+
follow?: number;
|
|
23
|
+
/** Stack offset between cards at rest, in px. Default `7`. */
|
|
24
|
+
spacing?: number;
|
|
25
|
+
/** Distance of the burst rays from the center, in px. Shrinks to fit. Default `150`. */
|
|
26
|
+
burstRadius?: number;
|
|
27
|
+
/** Fold back this many ms after a burst. `null` waits for a click. Default `2400`. */
|
|
28
|
+
burstHold?: number | null;
|
|
29
|
+
/** Float gently around the center when no pointer is over it. Default `true`. */
|
|
30
|
+
autoplay?: boolean;
|
|
31
|
+
/** Called when the cards burst open. */
|
|
32
|
+
onBurst?: () => void;
|
|
33
|
+
className?: string;
|
|
34
|
+
}
|
|
35
|
+
export declare const MagneticFlow: React.ForwardRefExoticComponent<MagneticFlowProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { MessageComposer, type MessageComposerProps, type ComposerMessage, type ComposerAttachment, type ComposerAttachmentKind, type ComposerPerson, type SendMode, } from "./message-composer";
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MessageComposer
|
|
3
|
+
*
|
|
4
|
+
* Trigger: type (plus press). A white rich text composer for a chat or a
|
|
5
|
+
* comment thread. A toolbar sits on top: a text style menu that pours open
|
|
6
|
+
* with its rows sliding in one after another and a pill gliding under the
|
|
7
|
+
* pointer, bold, italic and underline, bullet and numbered lists, a quote and
|
|
8
|
+
* a code block, each lighting up while the caret is inside that style, and a
|
|
9
|
+
* red bin that clears the message through a blur. The writing area grows with
|
|
10
|
+
* a spring as you write. Typing @ opens a list of people that inserts a
|
|
11
|
+
* mention chip, and an emoji button opens a small picker. Attachments sit in
|
|
12
|
+
* a row of thumbnails, each with an upload ring that turns into a check. The
|
|
13
|
+
* bottom bar holds attach, voice (a live timer with sound bars), video, an AI
|
|
14
|
+
* polish that sweeps a shimmer over the text and rewrites it, a button that
|
|
15
|
+
* hides the toolbar, and a split send button: the plane flies off as the
|
|
16
|
+
* message clears, and the chevron opens send now, schedule and send quietly.
|
|
17
|
+
* Reduced motion keeps every state but drops the movement.
|
|
18
|
+
*
|
|
19
|
+
* Engine: motion/react (a spring height glide for the writing area, clip
|
|
20
|
+
* path menus with staggered rows, layoutId highlights, spring chips, and a
|
|
21
|
+
* blur clear), on top of a contentEditable editor driven by execCommand.
|
|
22
|
+
*/
|
|
23
|
+
import * as React from "react";
|
|
24
|
+
export interface ComposerPerson {
|
|
25
|
+
/** Used in the text as @id. */
|
|
26
|
+
id: string;
|
|
27
|
+
name: string;
|
|
28
|
+
/** A short line next to the name, like a role. */
|
|
29
|
+
title?: string;
|
|
30
|
+
avatar?: string;
|
|
31
|
+
}
|
|
32
|
+
export type ComposerAttachmentKind = "image" | "video" | "voice" | "file";
|
|
33
|
+
export interface ComposerAttachment {
|
|
34
|
+
id: string;
|
|
35
|
+
name: string;
|
|
36
|
+
kind: ComposerAttachmentKind;
|
|
37
|
+
/** A preview image for images and videos. */
|
|
38
|
+
src?: string;
|
|
39
|
+
/** Shown on videos and voice notes, like 0:12. */
|
|
40
|
+
duration?: string;
|
|
41
|
+
/** The picked file, when it came from the attach button. */
|
|
42
|
+
file?: File;
|
|
43
|
+
}
|
|
44
|
+
export type SendMode = "now" | "schedule" | "silent";
|
|
45
|
+
export interface ComposerMessage {
|
|
46
|
+
/** The message as HTML, with mentions as `<span data-mention="id">`. */
|
|
47
|
+
html: string;
|
|
48
|
+
/** The message as plain text, with mentions as `@id`. */
|
|
49
|
+
text: string;
|
|
50
|
+
mentions: string[];
|
|
51
|
+
attachments: ComposerAttachment[];
|
|
52
|
+
mode: SendMode;
|
|
53
|
+
/** When a scheduled message should go out. */
|
|
54
|
+
sendAt?: Date;
|
|
55
|
+
}
|
|
56
|
+
export interface MessageComposerProps {
|
|
57
|
+
/** Starting text. Lines become paragraphs and `@id` of a known person becomes a chip. */
|
|
58
|
+
defaultValue?: string;
|
|
59
|
+
placeholder?: string;
|
|
60
|
+
/** People offered after typing @. */
|
|
61
|
+
people?: ComposerPerson[];
|
|
62
|
+
/** Attachments already in the message; they upload when the composer comes into view. */
|
|
63
|
+
defaultAttachments?: ComposerAttachment[];
|
|
64
|
+
/** Show the formatting toolbar at first. Default `true`. */
|
|
65
|
+
toolbar?: boolean;
|
|
66
|
+
/** The writing area grows up to this height in px, then scrolls. Default `240`. */
|
|
67
|
+
maxHeight?: number;
|
|
68
|
+
/** Called on send. Return a promise to hold the sending state until it settles. */
|
|
69
|
+
onSend?: (message: ComposerMessage) => void | Promise<unknown>;
|
|
70
|
+
/** Uploads a picked file, reporting progress from 0 to 1. Default pretends to upload. */
|
|
71
|
+
onUpload?: (file: File, progress: (value: number) => void) => Promise<void>;
|
|
72
|
+
/** The AI button: gets the text, returns a better one. Default tidies it, or drafts one when empty. */
|
|
73
|
+
onEnhance?: (text: string) => string | Promise<string>;
|
|
74
|
+
/** The video button. Default adds a sample clip. */
|
|
75
|
+
onVideo?: () => void;
|
|
76
|
+
onChange?: (text: string) => void;
|
|
77
|
+
className?: string;
|
|
78
|
+
}
|
|
79
|
+
export declare const MessageComposer: React.ForwardRefExoticComponent<MessageComposerProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { MetalCardStack, type MetalCardStackProps, type MetalCard, } from "./metal-card-stack";
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MetalCardStack
|
|
3
|
+
*
|
|
4
|
+
* Trigger: drag (plus hover and keys). A stack of metal payment cards that
|
|
5
|
+
* feel like the real thing: brushed metal with a fine grain, bevelled edges
|
|
6
|
+
* that catch the light, a visible card edge underneath, an embossed number
|
|
7
|
+
* and a light sheen that slides across the surface as the front card tilts
|
|
8
|
+
* toward the pointer. Grab the front card and it follows your hand, leaning
|
|
9
|
+
* into the drag. Throw it any way, left, right, up or down, and it flies off
|
|
10
|
+
* that way and tucks in at the back of the stack. Click the front card (or press Enter) and
|
|
11
|
+
* it turns over in 3D to show its back: the magnetic stripe, the signature
|
|
12
|
+
* panel with the security code and the small print; click again to turn it
|
|
13
|
+
* back. A short drag springs back. The rest of the
|
|
14
|
+
* stack slides up or down a step each time, smaller and dimmer the deeper it
|
|
15
|
+
* sits. The arrow keys do the same. Reduced motion swaps the throws for quick
|
|
16
|
+
* fades.
|
|
17
|
+
*
|
|
18
|
+
* Engine: gsap + @gsap/react (quickTo for the drag and tilt, timelines for the
|
|
19
|
+
* throw, scoped with useGSAP).
|
|
20
|
+
*/
|
|
21
|
+
import * as React from "react";
|
|
22
|
+
export interface MetalCard {
|
|
23
|
+
/** Name on the card. */
|
|
24
|
+
holder: string;
|
|
25
|
+
/** The full card number, digits only. Grouped the way its network prints it. */
|
|
26
|
+
number: string;
|
|
27
|
+
/** The card network, shown as its mark in the corner. */
|
|
28
|
+
network: "visa" | "mastercard" | "amex" | "discover";
|
|
29
|
+
/** The issuer's name, top left. */
|
|
30
|
+
bank?: string;
|
|
31
|
+
/** Security code shown on the back. Default `"123"`. */
|
|
32
|
+
cvv?: string;
|
|
33
|
+
/** Expiry, MM/YY. */
|
|
34
|
+
expiry: string;
|
|
35
|
+
/** The metal. */
|
|
36
|
+
finish: "graphite" | "gold" | "titanium" | "obsidian";
|
|
37
|
+
/** Small label in the corner, like the plan name. */
|
|
38
|
+
tier?: string;
|
|
39
|
+
}
|
|
40
|
+
export interface MetalCardStackProps {
|
|
41
|
+
/** Cards in the stack, front first. Default four. */
|
|
42
|
+
cards?: MetalCard[];
|
|
43
|
+
/** Card width in px. Height follows the real card ratio. Default `320`. */
|
|
44
|
+
width?: number;
|
|
45
|
+
/** Called with the card now at the front. */
|
|
46
|
+
onChange?: (card: MetalCard, index: number) => void;
|
|
47
|
+
className?: string;
|
|
48
|
+
}
|
|
49
|
+
export declare const MetalCardStack: React.ForwardRefExoticComponent<MetalCardStackProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { MetricSplit, type MetricSplitProps, type MetricSplitPeriod } from "./metric-split";
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MetricSplit
|
|
3
|
+
*
|
|
4
|
+
* Trigger: in view, then hover and press. A card that splits a total across
|
|
5
|
+
* three metrics: one rounded bar of proportional segments (solid, light,
|
|
6
|
+
* striped) with each metric's dot, label and odometer number under its segment.
|
|
7
|
+
* When it scrolls into view the segments slide in one after another while the
|
|
8
|
+
* numbers count up from zero. Switching period rolls the numbers to the new values while the
|
|
9
|
+
* columns glide to their new widths. Hovering or focusing a column dims the
|
|
10
|
+
* others and swaps its label for its share. Reduced motion shows final states.
|
|
11
|
+
*
|
|
12
|
+
* Engine: motion/react (motion values for counts and widths, odometer wheels,
|
|
13
|
+
* a layoutId pill for the period switch, AnimatePresence for the labels).
|
|
14
|
+
*/
|
|
15
|
+
import * as React from "react";
|
|
16
|
+
export interface MetricSplitPeriod {
|
|
17
|
+
/** Label on the period switch, e.g. "Week". */
|
|
18
|
+
label: string;
|
|
19
|
+
/** One value per metric, in the same order as `metrics`. */
|
|
20
|
+
values: number[];
|
|
21
|
+
}
|
|
22
|
+
export interface MetricSplitProps {
|
|
23
|
+
/** Metric names, left to right. Default visits, page views, downloads. */
|
|
24
|
+
metrics?: string[];
|
|
25
|
+
/** Periods on the switch, each with a value per metric. Default week, month, year. */
|
|
26
|
+
periods?: MetricSplitPeriod[];
|
|
27
|
+
/** Period shown first, by label. Default the first one. */
|
|
28
|
+
defaultPeriod?: string;
|
|
29
|
+
/** Base color: solid for the first column, lighter for the second, striped for the third. Default `"#8b5cf6"`. */
|
|
30
|
+
color?: string;
|
|
31
|
+
/** Card title. Default `"Site activity"`. */
|
|
32
|
+
title?: React.ReactNode;
|
|
33
|
+
/** Line under the title. Default `"How people find and use your page"`. */
|
|
34
|
+
subtitle?: React.ReactNode;
|
|
35
|
+
/** Length of the count-up and width glide, in seconds. Default `1.4`. */
|
|
36
|
+
duration?: number;
|
|
37
|
+
/** Locale for number formatting. Default `"en-US"`. */
|
|
38
|
+
locale?: string;
|
|
39
|
+
/** Accessible label for the round header button. Default `"View report"`. */
|
|
40
|
+
actionLabel?: React.ReactNode;
|
|
41
|
+
/** Called when the header button is pressed. Leave out to hide it. */
|
|
42
|
+
onAction?: () => void;
|
|
43
|
+
className?: string;
|
|
44
|
+
}
|
|
45
|
+
export declare const MetricSplit: React.ForwardRefExoticComponent<MetricSplitProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { MixChart, type MixChartProps, type MixSeries, type MixPoint, type MixRange, } from "./mix-chart";
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MixChart
|
|
3
|
+
*
|
|
4
|
+
* Trigger: in view, then hover, press and keys. A white chart card of stacked
|
|
5
|
+
* bars, each bar split into a few vivid segments with small gaps between them.
|
|
6
|
+
* When it scrolls into view the gridlines draw in and the bars grow from the
|
|
7
|
+
* baseline one after another, each segment stacking on the one below, while
|
|
8
|
+
* the total counts up. One bar is chosen and shows its full colours; the rest
|
|
9
|
+
* sit in soft hatched tints of theirs. Hover, tap or arrow to another bar and
|
|
10
|
+
* the colours move there; point at one of its segments and only that segment
|
|
11
|
+
* keeps its full colour while a small white card just above it names that
|
|
12
|
+
* source and its value, one source at a time. Click a source in the legend to switch it off or on: its segments
|
|
13
|
+
* shrink away or grow back, the scale eases to fit and the total recounts.
|
|
14
|
+
* Switch the range and new bars grow in as the total counts to the new figure.
|
|
15
|
+
* Reduced motion shows every state at once.
|
|
16
|
+
*
|
|
17
|
+
* Engine: motion/react (spring heights for the segments, a motion value
|
|
18
|
+
* counting the total, layoutId for the range pill, AnimatePresence for the
|
|
19
|
+
* bars and the tooltip card).
|
|
20
|
+
*/
|
|
21
|
+
import * as React from "react";
|
|
22
|
+
export interface MixSeries {
|
|
23
|
+
key: string;
|
|
24
|
+
label: string;
|
|
25
|
+
/** A vivid colour for this source. */
|
|
26
|
+
color: string;
|
|
27
|
+
}
|
|
28
|
+
export interface MixPoint {
|
|
29
|
+
/** Short label under the bar, as in `"Mon"`. */
|
|
30
|
+
label: string;
|
|
31
|
+
/** Longer label in the tooltip, as in `"Monday 10 Nov"`. */
|
|
32
|
+
detail?: string;
|
|
33
|
+
/** One value per series, in series order. */
|
|
34
|
+
values: number[];
|
|
35
|
+
}
|
|
36
|
+
export interface MixRange {
|
|
37
|
+
id: string;
|
|
38
|
+
/** Label on the range switch, as in `"Week"`. */
|
|
39
|
+
label: string;
|
|
40
|
+
points: MixPoint[];
|
|
41
|
+
/** Change against the period before, in percent, shown as a chip. */
|
|
42
|
+
change?: number;
|
|
43
|
+
/** Shown under the total, as in `"used this week"`. */
|
|
44
|
+
caption?: string;
|
|
45
|
+
}
|
|
46
|
+
export interface MixChartProps {
|
|
47
|
+
/** Card title. Default `"Home energy"`. */
|
|
48
|
+
title?: string;
|
|
49
|
+
/** The sources, bottom of the stack first. Default solar, battery and grid. */
|
|
50
|
+
series?: MixSeries[];
|
|
51
|
+
/** The ranges on the switch, the first shown first. Default a week, a month and a year. */
|
|
52
|
+
ranges?: MixRange[];
|
|
53
|
+
/** Unit after the numbers. Default `"kWh"`. */
|
|
54
|
+
unit?: string;
|
|
55
|
+
/** Decimal places on the total and the tooltip. Default `1`. */
|
|
56
|
+
decimals?: number;
|
|
57
|
+
className?: string;
|
|
58
|
+
}
|
|
59
|
+
export declare const MixChart: React.ForwardRefExoticComponent<MixChartProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { MonthCalendar, type MonthCalendarProps } from "./month-calendar";
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MonthCalendar
|
|
3
|
+
*
|
|
4
|
+
* Trigger: hover and press. A white month calendar. A soft gray disc follows
|
|
5
|
+
* the pointer from day to day, and picking a day springs an ink disc to it.
|
|
6
|
+
* The arrows slide the month sideways in the direction you travel, with the
|
|
7
|
+
* month name rolling the same way and a touch of blur on the move; the arrow
|
|
8
|
+
* nudges toward its side on hover. Days with events carry a small dot, today
|
|
9
|
+
* wears a thin ring, and days from the months around it sit faded at the
|
|
10
|
+
* edges; picking one of those turns to its month. The grid works like a
|
|
11
|
+
* calendar with the keyboard: arrows move by day and week, Page Up and Page
|
|
12
|
+
* Down by month, Home and End to the ends of the week. Reduced motion swaps
|
|
13
|
+
* the slides for fades.
|
|
14
|
+
*
|
|
15
|
+
* Engine: motion/react (layoutId discs for hover and selection, direction
|
|
16
|
+
* aware AnimatePresence for the month change).
|
|
17
|
+
*/
|
|
18
|
+
import * as React from "react";
|
|
19
|
+
export interface MonthCalendarProps {
|
|
20
|
+
/** The selected day. Leave it out to let the calendar keep its own. */
|
|
21
|
+
value?: Date;
|
|
22
|
+
/** The day selected at first. Default today. */
|
|
23
|
+
defaultValue?: Date;
|
|
24
|
+
/** Called with the picked day. */
|
|
25
|
+
onChange?: (date: Date) => void;
|
|
26
|
+
/** Days that get an event dot. Default a few days this month. */
|
|
27
|
+
events?: Date[];
|
|
28
|
+
/** First day of the week, 0 for Sunday or 1 for Monday. Default `1`. */
|
|
29
|
+
weekStartsOn?: 0 | 1;
|
|
30
|
+
/** Locale for month and weekday names. Default `"en-US"`. */
|
|
31
|
+
locale?: string;
|
|
32
|
+
className?: string;
|
|
33
|
+
}
|
|
34
|
+
export declare const MonthCalendar: React.ForwardRefExoticComponent<MonthCalendarProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { MorphSearch, type MorphSearchProps, type SearchItem } from "./morph-search";
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MorphSearch
|
|
3
|
+
*
|
|
4
|
+
* Trigger: focus, then type. A search pill that turns into a white card on
|
|
5
|
+
* focus. Each typed letter rises out of a light blur while the real input stays
|
|
6
|
+
* underneath, so the caret, selection and paste behave normally. Matches grow
|
|
7
|
+
* the card and cascade in, re-flowing smoothly as the list narrows, with the
|
|
8
|
+
* matched part of each name marked by a soft highlighter tint. No matches
|
|
9
|
+
* gives a small head-shake. Arrow keys move a sliding highlight, Enter picks, Escape
|
|
10
|
+
* clears then closes. Reduced motion drops the letter and list motion.
|
|
11
|
+
*
|
|
12
|
+
* Engine: motion/react (state-driven card morph, per-letter enter, layout list,
|
|
13
|
+
* layoutId highlight, AnimatePresence for the clear button and results).
|
|
14
|
+
*/
|
|
15
|
+
import * as React from "react";
|
|
16
|
+
export interface SearchItem {
|
|
17
|
+
/** Main line; matching runs against it. */
|
|
18
|
+
title: string;
|
|
19
|
+
/** Second line. */
|
|
20
|
+
subtitle?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface MorphSearchProps {
|
|
23
|
+
/** Items to search. Default a small address book. */
|
|
24
|
+
items?: SearchItem[];
|
|
25
|
+
/** Placeholder text. Default `"Search people"`. */
|
|
26
|
+
placeholder?: string;
|
|
27
|
+
/** Most results to show. Default `5`. */
|
|
28
|
+
limit?: number;
|
|
29
|
+
/** Called when a result is picked with a click or Enter. */
|
|
30
|
+
onSelect?: (item: SearchItem) => void;
|
|
31
|
+
className?: string;
|
|
32
|
+
}
|
|
33
|
+
export declare const MorphSearch: React.ForwardRefExoticComponent<MorphSearchProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { OrbitCard, type OrbitCardProps, type OrbitMember } from "./orbit-card";
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OrbitCard
|
|
3
|
+
*
|
|
4
|
+
* Trigger: drag (plus hover and in view). A feature card for a community,
|
|
5
|
+
* a network or a user count. Avatars and small app chips circle a center mark
|
|
6
|
+
* on three faint rings that turn at their own speeds, rising from the bottom
|
|
7
|
+
* of the card. Every few seconds someone joins: a spark leaves the center,
|
|
8
|
+
* lands on a member with a pop, a ripple spreads from the mark and the count
|
|
9
|
+
* in the title rolls up by one. Hover slows the rings and pulls nearby people
|
|
10
|
+
* gently toward the cursor; hovering a person stops them and shows who they
|
|
11
|
+
* are. Drag spins the whole system, and it keeps spinning with momentum when
|
|
12
|
+
* let go. The title, body and a gray ghost button rise out of a soft blur when
|
|
13
|
+
* the card scrolls into view. The rings are decorative; the text stays real
|
|
14
|
+
* content. Reduced motion shows a still system and a still count.
|
|
15
|
+
*
|
|
16
|
+
* Engine: motion/react for the reveal, rolling digits, ripples and pops, with
|
|
17
|
+
* one requestAnimationFrame loop placing the orbiting items.
|
|
18
|
+
*/
|
|
19
|
+
import * as React from "react";
|
|
20
|
+
export interface OrbitMember {
|
|
21
|
+
name: string;
|
|
22
|
+
/** Shown under the name on hover, like a role or a city. */
|
|
23
|
+
role: string;
|
|
24
|
+
/** Photo URL. Without one, initials on a colored disc. */
|
|
25
|
+
avatar?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface OrbitCardProps {
|
|
28
|
+
/** The number in the title. It rolls up by one each time someone joins. Default `24816`. */
|
|
29
|
+
count?: number;
|
|
30
|
+
/** Words after the number. Default `"creators"`. */
|
|
31
|
+
label?: string;
|
|
32
|
+
/** Line under the title. */
|
|
33
|
+
subtitle?: string;
|
|
34
|
+
/** Button label. Default `"Join the community"`. */
|
|
35
|
+
cta?: string;
|
|
36
|
+
/** Where the button goes. Without it the button calls `onCta`. */
|
|
37
|
+
href?: string;
|
|
38
|
+
/** People on the rings, up to six. Default six members. */
|
|
39
|
+
members?: OrbitMember[];
|
|
40
|
+
/** The mark in the center. Default a four-point star. */
|
|
41
|
+
logo?: React.ReactNode;
|
|
42
|
+
/** Ring speed multiplier. `0` holds the rings still. Default `1`. */
|
|
43
|
+
speed?: number;
|
|
44
|
+
/** Seconds between joins. `0` turns joining off. Default `2.6`. */
|
|
45
|
+
joinEvery?: number;
|
|
46
|
+
/** Called by the button when there is no `href`. */
|
|
47
|
+
onCta?: () => void;
|
|
48
|
+
className?: string;
|
|
49
|
+
}
|
|
50
|
+
export declare const OrbitCard: React.ForwardRefExoticComponent<OrbitCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { OtpCode, type OtpCodeProps, type OtpChannel } from "./otp-code";
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OtpCode
|
|
3
|
+
*
|
|
4
|
+
* Trigger: type (plus paste, focus and a timeline). A white card that asks
|
|
5
|
+
* for a one time code sent to an email address or a phone. It rises in out of
|
|
6
|
+
* a soft blur and its pieces follow one after another. The code boxes
|
|
7
|
+
* sit in two groups (3 and 3 for six digits) with a small gap between them.
|
|
8
|
+
* Each digit pops into its box, the box waiting for the next digit shows a
|
|
9
|
+
* blinking caret, and filled boxes turn white with a stroke. There is no
|
|
10
|
+
* confirm button: the last digit starts the check, the boxes ripple in a
|
|
11
|
+
* wave while a spinner says it is checking, and then either the boxes turn
|
|
12
|
+
* green for a beat and the card glides into a confirmation (a green badge
|
|
13
|
+
* whose shield draws a check while rings ripple out, You're verified, a panel
|
|
14
|
+
* with the verified address and a Remember this device switch, then
|
|
15
|
+
* Continue), or they shake red, a message slides in, and the digits drop away
|
|
16
|
+
* from the right so the next try can start. A resend line counts down and
|
|
17
|
+
* then turns into a button whose icon spins when pressed. It is one real
|
|
18
|
+
* input underneath, so paste, autofill of SMS codes, backspace and arrow
|
|
19
|
+
* keys all work. Reduced motion keeps every state without movement.
|
|
20
|
+
*
|
|
21
|
+
* Engine: motion/react (pops, waves, staggered colour changes, a keyframe
|
|
22
|
+
* shake and rolling text) with animated icons from lucide-animated (MIT),
|
|
23
|
+
* vendored in src/icons.
|
|
24
|
+
*/
|
|
25
|
+
import * as React from "react";
|
|
26
|
+
export type OtpChannel = "email" | "phone";
|
|
27
|
+
export interface OtpCodeProps {
|
|
28
|
+
/** Number of digits, 3 to 8. Default `6`. */
|
|
29
|
+
length?: number;
|
|
30
|
+
/** Where the code was sent. Default `"email"`. */
|
|
31
|
+
channel?: OtpChannel;
|
|
32
|
+
/** The email address or phone number the code went to. */
|
|
33
|
+
destination?: string;
|
|
34
|
+
/** Hide most of the destination, like jo•••@lumen.app. Default true. */
|
|
35
|
+
maskDestination?: boolean;
|
|
36
|
+
/** Split the boxes into two groups. Default true (3 and 3 for six digits). */
|
|
37
|
+
split?: boolean;
|
|
38
|
+
/** Show dots instead of the digits. Default false. */
|
|
39
|
+
mask?: boolean;
|
|
40
|
+
/** Seconds before the code can be sent again. Default `30`. */
|
|
41
|
+
resendAfter?: number;
|
|
42
|
+
/**
|
|
43
|
+
* Checks a complete code. Return true when it is right. Default: a short
|
|
44
|
+
* wait, then every code passes (a demo).
|
|
45
|
+
*/
|
|
46
|
+
verify?: (code: string) => boolean | Promise<boolean>;
|
|
47
|
+
/** Called once a code passes. */
|
|
48
|
+
onVerified?: (code: string) => void;
|
|
49
|
+
/** Called when the person asks for a new code. */
|
|
50
|
+
onResend?: () => void | Promise<void>;
|
|
51
|
+
/** Called by the confirmation's main button. */
|
|
52
|
+
onContinue?: () => void;
|
|
53
|
+
/** Label of the confirmation's main button. Default `"Continue"`. */
|
|
54
|
+
continueLabel?: string;
|
|
55
|
+
/** Called when the confirmation's Remember this device switch changes. */
|
|
56
|
+
onRememberDevice?: (remember: boolean) => void;
|
|
57
|
+
/** Focus the boxes when the card scrolls into view. Default false; turn it on for a page that is only this step. */
|
|
58
|
+
autoFocus?: boolean;
|
|
59
|
+
className?: string;
|
|
60
|
+
}
|
|
61
|
+
export declare const OtpCode: React.ForwardRefExoticComponent<OtpCodeProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ParticleCard, type ParticleCardProps, type ParticleLook } from "./particle-card";
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ParticleCard
|
|
3
|
+
*
|
|
4
|
+
* Trigger: hover (and in view). A product feature card whose hero visual is
|
|
5
|
+
* made of particles: any SVG is sampled into a grid, and each cell is drawn as
|
|
6
|
+
* a mono glyph, a solid block or a thin scan dash. Rings spread out from the
|
|
7
|
+
* centre like a droplet on water and morph every region between those three
|
|
8
|
+
* looks while the shape turns. On first view the particles fly in and assemble.
|
|
9
|
+
* Move the cursor through it and the particles part like water, opening a clear
|
|
10
|
+
* pool with a dense, softly rippling rim that flows after you; click to drop a
|
|
11
|
+
* ripple that spreads outward. Reach sets the size of the pool and force how
|
|
12
|
+
* strongly it parts, and a film grain can be dialed over the card. Pass your
|
|
13
|
+
* own SVG (any filled or stroked shape) to make the pattern. The artwork is
|
|
14
|
+
* decorative; the title, line and button stay real content. Reduced
|
|
15
|
+
* motion draws a still, assembled frame.
|
|
16
|
+
*
|
|
17
|
+
* Engine: motion/react (useAnimationFrame runs the particle springs and wave;
|
|
18
|
+
* everything is drawn to one canvas, so thousands of cells stay smooth).
|
|
19
|
+
*/
|
|
20
|
+
import * as React from "react";
|
|
21
|
+
export type ParticleLook = "mixed" | "glyph" | "block" | "scan";
|
|
22
|
+
export interface ParticleCardProps {
|
|
23
|
+
/** SVG markup for the artwork. Its filled and stroked areas become particles. Default a radiating starburst mark. */
|
|
24
|
+
svg?: string;
|
|
25
|
+
/** How cells are drawn: all three looks morphing (`"mixed"`), or one look only. Default `"mixed"`. */
|
|
26
|
+
look?: ParticleLook;
|
|
27
|
+
/** Card color. Default white. */
|
|
28
|
+
background?: string;
|
|
29
|
+
/** Particle color. Only the artwork uses it. Default ink. */
|
|
30
|
+
color?: string;
|
|
31
|
+
/** Title, line and button color. Default ink. */
|
|
32
|
+
textColor?: string;
|
|
33
|
+
/** Grid cell size, px. Smaller is finer. Default `6`. */
|
|
34
|
+
cell?: number;
|
|
35
|
+
/** How fast the shape turns, turns per minute. `0` holds it still. Default `1`. */
|
|
36
|
+
spin?: number;
|
|
37
|
+
/** How strongly the cursor parts the particles, 0 to 3. Above 1 the pool opens wider and the rim is pushed out harder. Default `0.75`. */
|
|
38
|
+
force?: number;
|
|
39
|
+
/** Radius of the pool the cursor opens, px. Default `130`. */
|
|
40
|
+
reach?: number;
|
|
41
|
+
/** Film grain over the card, 0 (none) to 1 (heavy). Default `0`. */
|
|
42
|
+
grain?: number;
|
|
43
|
+
/** Characters for the glyph look, densest first. Default `"01/>."`. */
|
|
44
|
+
chars?: string;
|
|
45
|
+
/** Feature title. */
|
|
46
|
+
title?: string;
|
|
47
|
+
/** One short line about the feature. */
|
|
48
|
+
description?: string;
|
|
49
|
+
/** Button label. Default `"Learn more"`. */
|
|
50
|
+
cta?: string;
|
|
51
|
+
/** Where the button goes. Without it the button calls `onOpen`. */
|
|
52
|
+
href?: string;
|
|
53
|
+
/** Called by the button when there is no `href`. */
|
|
54
|
+
onOpen?: () => void;
|
|
55
|
+
className?: string;
|
|
56
|
+
}
|
|
57
|
+
export declare const ParticleCard: React.ForwardRefExoticComponent<ParticleCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { PaymentForm, type PaymentFormProps, type PaymentDetails, } from "./payment-form";
|