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,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AvatarTestimonial
|
|
3
|
+
*
|
|
4
|
+
* Trigger: press (plus a timeline). A testimonial card driven by a row of
|
|
5
|
+
* avatars. The quote reveals word by word, each word rising out of a soft blur,
|
|
6
|
+
* and blurs away before the next one comes in. The card's height glides to fit.
|
|
7
|
+
* The name and role roll in, the stars pop in one after another, and the active
|
|
8
|
+
* avatar wears a ring that fills as time runs down to the next testimonial.
|
|
9
|
+
* The other avatars sit back in gray and come back to color on hover. Click an avatar or use
|
|
10
|
+
* the arrow keys to switch; autoplay pauses while the card is hovered or
|
|
11
|
+
* focused. The avatars are real tabs. Reduced motion swaps quotes with a fade.
|
|
12
|
+
*
|
|
13
|
+
* Engine: motion/react (word blur reveal, height glide, progress ring driven by
|
|
14
|
+
* a pausable animation, rolling captions and staggered stars).
|
|
15
|
+
*/
|
|
16
|
+
import * as React from "react";
|
|
17
|
+
export interface Testimonial {
|
|
18
|
+
quote: string;
|
|
19
|
+
name: string;
|
|
20
|
+
role: string;
|
|
21
|
+
/** Photo URL. Without it the avatar shows initials on `color`. */
|
|
22
|
+
avatar?: string;
|
|
23
|
+
/** Avatar color behind the initials. */
|
|
24
|
+
color?: string;
|
|
25
|
+
/** Stars out of five. Default `5`. */
|
|
26
|
+
rating?: number;
|
|
27
|
+
}
|
|
28
|
+
export interface AvatarTestimonialProps {
|
|
29
|
+
/** Testimonials, one per avatar. Default three. */
|
|
30
|
+
items?: Testimonial[];
|
|
31
|
+
/** Milliseconds each testimonial stays. `0` turns autoplay off. Default `6500`. */
|
|
32
|
+
interval?: number;
|
|
33
|
+
/** Show the star rating. Default `true`. */
|
|
34
|
+
stars?: boolean;
|
|
35
|
+
/** Called with the index when the testimonial changes. */
|
|
36
|
+
onChange?: (index: number) => void;
|
|
37
|
+
className?: string;
|
|
38
|
+
}
|
|
39
|
+
export declare const AvatarTestimonial: React.ForwardRefExoticComponent<AvatarTestimonialProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { AvatarTestimonial, type AvatarTestimonialProps, type Testimonial } from "./avatar-testimonial";
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BackspaceText
|
|
3
|
+
*
|
|
4
|
+
* Trigger: timeline. Types a word, holds, backspaces it letter by letter and
|
|
5
|
+
* types the next, on a loop, with a blinking caret. New letters pop in with a
|
|
6
|
+
* tiny rise. Screen readers get the full list once. Reduced motion shows the
|
|
7
|
+
* first word, still.
|
|
8
|
+
*
|
|
9
|
+
* Engine: motion/react (letter pop-ins and a blinking caret; plain timers pace the typing).
|
|
10
|
+
*/
|
|
11
|
+
import * as React from "react";
|
|
12
|
+
export interface BackspaceTextProps {
|
|
13
|
+
/** Fixed text before the typed word. Default `"We design for"`. */
|
|
14
|
+
before?: string;
|
|
15
|
+
/** Words to type in turn. Default `["people.", "speed.", "delight."]`. */
|
|
16
|
+
words?: string[];
|
|
17
|
+
/** Milliseconds per typed letter. Default `75`. */
|
|
18
|
+
typeSpeed?: number;
|
|
19
|
+
/** Milliseconds per deleted letter. Default `40`. */
|
|
20
|
+
deleteSpeed?: number;
|
|
21
|
+
/** Milliseconds a finished word stays before deleting. Default `1400`. */
|
|
22
|
+
pause?: number;
|
|
23
|
+
/** Classes for the typed word. Default a violet tone. */
|
|
24
|
+
wordClassName?: string;
|
|
25
|
+
className?: string;
|
|
26
|
+
}
|
|
27
|
+
export declare const BackspaceText: React.ForwardRefExoticComponent<BackspaceTextProps & React.RefAttributes<HTMLParagraphElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { BackspaceText, type BackspaceTextProps } from "./backspace-text";
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BellToggle
|
|
3
|
+
*
|
|
4
|
+
* Trigger: press. A pill toggle for notifications. Off, it is a soft gray
|
|
5
|
+
* pill with a muted bell crossed by a slash. Pressing it turns it on: the
|
|
6
|
+
* pill unfurls wider and turns white, the slash draws itself away, the
|
|
7
|
+
* bell rings (it swings on its hanger while the clapper swings the other way
|
|
8
|
+
* a beat behind, and two sound waves draw out on each side and fade), and the
|
|
9
|
+
* label crossfades to the on text. Pressing again turns it off: the slash
|
|
10
|
+
* strokes back across the bell, the bell gives a small droop, the label
|
|
11
|
+
* crossfades back and the pill folds down to its gray rest. Hovering the on
|
|
12
|
+
* pill gives the bell a little nudge. It is a real switch for screen readers,
|
|
13
|
+
* and reduced motion keeps the changes but drops the swinging.
|
|
14
|
+
*
|
|
15
|
+
* Engine: gsap + @gsap/react for the bell (swing, clapper, waves and slash,
|
|
16
|
+
* scoped with useGSAP), with motion/react for the pill's layout unfurl and
|
|
17
|
+
* the label crossfade.
|
|
18
|
+
*/
|
|
19
|
+
import * as React from "react";
|
|
20
|
+
export interface BellToggleProps {
|
|
21
|
+
/** Whether it is on. Leave out to let the toggle keep its own state. */
|
|
22
|
+
on?: boolean;
|
|
23
|
+
/** Whether it starts on. Default `false`. */
|
|
24
|
+
defaultOn?: boolean;
|
|
25
|
+
/** Called with the new state. */
|
|
26
|
+
onChange?: (on: boolean) => void;
|
|
27
|
+
/** Label while off. Default `"Notify me"`. */
|
|
28
|
+
label?: string;
|
|
29
|
+
/** Label while on. Default `"Notifications on"`. */
|
|
30
|
+
onLabel?: string;
|
|
31
|
+
className?: string;
|
|
32
|
+
}
|
|
33
|
+
export declare const BellToggle: React.ForwardRefExoticComponent<BellToggleProps & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { BellToggle, type BellToggleProps } from "./bell-toggle";
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BillList
|
|
3
|
+
*
|
|
4
|
+
* Trigger: in view, then hover, press and keys. A white card of upcoming bills
|
|
5
|
+
* and subscriptions. When it scrolls into view it builds one piece at a time:
|
|
6
|
+
* the title, the amount due counting up, the filter pill popping in, then each
|
|
7
|
+
* row on its own beat, its icon disc and amount landing just after it. Each row shows an icon in a soft
|
|
8
|
+
* disc, when it is due (an amber chip with a breathing dot when it is close)
|
|
9
|
+
* and its amount. Hover or focus a row and it tints, its icon plays and the
|
|
10
|
+
* amount gives way to a Pay button; press it and a spinner turns into a check,
|
|
11
|
+
* the row turns paid where it stands, and the total counts down. A filter
|
|
12
|
+
* pill opens a small menu; picking a filter reflows the list, rows gliding to
|
|
13
|
+
* their places and blurring in and out. Escape and a click outside close the
|
|
14
|
+
* menu, and reduced motion shows every state at once.
|
|
15
|
+
*
|
|
16
|
+
* Engine: motion/react (layout animations and AnimatePresence for the rows,
|
|
17
|
+
* the menu and the pay button, a motion value counting the total) with
|
|
18
|
+
* animated icons from lucide-animated (MIT), vendored in src/icons.
|
|
19
|
+
*/
|
|
20
|
+
import * as React from "react";
|
|
21
|
+
/** The animated icons a bill can carry. */
|
|
22
|
+
export type BillIcon = "wifi" | "power" | "phone" | "cloud" | "health";
|
|
23
|
+
export interface Bill {
|
|
24
|
+
id: string;
|
|
25
|
+
name: string;
|
|
26
|
+
amount: number;
|
|
27
|
+
/** When it is due. */
|
|
28
|
+
due: Date;
|
|
29
|
+
icon: BillIcon;
|
|
30
|
+
/** Which filter it belongs to, as in `"Bills"` or `"Subscriptions"`. */
|
|
31
|
+
kind: string;
|
|
32
|
+
/** Paid automatically; shown as a small tag. */
|
|
33
|
+
autopay?: boolean;
|
|
34
|
+
paid?: boolean;
|
|
35
|
+
}
|
|
36
|
+
export interface BillListProps {
|
|
37
|
+
/** Card title. Default `"Coming up"`. */
|
|
38
|
+
title?: string;
|
|
39
|
+
/** The bills. Default five household bills and subscriptions, due over the next two weeks. */
|
|
40
|
+
bills?: Bill[];
|
|
41
|
+
/** Currency code for the amounts. Default `"USD"`. */
|
|
42
|
+
currency?: string;
|
|
43
|
+
/** Days ahead that count as due soon, with an amber chip. Default `3`. */
|
|
44
|
+
soonDays?: number;
|
|
45
|
+
/** Called after a bill is paid. */
|
|
46
|
+
onPay?: (bill: Bill) => void;
|
|
47
|
+
className?: string;
|
|
48
|
+
}
|
|
49
|
+
export declare const BillList: React.ForwardRefExoticComponent<BillListProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { BillList, type BillListProps, type Bill, type BillIcon } from "./bill-list";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BinaryText
|
|
3
|
+
*
|
|
4
|
+
* Trigger: hover (and in view). The text scrambles into 0s and 1s, then decodes
|
|
5
|
+
* left to right back into the real characters. It plays when it first scrolls
|
|
6
|
+
* into view and again on every hover or focus. A monospace face keeps widths
|
|
7
|
+
* steady while it churns. Screen readers only ever get the real text.
|
|
8
|
+
*
|
|
9
|
+
* Engine: motion/react (one animated progress value drives the decode; letters
|
|
10
|
+
* left of it are settled, the rest flicker).
|
|
11
|
+
*/
|
|
12
|
+
import * as React from "react";
|
|
13
|
+
export interface BinaryTextProps {
|
|
14
|
+
/** The text to decode. Default `"Access granted"`. */
|
|
15
|
+
text?: string;
|
|
16
|
+
/** Seconds for the full decode. Default `1.1`. */
|
|
17
|
+
duration?: number;
|
|
18
|
+
/** Characters used while scrambling. Default `"01"`. */
|
|
19
|
+
charset?: string;
|
|
20
|
+
/** Element to render. Default `"p"`. */
|
|
21
|
+
as?: "h1" | "h2" | "h3" | "p" | "span";
|
|
22
|
+
className?: string;
|
|
23
|
+
}
|
|
24
|
+
export declare const BinaryText: React.ForwardRefExoticComponent<BinaryTextProps & React.RefAttributes<HTMLElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { BinaryText, type BinaryTextProps } from "./binary-text";
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BlurAccordion
|
|
3
|
+
*
|
|
4
|
+
* Trigger: press. An accordion whose panels open on a spring and smear with a
|
|
5
|
+
* vertical motion blur while they move, scaled by how fast the height changes,
|
|
6
|
+
* so the blur peaks mid-travel and clears as the panel settles. The plus icon
|
|
7
|
+
* folds into a minus, the open row picks up a soft tint, and the content rises
|
|
8
|
+
* out of a light blur. Arrow keys, Home and End move between headers. Reduced
|
|
9
|
+
* motion opens and closes instantly with no blur.
|
|
10
|
+
*
|
|
11
|
+
* Engine: motion/react (spring-driven height motion value, useVelocity feeding
|
|
12
|
+
* an SVG vertical blur, variants on the icon and content).
|
|
13
|
+
*/
|
|
14
|
+
import * as React from "react";
|
|
15
|
+
export interface BlurAccordionItem {
|
|
16
|
+
id: string;
|
|
17
|
+
title: string;
|
|
18
|
+
content: React.ReactNode;
|
|
19
|
+
}
|
|
20
|
+
export interface BlurAccordionProps {
|
|
21
|
+
/** Rows, top to bottom. Default a short FAQ. */
|
|
22
|
+
items?: BlurAccordionItem[];
|
|
23
|
+
/** Let several panels stay open at once. Default `false`. */
|
|
24
|
+
multiple?: boolean;
|
|
25
|
+
/** Ids open on first render. Default the first item. */
|
|
26
|
+
defaultOpen?: string[];
|
|
27
|
+
/** Strongest vertical blur mid-travel, in px. `0` turns it off. Default `6`. */
|
|
28
|
+
blur?: number;
|
|
29
|
+
/** Spring stiffness for the height. Higher is snappier. Default `380`. */
|
|
30
|
+
stiffness?: number;
|
|
31
|
+
/** Called with the open ids whenever they change. */
|
|
32
|
+
onOpenChange?: (open: string[]) => void;
|
|
33
|
+
className?: string;
|
|
34
|
+
}
|
|
35
|
+
export declare const BlurAccordion: React.ForwardRefExoticComponent<BlurAccordionProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { BlurAccordion, type BlurAccordionItem, type BlurAccordionProps } from "./blur-accordion";
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BlurText
|
|
3
|
+
*
|
|
4
|
+
* Trigger: in view (or on mount). Words (or letters) rise out of a blur one
|
|
5
|
+
* after another when the text scrolls into view, settling sharp and in place. Screen readers
|
|
6
|
+
* get the plain sentence once. Reduced motion shows the text at once.
|
|
7
|
+
*
|
|
8
|
+
* Engine: motion/react (useInView plus staggered variants on transform, opacity
|
|
9
|
+
* and filter).
|
|
10
|
+
*/
|
|
11
|
+
import * as React from "react";
|
|
12
|
+
export interface BlurTextProps {
|
|
13
|
+
/** The text to reveal. Default `"Every word drifts out of the blur and settles into sharp focus"`. */
|
|
14
|
+
text?: string;
|
|
15
|
+
/** Element to render. Default `"p"`. */
|
|
16
|
+
as?: "h1" | "h2" | "h3" | "p" | "span";
|
|
17
|
+
/** Animate each `"word"` or each `"letter"`. Default `"word"`. */
|
|
18
|
+
by?: "word" | "letter";
|
|
19
|
+
/** Seconds between pieces. Default `0.08`. */
|
|
20
|
+
stagger?: number;
|
|
21
|
+
/** Seconds each piece takes. Default `0.7`. */
|
|
22
|
+
duration?: number;
|
|
23
|
+
/** Starting blur, px. Default `12`. */
|
|
24
|
+
blur?: number;
|
|
25
|
+
/** Pieces rise `"up"` or drop `"down"` into place. Default `"up"`. */
|
|
26
|
+
direction?: "up" | "down";
|
|
27
|
+
/** Seconds to wait before starting. Default `0`. */
|
|
28
|
+
delay?: number;
|
|
29
|
+
/** Start when it scrolls into view (`"inView"`) or right away (`"mount"`). Default `"inView"`. */
|
|
30
|
+
trigger?: "inView" | "mount";
|
|
31
|
+
className?: string;
|
|
32
|
+
}
|
|
33
|
+
export declare const BlurText: React.ForwardRefExoticComponent<BlurTextProps & React.RefAttributes<HTMLElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { BlurText, type BlurTextProps } from "./blur-text";
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BookingCard
|
|
3
|
+
*
|
|
4
|
+
* Trigger: press. A white booking card for a trial class, a demo call or any
|
|
5
|
+
* slot someone reserves. A strip of upcoming days scrolls sideways; picking a
|
|
6
|
+
* day glides an ink pill to it on a spring, and the times for that day unfold
|
|
7
|
+
* below with their own sliding pill. The full-width button wakes up once a
|
|
8
|
+
* day and a time are chosen: its label rolls to the chosen slot, the arrow
|
|
9
|
+
* nudges on hover, and a press runs a short spinner before the button turns
|
|
10
|
+
* green and draws a check. Then the whole card becomes the confirmation: a
|
|
11
|
+
* green seal spins in, draws its check and bursts sparks (the same seal as
|
|
12
|
+
* VerifyFlow), the date and time tiles rise in with a clock whose hands sweep
|
|
13
|
+
* to the booked time, and the add to calendar button flips its icon to a
|
|
14
|
+
* check. Change goes back to the picker with the slot kept. Days and times
|
|
15
|
+
* that are taken stay visible but can't be picked. Dates and times are radio groups with arrow keys, and
|
|
16
|
+
* every change is announced. Reduced motion swaps the glides for fades.
|
|
17
|
+
*
|
|
18
|
+
* Engine: motion/react for the sliding pills, the unfolding times, the
|
|
19
|
+
* button's label, spinner and check, and the confirmation's layout; gsap +
|
|
20
|
+
* @gsap/react for the confirmation's drawn icons (scoped with useGSAP).
|
|
21
|
+
*/
|
|
22
|
+
import * as React from "react";
|
|
23
|
+
export interface BookingCardProps {
|
|
24
|
+
/** Card title. Default `"Book a free trial"`. */
|
|
25
|
+
title?: string;
|
|
26
|
+
/** Line under the title. */
|
|
27
|
+
subtitle?: string;
|
|
28
|
+
/** First day in the strip. Default today. */
|
|
29
|
+
start?: Date;
|
|
30
|
+
/** How many days the strip shows. The month menu lists every month they cover. Default `45`. */
|
|
31
|
+
days?: number;
|
|
32
|
+
/** Times offered each day, as labels. Default five slots from 09:00 to 18:00. */
|
|
33
|
+
times?: string[];
|
|
34
|
+
/** Days that can't be booked. Default Sundays. */
|
|
35
|
+
isUnavailable?: (date: Date) => boolean;
|
|
36
|
+
/** Times taken on a given day. Default a few, varying by day. */
|
|
37
|
+
takenTimes?: (date: Date) => string[];
|
|
38
|
+
/** Button label before a slot is chosen. Default `"Book a trial"`. */
|
|
39
|
+
cta?: string;
|
|
40
|
+
/** Heading on the confirmation. Default `"You're booked"`. */
|
|
41
|
+
doneTitle?: string;
|
|
42
|
+
/** Line under the confirmation heading. */
|
|
43
|
+
doneText?: string;
|
|
44
|
+
/** Called by the confirmation's add to calendar button. */
|
|
45
|
+
onAddToCalendar?: (slot: {
|
|
46
|
+
date: Date;
|
|
47
|
+
time: string;
|
|
48
|
+
}) => void;
|
|
49
|
+
/** Called on press with the chosen slot. Return a promise to hold the spinner until it settles. */
|
|
50
|
+
onBook?: (slot: {
|
|
51
|
+
date: Date;
|
|
52
|
+
time: string;
|
|
53
|
+
}) => void | Promise<unknown>;
|
|
54
|
+
className?: string;
|
|
55
|
+
}
|
|
56
|
+
export declare const BookingCard: React.ForwardRefExoticComponent<BookingCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { BookingCard, type BookingCardProps } from "./booking-card";
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BrandBridge
|
|
3
|
+
*
|
|
4
|
+
* Trigger: press and hover (plus in view). A feature card for any site or
|
|
5
|
+
* app: on top, brand tiles stand in two columns either side of a hub, and only
|
|
6
|
+
* the connected ones are wired in. On its own it wires the brands in one at
|
|
7
|
+
* a time in a random order and then stays connected; it pauses while hovered
|
|
8
|
+
* and hands over for good once a tile is pressed. Each wire is a gradient in its brand's own
|
|
9
|
+
* colours, fading into ink at the hub, and a glowing comet of the same
|
|
10
|
+
* gradient runs along it now and then; when it lands, the hub's rotating
|
|
11
|
+
* colour ring pulses and a few sparks of that brand fly off. Press a tile to
|
|
12
|
+
* connect it: the wire draws itself in, a burst of brand coloured particles
|
|
13
|
+
* streams to the hub and the logo turns from gray to colour. Press again to
|
|
14
|
+
* disconnect and the wire pulls back. Hovering a tile lifts it and previews or
|
|
15
|
+
* brightens its wire. The wires are magnetic: bring the pointer near one and
|
|
16
|
+
* it bends toward it on a spring, lights up and carries its comet along the
|
|
17
|
+
* bend, then snaps back with a small wobble when the pointer leaves. Behind the graphic a sparse field of particles drifts,
|
|
18
|
+
* slowly circles the hub and scatters from the pointer. Under it sit a
|
|
19
|
+
* centred heading and line. Everything pauses off screen. Reduced motion
|
|
20
|
+
* keeps the wires and particles still.
|
|
21
|
+
*
|
|
22
|
+
* Engine: motion/react (entrances and pathLength wires)
|
|
23
|
+
* with one requestAnimationFrame loop that drives the comets on SVG dash
|
|
24
|
+
* offsets and the particles on a 2D canvas.
|
|
25
|
+
*/
|
|
26
|
+
import * as React from "react";
|
|
27
|
+
export interface BridgeBrand {
|
|
28
|
+
id: string;
|
|
29
|
+
name: string;
|
|
30
|
+
/** The wire's gradient, from the tile toward the hub. The first is the brand's main colour. */
|
|
31
|
+
colors: string[];
|
|
32
|
+
/** The mark inside the tile, about 28px. */
|
|
33
|
+
logo: React.ReactNode;
|
|
34
|
+
}
|
|
35
|
+
export interface BrandBridgeProps {
|
|
36
|
+
/** Up to eight brands; the first half stand on the left. Default six. */
|
|
37
|
+
brands?: BridgeBrand[];
|
|
38
|
+
/** Ids connected at first. Default none, so autoplay builds them up. */
|
|
39
|
+
defaultConnected?: string[];
|
|
40
|
+
/**
|
|
41
|
+
* Connect the brands by itself, one at a time in a random order, and stay
|
|
42
|
+
* connected. Plays again on reload or remount; pauses while the card is
|
|
43
|
+
* hovered and stops for good once a tile is pressed. Default `true`.
|
|
44
|
+
*/
|
|
45
|
+
autoplay?: boolean;
|
|
46
|
+
onToggle?: (id: string, connected: boolean) => void;
|
|
47
|
+
/** Heading under the graphic. */
|
|
48
|
+
title?: React.ReactNode;
|
|
49
|
+
/** Line under the heading. */
|
|
50
|
+
description?: React.ReactNode;
|
|
51
|
+
/** What sits in the hub. Default a small mark. */
|
|
52
|
+
hub?: React.ReactNode;
|
|
53
|
+
/** Particles in the background field, 0 to 240. Default `48`. */
|
|
54
|
+
particles?: number;
|
|
55
|
+
/** Comet speed; `2` is twice as fast. Default `1`. */
|
|
56
|
+
speed?: number;
|
|
57
|
+
className?: string;
|
|
58
|
+
}
|
|
59
|
+
/** Every built in brand; pick from these or pass your own. */
|
|
60
|
+
export declare const BRANDS: BridgeBrand[];
|
|
61
|
+
/** The default six: three a side. */
|
|
62
|
+
export declare const DEFAULT_BRANDS: BridgeBrand[];
|
|
63
|
+
export declare const BrandBridge: React.ForwardRefExoticComponent<BrandBridgeProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { BrandBridge, BRANDS, DEFAULT_BRANDS, type BrandBridgeProps, type BridgeBrand, } from "./brand-bridge";
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CalendarAgenda
|
|
3
|
+
*
|
|
4
|
+
* Trigger: drag (plus press and keys). A day planner card: a week strip on top
|
|
5
|
+
* and the chosen day's events below, each with its time, length and a colored
|
|
6
|
+
* bar. Swipe a row left to mark it done: a green Done grows from under its
|
|
7
|
+
* right edge, only as wide as the slide; tap it or swipe far, and the title is
|
|
8
|
+
* struck through while confetti rises from across the row and floats up out of
|
|
9
|
+
* the card. Swiping a done row left offers Undo. Swipe a row right to delete
|
|
10
|
+
* it: the row slides off a red Delete underneath, and the rows below slide up to
|
|
11
|
+
* close the gap. Picking another day slides the selection pill across and swaps
|
|
12
|
+
* the list with a soft blur, and the header counts what is left. Rows are real
|
|
13
|
+
* list items: Enter or Space marks done, Delete or Backspace removes, and
|
|
14
|
+
* changes are announced. Reduced motion keeps every action but skips the travel
|
|
15
|
+
* and the confetti.
|
|
16
|
+
*
|
|
17
|
+
* Engine: motion/react (drag with snap points, layout and exit animations, the
|
|
18
|
+
* sliding day pill) plus a small built-in canvas confetti system.
|
|
19
|
+
*/
|
|
20
|
+
import * as React from "react";
|
|
21
|
+
export interface AgendaEvent {
|
|
22
|
+
id: string;
|
|
23
|
+
/** Start time label, like `"10:00"`. */
|
|
24
|
+
time: string;
|
|
25
|
+
/** Length label, like `"1h"`. */
|
|
26
|
+
length?: string;
|
|
27
|
+
title: string;
|
|
28
|
+
/** Second line, like `"4 people · Zoom"`. */
|
|
29
|
+
meta?: string;
|
|
30
|
+
/** Bar and confetti color. */
|
|
31
|
+
color?: string;
|
|
32
|
+
/** Small status pill, like `"in 19 min"`. */
|
|
33
|
+
tag?: string;
|
|
34
|
+
/** A free slot: shown muted, with no actions. */
|
|
35
|
+
free?: boolean;
|
|
36
|
+
done?: boolean;
|
|
37
|
+
}
|
|
38
|
+
export interface AgendaDay {
|
|
39
|
+
/** Short weekday, like `"Tue"`. */
|
|
40
|
+
label: string;
|
|
41
|
+
/** Day of the month. */
|
|
42
|
+
date: number;
|
|
43
|
+
/** Heading when selected, like `"Tuesday"`. */
|
|
44
|
+
title: string;
|
|
45
|
+
/** Line under the heading, like `"11 November"`. */
|
|
46
|
+
subtitle?: string;
|
|
47
|
+
events: AgendaEvent[];
|
|
48
|
+
}
|
|
49
|
+
export interface CalendarAgendaProps {
|
|
50
|
+
/** The week. Default a sample week. */
|
|
51
|
+
days?: AgendaDay[];
|
|
52
|
+
/** Index of the day shown first. Default `1`. */
|
|
53
|
+
defaultDay?: number;
|
|
54
|
+
/** Confetti when an event is marked done. Default `true`. */
|
|
55
|
+
confetti?: boolean;
|
|
56
|
+
/** Called when an event is marked done or reopened. */
|
|
57
|
+
onToggle?: (event: AgendaEvent, done: boolean) => void;
|
|
58
|
+
/** Called when an event is deleted. */
|
|
59
|
+
onDelete?: (event: AgendaEvent) => void;
|
|
60
|
+
/** Called by the round add button. */
|
|
61
|
+
onAdd?: () => void;
|
|
62
|
+
className?: string;
|
|
63
|
+
}
|
|
64
|
+
export declare const CalendarAgenda: React.ForwardRefExoticComponent<CalendarAgendaProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CalendarAgenda, type AgendaDay, type AgendaEvent, type CalendarAgendaProps } from "./calendar-agenda";
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChannelMix
|
|
3
|
+
*
|
|
4
|
+
* Trigger: in view, then hover and press. A white marketing card: a light
|
|
5
|
+
* gray header with an icon tile, a title and a line of copy, then a white
|
|
6
|
+
* panel overlapping it with the
|
|
7
|
+
* week's sessions on rolling digits and a row of slim ticks that splits them
|
|
8
|
+
* by channel. When it scrolls into view the ticks rise in a wave from left to
|
|
9
|
+
* right while the numbers roll up from zero. Pointing at the bar or a legend
|
|
10
|
+
* chip lights up that channel's ticks, dims the rest, and rolls the headline
|
|
11
|
+
* to the channel's own sessions and change. Under a hairline, a small table of
|
|
12
|
+
* metrics: a soft pill glides between rows under the pointer, each row's
|
|
13
|
+
* animated icon plays, and its change arrow nudges the way it points. The info
|
|
14
|
+
* button explains the numbers in a tooltip, and Details slides its arrow out.
|
|
15
|
+
* Reduced motion keeps every state without movement.
|
|
16
|
+
*
|
|
17
|
+
* Engine: motion/react (staggered scale for the ticks, spring digit columns,
|
|
18
|
+
* layoutId pills, AnimatePresence for the headline) with animated icons from
|
|
19
|
+
* lucide-animated (MIT), vendored in src/icons.
|
|
20
|
+
*/
|
|
21
|
+
import * as React from "react";
|
|
22
|
+
export interface ChannelMixChannel {
|
|
23
|
+
name: string;
|
|
24
|
+
/** Sessions from this channel in the period. */
|
|
25
|
+
sessions: number;
|
|
26
|
+
/** Change against the last period, in percent. */
|
|
27
|
+
change: number;
|
|
28
|
+
/** Tick and dot color. Defaults follow the card's palette. */
|
|
29
|
+
color?: string;
|
|
30
|
+
}
|
|
31
|
+
export type ChannelMixIcon = "people" | "time" | "money";
|
|
32
|
+
export interface ChannelMixMetric {
|
|
33
|
+
label: string;
|
|
34
|
+
/** Shown as written; its digits roll, everything else stays put. */
|
|
35
|
+
value: string;
|
|
36
|
+
/** Change against the last period, in percent. */
|
|
37
|
+
change: number;
|
|
38
|
+
/** Whether a rise is good news. Default true; set false for costs and waits. */
|
|
39
|
+
higherIsBetter?: boolean;
|
|
40
|
+
icon: ChannelMixIcon;
|
|
41
|
+
}
|
|
42
|
+
export interface ChannelMixProps {
|
|
43
|
+
/** Title in the shell. Default `"Channel insights"`. */
|
|
44
|
+
title?: React.ReactNode;
|
|
45
|
+
/** Line under the title. */
|
|
46
|
+
description?: React.ReactNode;
|
|
47
|
+
/** Label over the headline number. Default `"Sessions this week"`. */
|
|
48
|
+
label?: string;
|
|
49
|
+
/** What the info button explains. */
|
|
50
|
+
info?: string;
|
|
51
|
+
channels?: ChannelMixChannel[];
|
|
52
|
+
/** Change of all sessions against the last period, in percent. Default `2.1`. */
|
|
53
|
+
change?: number;
|
|
54
|
+
metrics?: ChannelMixMetric[];
|
|
55
|
+
/** Called by the Details button. Leave out to hide it. */
|
|
56
|
+
onDetails?: () => void;
|
|
57
|
+
/** Locale for numbers. Default `"en-US"`. */
|
|
58
|
+
locale?: string;
|
|
59
|
+
/** Show the gray header band with the icon, title and copy. Default true; false leaves just the chart. */
|
|
60
|
+
header?: boolean;
|
|
61
|
+
className?: string;
|
|
62
|
+
}
|
|
63
|
+
export declare const ChannelMix: React.ForwardRefExoticComponent<ChannelMixProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ChannelMix, type ChannelMixProps, type ChannelMixChannel, type ChannelMixMetric, type ChannelMixIcon, } from "./channel-mix";
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ColumnCard
|
|
3
|
+
*
|
|
4
|
+
* Trigger: in view, then hover, press and keys. A tall white card with a small
|
|
5
|
+
* live pill, a headline, a short line of body text and a few big rounded
|
|
6
|
+
* columns standing in a soft gray stage over faint guide lines, each carrying
|
|
7
|
+
* its value inside at the top, with a legend and the total in a footer. When
|
|
8
|
+
* it scrolls into view the columns grow up from the floor one after another,
|
|
9
|
+
* springing a little past their height, and each number counts up from zero
|
|
10
|
+
* inside its column, the total with them. Hovering (or focusing) a column
|
|
11
|
+
* lifts it, dims the others and floats an ink tooltip with its share above
|
|
12
|
+
* it; leaving settles it back. Reduced motion shows the final state at once.
|
|
13
|
+
*
|
|
14
|
+
* Engine: motion/react (animate on motion values for the counts, column
|
|
15
|
+
* heights on springs, AnimatePresence for the share tooltip).
|
|
16
|
+
*/
|
|
17
|
+
import * as React from "react";
|
|
18
|
+
export interface Column {
|
|
19
|
+
label: string;
|
|
20
|
+
value: number;
|
|
21
|
+
/** Column colour. Defaults run violet, then ink. */
|
|
22
|
+
color?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface ColumnCardProps {
|
|
25
|
+
/** Headline. Default `"Data that puts your health in motion"`. */
|
|
26
|
+
title?: React.ReactNode;
|
|
27
|
+
/** Body text under the headline. */
|
|
28
|
+
description?: React.ReactNode;
|
|
29
|
+
/** The columns, left to right. Heights are relative to the largest. */
|
|
30
|
+
columns?: Column[];
|
|
31
|
+
/** Small pill above the headline. Pass `null` to hide it. Default `"Last 30 days"`. */
|
|
32
|
+
eyebrow?: React.ReactNode;
|
|
33
|
+
/** Word after the total in the footer. Default `"readings"`. */
|
|
34
|
+
unit?: string;
|
|
35
|
+
/** Height of the tallest column in px. Default `220`. */
|
|
36
|
+
columnHeight?: number;
|
|
37
|
+
className?: string;
|
|
38
|
+
}
|
|
39
|
+
export declare const ColumnCard: React.ForwardRefExoticComponent<ColumnCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ColumnCard, type ColumnCardProps, type Column } from "./column-card";
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ContactCard
|
|
3
|
+
*
|
|
4
|
+
* Trigger: hover (plus focus and press). A Contact link that lives inside a
|
|
5
|
+
* sentence ("Not just a simple Contact button."), set in the sentence's own
|
|
6
|
+
* size, weight and colour with just an arrow after it. Hovering draws an
|
|
7
|
+
* underline under it, turns the arrow up toward the card and lifts a white
|
|
8
|
+
* contact card out of it with a soft spring and a blur, its rows rising in one
|
|
9
|
+
* after another: an avatar with a breathing "available" dot, the name
|
|
10
|
+
* and role, the email address, a LinkedIn link and a Book a call button.
|
|
11
|
+
* Pressing the email copies it, the icon flipping to a check while the label
|
|
12
|
+
* rolls to Copied. The LinkedIn and Book arrows slide through on hover. The
|
|
13
|
+
* card stays open while the pointer travels from the link onto it, and
|
|
14
|
+
* closes a moment after it leaves, on Escape, or on a click elsewhere. Keyboard focus and a tap on
|
|
15
|
+
* touch open it too. Reduced motion keeps every state but drops the movement.
|
|
16
|
+
*
|
|
17
|
+
* Engine: motion/react (spring pop-over with a staggered reveal, rolling
|
|
18
|
+
* labels and icon swaps).
|
|
19
|
+
*/
|
|
20
|
+
import * as React from "react";
|
|
21
|
+
export interface ContactCardProps {
|
|
22
|
+
/** Pill label. Default `"Contact"`. */
|
|
23
|
+
label?: string;
|
|
24
|
+
/** Who you are reaching. Default `"Maya Lindqvist"`. */
|
|
25
|
+
name?: string;
|
|
26
|
+
/** Their role. Default `"Design lead"`. */
|
|
27
|
+
role?: string;
|
|
28
|
+
/** Their photo. */
|
|
29
|
+
avatar?: string;
|
|
30
|
+
/** Email address. Default `"maya@studio.co"`. */
|
|
31
|
+
email?: string;
|
|
32
|
+
/** LinkedIn profile URL. */
|
|
33
|
+
linkedin?: string;
|
|
34
|
+
/** Booking link. Without it the button calls `onBook`. */
|
|
35
|
+
bookHref?: string;
|
|
36
|
+
/** Called by the book button when there is no `bookHref`. */
|
|
37
|
+
onBook?: () => void;
|
|
38
|
+
/** Book button label. Default `"Book a call"`. */
|
|
39
|
+
bookLabel?: string;
|
|
40
|
+
/** Show the available dot. Default `true`. */
|
|
41
|
+
available?: boolean;
|
|
42
|
+
className?: string;
|
|
43
|
+
}
|
|
44
|
+
export declare const ContactCard: React.ForwardRefExoticComponent<ContactCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ContactCard, type ContactCardProps } from "./contact-card";
|