@nascentdigital/funnel-ui 4.4.18

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.
Files changed (467) hide show
  1. package/dist/Tailwind.d.ts +201 -0
  2. package/dist/Tailwind.js +282 -0
  3. package/dist/client/app/AppContainer.d.ts +10 -0
  4. package/dist/client/app/AppContainer.js +22 -0
  5. package/dist/client/app/AppContext.d.ts +11 -0
  6. package/dist/client/app/AppContext.js +6 -0
  7. package/dist/client/app/AppPreview.d.ts +7 -0
  8. package/dist/client/app/AppPreview.js +51 -0
  9. package/dist/client/app/PageContainer.d.ts +8 -0
  10. package/dist/client/app/PageContainer.js +22 -0
  11. package/dist/client/app/index.d.ts +9 -0
  12. package/dist/client/app/index.js +25 -0
  13. package/dist/client/app/useAppConfig.d.ts +2 -0
  14. package/dist/client/app/useAppConfig.js +9 -0
  15. package/dist/client/app/useBrand.d.ts +9 -0
  16. package/dist/client/app/useBrand.js +17 -0
  17. package/dist/client/app/useLanguage.d.ts +2 -0
  18. package/dist/client/app/useLanguage.js +11 -0
  19. package/dist/client/app/usePageData.d.ts +2 -0
  20. package/dist/client/app/usePageData.js +25 -0
  21. package/dist/client/app/usePageUrl.d.ts +1 -0
  22. package/dist/client/app/usePageUrl.js +12 -0
  23. package/dist/client/app/useRegion.d.ts +1 -0
  24. package/dist/client/app/useRegion.js +10 -0
  25. package/dist/client/app/useSite.d.ts +2 -0
  26. package/dist/client/app/useSite.js +13 -0
  27. package/dist/client/atomic/AnimatedText.d.ts +12 -0
  28. package/dist/client/atomic/AnimatedText.js +90 -0
  29. package/dist/client/atomic/MaskedInput.d.ts +20 -0
  30. package/dist/client/atomic/MaskedInput.js +63 -0
  31. package/dist/client/atomic/index.d.ts +2 -0
  32. package/dist/client/atomic/index.js +18 -0
  33. package/dist/client/fields/EmbeddedVideo/EmbeddedPlayer.d.ts +36 -0
  34. package/dist/client/fields/EmbeddedVideo/EmbeddedPlayer.js +2 -0
  35. package/dist/client/fields/EmbeddedVideo/EmbeddedVideo.d.ts +13 -0
  36. package/dist/client/fields/EmbeddedVideo/EmbeddedVideo.js +22 -0
  37. package/dist/client/fields/EmbeddedVideo/EmbeddedVideoContainer.d.ts +7 -0
  38. package/dist/client/fields/EmbeddedVideo/EmbeddedVideoContainer.js +24 -0
  39. package/dist/client/fields/EmbeddedVideo/EmbeddedVideoContext.d.ts +8 -0
  40. package/dist/client/fields/EmbeddedVideo/EmbeddedVideoContext.js +11 -0
  41. package/dist/client/fields/EmbeddedVideo/index.d.ts +4 -0
  42. package/dist/client/fields/EmbeddedVideo/index.js +20 -0
  43. package/dist/client/fields/EmbeddedVideo/useEmbeddedPlayerProgress.d.ts +10 -0
  44. package/dist/client/fields/EmbeddedVideo/useEmbeddedPlayerProgress.js +66 -0
  45. package/dist/client/fields/EmbeddedVideo/useEmbeddedPlayerRef.d.ts +9 -0
  46. package/dist/client/fields/EmbeddedVideo/useEmbeddedPlayerRef.js +29 -0
  47. package/dist/client/fields/EmbeddedVideo/vimeo/VimeoPlayer.d.ts +63 -0
  48. package/dist/client/fields/EmbeddedVideo/vimeo/VimeoPlayer.js +326 -0
  49. package/dist/client/fields/EmbeddedVideo/vimeo/VimeoVideo.d.ts +13 -0
  50. package/dist/client/fields/EmbeddedVideo/vimeo/VimeoVideo.js +60 -0
  51. package/dist/client/fields/EmbeddedVideo/vimeo/index.d.ts +1 -0
  52. package/dist/client/fields/EmbeddedVideo/vimeo/index.js +17 -0
  53. package/dist/client/fields/EmbeddedVideo/youtube/YTApi.d.ts +92 -0
  54. package/dist/client/fields/EmbeddedVideo/youtube/YTApi.js +24 -0
  55. package/dist/client/fields/EmbeddedVideo/youtube/YoutubePlayer.d.ts +56 -0
  56. package/dist/client/fields/EmbeddedVideo/youtube/YoutubePlayer.js +288 -0
  57. package/dist/client/fields/EmbeddedVideo/youtube/YoutubeVideo.d.ts +13 -0
  58. package/dist/client/fields/EmbeddedVideo/youtube/YoutubeVideo.js +71 -0
  59. package/dist/client/fields/EmbeddedVideo/youtube/index.d.ts +3 -0
  60. package/dist/client/fields/EmbeddedVideo/youtube/index.js +19 -0
  61. package/dist/client/fields/LazyVideo.d.ts +8 -0
  62. package/dist/client/fields/LazyVideo.js +100 -0
  63. package/dist/client/fields/index.d.ts +2 -0
  64. package/dist/client/fields/index.js +18 -0
  65. package/dist/client/forms/Form.d.ts +13 -0
  66. package/dist/client/forms/Form.js +68 -0
  67. package/dist/client/forms/FormContext.d.ts +5 -0
  68. package/dist/client/forms/FormContext.js +6 -0
  69. package/dist/client/forms/fields/BooleanField.d.ts +16 -0
  70. package/dist/client/forms/fields/BooleanField.js +47 -0
  71. package/dist/client/forms/fields/EnumField.d.ts +20 -0
  72. package/dist/client/forms/fields/EnumField.js +65 -0
  73. package/dist/client/forms/fields/Field.d.ts +15 -0
  74. package/dist/client/forms/fields/Field.js +39 -0
  75. package/dist/client/forms/fields/FieldErrorController.d.ts +12 -0
  76. package/dist/client/forms/fields/FieldErrorController.js +13 -0
  77. package/dist/client/forms/fields/FieldLayout.d.ts +16 -0
  78. package/dist/client/forms/fields/FieldLayout.js +32 -0
  79. package/dist/client/forms/fields/TextField.d.ts +25 -0
  80. package/dist/client/forms/fields/TextField.js +178 -0
  81. package/dist/client/forms/fields/index.d.ts +2 -0
  82. package/dist/client/forms/fields/index.js +18 -0
  83. package/dist/client/forms/fields/useField.d.ts +2 -0
  84. package/dist/client/forms/fields/useField.js +26 -0
  85. package/dist/client/forms/index.d.ts +4 -0
  86. package/dist/client/forms/index.js +20 -0
  87. package/dist/client/forms/interactive/CheckboxField.d.ts +14 -0
  88. package/dist/client/forms/interactive/CheckboxField.js +19 -0
  89. package/dist/client/forms/interactive/RadioField.d.ts +12 -0
  90. package/dist/client/forms/interactive/RadioField.js +16 -0
  91. package/dist/client/forms/interactive/RadioGroupField.d.ts +12 -0
  92. package/dist/client/forms/interactive/RadioGroupField.js +10 -0
  93. package/dist/client/forms/interactive/SelectField.d.ts +17 -0
  94. package/dist/client/forms/interactive/SelectField.js +16 -0
  95. package/dist/client/forms/interactive/index.d.ts +4 -0
  96. package/dist/client/forms/interactive/index.js +20 -0
  97. package/dist/client/forms/useForm.d.ts +2 -0
  98. package/dist/client/forms/useForm.js +17 -0
  99. package/dist/client/forms/useTempFields.d.ts +7 -0
  100. package/dist/client/forms/useTempFields.js +54 -0
  101. package/dist/client/hooks/assets/index.d.ts +2 -0
  102. package/dist/client/hooks/assets/index.js +18 -0
  103. package/dist/client/hooks/assets/useImageProxy.d.ts +2 -0
  104. package/dist/client/hooks/assets/useImageProxy.js +43 -0
  105. package/dist/client/hooks/assets/useVideoProxy.d.ts +2 -0
  106. package/dist/client/hooks/assets/useVideoProxy.js +43 -0
  107. package/dist/client/hooks/breakpoint/BreakpointContainer.d.ts +9 -0
  108. package/dist/client/hooks/breakpoint/BreakpointContainer.js +39 -0
  109. package/dist/client/hooks/breakpoint/BreakpointContext.d.ts +7 -0
  110. package/dist/client/hooks/breakpoint/BreakpointContext.js +9 -0
  111. package/dist/client/hooks/breakpoint/index.d.ts +3 -0
  112. package/dist/client/hooks/breakpoint/index.js +19 -0
  113. package/dist/client/hooks/breakpoint/useCurrentBreakpoint.d.ts +2 -0
  114. package/dist/client/hooks/breakpoint/useCurrentBreakpoint.js +10 -0
  115. package/dist/client/hooks/index.d.ts +26 -0
  116. package/dist/client/hooks/index.js +42 -0
  117. package/dist/client/hooks/ui-lock/UILockContainer.d.ts +5 -0
  118. package/dist/client/hooks/ui-lock/UILockContainer.js +57 -0
  119. package/dist/client/hooks/ui-lock/UILockContext.d.ts +9 -0
  120. package/dist/client/hooks/ui-lock/UILockContext.js +6 -0
  121. package/dist/client/hooks/ui-lock/UILockRef.d.ts +36 -0
  122. package/dist/client/hooks/ui-lock/UILockRef.js +32 -0
  123. package/dist/client/hooks/ui-lock/index.d.ts +3 -0
  124. package/dist/client/hooks/ui-lock/index.js +19 -0
  125. package/dist/client/hooks/ui-lock/useUILock.d.ts +16 -0
  126. package/dist/client/hooks/ui-lock/useUILock.js +121 -0
  127. package/dist/client/hooks/useCounter.d.ts +11 -0
  128. package/dist/client/hooks/useCounter.js +57 -0
  129. package/dist/client/hooks/useCycle.d.ts +5 -0
  130. package/dist/client/hooks/useCycle.js +15 -0
  131. package/dist/client/hooks/useElementRect.d.ts +2 -0
  132. package/dist/client/hooks/useElementRect.js +63 -0
  133. package/dist/client/hooks/useElementScrolled.d.ts +17 -0
  134. package/dist/client/hooks/useElementScrolled.js +51 -0
  135. package/dist/client/hooks/useElementSelector.d.ts +2 -0
  136. package/dist/client/hooks/useElementSelector.js +160 -0
  137. package/dist/client/hooks/useElementSize.d.ts +2 -0
  138. package/dist/client/hooks/useElementSize.js +64 -0
  139. package/dist/client/hooks/useFindElements.d.ts +9 -0
  140. package/dist/client/hooks/useFindElements.js +147 -0
  141. package/dist/client/hooks/useInViewport.d.ts +16 -0
  142. package/dist/client/hooks/useInViewport.js +46 -0
  143. package/dist/client/hooks/useIsDesktop.d.ts +1 -0
  144. package/dist/client/hooks/useIsDesktop.js +22 -0
  145. package/dist/client/hooks/useKeyboardFocus.d.ts +7 -0
  146. package/dist/client/hooks/useKeyboardFocus.js +40 -0
  147. package/dist/client/hooks/useLatestValue.d.ts +1 -0
  148. package/dist/client/hooks/useLatestValue.js +21 -0
  149. package/dist/client/hooks/useLock.d.ts +13 -0
  150. package/dist/client/hooks/useLock.js +161 -0
  151. package/dist/client/hooks/useMixedResponsiveValue.d.ts +2 -0
  152. package/dist/client/hooks/useMixedResponsiveValue.js +20 -0
  153. package/dist/client/hooks/usePathname.d.ts +9 -0
  154. package/dist/client/hooks/usePathname.js +25 -0
  155. package/dist/client/hooks/useRefElement.d.ts +8 -0
  156. package/dist/client/hooks/useRefElement.js +34 -0
  157. package/dist/client/hooks/useRefresh.d.ts +2 -0
  158. package/dist/client/hooks/useRefresh.js +25 -0
  159. package/dist/client/hooks/useResizeObserver.d.ts +5 -0
  160. package/dist/client/hooks/useResizeObserver.js +179 -0
  161. package/dist/client/hooks/useResponsiveValue.d.ts +2 -0
  162. package/dist/client/hooks/useResponsiveValue.js +16 -0
  163. package/dist/client/hooks/useRouter.d.ts +20 -0
  164. package/dist/client/hooks/useRouter.js +49 -0
  165. package/dist/client/hooks/useSafeLayoutEffect.d.ts +2 -0
  166. package/dist/client/hooks/useSafeLayoutEffect.js +9 -0
  167. package/dist/client/hooks/useTouch.d.ts +2 -0
  168. package/dist/client/hooks/useTouch.js +10 -0
  169. package/dist/client/hooks/useViewportSize.d.ts +7 -0
  170. package/dist/client/hooks/useViewportSize.js +66 -0
  171. package/dist/client/hooks/useWindowScrolled.d.ts +8 -0
  172. package/dist/client/hooks/useWindowScrolled.js +52 -0
  173. package/dist/client/index.d.ts +9 -0
  174. package/dist/client/index.js +25 -0
  175. package/dist/client/interaction/Carousel.d.ts +48 -0
  176. package/dist/client/interaction/Carousel.js +498 -0
  177. package/dist/client/interaction/ClickObserver.d.ts +19 -0
  178. package/dist/client/interaction/ClickObserver.js +76 -0
  179. package/dist/client/interaction/InfiniteScroller.d.ts +9 -0
  180. package/dist/client/interaction/InfiniteScroller.js +47 -0
  181. package/dist/client/interaction/Loader.d.ts +14 -0
  182. package/dist/client/interaction/Loader.js +74 -0
  183. package/dist/client/interaction/Marquee.d.ts +5 -0
  184. package/dist/client/interaction/Marquee.js +26 -0
  185. package/dist/client/interaction/Popup.d.ts +36 -0
  186. package/dist/client/interaction/Popup.js +244 -0
  187. package/dist/client/interaction/Tooltip.d.ts +16 -0
  188. package/dist/client/interaction/Tooltip.js +122 -0
  189. package/dist/client/interaction/UILevel.d.ts +1 -0
  190. package/dist/client/interaction/UILevel.js +2 -0
  191. package/dist/client/interaction/backdrop/BackdropContainer.d.ts +5 -0
  192. package/dist/client/interaction/backdrop/BackdropContainer.js +114 -0
  193. package/dist/client/interaction/backdrop/BackdropContext.d.ts +8 -0
  194. package/dist/client/interaction/backdrop/BackdropContext.js +6 -0
  195. package/dist/client/interaction/backdrop/BackdropEvent.d.ts +64 -0
  196. package/dist/client/interaction/backdrop/BackdropEvent.js +92 -0
  197. package/dist/client/interaction/backdrop/index.d.ts +4 -0
  198. package/dist/client/interaction/backdrop/index.js +20 -0
  199. package/dist/client/interaction/backdrop/useBackdrop.d.ts +13 -0
  200. package/dist/client/interaction/backdrop/useBackdrop.js +58 -0
  201. package/dist/client/interaction/backdrop/useBackdropClick.d.ts +2 -0
  202. package/dist/client/interaction/backdrop/useBackdropClick.js +21 -0
  203. package/dist/client/interaction/backdrop/useBackdropVisible.d.ts +1 -0
  204. package/dist/client/interaction/backdrop/useBackdropVisible.js +30 -0
  205. package/dist/client/interaction/focus/FocusArea.d.ts +10 -0
  206. package/dist/client/interaction/focus/FocusArea.js +38 -0
  207. package/dist/client/interaction/focus/FocusContext.d.ts +7 -0
  208. package/dist/client/interaction/focus/FocusContext.js +7 -0
  209. package/dist/client/interaction/focus/FocusController.d.ts +9 -0
  210. package/dist/client/interaction/focus/FocusController.js +40 -0
  211. package/dist/client/interaction/focus/FocusService.d.ts +20 -0
  212. package/dist/client/interaction/focus/FocusService.js +204 -0
  213. package/dist/client/interaction/focus/LinkedList.d.ts +18 -0
  214. package/dist/client/interaction/focus/LinkedList.js +122 -0
  215. package/dist/client/interaction/focus/index.d.ts +2 -0
  216. package/dist/client/interaction/focus/index.js +18 -0
  217. package/dist/client/interaction/focus/useFocusService.d.ts +2 -0
  218. package/dist/client/interaction/focus/useFocusService.js +14 -0
  219. package/dist/client/interaction/index.d.ts +12 -0
  220. package/dist/client/interaction/index.js +28 -0
  221. package/dist/client/interaction/modal/Modal.d.ts +29 -0
  222. package/dist/client/interaction/modal/Modal.js +136 -0
  223. package/dist/client/interaction/modal/ModalContainer.d.ts +5 -0
  224. package/dist/client/interaction/modal/ModalContainer.js +104 -0
  225. package/dist/client/interaction/modal/ModalContext.d.ts +8 -0
  226. package/dist/client/interaction/modal/ModalContext.js +6 -0
  227. package/dist/client/interaction/modal/ModalEvent.d.ts +39 -0
  228. package/dist/client/interaction/modal/ModalEvent.js +53 -0
  229. package/dist/client/interaction/modal/index.d.ts +2 -0
  230. package/dist/client/interaction/modal/index.js +18 -0
  231. package/dist/client/interaction/paginator/Paginator.d.ts +33 -0
  232. package/dist/client/interaction/paginator/Paginator.js +67 -0
  233. package/dist/client/interaction/paginator/index.d.ts +1 -0
  234. package/dist/client/interaction/paginator/index.js +17 -0
  235. package/dist/client/layouts/MasonaryLayout.d.ts +7 -0
  236. package/dist/client/layouts/MasonaryLayout.js +53 -0
  237. package/dist/client/layouts/index.d.ts +1 -0
  238. package/dist/client/layouts/index.js +17 -0
  239. package/dist/client/refs.d.ts +2 -0
  240. package/dist/client/refs.js +13 -0
  241. package/dist/client/transitions/Revelator.d.ts +42 -0
  242. package/dist/client/transitions/Revelator.js +60 -0
  243. package/dist/client/transitions/SideScroll.d.ts +14 -0
  244. package/dist/client/transitions/SideScroll.js +51 -0
  245. package/dist/client/transitions/StyleInViewport.d.ts +20 -0
  246. package/dist/client/transitions/StyleInViewport.js +66 -0
  247. package/dist/client/transitions/StyleSwitch.d.ts +297 -0
  248. package/dist/client/transitions/StyleSwitch.js +78 -0
  249. package/dist/client/transitions/index.d.ts +6 -0
  250. package/dist/client/transitions/index.js +22 -0
  251. package/dist/client/transitions/parallax/Parallax.d.ts +20 -0
  252. package/dist/client/transitions/parallax/Parallax.js +72 -0
  253. package/dist/client/transitions/parallax/ParallaxContext.d.ts +11 -0
  254. package/dist/client/transitions/parallax/ParallaxContext.js +6 -0
  255. package/dist/client/transitions/parallax/ParallaxItem.d.ts +14 -0
  256. package/dist/client/transitions/parallax/ParallaxItem.js +37 -0
  257. package/dist/client/transitions/parallax/ParallaxRemote.d.ts +29 -0
  258. package/dist/client/transitions/parallax/ParallaxRemote.js +136 -0
  259. package/dist/client/transitions/parallax/ParallaxUtils.d.ts +5 -0
  260. package/dist/client/transitions/parallax/ParallaxUtils.js +19 -0
  261. package/dist/client/transitions/parallax/index.d.ts +2 -0
  262. package/dist/client/transitions/parallax/index.js +18 -0
  263. package/dist/client/transitions/parallax/useDisableParallax.d.ts +4 -0
  264. package/dist/client/transitions/parallax/useDisableParallax.js +13 -0
  265. package/dist/client/transitions/parallax/useParallax.d.ts +2 -0
  266. package/dist/client/transitions/parallax/useParallax.js +18 -0
  267. package/dist/client/transitions/parallax/useTransforms.d.ts +34 -0
  268. package/dist/client/transitions/parallax/useTransforms.js +176 -0
  269. package/dist/client/transitions/reveal/Reveal.d.ts +14 -0
  270. package/dist/client/transitions/reveal/Reveal.js +75 -0
  271. package/dist/client/transitions/reveal/RevealAnimation.d.ts +17 -0
  272. package/dist/client/transitions/reveal/RevealAnimation.js +2 -0
  273. package/dist/client/transitions/reveal/RevealAnimator.d.ts +13 -0
  274. package/dist/client/transitions/reveal/RevealAnimator.js +41 -0
  275. package/dist/client/transitions/reveal/RevealController.d.ts +13 -0
  276. package/dist/client/transitions/reveal/RevealController.js +114 -0
  277. package/dist/client/transitions/reveal/RevealElementAnimator.d.ts +13 -0
  278. package/dist/client/transitions/reveal/RevealElementAnimator.js +65 -0
  279. package/dist/client/transitions/reveal/index.d.ts +2 -0
  280. package/dist/client/transitions/reveal/index.js +18 -0
  281. package/dist/client/utils/OnKey.d.ts +20 -0
  282. package/dist/client/utils/OnKey.js +33 -0
  283. package/dist/client/utils/SharedMutationObserver.d.ts +20 -0
  284. package/dist/client/utils/SharedMutationObserver.js +202 -0
  285. package/dist/client/utils/index.d.ts +2 -0
  286. package/dist/client/utils/index.js +18 -0
  287. package/dist/server/atomic/Markup.d.ts +14 -0
  288. package/dist/server/atomic/Markup.js +34 -0
  289. package/dist/server/atomic/NascentLogo.d.ts +6 -0
  290. package/dist/server/atomic/NascentLogo.js +9 -0
  291. package/dist/server/atomic/index.d.ts +2 -0
  292. package/dist/server/atomic/index.js +18 -0
  293. package/dist/server/blocks/Block.d.ts +16 -0
  294. package/dist/server/blocks/Block.js +92 -0
  295. package/dist/server/blocks/Clients.d.ts +33 -0
  296. package/dist/server/blocks/Clients.js +82 -0
  297. package/dist/server/blocks/Editorial.d.ts +33 -0
  298. package/dist/server/blocks/Editorial.js +80 -0
  299. package/dist/server/blocks/Form.d.ts +46 -0
  300. package/dist/server/blocks/Form.js +74 -0
  301. package/dist/server/blocks/FormMessage.d.ts +15 -0
  302. package/dist/server/blocks/FormMessage.js +37 -0
  303. package/dist/server/blocks/MediaLayout.d.ts +309 -0
  304. package/dist/server/blocks/MediaLayout.js +105 -0
  305. package/dist/server/blocks/Message.d.ts +76 -0
  306. package/dist/server/blocks/Message.js +352 -0
  307. package/dist/server/blocks/Outcome.d.ts +84 -0
  308. package/dist/server/blocks/Outcome.js +489 -0
  309. package/dist/server/blocks/OutcomeDetail.d.ts +303 -0
  310. package/dist/server/blocks/OutcomeDetail.js +63 -0
  311. package/dist/server/blocks/Projects.d.ts +43 -0
  312. package/dist/server/blocks/Projects.js +109 -0
  313. package/dist/server/blocks/Stat.d.ts +325 -0
  314. package/dist/server/blocks/Stat.js +107 -0
  315. package/dist/server/blocks/Stats.d.ts +36 -0
  316. package/dist/server/blocks/Stats.js +79 -0
  317. package/dist/server/blocks/Testimonial.d.ts +30 -0
  318. package/dist/server/blocks/Testimonial.js +68 -0
  319. package/dist/server/blocks/ValueProp.d.ts +43 -0
  320. package/dist/server/blocks/ValueProp.js +125 -0
  321. package/dist/server/blocks/index.d.ts +13 -0
  322. package/dist/server/blocks/index.js +29 -0
  323. package/dist/server/data/PrePaginator.d.ts +8 -0
  324. package/dist/server/data/PrePaginator.js +30 -0
  325. package/dist/server/data/index.d.ts +1 -0
  326. package/dist/server/data/index.js +17 -0
  327. package/dist/server/entities/Client.d.ts +327 -0
  328. package/dist/server/entities/Client.js +118 -0
  329. package/dist/server/entities/ClientBadge.d.ts +293 -0
  330. package/dist/server/entities/ClientBadge.js +37 -0
  331. package/dist/server/entities/Person.d.ts +314 -0
  332. package/dist/server/entities/Person.js +98 -0
  333. package/dist/server/entities/Project.d.ts +329 -0
  334. package/dist/server/entities/Project.js +112 -0
  335. package/dist/server/entities/UniqueSellingPoint.d.ts +327 -0
  336. package/dist/server/entities/UniqueSellingPoint.js +119 -0
  337. package/dist/server/entities/index.d.ts +6 -0
  338. package/dist/server/entities/index.js +22 -0
  339. package/dist/server/entities/previews/MessagePreview.d.ts +299 -0
  340. package/dist/server/entities/previews/MessagePreview.js +41 -0
  341. package/dist/server/entities/previews/PagePreview.d.ts +10 -0
  342. package/dist/server/entities/previews/PagePreview.js +42 -0
  343. package/dist/server/entities/previews/index.d.ts +2 -0
  344. package/dist/server/entities/previews/index.js +18 -0
  345. package/dist/server/fields/Caption.d.ts +13 -0
  346. package/dist/server/fields/Caption.js +45 -0
  347. package/dist/server/fields/Description.d.ts +13 -0
  348. package/dist/server/fields/Description.js +46 -0
  349. package/dist/server/fields/FreeFormContent.d.ts +17 -0
  350. package/dist/server/fields/FreeFormContent.js +43 -0
  351. package/dist/server/fields/Headline.d.ts +13 -0
  352. package/dist/server/fields/Headline.js +46 -0
  353. package/dist/server/fields/Icon.d.ts +10 -0
  354. package/dist/server/fields/Icon.js +39 -0
  355. package/dist/server/fields/Link.d.ts +16 -0
  356. package/dist/server/fields/Link.js +61 -0
  357. package/dist/server/fields/Quote.d.ts +13 -0
  358. package/dist/server/fields/Quote.js +46 -0
  359. package/dist/server/fields/RichText.d.ts +296 -0
  360. package/dist/server/fields/RichText.js +217 -0
  361. package/dist/server/fields/Title.d.ts +292 -0
  362. package/dist/server/fields/Title.js +38 -0
  363. package/dist/server/fields/Visual.d.ts +12 -0
  364. package/dist/server/fields/Visual.js +66 -0
  365. package/dist/server/fields/index.d.ts +10 -0
  366. package/dist/server/fields/index.js +26 -0
  367. package/dist/server/index.d.ts +9 -0
  368. package/dist/server/index.js +25 -0
  369. package/dist/server/panels/BlockPanel.d.ts +14 -0
  370. package/dist/server/panels/BlockPanel.js +56 -0
  371. package/dist/server/panels/MessagePanel.d.ts +31 -0
  372. package/dist/server/panels/MessagePanel.js +81 -0
  373. package/dist/server/panels/VisualPanel.d.ts +36 -0
  374. package/dist/server/panels/VisualPanel.js +143 -0
  375. package/dist/server/panels/index.d.ts +3 -0
  376. package/dist/server/panels/index.js +19 -0
  377. package/dist/server/schema/Anchor.d.ts +7 -0
  378. package/dist/server/schema/Anchor.js +24 -0
  379. package/dist/server/schema/AspectRatio.d.ts +9 -0
  380. package/dist/server/schema/AspectRatio.js +43 -0
  381. package/dist/server/schema/BlockConfig.d.ts +56 -0
  382. package/dist/server/schema/BlockConfig.js +192 -0
  383. package/dist/server/schema/CollectionSchema.d.ts +4 -0
  384. package/dist/server/schema/CollectionSchema.js +15 -0
  385. package/dist/server/schema/ItemAlignment.d.ts +12 -0
  386. package/dist/server/schema/ItemAlignment.js +42 -0
  387. package/dist/server/schema/ItemPosition.d.ts +6 -0
  388. package/dist/server/schema/ItemPosition.js +25 -0
  389. package/dist/server/schema/ItemSize.d.ts +6 -0
  390. package/dist/server/schema/ItemSize.js +24 -0
  391. package/dist/server/schema/TextAlignment.d.ts +6 -0
  392. package/dist/server/schema/TextAlignment.js +22 -0
  393. package/dist/server/schema/index.d.ts +8 -0
  394. package/dist/server/schema/index.js +24 -0
  395. package/dist/server/sections/index.d.ts +1 -0
  396. package/dist/server/sections/index.js +17 -0
  397. package/dist/server/sections/renderSection.d.ts +6 -0
  398. package/dist/server/sections/renderSection.js +19 -0
  399. package/dist/server/transitions/Slide.d.ts +293 -0
  400. package/dist/server/transitions/Slide.js +31 -0
  401. package/dist/server/transitions/index.d.ts +3 -0
  402. package/dist/server/transitions/index.js +19 -0
  403. package/dist/styles/app/AppPreview.css +49 -0
  404. package/dist/styles/app/_index.css +1 -0
  405. package/dist/styles/base/_index.css +2 -0
  406. package/dist/styles/base/global.css +9 -0
  407. package/dist/styles/base/tailwind.css +3 -0
  408. package/dist/styles/blocks/Block-layout.css +244 -0
  409. package/dist/styles/blocks/Block-spacing.css +150 -0
  410. package/dist/styles/blocks/Block-theming.css +14 -0
  411. package/dist/styles/blocks/Clients.css +10 -0
  412. package/dist/styles/blocks/Editorial.css +133 -0
  413. package/dist/styles/blocks/Form.css +13 -0
  414. package/dist/styles/blocks/MediaLayout.css +215 -0
  415. package/dist/styles/blocks/Message.css +353 -0
  416. package/dist/styles/blocks/Outcome.css +83 -0
  417. package/dist/styles/blocks/Projects.css +18 -0
  418. package/dist/styles/blocks/Stat.css +45 -0
  419. package/dist/styles/blocks/Stats.css +38 -0
  420. package/dist/styles/blocks/Testimonial.css +323 -0
  421. package/dist/styles/blocks/ValueProp.css +135 -0
  422. package/dist/styles/blocks/_index.css +14 -0
  423. package/dist/styles/components/_index.css +3 -0
  424. package/dist/styles/components/container.css +58 -0
  425. package/dist/styles/components/divider.css +6 -0
  426. package/dist/styles/components/embed/VimeoPlayer.css +49 -0
  427. package/dist/styles/components/embed/YoutubePlayer.css +72 -0
  428. package/dist/styles/components/embed/_index.css +2 -0
  429. package/dist/styles/entities/Client.css +5 -0
  430. package/dist/styles/entities/ClientBadge.css +14 -0
  431. package/dist/styles/entities/Person.css +76 -0
  432. package/dist/styles/entities/Project.css +44 -0
  433. package/dist/styles/entities/UniqueSellingPoint.css +54 -0
  434. package/dist/styles/entities/_index.css +5 -0
  435. package/dist/styles/fields/Caption.css +23 -0
  436. package/dist/styles/fields/Description.css +23 -0
  437. package/dist/styles/fields/FreeFormContent.css +24 -0
  438. package/dist/styles/fields/Headline.css +38 -0
  439. package/dist/styles/fields/Icon.css +20 -0
  440. package/dist/styles/fields/LazyVideo.css +12 -0
  441. package/dist/styles/fields/Link.css +16 -0
  442. package/dist/styles/fields/Quote.css +48 -0
  443. package/dist/styles/fields/RichText.css +243 -0
  444. package/dist/styles/fields/Title.css +17 -0
  445. package/dist/styles/fields/Visual.css +27 -0
  446. package/dist/styles/fields/_index.css +11 -0
  447. package/dist/styles/index.css +9 -0
  448. package/dist/styles/layouts/MasonryLayout.css +24 -0
  449. package/dist/styles/layouts/_index.css +1 -0
  450. package/dist/styles/panels/MessagePanel.css +56 -0
  451. package/dist/styles/panels/VisualPanel.css +58 -0
  452. package/dist/styles/panels/_index.css +2 -0
  453. package/dist/styles/utilities/_index.css +7 -0
  454. package/dist/styles/utilities/ellipsis.css +7 -0
  455. package/dist/styles/utilities/fade.css +16 -0
  456. package/dist/styles/utilities/glass.css +8 -0
  457. package/dist/styles/utilities/interpolate.css +22 -0
  458. package/dist/styles/utilities/masks.css +18 -0
  459. package/dist/styles/utilities/stacked.css +24 -0
  460. package/dist/styles/utilities/text-gradient.css +37 -0
  461. package/dist/types/HTMLBlockElement.d.ts +6 -0
  462. package/dist/types/HTMLBlockElement.js +2 -0
  463. package/dist/types/HTMLElements.d.ts +129 -0
  464. package/dist/types/HTMLElements.js +2 -0
  465. package/dist/types/index.d.ts +2 -0
  466. package/dist/types/index.js +18 -0
  467. package/package.json +73 -0
