motion-brew 0.0.0-stage → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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-5MP5QNFG.js +560 -0
- package/dist/chunk-62RBYLIN.js +128 -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-COKBF5PG.js +3291 -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-GYDTIVOY.js +934 -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-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-KE563QS4.js +425 -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-PFEHD3A2.js +409 -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-RWUARRFZ.js +267 -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-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-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-YLSWBUDC.js +373 -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 +13 -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,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";
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ContextMenu
|
|
3
|
+
*
|
|
4
|
+
* Trigger: right click (plus long press and keys). Wraps any content; right
|
|
5
|
+
* clicking it (or a long press on touch, or Shift F10) opens a white menu at
|
|
6
|
+
* the pointer that springs out of that corner while its rows rise in. A soft
|
|
7
|
+
* gray pill glides between rows and each row's animated icon plays while it
|
|
8
|
+
* is hovered. Rows can show a shortcut, open a submenu that slides out beside
|
|
9
|
+
* them, roll to a done state in place (Copy link becomes Link copied with a
|
|
10
|
+
* check before the menu closes), or ask twice before a destructive action
|
|
11
|
+
* (Delete rolls to Click again to delete on a red tint). After a choice a
|
|
12
|
+
* small pill with a check confirms what happened. The arrow keys move through
|
|
13
|
+
* rows, Right and Left open and close the submenu, Enter chooses, and Escape
|
|
14
|
+
* or a click outside closes it. Reduced motion keeps the states without
|
|
15
|
+
* movement.
|
|
16
|
+
*
|
|
17
|
+
* Engine: motion/react (AnimatePresence for the menus and the toast,
|
|
18
|
+
* staggered variants, a layoutId hover pill, rolling labels) with animated
|
|
19
|
+
* icons from lucide-animated (MIT), vendored in src/icons.
|
|
20
|
+
*/
|
|
21
|
+
import * as React from "react";
|
|
22
|
+
/** Any icon that can be told to play. The vendored animated icons all fit. */
|
|
23
|
+
export type MenuIcon = React.ComponentType<{
|
|
24
|
+
active?: boolean;
|
|
25
|
+
className?: string;
|
|
26
|
+
}>;
|
|
27
|
+
export type ContextMenuItem = {
|
|
28
|
+
separator: true;
|
|
29
|
+
} | {
|
|
30
|
+
id: string;
|
|
31
|
+
label: string;
|
|
32
|
+
icon?: MenuIcon;
|
|
33
|
+
/** Shown on the right, like "⌘C". */
|
|
34
|
+
shortcut?: string;
|
|
35
|
+
/** A nested menu that opens beside this row. */
|
|
36
|
+
items?: ContextMenuItem[];
|
|
37
|
+
/** Red tinted, for destructive actions. */
|
|
38
|
+
danger?: boolean;
|
|
39
|
+
/** Ask twice: the first press rolls the label to this. */
|
|
40
|
+
confirm?: string;
|
|
41
|
+
/** Roll to this label and icon in place before closing. */
|
|
42
|
+
done?: {
|
|
43
|
+
label: string;
|
|
44
|
+
icon?: MenuIcon;
|
|
45
|
+
};
|
|
46
|
+
/** Text for the small pill shown after it runs. */
|
|
47
|
+
feedback?: string;
|
|
48
|
+
onSelect?: () => void;
|
|
49
|
+
};
|
|
50
|
+
export interface ContextMenuProps {
|
|
51
|
+
/** The rows. Default a set of file actions. */
|
|
52
|
+
items?: ContextMenuItem[];
|
|
53
|
+
/** The area that opens the menu. Default a small file card. */
|
|
54
|
+
children?: React.ReactNode;
|
|
55
|
+
/** Accessible name for the area. Default `"File, right click for actions"`. */
|
|
56
|
+
label?: string;
|
|
57
|
+
className?: string;
|
|
58
|
+
}
|
|
59
|
+
export declare const ContextMenu: React.ForwardRefExoticComponent<ContextMenuProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ContextMenu, type ContextMenuProps, type ContextMenuItem, type MenuIcon, } from "./context-menu";
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ContourFeatureCard
|
|
3
|
+
*
|
|
4
|
+
* Trigger: hover and press (plus in view). A product feature card: a browser
|
|
5
|
+
* window with a small dashboard rises in front of a live topographic map.
|
|
6
|
+
* The map is drifting noise traced into contour lines (marching squares),
|
|
7
|
+
* with every fourth line a little heavier like the index lines on a real map.
|
|
8
|
+
* The pointer raises a soft hill, so the lines bend and crowd around it and
|
|
9
|
+
* light up near it; a press sends a ring of a wave out through the terrain,
|
|
10
|
+
* and while the pointer is away one rises on its own now and then. On the way
|
|
11
|
+
* in the card rises, the lines spread out from the centre and the window
|
|
12
|
+
* slides up and tilts toward the pointer, while its dashboard builds itself:
|
|
13
|
+
* the figures count, the chart draws its line and the rows slide in. Reduced
|
|
14
|
+
* motion draws one still frame and keeps the window flat.
|
|
15
|
+
*
|
|
16
|
+
* Engine: motion/react (springs for the window, pathLength for the chart,
|
|
17
|
+
* counting motion values) with a canvas 2D contour field on one
|
|
18
|
+
* requestAnimationFrame loop that pauses off screen.
|
|
19
|
+
*/
|
|
20
|
+
import * as React from "react";
|
|
21
|
+
export interface ContourFeatureCardProps {
|
|
22
|
+
/** Line colour. Default `"#242423"`. */
|
|
23
|
+
color?: string;
|
|
24
|
+
/** How many contour levels to trace; more means tighter lines. Default `14`. */
|
|
25
|
+
lines?: number;
|
|
26
|
+
/** Size of the hills and valleys; higher zooms out. Default `1`. */
|
|
27
|
+
scale?: number;
|
|
28
|
+
/** Drift speed; `2` is twice as fast. Default `1`. */
|
|
29
|
+
speed?: number;
|
|
30
|
+
/** How high the pointer's hill rises. Default `1`. */
|
|
31
|
+
lift?: number;
|
|
32
|
+
/** What the window shows. Default a small analytics dashboard. */
|
|
33
|
+
children?: React.ReactNode;
|
|
34
|
+
className?: string;
|
|
35
|
+
}
|
|
36
|
+
export declare const ContourFeatureCard: React.ForwardRefExoticComponent<ContourFeatureCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ContourFeatureCard, type ContourFeatureCardProps, } from "./contour-feature-card";
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ContourLines
|
|
3
|
+
*
|
|
4
|
+
* Trigger: hover and press (plus in view). A background of live topographic
|
|
5
|
+
* contour lines. Drifting noise is traced into contour lines with marching
|
|
6
|
+
* squares, every fourth line a little heavier like the index lines on a real
|
|
7
|
+
* map. The pointer raises a soft hill, so the lines bend and crowd around it
|
|
8
|
+
* and light up near it; a press sends a ring of a wave out through the
|
|
9
|
+
* terrain, and while the pointer is away one rises on its own now and then.
|
|
10
|
+
* On the way in the lines spread out from the centre. Put anything on top as
|
|
11
|
+
* children. Reduced motion draws a single still frame.
|
|
12
|
+
*
|
|
13
|
+
* Engine: canvas 2D on one requestAnimationFrame loop that pauses off screen,
|
|
14
|
+
* with motion/react's useInView for the entrance.
|
|
15
|
+
*/
|
|
16
|
+
import * as React from "react";
|
|
17
|
+
export interface ContourLinesProps {
|
|
18
|
+
/** Line colour. Default `"#242423"`. */
|
|
19
|
+
color?: string;
|
|
20
|
+
/** How many contour levels to trace; more means tighter lines. Default `14`. */
|
|
21
|
+
lines?: number;
|
|
22
|
+
/** Size of the hills and valleys; higher zooms out. Default `1`. */
|
|
23
|
+
scale?: number;
|
|
24
|
+
/** Drift speed; `2` is twice as fast. Default `1`. */
|
|
25
|
+
speed?: number;
|
|
26
|
+
/** How high the pointer's hill rises. Default `1`. */
|
|
27
|
+
lift?: number;
|
|
28
|
+
/** Raise a hill under the pointer and send waves on press. Default `true`. */
|
|
29
|
+
interactive?: boolean;
|
|
30
|
+
/** Content laid over the lines. */
|
|
31
|
+
children?: React.ReactNode;
|
|
32
|
+
className?: string;
|
|
33
|
+
}
|
|
34
|
+
export declare const ContourLines: React.ForwardRefExoticComponent<ContourLinesProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ContourLines, type ContourLinesProps } from "./contour-lines";
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DecayCard
|
|
3
|
+
*
|
|
4
|
+
* Trigger: hover. A full-bleed image card with its text laid over the
|
|
5
|
+
* picture. When the pointer comes onto it, the picture decays from the inside
|
|
6
|
+
* out: a hole opens right where the pointer entered and eats outward, its rim
|
|
7
|
+
* torn and eroded, with chunks bitten out just past the edge and fine specks
|
|
8
|
+
* sprayed beyond it, spreading until it has eaten the whole card and a second
|
|
9
|
+
* picture shows through, easing in from a slight zoom. While it spreads the
|
|
10
|
+
* rim keeps crawling and the hole drifts after the pointer.
|
|
11
|
+
* Leaving lets the first picture grow back over the hole until it is whole
|
|
12
|
+
* again. The card also sits in 3D: it leans toward the pointer and lifts a
|
|
13
|
+
* touch, a soft glare slides across it and the text drifts against the lean
|
|
14
|
+
* for depth. The text stays crisp on top. Reduced motion shows the plain
|
|
15
|
+
* picture, flat.
|
|
16
|
+
*
|
|
17
|
+
* Engine: canvas 2D. The picture is drawn each frame and a rounded hole with
|
|
18
|
+
* a noisy, gritty outline and scattered flecks is cut out of it with
|
|
19
|
+
* destination-out, in one requestAnimationFrame loop that rests once the
|
|
20
|
+
* picture is whole; motion/react eases the text in.
|
|
21
|
+
*/
|
|
22
|
+
import * as React from "react";
|
|
23
|
+
export interface DecayCardProps {
|
|
24
|
+
/** The picture. */
|
|
25
|
+
src?: string;
|
|
26
|
+
/** The picture the decay reveals underneath. */
|
|
27
|
+
revealSrc?: string;
|
|
28
|
+
/** Small label in the top corner. Default `"Field notes"`. */
|
|
29
|
+
tag?: string;
|
|
30
|
+
/** Title over the picture. Default `"Nothing stays"`. */
|
|
31
|
+
title?: string;
|
|
32
|
+
/** Line under the title. */
|
|
33
|
+
subtitle?: string;
|
|
34
|
+
/** How far the decay eats, as a share of the card. Above about 1.5 it takes the whole card. Default `1.6`. */
|
|
35
|
+
depth?: number;
|
|
36
|
+
/** Speed of the decay and the mending. Default `1`. */
|
|
37
|
+
speed?: number;
|
|
38
|
+
/** How far the card leans toward the pointer, in degrees. `0` keeps it flat. Default `8`. */
|
|
39
|
+
tilt?: number;
|
|
40
|
+
/** A soft glare that follows the pointer across the card. Default `true`. */
|
|
41
|
+
glare?: boolean;
|
|
42
|
+
className?: string;
|
|
43
|
+
}
|
|
44
|
+
export declare const DecayCard: React.ForwardRefExoticComponent<DecayCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DecayCard, type DecayCardProps } from "./decay-card";
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DeployStreak
|
|
3
|
+
*
|
|
4
|
+
* Trigger: in view, then hover. A white card for a team's shipping streak: a
|
|
5
|
+
* title with an animated flame, a big count of days in a row with a deploy
|
|
6
|
+
* and a grid of dots, one per day. When the card scrolls into view the dots
|
|
7
|
+
* pop in as a diagonal wave, days that shipped filling in green, while the
|
|
8
|
+
* count runs up on odometer wheels; today's dot breathes a soft ring.
|
|
9
|
+
* Hovering a dot lifts it and names the day in a small ink tooltip; hovering
|
|
10
|
+
* the card lights the flame. Reduced motion shows the final state at once.
|
|
11
|
+
*
|
|
12
|
+
* Engine: motion/react (a counting motion value, staggered springs for the
|
|
13
|
+
* dots, AnimatePresence for the tooltip) with an animated flame from
|
|
14
|
+
* lucide-animated (MIT), vendored in src/icons.
|
|
15
|
+
*/
|
|
16
|
+
import * as React from "react";
|
|
17
|
+
export interface DeployStreakProps {
|
|
18
|
+
/** Title. Default `"Deploys"`. */
|
|
19
|
+
title?: string;
|
|
20
|
+
/** One entry per day, oldest first; true is a day that shipped. The last day is today. Default 70 days. */
|
|
21
|
+
days?: boolean[];
|
|
22
|
+
/** Days per row. Default `14`. */
|
|
23
|
+
columns?: number;
|
|
24
|
+
/** Colour of days that shipped. Default `"#269a5a"`. */
|
|
25
|
+
color?: string;
|
|
26
|
+
/** Date of the last day, for the tooltips. Default today. */
|
|
27
|
+
today?: Date;
|
|
28
|
+
className?: string;
|
|
29
|
+
}
|
|
30
|
+
export declare const DeployStreak: React.ForwardRefExoticComponent<DeployStreakProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DeployStreak, type DeployStreakProps } from "./deploy-streak";
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DepthCarousel
|
|
3
|
+
*
|
|
4
|
+
* Trigger: hover, drag and scroll. A stack of cards receding into depth along
|
|
5
|
+
* a diagonal, each turned a little toward the viewer. It drifts slowly on its
|
|
6
|
+
* own; scroll, drag or the arrow keys glide it through the stack with
|
|
7
|
+
* momentum, and fast moves smear with a motion blur along the diagonal.
|
|
8
|
+
* Hovering a card pulls it up out of the stack and toward you: it draws in
|
|
9
|
+
* front of the others fully solid, turns to face you square on and tilts
|
|
10
|
+
* toward the cursor in perspective with a plastic shine (a hot spot that
|
|
11
|
+
* follows the cursor, a sheen band that slides as it tilts and a bright
|
|
12
|
+
* laminated edge), while every other card stays solid but
|
|
13
|
+
* sinks out of focus.
|
|
14
|
+
* The stack climbs up or down the frame, set by `direction`; changing it
|
|
15
|
+
* eases the whole stack across.
|
|
16
|
+
* The stack runs off both corners of the frame and loops forever, wrapping
|
|
17
|
+
* round out of sight. Reduced
|
|
18
|
+
* motion stops the drift, the blur and the tilt.
|
|
19
|
+
*
|
|
20
|
+
* Engine: motion/react (springs for the hover lift, tilt and shine) with one
|
|
21
|
+
* requestAnimationFrame loop placing the cards and driving the SVG motion
|
|
22
|
+
* blur.
|
|
23
|
+
*/
|
|
24
|
+
import * as React from "react";
|
|
25
|
+
export interface DepthCarouselItem {
|
|
26
|
+
src: string;
|
|
27
|
+
title: string;
|
|
28
|
+
}
|
|
29
|
+
export interface DepthCarouselProps {
|
|
30
|
+
/** Cards in the stack. Default twelve photos. */
|
|
31
|
+
items?: DepthCarouselItem[];
|
|
32
|
+
/** Which way the stack climbs. Default `"up"`. */
|
|
33
|
+
direction?: "up" | "down";
|
|
34
|
+
/** Cards per second the stack drifts on its own. `0` holds it still. Default `0.18`. */
|
|
35
|
+
drift?: number;
|
|
36
|
+
/** Strength of the motion blur, 0 to 2. Default `1`. */
|
|
37
|
+
blur?: number;
|
|
38
|
+
/** Accessible name. Default `"Photo stack"`. */
|
|
39
|
+
label?: string;
|
|
40
|
+
className?: string;
|
|
41
|
+
}
|
|
42
|
+
export declare const DepthCarousel: React.ForwardRefExoticComponent<DepthCarouselProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DepthCarousel, type DepthCarouselProps, type DepthCarouselItem, } from "./depth-carousel";
|