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,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";
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DeviceTraffic
|
|
3
|
+
*
|
|
4
|
+
* Trigger: in view, then hover, plus a live timeline. A white traffic card:
|
|
5
|
+
* a light gray header with an icon tile, a title and a line of copy, then a
|
|
6
|
+
* white panel overlapping it with the total visitors on rolling digits and a column per device
|
|
7
|
+
* (desktop, tablet, mobile). Each column has a tall gauge that fills to the
|
|
8
|
+
* device's share. When the card scrolls into view the gauges fill one after
|
|
9
|
+
* another while the numbers roll up from zero. While live, new visits arrive
|
|
10
|
+
* every few seconds: the total rolls on, a small "+n" floats up by the Live chip, the
|
|
11
|
+
* shares drift and the gauges settle to their new levels on a spring.
|
|
12
|
+
* Pointing at a column (or focusing it) dims the others, tilts its device
|
|
13
|
+
* icon into play and swaps its change for the visitor count. Live updates
|
|
14
|
+
* pause off screen and in a hidden tab. Reduced motion keeps the numbers
|
|
15
|
+
* current without movement.
|
|
16
|
+
*
|
|
17
|
+
* Engine: motion/react (gauge fills sliding up on springs, spring digit columns,
|
|
18
|
+
* AnimatePresence for the swaps and the "+n") with animated icons from
|
|
19
|
+
* lucide-animated (MIT), vendored in src/icons.
|
|
20
|
+
*/
|
|
21
|
+
import * as React from "react";
|
|
22
|
+
export type DeviceKind = "desktop" | "tablet" | "mobile";
|
|
23
|
+
export interface DeviceTrafficDevice {
|
|
24
|
+
name: string;
|
|
25
|
+
kind: DeviceKind;
|
|
26
|
+
/** Share of visitors, in percent. Shares are scaled to add up to 100. */
|
|
27
|
+
share: number;
|
|
28
|
+
/** Change against the last period, in percent. */
|
|
29
|
+
change: number;
|
|
30
|
+
/** Gauge color. Defaults follow the card's palette. */
|
|
31
|
+
color?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface DeviceTrafficProps {
|
|
34
|
+
/** Title in the shell. Default `"Traffic by device"`. */
|
|
35
|
+
title?: React.ReactNode;
|
|
36
|
+
/** Line under the title. */
|
|
37
|
+
description?: React.ReactNode;
|
|
38
|
+
/** Label over the total. Default `"Total visitors"`. */
|
|
39
|
+
label?: string;
|
|
40
|
+
/** Visitors at the start. Default `237456`. */
|
|
41
|
+
total?: number;
|
|
42
|
+
/** Change of the total against the last period, in percent. Default `-1.4`. */
|
|
43
|
+
change?: number;
|
|
44
|
+
devices?: DeviceTrafficDevice[];
|
|
45
|
+
/** New visits arrive every few seconds. Default true. */
|
|
46
|
+
live?: boolean;
|
|
47
|
+
/** Seconds between live updates. Default `2.6`. */
|
|
48
|
+
interval?: number;
|
|
49
|
+
/** Gauge colors, one per device, used when a device has no color of its own. */
|
|
50
|
+
colors?: string[];
|
|
51
|
+
/** Called by the Report button. Leave out to hide it. */
|
|
52
|
+
onReport?: () => void;
|
|
53
|
+
/** Locale for numbers. Default `"en-US"`. */
|
|
54
|
+
locale?: string;
|
|
55
|
+
/** Show the gray header band with the icon, title and copy. Default true; false leaves just the chart. */
|
|
56
|
+
header?: boolean;
|
|
57
|
+
className?: string;
|
|
58
|
+
}
|
|
59
|
+
export declare const DeviceTraffic: React.ForwardRefExoticComponent<DeviceTrafficProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DeviceTraffic, type DeviceTrafficProps, type DeviceTrafficDevice, type DeviceKind, } from "./device-traffic";
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DownloadButton
|
|
3
|
+
*
|
|
4
|
+
* Trigger: press (plus hover). An ink pill that shows a download from start
|
|
5
|
+
* to finish. The icon is a page with a folded corner and an arrow on it; on
|
|
6
|
+
* hover the arrow eases down a touch. A press sets the arrow floating on a
|
|
7
|
+
* slow, even bob while the page fills from the bottom like liquid, its
|
|
8
|
+
* surface rolling gently sideways and rising in step with the progress. A
|
|
9
|
+
* lighter fill sweeps across the button behind a softly waving edge, the
|
|
10
|
+
* label rolls to Downloading and a percentage counts up in uneven bursts the
|
|
11
|
+
* way real downloads do. At the end the arrow settles and shrinks away, the
|
|
12
|
+
* corner gives a little flip, a check draws on the page, the button turns
|
|
13
|
+
* green and the label rolls to Downloaded with the file size. Pressing again
|
|
14
|
+
* resets it. Progress is announced at the start and end, and reduced motion
|
|
15
|
+
* keeps the fills but drops the bob and the rolling surface.
|
|
16
|
+
*
|
|
17
|
+
* Engine: gsap + @gsap/react (one timeline per download for the fill, the
|
|
18
|
+
* percentage and the icon, scoped with useGSAP), with motion/react for the
|
|
19
|
+
* rolling label.
|
|
20
|
+
*/
|
|
21
|
+
import * as React from "react";
|
|
22
|
+
export interface DownloadButtonProps {
|
|
23
|
+
/** Label at rest. Default `"Download"`. */
|
|
24
|
+
label?: string;
|
|
25
|
+
/** File size shown once done. Default `"4.2 MB"`. */
|
|
26
|
+
size?: string;
|
|
27
|
+
/** Seconds the demo download takes. Default `2.6`. */
|
|
28
|
+
duration?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Called on press. Return a promise to hold the fill near the end until it
|
|
31
|
+
* settles; a rejection resets the button.
|
|
32
|
+
*/
|
|
33
|
+
onDownload?: () => void | Promise<unknown>;
|
|
34
|
+
className?: string;
|
|
35
|
+
}
|
|
36
|
+
export declare const DownloadButton: React.ForwardRefExoticComponent<DownloadButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DownloadButton, type DownloadButtonProps } from "./download-button";
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EventCard
|
|
3
|
+
*
|
|
4
|
+
* Trigger: hover and press (plus in view). A minimal white card with the
|
|
5
|
+
* details of one event: a small kind line over the title, then the date and
|
|
6
|
+
* a time whose clock hands sweep round to the start when the card comes into
|
|
7
|
+
* view. Guests sit in a stack that fans out on hover with a name under each
|
|
8
|
+
* face, and the dashed plus adds a guest who pops in while the counts roll.
|
|
9
|
+
* The description fades out under its last line and Show more unfolds the
|
|
10
|
+
* rest. The action row pairs an ink Join button, whose arrow slides through
|
|
11
|
+
* on hover, with round tools drawn in GSAP: the copy sheets slide apart and
|
|
12
|
+
* swap to a check, the pencil rocks and draws a line, and the bin lifts its
|
|
13
|
+
* lid, then widens into a red Delete pill to confirm and leaves an Undo row.
|
|
14
|
+
* Everything rises in one row after another when the card scrolls into view.
|
|
15
|
+
* Reduced motion swaps the movement for fades.
|
|
16
|
+
*
|
|
17
|
+
* Engine: motion/react for the layout, stack, counts and states; gsap +
|
|
18
|
+
* @gsap/react for the icon drawings (scoped with useGSAP).
|
|
19
|
+
*/
|
|
20
|
+
import * as React from "react";
|
|
21
|
+
export interface EventGuest {
|
|
22
|
+
name: string;
|
|
23
|
+
/** Photo URL. Without one, initials on a soft disc. */
|
|
24
|
+
avatar?: string;
|
|
25
|
+
/** Whether they said yes. Default `true`. */
|
|
26
|
+
going?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface EventCardProps {
|
|
29
|
+
/** Event title. Default `"Product demo"`. */
|
|
30
|
+
title?: string;
|
|
31
|
+
/** When it starts. Default a Friday at 1:30 PM. */
|
|
32
|
+
start?: Date;
|
|
33
|
+
/** When it ends. Default two hours after the start. */
|
|
34
|
+
end?: Date;
|
|
35
|
+
/** People invited. Default six guests, one still to answer. */
|
|
36
|
+
guests?: EventGuest[];
|
|
37
|
+
/** What the event is about. Each string is a paragraph. */
|
|
38
|
+
about?: string[];
|
|
39
|
+
/** Locale for the date and time. Default `"en-US"`. */
|
|
40
|
+
locale?: string;
|
|
41
|
+
/** Called by the pencil. */
|
|
42
|
+
onEdit?: () => void;
|
|
43
|
+
/** Called once delete is confirmed. */
|
|
44
|
+
onDelete?: () => void;
|
|
45
|
+
/** Called by the plus. Default adds a sample guest so the stack can be tried. */
|
|
46
|
+
onInvite?: () => void;
|
|
47
|
+
/** What kind of event it is, shown as a tag. Default `"Video call"`. */
|
|
48
|
+
kind?: string;
|
|
49
|
+
/** Main button label. Default `"Join call"`. */
|
|
50
|
+
cta?: string;
|
|
51
|
+
/** Called by the main button. */
|
|
52
|
+
onJoin?: () => void;
|
|
53
|
+
className?: string;
|
|
54
|
+
}
|
|
55
|
+
export declare const EventCard: React.ForwardRefExoticComponent<EventCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { EventCard, type EventCardProps, type EventGuest } from "./event-card";
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FileDrop
|
|
3
|
+
*
|
|
4
|
+
* Trigger: drag (plus press). A white upload card with a drop zone. Drag files
|
|
5
|
+
* over it and the dashed border starts marching, the zone swells a touch, the
|
|
6
|
+
* cloud lifts and the line rolls to "Release to upload". Drop them and a ripple
|
|
7
|
+
* spreads from where they fell while the cloud gulps them down; the files
|
|
8
|
+
* slide into the list one after another. Each thumbnail develops like a photo,
|
|
9
|
+
* blurred and grey at first and sharpening as it uploads, while a slider runs
|
|
10
|
+
* along its track: an ink fill with a light sheen gliding through it and a
|
|
11
|
+
* round knob riding its tip, beside a rolling percent. Meanwhile a thin arc
|
|
12
|
+
* circles the cloud and the zone counts the files in flight. When a file
|
|
13
|
+
* finishes the track tucks away, a soft green wash sweeps the row, a faint
|
|
14
|
+
* green glow rises from the card's bottom edge to about halfway and fades, the
|
|
15
|
+
* thumbnail pops and a green check draws itself. Hover a finished row and the
|
|
16
|
+
* check turns into a bin. Deleting (or cancelling) breaks the row: a hairline
|
|
17
|
+
* crack draws down it and it shivers, then the two halves and a few small
|
|
18
|
+
* flakes become free pieces with a little physics, pushed outward and up with
|
|
19
|
+
* a spin, falling under gravity with air drag, lifting a shadow as they go and
|
|
20
|
+
* fading, while the list closes the gap. Files of the wrong type or too large shake and say why. Images
|
|
21
|
+
* dragged in from a web page arrive as links and are fetched into files. A
|
|
22
|
+
* ref's `add` takes files from anywhere else.
|
|
23
|
+
* Reduced motion keeps every state without movement.
|
|
24
|
+
*
|
|
25
|
+
* Engine: motion/react (springs and keyframes for the zone, ripple, glow and rows,
|
|
26
|
+
* motion values driving each slider, percent and developing thumbnail,
|
|
27
|
+
* AnimatePresence for the rows and the done check), with GSAP for the break:
|
|
28
|
+
* a timeline for the crack and shiver, then a ticker stepping the falling pieces.
|
|
29
|
+
*/
|
|
30
|
+
import * as React from "react";
|
|
31
|
+
export interface FileDropHandle {
|
|
32
|
+
/** Add files as if they were dropped. */
|
|
33
|
+
add: (files: File[]) => void;
|
|
34
|
+
}
|
|
35
|
+
export interface FileDropProps {
|
|
36
|
+
/** Accepted MIME types. Default PNG, JPEG and GIF. */
|
|
37
|
+
accept?: string[];
|
|
38
|
+
/** Largest file in bytes. Default 10 MB. */
|
|
39
|
+
maxSize?: number;
|
|
40
|
+
/** Your upload. Call `progress` with 0 to 1 as it goes. Default: a simulated upload. */
|
|
41
|
+
upload?: (file: File, progress: (p: number) => void) => Promise<void>;
|
|
42
|
+
/** Called each time a file finishes uploading. */
|
|
43
|
+
onUploaded?: (file: File) => void;
|
|
44
|
+
className?: string;
|
|
45
|
+
}
|
|
46
|
+
export declare const FileDrop: React.ForwardRefExoticComponent<FileDropProps & React.RefAttributes<FileDropHandle>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FileDrop, type FileDropProps, type FileDropHandle } from "./file-drop";
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FlipWords
|
|
3
|
+
*
|
|
4
|
+
* Trigger: timeline. One word in a sentence flips to the next on a loop. The
|
|
5
|
+
* outgoing word tips away while the incoming one flips up letter by letter in
|
|
6
|
+
* 3D, and the sentence reflows smoothly as the word's width changes. Screen
|
|
7
|
+
* readers hear the whole list once. Reduced motion swaps words without motion.
|
|
8
|
+
*
|
|
9
|
+
* Engine: motion/react (AnimatePresence with per-letter stagger, layout on the
|
|
10
|
+
* word slot for the width change).
|
|
11
|
+
*/
|
|
12
|
+
import * as React from "react";
|
|
13
|
+
export interface FlipWordsProps {
|
|
14
|
+
/** Text before the changing word. Default `"Build"`. */
|
|
15
|
+
before?: string;
|
|
16
|
+
/** Words to cycle through. Default `["playful", "precise", "fearless"]`. */
|
|
17
|
+
words?: string[];
|
|
18
|
+
/** Text after the changing word. Default `"interfaces"`. */
|
|
19
|
+
after?: string;
|
|
20
|
+
/** Milliseconds each word stays. Default `2400`. */
|
|
21
|
+
interval?: number;
|
|
22
|
+
/** Classes for the changing word. Default a violet tone. */
|
|
23
|
+
wordClassName?: string;
|
|
24
|
+
className?: string;
|
|
25
|
+
}
|
|
26
|
+
export declare const FlipWords: React.ForwardRefExoticComponent<FlipWordsProps & React.RefAttributes<HTMLParagraphElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FlipWords, type FlipWordsProps } from "./flip-words";
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FluxCard
|
|
3
|
+
*
|
|
4
|
+
* Trigger: in view and timeline, plus hover and press. A feature card on a
|
|
5
|
+
* pixelated gradient: the colour flows underneath, but it is drawn as a grid
|
|
6
|
+
* of small rounded squares, stepped into a few shades and dithered between
|
|
7
|
+
* them like an old screen. The pointer carries a negative magnetic field:
|
|
8
|
+
* squares near it shrink away to nothing and the colour is pushed outward,
|
|
9
|
+
* so a clear hole follows the pointer with a crowded, brighter rim around it.
|
|
10
|
+
* A press sends a shock wave through the grid. In front, a frosted focus
|
|
11
|
+
* timer counts down inside a shield, and notification pills drift in from
|
|
12
|
+
* the edges, hit the shield and get pushed back out; each one that bounces
|
|
13
|
+
* off makes the shield pulse, ripples the grid where it hit and adds to the
|
|
14
|
+
* held back count. The pills are repelled by the pointer too. Everything
|
|
15
|
+
* pauses off screen and in a hidden tab. Reduced motion keeps a still frame
|
|
16
|
+
* with the pills resting around the timer.
|
|
17
|
+
*
|
|
18
|
+
* Engine: motion/react (entrances, the shield pulse, rolling numbers) and a
|
|
19
|
+
* WebGL fragment shader (flow noise, Bayer dithering, the repelling field and
|
|
20
|
+
* press waves), with a small spring simulation for the pills, all on one
|
|
21
|
+
* requestAnimationFrame loop that runs only while the card is visible.
|
|
22
|
+
*/
|
|
23
|
+
import * as React from "react";
|
|
24
|
+
export type FluxPingIcon = "message" | "calendar" | "mail" | "bell" | "receipt";
|
|
25
|
+
export interface FluxPing {
|
|
26
|
+
label: string;
|
|
27
|
+
icon: FluxPingIcon;
|
|
28
|
+
}
|
|
29
|
+
export interface FluxCardProps {
|
|
30
|
+
/** Card title. Default `"Keep the noise out"`. */
|
|
31
|
+
title?: React.ReactNode;
|
|
32
|
+
/** Line under the title. */
|
|
33
|
+
description?: React.ReactNode;
|
|
34
|
+
/** The label inside the timer. Default `"Deep work"`. */
|
|
35
|
+
label?: string;
|
|
36
|
+
/** Length of the focus block in minutes. Default `25`. */
|
|
37
|
+
minutes?: number;
|
|
38
|
+
/** Notifications that drift in and bounce off. Up to six are used. */
|
|
39
|
+
pings?: FluxPing[];
|
|
40
|
+
/** Four colours for the main flow, deepest first. Default an ember ramp. */
|
|
41
|
+
colors?: [string, string, string, string];
|
|
42
|
+
/** A second colour dithered into the lower right. Default `"#5b5bff"`. */
|
|
43
|
+
accent?: string;
|
|
44
|
+
/** Size of each square in px, 6 to 24. Default `10`. */
|
|
45
|
+
pixel?: number;
|
|
46
|
+
/** How much the shades are dithered into each other, 0 to 1. Default `0.6`. */
|
|
47
|
+
dither?: number;
|
|
48
|
+
/** Strength of the repelling field around the pointer, 0 to 1. Default `0.8`. */
|
|
49
|
+
field?: number;
|
|
50
|
+
/** Reach of the field in px. Default `110`. */
|
|
51
|
+
radius?: number;
|
|
52
|
+
/** Flow speed, 0 (still) to 2. Default `0.6`. */
|
|
53
|
+
speed?: number;
|
|
54
|
+
className?: string;
|
|
55
|
+
}
|
|
56
|
+
export declare const FluxCard: React.ForwardRefExoticComponent<FluxCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FluxCard, type FluxCardProps, type FluxPing, type FluxPingIcon, } from "./flux-card";
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FuseButton
|
|
3
|
+
*
|
|
4
|
+
* Trigger: press, then a timed undo. Pressing the action swaps the label for a
|
|
5
|
+
* ghost Undo button inside the same shell, held open by a burning fuse. The
|
|
6
|
+
* fuse is the button's own outline: it burns back around the edge with embers
|
|
7
|
+
* drifting off the burning end. Undo before it runs out to roll back; let it
|
|
8
|
+
* burn and the action sticks, shown by a brief done label with a check. The
|
|
9
|
+
* fuse keeps burning under the pointer and only stops, rewinding, when Undo is
|
|
10
|
+
* pressed. Focus moves to Undo, and Escape undoes. Both states share one size,
|
|
11
|
+
* and only transform and opacity animate.
|
|
12
|
+
*
|
|
13
|
+
* Engine: motion/react (one motion value drives the outline and the embers,
|
|
14
|
+
* AnimatePresence for the state swap, pathLength for the outline).
|
|
15
|
+
*/
|
|
16
|
+
import * as React from "react";
|
|
17
|
+
declare const SIZES: {
|
|
18
|
+
readonly sm: {
|
|
19
|
+
readonly box: "h-9 text-[12px]";
|
|
20
|
+
readonly pad: "px-4";
|
|
21
|
+
readonly inset: 3;
|
|
22
|
+
};
|
|
23
|
+
readonly md: {
|
|
24
|
+
readonly box: "h-11 text-sm";
|
|
25
|
+
readonly pad: "px-5";
|
|
26
|
+
readonly inset: 4;
|
|
27
|
+
};
|
|
28
|
+
readonly lg: {
|
|
29
|
+
readonly box: "h-14 text-base";
|
|
30
|
+
readonly pad: "px-6";
|
|
31
|
+
readonly inset: 6;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
export interface FuseButtonProps {
|
|
35
|
+
/** Action label. Default `"Archive"`. */
|
|
36
|
+
children?: React.ReactNode;
|
|
37
|
+
/** Icon before the action label. Default an archive icon. Pass `null` for none. */
|
|
38
|
+
icon?: React.ReactNode;
|
|
39
|
+
/** Label shown with a check once the fuse runs out. Default `"Archived"`. */
|
|
40
|
+
doneLabel?: React.ReactNode;
|
|
41
|
+
/** Undo button label. Default `"Undo"`. */
|
|
42
|
+
undoLabel?: React.ReactNode;
|
|
43
|
+
/** Height and padding preset. Default `"md"`. */
|
|
44
|
+
size?: keyof typeof SIZES;
|
|
45
|
+
/** Corner radius in px. Default fully rounded. */
|
|
46
|
+
radius?: number;
|
|
47
|
+
/** Text color, any CSS color. Default near-black (near-white in dark mode). */
|
|
48
|
+
textColor?: string;
|
|
49
|
+
/** Background color, any CSS color. Default white (dark grey in dark mode). */
|
|
50
|
+
background?: string;
|
|
51
|
+
/** Fuse and ember color. Default `"#f5a524"`. */
|
|
52
|
+
fuseColor?: string;
|
|
53
|
+
/** How long the undo window (the fuse) lasts, in ms. Default `4000`. */
|
|
54
|
+
duration?: number;
|
|
55
|
+
/** Fuse stroke width in px. Default `2.5`. */
|
|
56
|
+
fuseThickness?: number;
|
|
57
|
+
/** Length of the swap between states, in ms. Default `320`. */
|
|
58
|
+
crossfade?: number;
|
|
59
|
+
/** Fire `onCommit` right away on `"press"` (optimistic) or when the `"fuse"` runs out. Default `"press"`. */
|
|
60
|
+
commitOn?: "press" | "fuse";
|
|
61
|
+
/** When the fuse runs out, `"reset"` back to the action or `"stay"` done. Default `"reset"`. */
|
|
62
|
+
afterFuse?: "reset" | "stay";
|
|
63
|
+
/** How long the done state shows before a reset, in ms. Default `1600`. */
|
|
64
|
+
resetAfter?: number;
|
|
65
|
+
/** Pause the fuse while the pointer is over the button. Off by default: the fuse only stops when Undo is pressed. */
|
|
66
|
+
pauseOnHover?: boolean;
|
|
67
|
+
/** Called when the action applies. Timing follows `commitOn`. */
|
|
68
|
+
onCommit?: () => void;
|
|
69
|
+
/** Called when Undo is pressed before the fuse runs out. */
|
|
70
|
+
onUndo?: () => void;
|
|
71
|
+
disabled?: boolean;
|
|
72
|
+
className?: string;
|
|
73
|
+
}
|
|
74
|
+
export declare const FuseButton: React.ForwardRefExoticComponent<FuseButtonProps & React.RefAttributes<HTMLDivElement>>;
|
|
75
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FuseButton, type FuseButtonProps } from "./fuse-button";
|