@@ -0,0 +1,136 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ParallaxRemote = ParallaxRemote;
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const funnel_core_1 = require("@nascentdigital/funnel-core");
7
+ const react_1 = require("motion/react");
8
+ const react_2 = require("react");
9
+ const hooks_1 = require("../../hooks");
10
+ const ParallaxUtils_1 = require("./ParallaxUtils");
11
+ const useDisableParallax_1 = require("./useDisableParallax");
12
+ const useTransforms_1 = require("./useTransforms");
13
+ // component
14
+ function ParallaxRemote({ scroller, container, scope, targets = [], spring, disabled: disableMode = false }) {
15
+ var _a;
16
+ // bind hooks
17
+ const disabled = (0, useDisableParallax_1.useDisableParallax)(disableMode);
18
+ const scrollerRef = (0, hooks_1.useElementSelector)(scroller);
19
+ const containerRef = (0, hooks_1.useElementSelector)(container);
20
+ const containerSize = (_a = (0, hooks_1.useElementSize)(containerRef.current)) !== null && _a !== void 0 ? _a : funnel_core_1.Size.none;
21
+ const { scrollYProgress } = (0, react_1.useScroll)({
22
+ container: scrollerRef,
23
+ target: containerRef,
24
+ offset: ParallaxUtils_1.ParallaxUtils.getScrollOffset(scope)
25
+ });
26
+ // if spring effect provided, pipe progress through spring
27
+ if (spring) {
28
+ return ((0, jsx_runtime_1.jsx)(WithSpring, { spring: spring, scrollProgress: scrollYProgress, render: (transformedProgress) => (targets === null || targets === void 0 ? void 0 : targets.map(target => (0, jsx_runtime_1.jsx)(ParallaxRemoteController, { progress: transformedProgress, selector: target.selector, bindings: target.bindings, containerSize: containerSize, disabled: disabled }, target.selector))) }));
29
+ }
30
+ // render
31
+ return targets === null || targets === void 0 ? void 0 : targets.map(target => (0, jsx_runtime_1.jsx)(ParallaxRemoteController, { progress: scrollYProgress, selector: target.selector, bindings: target.bindings, containerSize: containerSize, disabled: disabled }, target.selector));
32
+ }
33
+ // spring decorator
34
+ function WithSpring({ spring, scrollProgress, render }) {
35
+ const progress = (0, react_1.useSpring)(scrollProgress, getSpringConfig(spring));
36
+ return render(progress);
37
+ }
38
+ // helpers
39
+ function getSpringConfig(springEffect) {
40
+ // if no desired spring effect disable spring
41
+ switch (springEffect) {
42
+ case 'stiff':
43
+ return {
44
+ stiffness: 190,
45
+ damping: 25
46
+ };
47
+ case 'elastic':
48
+ return {
49
+ stiffness: 500,
50
+ damping: 35
51
+ };
52
+ default:
53
+ return {
54
+ stiffness: 1000,
55
+ damping: 100
56
+ };
57
+ }
58
+ }
59
+ // controller
60
+ function ParallaxRemoteController({ progress, selector, bindings: _bindings, containerSize: _containerSize, disabled = false }) {
61
+ var _a;
62
+ // bind
63
+ const elementRef = (0, hooks_1.useElementSelector)(selector);
64
+ const element = elementRef.current;
65
+ const _elementSize = (_a = (0, hooks_1.useElementSize)(element)) !== null && _a !== void 0 ? _a : funnel_core_1.Size.none;
66
+ const bindings = (0, hooks_1.useLatestValue)(_bindings);
67
+ const containerSize = (0, hooks_1.useLatestValue)(_containerSize);
68
+ const elementSize = (0, hooks_1.useLatestValue)(_elementSize);
69
+ const { motionValues, transformerMap } = (0, react_2.useMemo)(() => (0, useTransforms_1.getTransformers)({ bindings, containerSize, elementSize, disabled }), [bindings, containerSize, elementSize, disabled]);
70
+ // pipe transforms via animation
71
+ (0, react_2.useLayoutEffect)(() => {
72
+ // skip if there's no element
73
+ if (!element) {
74
+ return;
75
+ }
76
+ // or skip if disabled
77
+ else if (disabled) {
78
+ return;
79
+ }
80
+ // create updater
81
+ const style = element.style;
82
+ const update = (progress) => {
83
+ var _a, _b;
84
+ // update opacity
85
+ const { opacity, x, y, scale, rotate, width, height, borderRadius, borderRadiusTop, borderRadiusBottom } = transformerMap;
86
+ if (opacity) {
87
+ style.opacity = String(opacity.transform(progress));
88
+ }
89
+ // update translation (if any)
90
+ if (x || y) {
91
+ style.translate = `${(_a = x === null || x === void 0 ? void 0 : x.transform(progress)) !== null && _a !== void 0 ? _a : 0}px ${(_b = y === null || y === void 0 ? void 0 : y.transform(progress)) !== null && _b !== void 0 ? _b : 0}px`;
92
+ }
93
+ // update scale
94
+ if (scale) {
95
+ style.scale = String(scale.transform(progress));
96
+ }
97
+ // update rotation
98
+ if (rotate) {
99
+ style.rotate = `${rotate.transform(progress)}deg`;
100
+ }
101
+ // update width
102
+ if (width) {
103
+ style.width = `${width.transform(progress)}px`;
104
+ }
105
+ // update height
106
+ if (height) {
107
+ style.height = `${height.transform(progress)}px`;
108
+ }
109
+ // update rotation
110
+ if (borderRadius) {
111
+ style.borderRadius = `${borderRadius.transform(progress)}px`;
112
+ }
113
+ else if (borderRadiusTop) {
114
+ const radius = `${borderRadiusTop.transform(progress)}px`;
115
+ style.borderTopLeftRadius = radius;
116
+ style.borderTopRightRadius = radius;
117
+ }
118
+ else if (borderRadiusBottom) {
119
+ const radius = `${borderRadiusBottom.transform(progress)}px`;
120
+ style.borderBottomLeftRadius = radius;
121
+ style.borderBottomRightRadius = radius;
122
+ }
123
+ };
124
+ // set initial values
125
+ update(progress.get());
126
+ // captures updates
127
+ progress.on('change', update);
128
+ }, [element, progress, transformerMap, disabled]);
129
+ // clean up motion values on unmount
130
+ (0, react_2.useEffect)(() => {
131
+ return () => Object.values(motionValues)
132
+ .forEach(motionValue => motionValue.destroy());
133
+ }, [motionValues]);
134
+ // render nothing (the controller is non-visual)
135
+ return null;
136
+ }
@@ -0,0 +1,5 @@
1
+ import { UseScrollOptions } from 'motion/react';
2
+ export declare namespace ParallaxUtils {
3
+ type ParallaxScope = 'full' | 'enter' | 'exit';
4
+ function getScrollOffset(scope: ParallaxScope): UseScrollOptions['offset'];
5
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParallaxUtils = void 0;
4
+ // namespace
5
+ var ParallaxUtils;
6
+ (function (ParallaxUtils) {
7
+ // helpers
8
+ function getScrollOffset(scope) {
9
+ switch (scope) {
10
+ case 'enter':
11
+ return ['start end', 'start start'];
12
+ case 'exit':
13
+ return ['end end', 'end start'];
14
+ default:
15
+ return ['start end', 'end start'];
16
+ }
17
+ }
18
+ ParallaxUtils.getScrollOffset = getScrollOffset;
19
+ })(ParallaxUtils || (exports.ParallaxUtils = ParallaxUtils = {}));
@@ -0,0 +1,2 @@
1
+ export * from './ParallaxRemote';
2
+ export * from './Parallax';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ParallaxRemote"), exports);
18
+ __exportStar(require("./Parallax"), exports);
@@ -0,0 +1,4 @@
1
+ export declare function useDisableParallax(disabled?: useDisableParallax.Disabled): boolean;
2
+ export declare namespace useDisableParallax {
3
+ type Disabled = boolean | 'reduce-motion';
4
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useDisableParallax = useDisableParallax;
4
+ const react_1 = require("motion/react");
5
+ // hook
6
+ function useDisableParallax(disabled = false) {
7
+ // bind hook
8
+ const reduceMotion = (0, react_1.useReducedMotion)();
9
+ // return based on arg
10
+ return typeof disabled === 'boolean'
11
+ ? disabled
12
+ : reduceMotion !== null && reduceMotion !== void 0 ? reduceMotion : false;
13
+ }
@@ -0,0 +1,2 @@
1
+ import { ParallaxContext } from './ParallaxContext';
2
+ export declare function useParallax(): ParallaxContext.Props;
@@ -0,0 +1,18 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.useParallax = useParallax;
5
+ const funnel_core_1 = require("@nascentdigital/funnel-core");
6
+ const react_1 = require("react");
7
+ const ParallaxContext_1 = require("./ParallaxContext");
8
+ // hook
9
+ function useParallax() {
10
+ // resolve context
11
+ const context = (0, react_1.useContext)(ParallaxContext_1.ParallaxContext);
12
+ // throw if context isn't bound
13
+ if (!context) {
14
+ throw new funnel_core_1.IllegalStateError('Attempt to use ParallaxItem outside of Parallax component.');
15
+ }
16
+ // return context
17
+ return context;
18
+ }
@@ -0,0 +1,34 @@
1
+ import { Size, Transform } from '@nascentdigital/funnel-core';
2
+ import { MotionValue } from 'motion/react';
3
+ export declare function useTransforms({ progress, bindings: _bindings, containerSize: _containerSize, elementSize: _elementSize, disabled }: useTransforms.Args): Partial<Record<useTransforms.Target, MotionValue<any>>>;
4
+ export declare namespace useTransforms {
5
+ type Args = {
6
+ progress: MotionValue<number>;
7
+ bindings: Bindings;
8
+ containerSize: Size;
9
+ elementSize: Size;
10
+ disabled?: boolean;
11
+ };
12
+ type InterpolatorOptions = {
13
+ scale?: Scale;
14
+ from?: number[];
15
+ to: number[];
16
+ ease?: Easing;
17
+ };
18
+ type Scale = 'none' | 'container-x' | 'container-y' | 'space-x' | 'space-y' | 'item-x' | 'item-y';
19
+ type Easing = 'linear' | 'sineIn' | 'sineOut' | 'sineInOut' | 'easeIn' | 'easeOut' | 'easeInOut' | 'quadIn' | 'quadOut' | 'quadInOut' | 'expIn' | 'expOut' | 'expInOut' | 'circIn' | 'circOut' | 'circInOut' | 'backIn' | 'backOut' | 'backInOut' | 'elasticIn' | 'elasticOut' | 'elasticInOut' | 'bounceIn' | 'bounceOut' | 'bounceInOut';
20
+ type Target = 'x' | 'y' | 'width' | 'height' | 'opacity' | 'scale' | 'rotate' | 'borderRadius' | 'borderRadiusTop' | 'borderRadiusBottom';
21
+ type Bindings = Partial<Record<Target, InterpolatorOptions>>;
22
+ }
23
+ type GetTransformersResult = {
24
+ motionValues: Partial<Record<useTransforms.Target, MotionValue>>;
25
+ transformerMap: Transformers;
26
+ };
27
+ type Transformers = Partial<Record<useTransforms.Target, Transformer>>;
28
+ type Transformer = {
29
+ motionValue: MotionValue;
30
+ transform: Transform<number, any>;
31
+ };
32
+ type GetTransformersArgs = Pick<useTransforms.Args, 'bindings' | 'containerSize' | 'elementSize' | 'disabled'>;
33
+ export declare function getTransformers({ bindings, containerSize, elementSize, disabled }: GetTransformersArgs): GetTransformersResult;
34
+ export {};
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.useTransforms = useTransforms;
37
+ exports.getTransformers = getTransformers;
38
+ const d3 = __importStar(require("d3-ease"));
39
+ const react_1 = require("motion/react");
40
+ const react_2 = require("react");
41
+ const hooks_1 = require("../../hooks");
42
+ // hook
43
+ function useTransforms({ progress, bindings: _bindings, containerSize: _containerSize, elementSize: _elementSize, disabled = false }) {
44
+ // create interpolators (cache unless container/elements change dimensions
45
+ const bindings = (0, hooks_1.useLatestValue)(_bindings);
46
+ const containerSize = (0, hooks_1.useLatestValue)(_containerSize);
47
+ const elementSize = (0, hooks_1.useLatestValue)(_elementSize);
48
+ const { motionValues, transformerMap } = (0, react_2.useMemo)(() => getTransformers({ bindings, containerSize, elementSize, disabled }), [bindings, containerSize, elementSize, disabled]);
49
+ // pipe progress to motion values
50
+ (0, react_2.useEffect)(() => {
51
+ // skip if disabled
52
+ if (disabled) {
53
+ return;
54
+ }
55
+ // create updater
56
+ const transformers = Object.values(transformerMap);
57
+ const update = (progress) => {
58
+ transformers.forEach(({ motionValue, transform }) => motionValue.set(transform(progress)));
59
+ };
60
+ // set initial values
61
+ update(progress.get());
62
+ // captures updates
63
+ progress.on('change', update);
64
+ }, [progress, transformerMap, disabled]);
65
+ // clean up motion values on unmount
66
+ (0, react_2.useEffect)(() => {
67
+ return () => Object.values(motionValues)
68
+ .forEach(motionValue => motionValue.destroy());
69
+ }, [motionValues]);
70
+ // return motion values
71
+ return motionValues;
72
+ }
73
+ function getTransformers({ bindings, containerSize, elementSize, disabled = false }) {
74
+ // clear bindings if disabled
75
+ if (disabled) {
76
+ return { motionValues: {}, transformerMap: {} };
77
+ }
78
+ // or build transformers map
79
+ return Object.entries(bindings)
80
+ .reduce((transformers, [targetId, options]) => {
81
+ // create base transform
82
+ const { scale, from = [0, 1], to, ease = 'linear' } = options;
83
+ const range = getRange({ scale, containerSize, elementSize });
84
+ const normalize = (0, react_1.interpolate)(from, to, { ease: getEasingFn(ease) });
85
+ // apply range multiplier (if possible/required)
86
+ let transform = normalize;
87
+ if (range !== undefined) {
88
+ transform = (progress) => normalize(progress) * range;
89
+ }
90
+ // capture interpolator
91
+ const target = targetId;
92
+ const motionValue = createMotionValue(options);
93
+ transformers.motionValues[target] = motionValue;
94
+ transformers.transformerMap[target] = {
95
+ motionValue,
96
+ transform
97
+ };
98
+ // keep reducing
99
+ return transformers;
100
+ }, { motionValues: {}, transformerMap: {} });
101
+ }
102
+ function createMotionValue(options) {
103
+ return (0, react_1.motionValue)(0);
104
+ }
105
+ function getRange({ scale, containerSize, elementSize }) {
106
+ switch (scale) {
107
+ case 'container-x':
108
+ return containerSize.width;
109
+ case 'container-y':
110
+ return containerSize.height;
111
+ case 'space-x':
112
+ return containerSize.width - elementSize.width;
113
+ case 'space-y':
114
+ return containerSize.height - elementSize.height;
115
+ case 'item-x':
116
+ return elementSize.width;
117
+ case 'item-y':
118
+ return elementSize.height;
119
+ default:
120
+ return undefined;
121
+ }
122
+ }
123
+ function getEasingFn(easing) {
124
+ switch (easing) {
125
+ case 'sineIn':
126
+ return d3.easeSinIn;
127
+ case 'sineOut':
128
+ return d3.easeSinOut;
129
+ case 'sineInOut':
130
+ return d3.easeSinInOut;
131
+ case 'easeIn':
132
+ return d3.easeCubicIn;
133
+ case 'easeOut':
134
+ return d3.easeCubicOut;
135
+ case 'easeInOut':
136
+ return d3.easeCubicInOut;
137
+ case 'quadIn':
138
+ return d3.easeQuadIn;
139
+ case 'quadOut':
140
+ return d3.easeQuadOut;
141
+ case 'quadInOut':
142
+ return d3.easeQuadInOut;
143
+ case 'expIn':
144
+ return d3.easeExpIn;
145
+ case 'expOut':
146
+ return d3.easeExpOut;
147
+ case 'expInOut':
148
+ return d3.easeExpInOut;
149
+ case 'circIn':
150
+ return d3.easeCircleIn;
151
+ case 'circOut':
152
+ return d3.easeCircleOut;
153
+ case 'circInOut':
154
+ return d3.easeCircleInOut;
155
+ case 'backIn':
156
+ return d3.easeBackIn;
157
+ case 'backOut':
158
+ return d3.easeBackOut;
159
+ case 'backInOut':
160
+ return d3.easeBackInOut;
161
+ case 'elasticIn':
162
+ return d3.easeElasticIn;
163
+ case 'elasticOut':
164
+ return d3.easeElasticOut;
165
+ case 'elasticInOut':
166
+ return d3.easeElasticInOut;
167
+ case 'bounceIn':
168
+ return d3.easeBounceIn;
169
+ case 'bounceOut':
170
+ return d3.easeBounceOut;
171
+ case 'bounceInOut':
172
+ return d3.easeBounceInOut;
173
+ default:
174
+ return d3.easeLinear;
175
+ }
176
+ }
@@ -0,0 +1,14 @@
1
+ import React, { HTMLElementType, ReactNode } from 'react';
2
+ import { useInViewport } from '../../hooks';
3
+ export declare function Reveal({ as, threshold, padding, children }: Reveal.Props): React.DetailedReactHTMLElement<{
4
+ id: string;
5
+ ref: import("motion-dom").AnimationScope<any>;
6
+ }, any>;
7
+ export declare namespace Reveal {
8
+ type Props = {
9
+ as?: HTMLElementType;
10
+ children: ReactNode;
11
+ threshold?: useInViewport.Threshold;
12
+ padding?: useInViewport.Padding;
13
+ };
14
+ }
@@ -0,0 +1,75 @@
1
+ 'use client';
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.Reveal = Reveal;
38
+ const react_1 = require("motion/react");
39
+ const react_2 = __importStar(require("react"));
40
+ const hooks_1 = require("../../hooks");
41
+ // component
42
+ function Reveal({ as = 'div', threshold = 'some', padding, children }) {
43
+ // bind hooks
44
+ const containerId = (0, react_2.useId)();
45
+ const [scope, animate] = (0, react_1.useAnimate)();
46
+ const [visible, initial] = (0, hooks_1.useInViewport)({
47
+ targetRef: scope,
48
+ targetId: containerId,
49
+ once: true,
50
+ threshold,
51
+ padding
52
+ });
53
+ // animate on entry
54
+ (0, react_2.useEffect)(() => {
55
+ // skip if visibility is unknown
56
+ if (visible === undefined) {
57
+ return;
58
+ }
59
+ // set initial state
60
+ else if (initial) {
61
+ // set initial state
62
+ animate(scope.current, {
63
+ y: visible ? 0 : 200,
64
+ opacity: visible ? 1 : 0
65
+ }, { duration: 0 });
66
+ }
67
+ // or animate
68
+ else if (visible) {
69
+ animate(scope.current, { y: 0 }, { duration: 0.5, ease: 'easeInOut' });
70
+ animate(scope.current, { opacity: 1 }, { duration: 0.3, ease: 'easeIn' });
71
+ }
72
+ }, [containerId, visible, initial, scope, animate]);
73
+ // render
74
+ return react_2.default.createElement(as, { id: containerId, ref: scope }, children);
75
+ }
@@ -0,0 +1,17 @@
1
+ export declare namespace RevealAnimation {
2
+ type Attribute = 'x' | 'y' | 'opacity';
3
+ type Options = {
4
+ selector: string;
5
+ delay?: number;
6
+ duration: number;
7
+ attribute: Attribute;
8
+ from: number;
9
+ to: number;
10
+ parallel?: boolean;
11
+ };
12
+ type InitialStateOptions = Omit<Options, 'delay' | 'duration' | 'to' | 'parallel'>;
13
+ type ConfigurableOptions = {
14
+ delay?: number;
15
+ duration?: number;
16
+ };
17
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,13 @@
1
+ import { RevealAnimation } from './RevealAnimation';
2
+ import { RevealElementAnimator } from './RevealElementAnimator';
3
+ type RevealFactory = (animator: RevealElementAnimator) => void;
4
+ export declare class RevealAnimator {
5
+ private readonly animationList;
6
+ private constructor();
7
+ static sequence(factory: RevealFactory): RevealAnimator;
8
+ sequence(factory: RevealFactory): RevealAnimator;
9
+ static parallel(factory: RevealFactory): RevealAnimator;
10
+ parallel(factory: RevealFactory): RevealAnimator;
11
+ build(): RevealAnimation.Options[];
12
+ }
13
+ export {};
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RevealAnimator = void 0;
4
+ const RevealElementAnimator_1 = require("./RevealElementAnimator");
5
+ class RevealAnimator {
6
+ constructor(initialAnimationList = []) {
7
+ this.animationList = initialAnimationList;
8
+ }
9
+ static sequence(factory) {
10
+ // create new animation builder
11
+ const animator = new RevealAnimator();
12
+ // invoke sequence and return builder
13
+ return animator.sequence(factory);
14
+ }
15
+ sequence(factory) {
16
+ // create new animator
17
+ const animator = new RevealElementAnimator_1.RevealElementAnimator();
18
+ // execute animation factory
19
+ factory(animator);
20
+ // return new builder with accumulated list of animations
21
+ return new RevealAnimator(this.animationList.concat(animator.animationList));
22
+ }
23
+ static parallel(factory) {
24
+ // create new animation builder
25
+ const animator = new RevealAnimator();
26
+ // invoke parallel and return builder
27
+ return animator.parallel(factory);
28
+ }
29
+ parallel(factory) {
30
+ // create new animator with runInParallel - true
31
+ const animator = new RevealElementAnimator_1.RevealElementAnimator(true);
32
+ // execute animation factory
33
+ factory(animator);
34
+ // return new builder with accumulated list of animations
35
+ return new RevealAnimator(this.animationList.concat(animator.animationList));
36
+ }
37
+ build() {
38
+ return this.animationList;
39
+ }
40
+ }
41
+ exports.RevealAnimator = RevealAnimator;
@@ -0,0 +1,13 @@
1
+ import { RevealAnimation } from './RevealAnimation';
2
+ import { MixedResponsiveValue } from '@nascentdigital/funnel-core';
3
+ export declare function RevealController({ scroller, targetContainer, inViewTrigger, percentVisible, triggerOffsetPx, animations, }: RevealController.Props): null;
4
+ export declare namespace RevealController {
5
+ type Props = {
6
+ scroller?: string;
7
+ targetContainer: string;
8
+ inViewTrigger?: string;
9
+ triggerOffsetPx?: MixedResponsiveValue<number>;
10
+ percentVisible?: MixedResponsiveValue<number>;
11
+ animations: MixedResponsiveValue<RevealAnimation.Options[]>;
12
+ };
13
+ }