@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,179 @@
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.useResizeObserver = useResizeObserver;
38
+ const funnel_core_1 = require("@nascentdigital/funnel-core");
39
+ const React = __importStar(require("react"));
40
+ const react_1 = require("react");
41
+ // hook
42
+ function useResizeObserver(target, callback) {
43
+ // bind observer (no-op on server-side)
44
+ const resizeObserver = SharedResizeObserver.instance;
45
+ const storedCallback = React.useRef(callback);
46
+ // ensure we have the latest callback
47
+ storedCallback.current = callback;
48
+ // track updates
49
+ (0, react_1.useLayoutEffect)(() => {
50
+ // skip if there's no observer
51
+ if (!resizeObserver) {
52
+ return;
53
+ }
54
+ // skip if the element doesn't exist
55
+ const targetElement = target && 'current' in target
56
+ ? target.current
57
+ : target;
58
+ if (!targetElement) {
59
+ return;
60
+ }
61
+ // create callback
62
+ let didUnsubscribe = false;
63
+ function cb(entry, observer) {
64
+ // bail if already unbound
65
+ if (didUnsubscribe) {
66
+ return;
67
+ }
68
+ // invoke callback
69
+ storedCallback.current(entry, observer);
70
+ }
71
+ // mount observer
72
+ resizeObserver.subscribe(targetElement, cb);
73
+ // unmount observer
74
+ return () => {
75
+ didUnsubscribe = true;
76
+ resizeObserver.unsubscribe(targetElement, cb);
77
+ };
78
+ }, [target, resizeObserver, storedCallback]);
79
+ // return observer
80
+ return resizeObserver.observer;
81
+ }
82
+ class SharedResizeObserver {
83
+ static get instance() {
84
+ // create if required
85
+ if (!SharedResizeObserver._instance) {
86
+ SharedResizeObserver._instance = new SharedResizeObserver();
87
+ }
88
+ // throw if we don't have the instance
89
+ if (!SharedResizeObserver._instance) {
90
+ throw new funnel_core_1.IllegalStateError('Unable to instantiate SharedResizeObserver');
91
+ }
92
+ // return instance
93
+ return SharedResizeObserver._instance;
94
+ }
95
+ constructor() {
96
+ // bind callback
97
+ this.onResize = this.onResize.bind(this);
98
+ // initialize instance
99
+ this._observer = typeof window === 'undefined'
100
+ ? undefined
101
+ : new window.ResizeObserver(this.onResize);
102
+ this._callbacks = new Map();
103
+ this._callbackPending = false;
104
+ this._entries = [];
105
+ }
106
+ get observer() {
107
+ return this._observer;
108
+ }
109
+ subscribe(target, callback) {
110
+ var _a;
111
+ // skip if there's no observer
112
+ const observer = this._observer;
113
+ if (!observer) {
114
+ return;
115
+ }
116
+ // track target
117
+ observer.observe(target);
118
+ // get callback (or create new array)
119
+ const cbs = (_a = this._callbacks.get(target)) !== null && _a !== void 0 ? _a : [];
120
+ // add callback to list
121
+ cbs.push(callback);
122
+ // update array
123
+ this._callbacks.set(target, cbs);
124
+ }
125
+ unsubscribe(target, callback) {
126
+ var _a;
127
+ // skip if there's no observer
128
+ const observer = this._observer;
129
+ if (!observer) {
130
+ return;
131
+ }
132
+ // get callbacks and teardown if on last one
133
+ const cbs = (_a = this._callbacks.get(target)) !== null && _a !== void 0 ? _a : [];
134
+ if (cbs.length === 1) {
135
+ observer.unobserve(target);
136
+ this._callbacks.delete(target);
137
+ }
138
+ // or just remove one
139
+ else {
140
+ // find index of callback (remove it found
141
+ const cbIndex = cbs.indexOf(callback);
142
+ if (cbIndex >= 0) {
143
+ cbs.splice(cbIndex, 1);
144
+ }
145
+ // reset callback
146
+ this._callbacks.set(target, cbs);
147
+ }
148
+ }
149
+ onResize(entries, observer) {
150
+ // concat entries
151
+ this._entries = this._entries.concat(entries);
152
+ // start callback on animation frame (if not already requested)
153
+ if (!this._callbackPending) {
154
+ window.requestAnimationFrame(() => {
155
+ var _a;
156
+ // raise callbacks that match request (avoid duplicates by tracking triggered)
157
+ const triggered = new Set();
158
+ for (let i = 0; i < this._entries.length; ++i) {
159
+ // skip if triggered
160
+ const entry = this._entries[i];
161
+ const target = entry.target;
162
+ if (triggered.has(target)) {
163
+ continue;
164
+ }
165
+ // or track callback
166
+ triggered.add(target);
167
+ // and then raise all callbacks (if any)
168
+ (_a = this._callbacks.get(target)) === null || _a === void 0 ? void 0 : _a.forEach(callback => callback(entry, observer));
169
+ }
170
+ // clear entries
171
+ this._entries = [];
172
+ // track callback completion
173
+ this._callbackPending = false;
174
+ });
175
+ }
176
+ // track callback request
177
+ this._callbackPending = true;
178
+ }
179
+ }
@@ -0,0 +1,2 @@
1
+ import { ResponsiveValue } from '@nascentdigital/funnel-core';
2
+ export declare function useResponsiveValue<T>(value: ResponsiveValue<T>): T | undefined;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useResponsiveValue = useResponsiveValue;
4
+ const funnel_core_1 = require("@nascentdigital/funnel-core");
5
+ const breakpoint_1 = require("./breakpoint");
6
+ // hook
7
+ function useResponsiveValue(value) {
8
+ // get current breakpoint
9
+ const breakpoint = (0, breakpoint_1.useCurrentBreakpoint)();
10
+ // exit it if no current breakpoint
11
+ if (!breakpoint) {
12
+ return undefined;
13
+ }
14
+ // resolve value for current breakpoint
15
+ return funnel_core_1.ResponsiveValue.resolve(value, breakpoint);
16
+ }
@@ -0,0 +1,20 @@
1
+ import { Locale } from '@nascentdigital/funnel-core';
2
+ import { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime';
3
+ import { ReadonlyURLSearchParams } from 'next/navigation';
4
+ export declare function useRouter(): SiteRouter;
5
+ export declare class SiteRouter {
6
+ private readonly nextRouter;
7
+ readonly pathname: string;
8
+ readonly queryParams: ReadonlyURLSearchParams;
9
+ readonly locale: Locale;
10
+ constructor(nextRouter: AppRouterInstance, pathname: string, queryParams: ReadonlyURLSearchParams, locale: Locale);
11
+ goBack(): void;
12
+ goForward(): void;
13
+ navigateTo(path: string): void;
14
+ setLocale({ locale }: SiteRouter.setLocaleArgs): void;
15
+ }
16
+ export declare namespace SiteRouter {
17
+ type setLocaleArgs = {
18
+ locale: Locale.Params;
19
+ };
20
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SiteRouter = void 0;
4
+ exports.useRouter = useRouter;
5
+ const funnel_core_1 = require("@nascentdigital/funnel-core");
6
+ const navigation_1 = require("next/navigation");
7
+ const react_1 = require("react");
8
+ const usePathname_1 = require("./usePathname");
9
+ // hook
10
+ function useRouter() {
11
+ // bind hooks
12
+ const nextRouter = (0, navigation_1.useRouter)();
13
+ const pathname = (0, usePathname_1.usePathname)();
14
+ const queryParams = (0, navigation_1.useSearchParams)();
15
+ const { language, region } = (0, navigation_1.useParams)();
16
+ const locale = { language, region };
17
+ const router = (0, react_1.useMemo)(() => new SiteRouter(nextRouter, pathname, queryParams, locale), [nextRouter, pathname, queryParams, locale]);
18
+ // return router
19
+ return router;
20
+ }
21
+ // local router
22
+ class SiteRouter {
23
+ constructor(nextRouter, pathname, queryParams, locale) {
24
+ this.nextRouter = nextRouter;
25
+ this.pathname = pathname;
26
+ this.queryParams = queryParams;
27
+ this.locale = locale;
28
+ }
29
+ goBack() {
30
+ this.nextRouter.back();
31
+ }
32
+ goForward() {
33
+ this.nextRouter.forward();
34
+ }
35
+ navigateTo(path) {
36
+ this.nextRouter.push(path, {});
37
+ }
38
+ setLocale({ locale }) {
39
+ const config = funnel_core_1.AppConfig.brandConfig().regionalization;
40
+ const baseUrl = new URL(window.location.href);
41
+ // get path
42
+ const { pagePath } = funnel_core_1.Regionalization.parseBrowserUrl(baseUrl, config, locale);
43
+ // get browser url
44
+ const url = funnel_core_1.Regionalization.serverUrlFor(locale, pagePath, baseUrl);
45
+ // navigate
46
+ window.location.href = url.href;
47
+ }
48
+ }
49
+ exports.SiteRouter = SiteRouter;
@@ -0,0 +1,2 @@
1
+ import { useEffect } from 'react';
2
+ export declare const useSafeLayoutEffect: typeof useEffect;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useSafeLayoutEffect = void 0;
4
+ const funnel_core_1 = require("@nascentdigital/funnel-core");
5
+ const react_1 = require("react");
6
+ // provide appropriate implementations (layout effects don't work on server-side)
7
+ exports.useSafeLayoutEffect = funnel_core_1.Browser.available
8
+ ? react_1.useLayoutEffect
9
+ : react_1.useEffect;
@@ -0,0 +1,2 @@
1
+ import { Callback } from '@nascentdigital/funnel-core';
2
+ export declare function useTouch(): Callback.Void;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useTouch = useTouch;
4
+ const react_1 = require("react");
5
+ // hook
6
+ function useTouch() {
7
+ // bind state, memoize touch, and return it
8
+ const [_, setCount] = (0, react_1.useState)(0);
9
+ return (0, react_1.useCallback)(() => setCount(count => count + 1), []);
10
+ }
@@ -0,0 +1,7 @@
1
+ import { Size } from '@nascentdigital/funnel-core';
2
+ export declare function useViewportSize(options?: useViewportSize.Options): Size;
3
+ export declare namespace useViewportSize {
4
+ type Options = {
5
+ debounceTime?: number;
6
+ };
7
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useViewportSize = useViewportSize;
4
+ const funnel_core_1 = require("@nascentdigital/funnel-core");
5
+ const rxjs_1 = require("rxjs");
6
+ const useSafeLayoutEffect_1 = require("./useSafeLayoutEffect");
7
+ const react_1 = require("react");
8
+ const operators_1 = require("rxjs/operators");
9
+ // hook
10
+ function useViewportSize(options = {}) {
11
+ // bind state + props
12
+ const viewportObserver = SharedViewportObserver.instance;
13
+ const { debounceTime: updateDelay } = options;
14
+ const [size, setSize] = (0, react_1.useState)(viewportObserver.viewportSize);
15
+ // lifecycle
16
+ (0, useSafeLayoutEffect_1.useSafeLayoutEffect)(() => {
17
+ // bind observer
18
+ let observable = viewportObserver.viewportSize$;
19
+ if (updateDelay) {
20
+ observable = observable.pipe((0, operators_1.debounceTime)(updateDelay));
21
+ }
22
+ // listen for window changes
23
+ const subscription = observable.subscribe(newSize => setSize(newSize));
24
+ // cleanup
25
+ return () => subscription.unsubscribe();
26
+ }, [viewportObserver, updateDelay]);
27
+ // return layout
28
+ return size;
29
+ }
30
+ // class
31
+ class SharedViewportObserver {
32
+ static get instance() {
33
+ // create if required
34
+ if (!SharedViewportObserver._instance) {
35
+ SharedViewportObserver._instance = new SharedViewportObserver();
36
+ }
37
+ // throw if we don't have the instance
38
+ if (!SharedViewportObserver._instance) {
39
+ throw new funnel_core_1.IllegalStateError('Unable to instantiate SharedViewportObserver');
40
+ }
41
+ // return instance
42
+ return SharedViewportObserver._instance;
43
+ }
44
+ constructor() {
45
+ // initialize instance variables
46
+ this._viewportSize$ = new rxjs_1.Subject();
47
+ // bind methods
48
+ this.onWindowResize = this.onWindowResize.bind(this);
49
+ // bind listener if in the browser
50
+ if (funnel_core_1.Browser.available) {
51
+ window.addEventListener('resize', this.onWindowResize);
52
+ }
53
+ }
54
+ get viewportSize() {
55
+ return funnel_core_1.Browser.available
56
+ ? { width: window.innerWidth, height: window.innerHeight }
57
+ : { width: 0, height: 0 };
58
+ }
59
+ get viewportSize$() {
60
+ return this._viewportSize$
61
+ .asObservable();
62
+ }
63
+ onWindowResize() {
64
+ this._viewportSize$.next(this.viewportSize);
65
+ }
66
+ }
@@ -0,0 +1,8 @@
1
+ import { Duration } from '@nascentdigital/funnel-core';
2
+ export declare function useWindowScrolled({ debounce, throttle }?: useWindowScrolled.Options): boolean;
3
+ export declare namespace useWindowScrolled {
4
+ type Options = {
5
+ debounce?: Duration;
6
+ throttle?: Duration;
7
+ };
8
+ }
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useWindowScrolled = useWindowScrolled;
4
+ const funnel_core_1 = require("@nascentdigital/funnel-core");
5
+ const react_1 = require("react");
6
+ const rxjs_1 = require("rxjs");
7
+ const useTouch_1 = require("./useTouch");
8
+ // hook
9
+ function useWindowScrolled({ debounce, throttle } = {}) {
10
+ // bind subject
11
+ const touch = (0, useTouch_1.useTouch)();
12
+ const scrolled$ = (0, react_1.useMemo)(() => new rxjs_1.Subject(), []);
13
+ const scrolledRef = (0, react_1.useRef)(false);
14
+ const scrolled = scrolledRef.current;
15
+ // reset ref on every render (doesn't affect current value above)
16
+ if (scrolled) {
17
+ scrolledRef.current = false;
18
+ }
19
+ // listener for window scrolling
20
+ (0, react_1.useEffect)(() => {
21
+ // handle scroll
22
+ const onScroll = () => {
23
+ scrolled$.next(true);
24
+ };
25
+ window.addEventListener('scroll', onScroll, true);
26
+ // unregister on unmount
27
+ return () => window.removeEventListener('scroll', onScroll);
28
+ }, [scrolled$]);
29
+ // debounce scrolling
30
+ (0, react_1.useEffect)(() => {
31
+ // get scroll subject and mutate if we are debouncing
32
+ let listener = scrolled$.asObservable();
33
+ if (debounce) {
34
+ listener = listener.pipe((0, rxjs_1.debounceTime)(funnel_core_1.Duration.toMilliseconds(debounce)));
35
+ }
36
+ // and/or mutate if we're throttling
37
+ if (throttle) {
38
+ listener = listener.pipe((0, rxjs_1.throttleTime)(funnel_core_1.Duration.toMilliseconds(throttle)));
39
+ }
40
+ // start listening
41
+ const subscription = listener.subscribe(() => {
42
+ // set value (like a latch)
43
+ scrolledRef.current = true;
44
+ // update
45
+ touch();
46
+ });
47
+ // unsubscribe on unmount
48
+ return () => subscription.unsubscribe();
49
+ }, [touch, scrolled$, debounce, throttle]);
50
+ // return scrolled status
51
+ return scrolled;
52
+ }
@@ -0,0 +1,9 @@
1
+ export * from './app';
2
+ export * from './atomic';
3
+ export * from './fields';
4
+ export * from './forms';
5
+ export * from './hooks';
6
+ export * from './interaction';
7
+ export * from './layouts';
8
+ export * from './transitions';
9
+ export * from './utils';
@@ -0,0 +1,25 @@
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("./app"), exports);
18
+ __exportStar(require("./atomic"), exports);
19
+ __exportStar(require("./fields"), exports);
20
+ __exportStar(require("./forms"), exports);
21
+ __exportStar(require("./hooks"), exports);
22
+ __exportStar(require("./interaction"), exports);
23
+ __exportStar(require("./layouts"), exports);
24
+ __exportStar(require("./transitions"), exports);
25
+ __exportStar(require("./utils"), exports);
@@ -0,0 +1,48 @@
1
+ import { Callback, Duration, Transform } from '@nascentdigital/funnel-core';
2
+ import { HTMLAttributes, ReactElement, ReactNode } from 'react';
3
+ export declare function Carousel({ className, spacing, infinite, autoplay, autoplayInterval: autoplayIntervalRaw, disableClipping, renderIndicator, renderNavButton, renderPlayButton, onPageDrag, onPageChange, children }: Carousel.Props): import("react/jsx-runtime").JSX.Element;
4
+ export declare namespace Carousel {
5
+ export type State = 'initializing' | 'disabled' | 'ready' | 'dragging' | 'animating';
6
+ export type Props = {
7
+ className?: string;
8
+ spacing?: number;
9
+ infinite?: boolean;
10
+ autoplay?: boolean;
11
+ autoplayInterval?: Duration;
12
+ disableClipping?: boolean;
13
+ renderIndicator?: Transform<RenderIndicatorArgs, ReactNode>;
14
+ renderNavButton?: Transform<RenderNavButtonArgs, ReactNode>;
15
+ renderPlayButton?: Transform<RenderPlayButtonArgs, ReactNode>;
16
+ onPageDrag?: Callback<number | undefined>;
17
+ onPageChange?: Callback<number>;
18
+ children?: ReactElement[];
19
+ };
20
+ export type RenderIndicatorArgs = {
21
+ index: number;
22
+ active: boolean;
23
+ activating: boolean | undefined;
24
+ props: ButtonProps;
25
+ };
26
+ type ButtonProps = Partial<Omit<HTMLAttributes<HTMLButtonElement>, 'children'>> & {
27
+ ref?: Callback<HTMLButtonElement | null>;
28
+ };
29
+ export type RenderNavButtonArgs = RenderPrevButtonArgs | RenderNextButtonArgs;
30
+ type RenderNavButtonBaseArgs = {
31
+ enabling?: boolean;
32
+ enabled: boolean;
33
+ props: ButtonProps;
34
+ };
35
+ export type RenderPrevButtonArgs = RenderNavButtonBaseArgs & {
36
+ type: 'prev';
37
+ prevIndex?: number;
38
+ };
39
+ export type RenderNextButtonArgs = RenderNavButtonBaseArgs & {
40
+ type: 'next';
41
+ nextIndex?: number;
42
+ };
43
+ export type RenderPlayButtonArgs = {
44
+ props: ButtonProps;
45
+ };
46
+ export type CommonProps = Pick<Props, 'spacing' | 'infinite' | 'autoplay' | 'disableClipping'>;
47
+ export {};
48
+ }