@pixelated-tech/components 3.11.9 → 3.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/dist/components/admin/componentusage/componentAnalysis.js +2 -0
  2. package/dist/components/admin/deploy/deployment.integration.js +8 -0
  3. package/dist/components/admin/site-health/site-health-accessibility.js +6 -0
  4. package/dist/components/admin/site-health/site-health-axe-core.js +6 -0
  5. package/dist/components/admin/site-health/site-health-cloudwatch.js +10 -0
  6. package/dist/components/admin/site-health/site-health-dependency-vulnerabilities.js +6 -0
  7. package/dist/components/admin/site-health/site-health-github.js +10 -0
  8. package/dist/components/admin/site-health/site-health-google-analytics.js +10 -0
  9. package/dist/components/admin/site-health/site-health-google-search-console.js +10 -0
  10. package/dist/components/admin/site-health/site-health-mock-context.js +8 -0
  11. package/dist/components/admin/site-health/site-health-on-site-seo.js +6 -0
  12. package/dist/components/admin/site-health/site-health-overview.js +6 -0
  13. package/dist/components/admin/site-health/site-health-performance.js +6 -0
  14. package/dist/components/admin/site-health/site-health-security.js +6 -0
  15. package/dist/components/admin/site-health/site-health-seo.js +6 -0
  16. package/dist/components/admin/site-health/site-health-template.js +28 -0
  17. package/dist/components/admin/site-health/site-health-uptime.js +6 -0
  18. package/dist/components/config/config.js +41 -2
  19. package/dist/components/config/config.server.js +8 -0
  20. package/dist/components/general/404.js +6 -0
  21. package/dist/components/general/accordion.js +11 -0
  22. package/dist/components/general/buzzwordbingo.js +18 -0
  23. package/dist/components/general/callout.js +65 -2
  24. package/dist/components/general/carousel.drag.js +12 -0
  25. package/dist/components/general/carousel.js +50 -0
  26. package/dist/components/general/faq-accordion.js +15 -0
  27. package/dist/components/general/global-error.js +12 -0
  28. package/dist/components/general/hero.js +13 -0
  29. package/dist/components/general/loading.js +10 -1
  30. package/dist/components/general/markdown.js +6 -0
  31. package/dist/components/general/menu-accordion.js +30 -1
  32. package/dist/components/general/menu-expando.js +24 -1
  33. package/dist/components/general/menu-simple.js +21 -0
  34. package/dist/components/general/metadata.components.js +10 -0
  35. package/dist/components/general/metadata.functions.js +1 -1
  36. package/dist/components/general/microinteractions.js +22 -0
  37. package/dist/components/general/modal.js +12 -0
  38. package/dist/components/general/nerdjoke.js +11 -1
  39. package/dist/components/general/proxy-handler.js +7 -7
  40. package/dist/components/general/recipe.js +46 -1
  41. package/dist/components/general/resume.js +82 -0
  42. package/dist/components/general/schema-blogposting.js +6 -0
  43. package/dist/components/general/schema-localbusiness.js +36 -0
  44. package/dist/components/general/schema-recipe.js +20 -0
  45. package/dist/components/general/semantic.js +178 -0
  46. package/dist/components/general/sidepanel.js +26 -0
  47. package/dist/components/general/sitemap.js +50 -0
  48. package/dist/components/general/skeleton-loading.js +10 -1
  49. package/dist/components/general/skeleton.js +15 -0
  50. package/dist/components/general/smartimage.js +48 -2
  51. package/dist/components/general/splitscroll.js +21 -10
  52. package/dist/components/general/styleguide.js +6 -0
  53. package/dist/components/general/tab.js +12 -0
  54. package/dist/components/general/table.js +12 -0
  55. package/dist/components/general/tiles.js +32 -1
  56. package/dist/components/general/timeline.js +22 -0
  57. package/dist/components/general/well-known.js +137 -0
  58. package/dist/components/integrations/calendly.js +10 -0
  59. package/dist/components/integrations/cloudinary.js +16 -0
  60. package/dist/components/integrations/contentful.delivery.js +84 -0
  61. package/dist/components/integrations/contentful.items.components.js +46 -0
  62. package/dist/components/integrations/contentful.management.js +25 -25
  63. package/dist/components/integrations/flickr.js +34 -0
  64. package/dist/components/integrations/google.reviews.components.js +14 -0
  65. package/dist/components/integrations/googleanalytics.js +14 -0
  66. package/dist/components/integrations/googlemap.js +20 -0
  67. package/dist/components/integrations/googlesearch.js +6 -0
  68. package/dist/components/integrations/gravatar.components.js +59 -0
  69. package/dist/components/integrations/hubspot.components.js +30 -0
  70. package/dist/components/integrations/instagram.components.js +18 -0
  71. package/dist/components/integrations/lipsum.js +45 -0
  72. package/dist/components/integrations/loremipsum.js +12 -0
  73. package/dist/components/integrations/socialcard.js +20 -1
  74. package/dist/components/integrations/wordpress.components.js +40 -0
  75. package/dist/components/integrations/wordpress.functions.js +24 -0
  76. package/dist/components/integrations/yelp.js +8 -0
  77. package/dist/components/shoppingcart/ebay.components.js +70 -0
  78. package/dist/components/shoppingcart/ebay.functions.js +52 -0
  79. package/dist/components/shoppingcart/shoppingcart.components.js +89 -0
  80. package/dist/components/sitebuilder/config/CompoundFontSelector.js +32 -0
  81. package/dist/components/sitebuilder/config/ConfigBuilder.js +8 -0
  82. package/dist/components/sitebuilder/config/FontSelector.js +40 -0
  83. package/dist/components/sitebuilder/form/formbuilder.js +10 -1
  84. package/dist/components/sitebuilder/form/formcomponents.js +325 -6
  85. package/dist/components/sitebuilder/form/formengine.js +35 -1
  86. package/dist/components/sitebuilder/form/formextractor.js +33 -1
  87. package/dist/components/sitebuilder/form/formutils.js +0 -4
  88. package/dist/components/sitebuilder/form/formvalidator.js +6 -0
  89. package/dist/components/sitebuilder/page/components/ComponentPropertiesForm.js +8 -0
  90. package/dist/components/sitebuilder/page/components/ComponentSelector.js +10 -0
  91. package/dist/components/sitebuilder/page/components/ComponentTree.js +20 -0
  92. package/dist/components/sitebuilder/page/components/PageBuilderUI.js +6 -0
  93. package/dist/components/sitebuilder/page/components/PageEngine.js +20 -0
  94. package/dist/components/sitebuilder/page/components/SaveLoadSection.js +10 -0
  95. package/dist/components/sitebuilder/page/lib/pageStorageContentful.js +4 -4
  96. package/dist/config/pixelated.config.json.enc +1 -1
  97. package/dist/index.js +1 -1
  98. package/dist/index.server.js +4 -4
  99. package/dist/scripts/pixelated-eslint-plugin.js +105 -1
  100. package/dist/scripts/release.sh +12 -21
  101. package/dist/types/components/admin/componentusage/componentAnalysis.d.ts +2 -5
  102. package/dist/types/components/admin/componentusage/componentAnalysis.d.ts.map +1 -1
  103. package/dist/types/components/admin/deploy/deployment.integration.d.ts +1 -5
  104. package/dist/types/components/admin/deploy/deployment.integration.d.ts.map +1 -1
  105. package/dist/types/components/admin/site-health/site-health-accessibility.d.ts +1 -0
  106. package/dist/types/components/admin/site-health/site-health-accessibility.d.ts.map +1 -1
  107. package/dist/types/components/admin/site-health/site-health-axe-core.d.ts +1 -0
  108. package/dist/types/components/admin/site-health/site-health-axe-core.d.ts.map +1 -1
  109. package/dist/types/components/admin/site-health/site-health-cloudwatch.d.ts +3 -0
  110. package/dist/types/components/admin/site-health/site-health-cloudwatch.d.ts.map +1 -1
  111. package/dist/types/components/admin/site-health/site-health-dependency-vulnerabilities.d.ts +1 -0
  112. package/dist/types/components/admin/site-health/site-health-dependency-vulnerabilities.d.ts.map +1 -1
  113. package/dist/types/components/admin/site-health/site-health-github.d.ts +3 -0
  114. package/dist/types/components/admin/site-health/site-health-github.d.ts.map +1 -1
  115. package/dist/types/components/admin/site-health/site-health-github.integration.d.ts +1 -11
  116. package/dist/types/components/admin/site-health/site-health-github.integration.d.ts.map +1 -1
  117. package/dist/types/components/admin/site-health/site-health-google-analytics.d.ts +3 -0
  118. package/dist/types/components/admin/site-health/site-health-google-analytics.d.ts.map +1 -1
  119. package/dist/types/components/admin/site-health/site-health-google-search-console.d.ts +3 -0
  120. package/dist/types/components/admin/site-health/site-health-google-search-console.d.ts.map +1 -1
  121. package/dist/types/components/admin/site-health/site-health-mock-context.d.ts +8 -0
  122. package/dist/types/components/admin/site-health/site-health-mock-context.d.ts.map +1 -1
  123. package/dist/types/components/admin/site-health/site-health-on-site-seo.d.ts +1 -0
  124. package/dist/types/components/admin/site-health/site-health-on-site-seo.d.ts.map +1 -1
  125. package/dist/types/components/admin/site-health/site-health-overview.d.ts +1 -0
  126. package/dist/types/components/admin/site-health/site-health-overview.d.ts.map +1 -1
  127. package/dist/types/components/admin/site-health/site-health-performance.d.ts +1 -0
  128. package/dist/types/components/admin/site-health/site-health-performance.d.ts.map +1 -1
  129. package/dist/types/components/admin/site-health/site-health-security.d.ts +1 -0
  130. package/dist/types/components/admin/site-health/site-health-security.d.ts.map +1 -1
  131. package/dist/types/components/admin/site-health/site-health-seo.d.ts +1 -0
  132. package/dist/types/components/admin/site-health/site-health-seo.d.ts.map +1 -1
  133. package/dist/types/components/admin/site-health/site-health-template.d.ts +12 -0
  134. package/dist/types/components/admin/site-health/site-health-template.d.ts.map +1 -1
  135. package/dist/types/components/admin/site-health/site-health-uptime.d.ts +1 -0
  136. package/dist/types/components/admin/site-health/site-health-uptime.d.ts.map +1 -1
  137. package/dist/types/components/admin/sites/sites.integration.d.ts +7 -1
  138. package/dist/types/components/admin/sites/sites.integration.d.ts.map +1 -1
  139. package/dist/types/components/config/config.d.ts.map +1 -1
  140. package/dist/types/components/config/config.server.d.ts +2 -0
  141. package/dist/types/components/config/config.server.d.ts.map +1 -1
  142. package/dist/types/components/config/config.types.d.ts +2 -2
  143. package/dist/types/components/config/config.types.d.ts.map +1 -1
  144. package/dist/types/components/general/404.d.ts +1 -0
  145. package/dist/types/components/general/404.d.ts.map +1 -1
  146. package/dist/types/components/general/accordion.d.ts +2 -0
  147. package/dist/types/components/general/accordion.d.ts.map +1 -1
  148. package/dist/types/components/general/buzzwordbingo.d.ts +3 -0
  149. package/dist/types/components/general/buzzwordbingo.d.ts.map +1 -1
  150. package/dist/types/components/general/callout.d.ts +24 -0
  151. package/dist/types/components/general/callout.d.ts.map +1 -1
  152. package/dist/types/components/general/carousel.d.ts +13 -0
  153. package/dist/types/components/general/carousel.d.ts.map +1 -1
  154. package/dist/types/components/general/carousel.drag.d.ts +4 -0
  155. package/dist/types/components/general/carousel.drag.d.ts.map +1 -1
  156. package/dist/types/components/general/faq-accordion.d.ts +5 -0
  157. package/dist/types/components/general/faq-accordion.d.ts.map +1 -1
  158. package/dist/types/components/general/global-error.d.ts +4 -0
  159. package/dist/types/components/general/global-error.d.ts.map +1 -1
  160. package/dist/types/components/general/hero.d.ts +4 -0
  161. package/dist/types/components/general/hero.d.ts.map +1 -1
  162. package/dist/types/components/general/loading.d.ts +1 -0
  163. package/dist/types/components/general/loading.d.ts.map +1 -1
  164. package/dist/types/components/general/markdown.d.ts +1 -0
  165. package/dist/types/components/general/markdown.d.ts.map +1 -1
  166. package/dist/types/components/general/menu-accordion.d.ts +7 -0
  167. package/dist/types/components/general/menu-accordion.d.ts.map +1 -1
  168. package/dist/types/components/general/menu-expando.d.ts +6 -0
  169. package/dist/types/components/general/menu-expando.d.ts.map +1 -1
  170. package/dist/types/components/general/menu-simple.d.ts +6 -0
  171. package/dist/types/components/general/menu-simple.d.ts.map +1 -1
  172. package/dist/types/components/general/metadata.components.d.ts +3 -0
  173. package/dist/types/components/general/metadata.components.d.ts.map +1 -1
  174. package/dist/types/components/general/microinteractions.d.ts +9 -0
  175. package/dist/types/components/general/microinteractions.d.ts.map +1 -1
  176. package/dist/types/components/general/modal.d.ts +4 -0
  177. package/dist/types/components/general/modal.d.ts.map +1 -1
  178. package/dist/types/components/general/nerdjoke.d.ts +2 -0
  179. package/dist/types/components/general/nerdjoke.d.ts.map +1 -1
  180. package/dist/types/components/general/proxy-handler.d.ts +7 -7
  181. package/dist/types/components/general/proxy-handler.d.ts.map +1 -1
  182. package/dist/types/components/general/recipe.d.ts +13 -0
  183. package/dist/types/components/general/recipe.d.ts.map +1 -1
  184. package/dist/types/components/general/resume.d.ts +21 -0
  185. package/dist/types/components/general/resume.d.ts.map +1 -1
  186. package/dist/types/components/general/schema-blogposting.d.ts +1 -0
  187. package/dist/types/components/general/schema-blogposting.d.ts.map +1 -1
  188. package/dist/types/components/general/schema-localbusiness.d.ts +16 -0
  189. package/dist/types/components/general/schema-localbusiness.d.ts.map +1 -1
  190. package/dist/types/components/general/schema-recipe.d.ts +1 -0
  191. package/dist/types/components/general/schema-recipe.d.ts.map +1 -1
  192. package/dist/types/components/general/semantic.d.ts +67 -0
  193. package/dist/types/components/general/semantic.d.ts.map +1 -1
  194. package/dist/types/components/general/sidepanel.d.ts +11 -0
  195. package/dist/types/components/general/sidepanel.d.ts.map +1 -1
  196. package/dist/types/components/general/sitemap.d.ts +19 -0
  197. package/dist/types/components/general/sitemap.d.ts.map +1 -1
  198. package/dist/types/components/general/skeleton-loading.d.ts +3 -6
  199. package/dist/types/components/general/skeleton-loading.d.ts.map +1 -1
  200. package/dist/types/components/general/skeleton.d.ts +5 -0
  201. package/dist/types/components/general/skeleton.d.ts.map +1 -1
  202. package/dist/types/components/general/smartimage.d.ts +22 -0
  203. package/dist/types/components/general/smartimage.d.ts.map +1 -1
  204. package/dist/types/components/general/splitscroll.d.ts +18 -40
  205. package/dist/types/components/general/splitscroll.d.ts.map +1 -1
  206. package/dist/types/components/general/styleguide.d.ts +1 -0
  207. package/dist/types/components/general/styleguide.d.ts.map +1 -1
  208. package/dist/types/components/general/tab.d.ts +4 -0
  209. package/dist/types/components/general/tab.d.ts.map +1 -1
  210. package/dist/types/components/general/table.d.ts +4 -0
  211. package/dist/types/components/general/table.d.ts.map +1 -1
  212. package/dist/types/components/general/tiles.d.ts +12 -1
  213. package/dist/types/components/general/tiles.d.ts.map +1 -1
  214. package/dist/types/components/general/timeline.d.ts +5 -0
  215. package/dist/types/components/general/timeline.d.ts.map +1 -1
  216. package/dist/types/components/general/well-known.d.ts +56 -0
  217. package/dist/types/components/general/well-known.d.ts.map +1 -0
  218. package/dist/types/components/integrations/calendly.d.ts +3 -0
  219. package/dist/types/components/integrations/calendly.d.ts.map +1 -1
  220. package/dist/types/components/integrations/cloudinary.d.ts +4 -0
  221. package/dist/types/components/integrations/cloudinary.d.ts.map +1 -1
  222. package/dist/types/components/integrations/contentful.delivery.d.ts +22 -0
  223. package/dist/types/components/integrations/contentful.delivery.d.ts.map +1 -1
  224. package/dist/types/components/integrations/contentful.items.components.d.ts +10 -0
  225. package/dist/types/components/integrations/contentful.items.components.d.ts.map +1 -1
  226. package/dist/types/components/integrations/contentful.management.d.ts +1 -5
  227. package/dist/types/components/integrations/contentful.management.d.ts.map +1 -1
  228. package/dist/types/components/integrations/flickr.d.ts +11 -0
  229. package/dist/types/components/integrations/flickr.d.ts.map +1 -1
  230. package/dist/types/components/integrations/google.reviews.components.d.ts +5 -0
  231. package/dist/types/components/integrations/google.reviews.components.d.ts.map +1 -1
  232. package/dist/types/components/integrations/googleanalytics.d.ts +3 -0
  233. package/dist/types/components/integrations/googleanalytics.d.ts.map +1 -1
  234. package/dist/types/components/integrations/googlemap.d.ts +8 -0
  235. package/dist/types/components/integrations/googlemap.d.ts.map +1 -1
  236. package/dist/types/components/integrations/googlesearch.d.ts +1 -0
  237. package/dist/types/components/integrations/googlesearch.d.ts.map +1 -1
  238. package/dist/types/components/integrations/gravatar.components.d.ts +35 -0
  239. package/dist/types/components/integrations/gravatar.components.d.ts.map +1 -1
  240. package/dist/types/components/integrations/hubspot.components.d.ts +9 -0
  241. package/dist/types/components/integrations/hubspot.components.d.ts.map +1 -1
  242. package/dist/types/components/integrations/instagram.components.d.ts +7 -0
  243. package/dist/types/components/integrations/instagram.components.d.ts.map +1 -1
  244. package/dist/types/components/integrations/lipsum.d.ts +14 -0
  245. package/dist/types/components/integrations/lipsum.d.ts.map +1 -0
  246. package/dist/types/components/integrations/loremipsum.d.ts +4 -0
  247. package/dist/types/components/integrations/loremipsum.d.ts.map +1 -1
  248. package/dist/types/components/integrations/socialcard.d.ts +4 -0
  249. package/dist/types/components/integrations/socialcard.d.ts.map +1 -1
  250. package/dist/types/components/integrations/wordpress.components.d.ts +14 -0
  251. package/dist/types/components/integrations/wordpress.components.d.ts.map +1 -1
  252. package/dist/types/components/integrations/wordpress.functions.d.ts +6 -0
  253. package/dist/types/components/integrations/wordpress.functions.d.ts.map +1 -1
  254. package/dist/types/components/integrations/yelp.d.ts +2 -0
  255. package/dist/types/components/integrations/yelp.d.ts.map +1 -1
  256. package/dist/types/components/shoppingcart/ebay.components.d.ts +15 -0
  257. package/dist/types/components/shoppingcart/ebay.components.d.ts.map +1 -1
  258. package/dist/types/components/shoppingcart/ebay.functions.d.ts +14 -2
  259. package/dist/types/components/shoppingcart/ebay.functions.d.ts.map +1 -1
  260. package/dist/types/components/shoppingcart/paypal.d.ts.map +1 -1
  261. package/dist/types/components/shoppingcart/shoppingcart.components.d.ts +30 -0
  262. package/dist/types/components/shoppingcart/shoppingcart.components.d.ts.map +1 -1
  263. package/dist/types/components/shoppingcart/shoppingcart.functions.d.ts +20 -12
  264. package/dist/types/components/shoppingcart/shoppingcart.functions.d.ts.map +1 -1
  265. package/dist/types/components/sitebuilder/config/CompoundFontSelector.d.ts +12 -0
  266. package/dist/types/components/sitebuilder/config/CompoundFontSelector.d.ts.map +1 -1
  267. package/dist/types/components/sitebuilder/config/ConfigBuilder.d.ts +2 -0
  268. package/dist/types/components/sitebuilder/config/ConfigBuilder.d.ts.map +1 -1
  269. package/dist/types/components/sitebuilder/config/FontSelector.d.ts +16 -0
  270. package/dist/types/components/sitebuilder/config/FontSelector.d.ts.map +1 -1
  271. package/dist/types/components/sitebuilder/form/formbuilder.d.ts +5 -1
  272. package/dist/types/components/sitebuilder/form/formbuilder.d.ts.map +1 -1
  273. package/dist/types/components/sitebuilder/form/formcomponents.d.ts +129 -0
  274. package/dist/types/components/sitebuilder/form/formcomponents.d.ts.map +1 -1
  275. package/dist/types/components/sitebuilder/form/formengine.d.ts +5 -0
  276. package/dist/types/components/sitebuilder/form/formengine.d.ts.map +1 -1
  277. package/dist/types/components/sitebuilder/form/formextractor.d.ts +6 -0
  278. package/dist/types/components/sitebuilder/form/formextractor.d.ts.map +1 -1
  279. package/dist/types/components/sitebuilder/form/formutils.d.ts +0 -2
  280. package/dist/types/components/sitebuilder/form/formutils.d.ts.map +1 -1
  281. package/dist/types/components/sitebuilder/form/formvalidator.d.ts +1 -0
  282. package/dist/types/components/sitebuilder/form/formvalidator.d.ts.map +1 -1
  283. package/dist/types/components/sitebuilder/page/components/ComponentPropertiesForm.d.ts +2 -0
  284. package/dist/types/components/sitebuilder/page/components/ComponentPropertiesForm.d.ts.map +1 -1
  285. package/dist/types/components/sitebuilder/page/components/ComponentSelector.d.ts +3 -0
  286. package/dist/types/components/sitebuilder/page/components/ComponentSelector.d.ts.map +1 -1
  287. package/dist/types/components/sitebuilder/page/components/ComponentTree.d.ts +8 -0
  288. package/dist/types/components/sitebuilder/page/components/ComponentTree.d.ts.map +1 -1
  289. package/dist/types/components/sitebuilder/page/components/PageBuilderUI.d.ts +1 -0
  290. package/dist/types/components/sitebuilder/page/components/PageBuilderUI.d.ts.map +1 -1
  291. package/dist/types/components/sitebuilder/page/components/PageEngine.d.ts +8 -0
  292. package/dist/types/components/sitebuilder/page/components/PageEngine.d.ts.map +1 -1
  293. package/dist/types/components/sitebuilder/page/components/SaveLoadSection.d.ts +3 -0
  294. package/dist/types/components/sitebuilder/page/components/SaveLoadSection.d.ts.map +1 -1
  295. package/dist/types/components/sitebuilder/page/lib/pageStorageContentful.d.ts +1 -1
  296. package/dist/types/components/sitebuilder/page/lib/pageStorageContentful.d.ts.map +1 -1
  297. package/dist/types/index.d.ts +1 -1
  298. package/dist/types/index.server.d.ts +4 -4
  299. package/dist/types/scripts/pixelated-eslint-plugin.d.ts +36 -0
  300. package/dist/types/stories/general/skeleton-loading.stories.d.ts +1 -1
  301. package/dist/types/stories/general/skeleton-loading.stories.d.ts.map +1 -1
  302. package/dist/types/stories/integrations/lipsum.stories.d.ts +38 -0
  303. package/dist/types/stories/integrations/lipsum.stories.d.ts.map +1 -0
  304. package/dist/types/stories/shoppingcart/shoppingcart.stories.d.ts +3 -1
  305. package/dist/types/stories/shoppingcart/shoppingcart.stories.d.ts.map +1 -1
  306. package/dist/types/tests/args.test.d.ts +2 -0
  307. package/dist/types/tests/args.test.d.ts.map +1 -0
  308. package/dist/types/tests/lipsum.test.d.ts +2 -0
  309. package/dist/types/tests/lipsum.test.d.ts.map +1 -0
  310. package/dist/types/tests/securitytxt.test.d.ts +2 -0
  311. package/dist/types/tests/securitytxt.test.d.ts.map +1 -0
  312. package/dist/types/tests/storybook-docgen.test.d.ts +2 -0
  313. package/dist/types/tests/storybook-docgen.test.d.ts.map +1 -0
  314. package/package.json +17 -14
  315. package/dist/components/config/config.utils.js +0 -52
  316. package/dist/components/general/humanstxt.js +0 -81
  317. package/dist/types/components/config/config.utils.d.ts +0 -6
  318. package/dist/types/components/config/config.utils.d.ts.map +0 -1
  319. package/dist/types/components/general/humanstxt.d.ts +0 -37
  320. package/dist/types/components/general/humanstxt.d.ts.map +0 -1
@@ -62,6 +62,8 @@ export async function getAllFiles(dirPath, extensions = []) {
62
62
  */
63
63
  export async function checkComponentUsage(sitePath, componentName) {
64
64
  try {
65
+ if (!sitePath)
66
+ return false; // nothing to scan
65
67
  const files = await getAllFiles(sitePath, ['.tsx', '.ts', '.jsx', '.js']);
66
68
  // Special case for semantic components that export multiple functions
67
69
  if (componentName === 'general/semantic') {
@@ -22,6 +22,14 @@ export async function executeDeployment(request, siteConfig, isLocalExecution =
22
22
  */
23
23
  async function executeScript(siteName, versionType, commitMessage, environments, localPath, remote) {
24
24
  const sourceBranch = 'dev'; // Always deploy from dev branch
25
+ // Guard against missing localPath — callers may omit for non-local checks
26
+ if (!localPath) {
27
+ throw new Error('localPath is required for deployment execution');
28
+ }
29
+ // Guard against missing remote — required for git operations
30
+ if (!remote) {
31
+ throw new Error('remote is required for deployment execution');
32
+ }
25
33
  try {
26
34
  // Get current branch and ensure we're on dev
27
35
  const { stdout: currentBranch } = await execAsync('git branch --show-current', { cwd: localPath });
@@ -3,7 +3,13 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
3
3
  import PropTypes from 'prop-types';
4
4
  import { SiteHealthTemplate } from './site-health-template';
5
5
  import { formatAuditItem, getAuditScoreIcon, getScoreColor } from './site-health-utils';
6
+ /**
7
+ * SiteHealthAccessibility — Accessibility report panel showing Lighthouse accessibility scores and audit details.
8
+ *
9
+ * @param {string} [props.siteName] - Site identifier used to fetch accessibility metrics (e.g., 'example.com').
10
+ */
6
11
  SiteHealthAccessibility.propTypes = {
12
+ /** Site identifier used to fetch accessibility data */
7
13
  siteName: PropTypes.string.isRequired,
8
14
  };
9
15
  export function SiteHealthAccessibility({ siteName }) {
@@ -6,7 +6,13 @@ import { SiteHealthTemplate } from './site-health-template';
6
6
  import { getImpactIndicator, getIncompleteIndicator, getPassingIndicator } from './site-health-indicators';
7
7
  // Debug logging: set to `true` temporarily when investigating issues locally. Keep `false` in production.
8
8
  const debug = false;
9
+ /**
10
+ * SiteHealthAxeCore — Accessibility violations viewer powered by axe-core results.
11
+ *
12
+ * @param {string} [props.siteName] - Site identifier used to fetch axe-core scan results.
13
+ */
9
14
  SiteHealthAxeCore.propTypes = {
15
+ /** Site identifier used to fetch axe-core data */
10
16
  siteName: PropTypes.string.isRequired,
11
17
  };
12
18
  export function SiteHealthAxeCore({ siteName }) {
@@ -3,9 +3,19 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import PropTypes from 'prop-types';
4
4
  import { ComposedChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer } from 'recharts';
5
5
  import { SiteHealthTemplate } from './site-health-template';
6
+ /**
7
+ * SiteHealthCloudwatch — Displays CloudWatch health-check metrics and availability over time.
8
+ *
9
+ * @param {string} [props.siteName] - Site identifier used to fetch CloudWatch metrics.
10
+ * @param {string} [props.startDate] - Optional ISO date string to restrict the start of the range.
11
+ * @param {string} [props.endDate] - Optional ISO date string to restrict the end of the range.
12
+ */
6
13
  SiteHealthCloudwatch.propTypes = {
14
+ /** Site identifier used to fetch CloudWatch metrics */
7
15
  siteName: PropTypes.string.isRequired,
16
+ /** ISO start date for the metrics range (optional) */
8
17
  startDate: PropTypes.string,
18
+ /** ISO end date for the metrics range (optional) */
9
19
  endDate: PropTypes.string,
10
20
  };
11
21
  export function SiteHealthCloudwatch({ siteName, startDate, endDate }) {
@@ -2,7 +2,13 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import PropTypes from 'prop-types';
4
4
  import { SiteHealthTemplate } from './site-health-template';
5
+ /**
6
+ * SiteHealthDependencyVulnerabilities — Shows known dependency vulnerabilities and their severities for the site.
7
+ *
8
+ * @param {string} [props.siteName] - Site identifier used to fetch dependency vulnerability data.
9
+ */
5
10
  SiteHealthDependencyVulnerabilities.propTypes = {
11
+ /** Site identifier used to fetch dependency vulnerability reports */
6
12
  siteName: PropTypes.string.isRequired,
7
13
  };
8
14
  export function SiteHealthDependencyVulnerabilities({ siteName }) {
@@ -3,9 +3,19 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
3
3
  import PropTypes from 'prop-types';
4
4
  import { Table } from '@pixelated-tech/components';
5
5
  import { SiteHealthTemplate } from './site-health-template';
6
+ /**
7
+ * SiteHealthGit — Shows recent Git commits and push notes retrieved for the site.
8
+ *
9
+ * @param {string} [props.siteName] - Site identifier used to fetch Git activity.
10
+ * @param {string} [props.startDate] - Optional ISO start date to filter commits.
11
+ * @param {string} [props.endDate] - Optional ISO end date to filter commits.
12
+ */
6
13
  SiteHealthGit.propTypes = {
14
+ /** Site identifier used to fetch Git activity */
7
15
  siteName: PropTypes.string.isRequired,
16
+ /** ISO start date to filter commits (optional) */
8
17
  startDate: PropTypes.string,
18
+ /** ISO end date to filter commits (optional) */
9
19
  endDate: PropTypes.string,
10
20
  };
11
21
  export function SiteHealthGit({ siteName, startDate, endDate }) {
@@ -3,9 +3,19 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import PropTypes from 'prop-types';
4
4
  import { ComposedChart, Bar, Line, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, Legend } from 'recharts';
5
5
  import { SiteHealthTemplate } from './site-health-template';
6
+ /**
7
+ * SiteHealthGoogleAnalytics — Shows Google Analytics metrics (page views, sessions) over a date range.
8
+ *
9
+ * @param {string} [props.siteName] - Site identifier used to fetch analytics data.
10
+ * @param {string} [props.startDate] - Optional ISO start date for the metrics range.
11
+ * @param {string} [props.endDate] - Optional ISO end date for the metrics range.
12
+ */
6
13
  SiteHealthGoogleAnalytics.propTypes = {
14
+ /** Site identifier used to fetch analytics metrics */
7
15
  siteName: PropTypes.string.isRequired,
16
+ /** ISO start date for the metrics range (optional) */
8
17
  startDate: PropTypes.string,
18
+ /** ISO end date for the metrics range (optional) */
9
19
  endDate: PropTypes.string,
10
20
  };
11
21
  export function SiteHealthGoogleAnalytics({ siteName, startDate, endDate }) {
@@ -3,9 +3,19 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import PropTypes from 'prop-types';
4
4
  import { ComposedChart, Bar, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer } from 'recharts';
5
5
  import { SiteHealthTemplate } from './site-health-template';
6
+ /**
7
+ * SiteHealthGoogleSearchConsole — Visualize search performance (impressions/clicks) from Google Search Console.
8
+ *
9
+ * @param {string} [props.siteName] - Site identifier used to fetch Search Console metrics.
10
+ * @param {string} [props.startDate] - Optional ISO start date for the analysis range.
11
+ * @param {string} [props.endDate] - Optional ISO end date for the analysis range.
12
+ */
6
13
  SiteHealthGoogleSearchConsole.propTypes = {
14
+ /** Site identifier used to fetch Search Console metrics */
7
15
  siteName: PropTypes.string.isRequired,
16
+ /** ISO start date for analysis (optional) */
8
17
  startDate: PropTypes.string,
18
+ /** ISO end date for analysis (optional) */
9
19
  endDate: PropTypes.string,
10
20
  };
11
21
  export function SiteHealthGoogleSearchConsole({ siteName, startDate, endDate }) {
@@ -6,8 +6,16 @@ const SiteHealthMockDataContext = createContext(null);
6
6
  export const SiteHealthMockProvider = ({ mocks, children }) => {
7
7
  return (_jsx(SiteHealthMockDataContext.Provider, { value: mocks, children: children }));
8
8
  };
9
+ /**
10
+ * SiteHealthMockProvider — Provider that injects mock site-health data into child components for development and testing.
11
+ *
12
+ * @param {object} [props.mocks] - Map of mock data keyed by site identifier.
13
+ * @param {node} [props.children] - Child nodes that will receive the mock data via context.
14
+ */
9
15
  SiteHealthMockProvider.propTypes = {
16
+ /** Map of mock site-health data */
10
17
  mocks: PropTypes.object.isRequired,
18
+ /** Child nodes that consume mock data */
11
19
  children: PropTypes.node.isRequired
12
20
  };
13
21
  export function useSiteHealthMockData() {
@@ -61,7 +61,13 @@ function restructureAuditsByType(pagesAnalyzed) {
61
61
  });
62
62
  return restructuredAudits.sort((a, b) => (b.score || 0) - (a.score || 0));
63
63
  }
64
+ /**
65
+ * SiteHealthOnSiteSEO — On-site SEO checks and recommendations for the specified site (meta tags, headings, etc.).
66
+ *
67
+ * @param {string} [props.siteName] - Site identifier used to fetch on-site SEO analysis.
68
+ */
64
69
  SiteHealthOnSiteSEO.propTypes = {
70
+ /** Site identifier used to fetch on-site SEO data */
65
71
  siteName: PropTypes.string.isRequired,
66
72
  };
67
73
  export function SiteHealthOnSiteSEO({ siteName }) {
@@ -3,7 +3,13 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
3
3
  import PropTypes from 'prop-types';
4
4
  import { SiteHealthTemplate } from './site-health-template';
5
5
  import { formatScore, getScoreColor } from './site-health-utils';
6
+ /**
7
+ * SiteHealthOverview — Aggregated site health dashboard combining multiple checks (uptime, performance, SEO).
8
+ *
9
+ * @param {string} [props.siteName] - Site identifier used to fetch consolidated site-health metrics.
10
+ */
6
11
  SiteHealthOverview.propTypes = {
12
+ /** Site identifier used to build the overview */
7
13
  siteName: PropTypes.string.isRequired,
8
14
  };
9
15
  export function SiteHealthOverview({ siteName }) {
@@ -3,7 +3,13 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
3
3
  import PropTypes from 'prop-types';
4
4
  import { SiteHealthTemplate } from './site-health-template';
5
5
  import { formatAuditItem, getAuditScoreIcon, getScoreColor, formatScore } from './site-health-utils';
6
+ /**
7
+ * SiteHealthPerformance — Performance metrics panel showing Lighthouse Core Web Vitals and related scores.
8
+ *
9
+ * @param {string} [props.siteName] - Site identifier used to fetch performance data.
10
+ */
6
11
  SiteHealthPerformance.propTypes = {
12
+ /** Site identifier used to fetch performance metrics */
7
13
  siteName: PropTypes.string.isRequired,
8
14
  };
9
15
  export function SiteHealthPerformance({ siteName }) {
@@ -3,7 +3,13 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
3
3
  import PropTypes from 'prop-types';
4
4
  import { SiteHealthTemplate } from './site-health-template';
5
5
  import { formatAuditItem, getAuditScoreIcon, getScoreColor } from './site-health-utils';
6
+ /**
7
+ * SiteHealthSecurity — Security checks (certificate status, headers, known CVEs) for the site.
8
+ *
9
+ * @param {string} [props.siteName] - Site identifier used to fetch security scan results.
10
+ */
6
11
  SiteHealthSecurity.propTypes = {
12
+ /** Site identifier used to fetch security data */
7
13
  siteName: PropTypes.string.isRequired,
8
14
  };
9
15
  export function SiteHealthSecurity({ siteName }) {
@@ -3,7 +3,13 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
3
3
  import PropTypes from 'prop-types';
4
4
  import { SiteHealthTemplate } from './site-health-template';
5
5
  import { formatAuditItem, getAuditScoreIcon, getScoreColor } from './site-health-utils';
6
+ /**
7
+ * SiteHealthSEO — SEO report panel focused on searchability and structured data checks.
8
+ *
9
+ * @param {string} [props.siteName] - Site identifier used to fetch SEO-related metrics.
10
+ */
6
11
  SiteHealthSEO.propTypes = {
12
+ /** Site identifier used to fetch SEO data */
7
13
  siteName: PropTypes.string.isRequired,
8
14
  };
9
15
  export function SiteHealthSEO({ siteName }) {
@@ -5,20 +5,48 @@ import PropTypes from 'prop-types';
5
5
  import { PageGridItem } from '../../general/semantic';
6
6
  import "./site-health.css";
7
7
  import { useSiteHealthMockData } from './site-health-mock-context';
8
+ /**
9
+ * SiteHealthTemplate — Generic data-fetching and rendering wrapper used by site-health panels.
10
+ *
11
+ * @param {string} [props.siteName] - Site identifier used to query health endpoints.
12
+ * @param {string} [props.title] - Optional title rendered in the panel header.
13
+ * @param {function} [props.children] - Render prop that receives fetched data and returns JSX.
14
+ * @param {shape} [props.endpoint] - Endpoint configuration object including `endpoint`, optional `params`, and a `responseTransformer`.
15
+ * @param {oneOf} [props.method] - HTTP method used to call the endpoint (default: 'GET').
16
+ * @param {object} [props.headers] - Optional headers to include in the request.
17
+ * @param {object} [props.params] - Optional query params to include in the request.
18
+ * @param {any} [props.body] - Optional request body for non-GET requests.
19
+ * @param {function} [props.responseTransformer] - Function to transform the API response into the shape consumed by the children render prop.
20
+ * @param {boolean} [props.enableCacheControl] - When true, respects the `cache` query param to bypass or enable caching.
21
+ * @param {number} [props.columnSpan] - Optional grid column span when rendering as a card.
22
+ * @param {any} [props.data] - Optional pre-fetched data to render instead of calling the endpoint.
23
+ */
8
24
  SiteHealthTemplate.propTypes = {
25
+ /** Site identifier used to query health endpoints */
9
26
  siteName: PropTypes.string.isRequired,
27
+ /** Optional title for the panel */
10
28
  title: PropTypes.string,
29
+ /** Render prop receiving the fetched data */
11
30
  children: PropTypes.func.isRequired,
31
+ /** Endpoint configuration */
12
32
  endpoint: PropTypes.shape({
13
33
  endpoint: PropTypes.string.isRequired,
34
+ /** HTTP method (GET/POST/PUT/DELETE) */
14
35
  method: PropTypes.oneOf(['GET', 'POST', 'PUT', 'DELETE']),
36
+ /** Optional request headers */
15
37
  headers: PropTypes.object,
38
+ /** Optional query parameters */
16
39
  params: PropTypes.object,
40
+ /** Optional request body (for POST/PUT) */
17
41
  body: PropTypes.any,
42
+ /** Optional response transformer function */
18
43
  responseTransformer: PropTypes.func,
19
44
  }),
45
+ /** Respect cache control query param when true */
20
46
  enableCacheControl: PropTypes.bool,
47
+ /** Grid column span for card rendering */
21
48
  columnSpan: PropTypes.number,
49
+ /** Optional pre-fetched data to render */
22
50
  data: PropTypes.any,
23
51
  };
24
52
  export function SiteHealthTemplate(props) {
@@ -2,7 +2,13 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import PropTypes from 'prop-types';
4
4
  import { SiteHealthTemplate } from './site-health-template';
5
+ /**
6
+ * SiteHealthUptime — Uptime report showing availability and recent failures for the site.
7
+ *
8
+ * @param {string} [props.siteName] - Site identifier used to fetch uptime metrics.
9
+ */
5
10
  SiteHealthUptime.propTypes = {
11
+ /** Site identifier used to fetch uptime metrics */
6
12
  siteName: PropTypes.string.isRequired,
7
13
  };
8
14
  export function SiteHealthUptime({ siteName }) {
@@ -1,7 +1,10 @@
1
+ import { SECRET_CONFIG_KEYS } from './config.types';
1
2
  import { decrypt, isEncrypted } from './crypto';
2
- import { getClientOnlyPixelatedConfig as stripSecrets } from './config.utils';
3
3
  import fs from 'fs';
4
4
  import path from 'path';
5
+ // NOTE: getClientOnlyPixelatedConfig implementation moved here from
6
+ // src/components/config/config.utils.ts — this consolidates the public
7
+ // config API into one module.
5
8
  const debug = false;
6
9
  /**
7
10
  * Read the full master config blob from local file.
@@ -108,5 +111,41 @@ export function getClientOnlyPixelatedConfig(full) {
108
111
  const src = (full === undefined) ? getFullPixelatedConfig() : full;
109
112
  if (src === null || typeof src !== 'object')
110
113
  return (src || {});
111
- return stripSecrets(src);
114
+ // Inlined secret stripping logic (previously in config.utils)
115
+ const visited = new WeakSet();
116
+ function isSecretKey(key, serviceName) {
117
+ if (SECRET_CONFIG_KEYS.global.includes(key))
118
+ return true;
119
+ if (serviceName && SECRET_CONFIG_KEYS.services[serviceName]) {
120
+ const serviceSecrets = SECRET_CONFIG_KEYS.services[serviceName];
121
+ if (serviceSecrets.includes(key))
122
+ return true;
123
+ }
124
+ return false;
125
+ }
126
+ function strip(obj, serviceName) {
127
+ if (obj === null || typeof obj !== 'object')
128
+ return obj;
129
+ if (visited.has(obj))
130
+ return '[Circular]';
131
+ visited.add(obj);
132
+ if (Array.isArray(obj)) {
133
+ return obj.map((item) => strip(item, serviceName));
134
+ }
135
+ const out = {};
136
+ for (const k of Object.keys(obj)) {
137
+ const currentService = serviceName || k;
138
+ if (isSecretKey(k, serviceName))
139
+ continue;
140
+ out[k] = strip(obj[k], currentService);
141
+ }
142
+ return out;
143
+ }
144
+ try {
145
+ return strip(src);
146
+ }
147
+ catch (err) {
148
+ console.error('Failed to strip secrets from config', err);
149
+ return {};
150
+ }
112
151
  }
@@ -5,8 +5,16 @@ import { getClientOnlyPixelatedConfig } from './config';
5
5
  // Server wrapper: reads server env blob and sanitizes it, then mounts the client provider.
6
6
  // Important: do NOT import client components at module scope — dynamically import
7
7
  // the client provider inside the function so this module remains server-safe.
8
+ /**
9
+ * PixelatedServerConfigProvider — Server-side wrapper that loads and sanitizes server config then mounts the client config provider.
10
+ *
11
+ * @param {object} [props.config] - Optional server config object (sanitized before passing to client provider).
12
+ * @param {node} [props.children] - Client-side UI rendered within the provider.
13
+ */
8
14
  PixelatedServerConfigProvider.propTypes = {
15
+ /** Optional sanitized server config object */
9
16
  config: PropTypes.object,
17
+ /** Child nodes rendered inside the client provider */
10
18
  children: PropTypes.node.isRequired,
11
19
  };
12
20
  export async function PixelatedServerConfigProvider(props) {
@@ -6,7 +6,13 @@ import PropTypes from 'prop-types';
6
6
  import { SmartImage } from "../general/smartimage";
7
7
  import { usePixelatedConfig } from "../config/config.client";
8
8
  import "./404.css";
9
+ /**
10
+ * FourOhFour — Simple 404 page that randomly displays an image and short message.
11
+ *
12
+ * @param {array} [props.images] - Array of image objects used to display the 404 page. Each object should contain { img: string, text: string, description?: string }.
13
+ */
9
14
  FourOhFour.propTypes = {
15
+ /** Array of image objects: { img: string, text: string, description?: string } */
10
16
  images: PropTypes.array.isRequired,
11
17
  };
12
18
  export function FourOhFour(props) {
@@ -2,12 +2,23 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import PropTypes from 'prop-types';
4
4
  import './accordion.css';
5
+ /**
6
+ * Accordion — a simple details/summary-based accordion component.
7
+ *
8
+ * @param {arrayOf} [props.items] - Array of items each with `title`, `content`, and optional `open` state.
9
+ * @param {string} [props.title] - Title or header for an accordion item.
10
+ * @param {oneOfType} [props.content] - Content for an accordion item, either string or React node.
11
+ * @param {boolean} [props.open] - Initial open state of an item (when true the item is expanded).
12
+ * @param {function} [props.onToggle] - Optional callback called when an item is toggled (index, isOpen).
13
+ */
5
14
  Accordion.propTypes = {
15
+ /** Array of accordion items to render. */
6
16
  items: PropTypes.arrayOf(PropTypes.shape({
7
17
  title: PropTypes.string.isRequired,
8
18
  content: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
9
19
  open: PropTypes.bool,
10
20
  })).isRequired,
21
+ /** Called when an item is toggled with (index, isOpen). */
11
22
  onToggle: PropTypes.func,
12
23
  };
13
24
  export function Accordion({ items, onToggle }) {
@@ -10,7 +10,13 @@ function getBingoWords(arr, x) {
10
10
  myBingoWords.splice(12, 0, "FREE SPACE");
11
11
  return myBingoWords;
12
12
  }
13
+ /**
14
+ * BuzzwordBingo — renders a bingo-style card populated with provided buzzwords (defaults to an internal list).
15
+ *
16
+ * @param {array} [props.buzzwords] - Array of words (strings) used to populate the bingo card; uses default list when omitted.
17
+ */
13
18
  BuzzwordBingo.propTypes = {
19
+ /** List of buzzwords used to populate the bingo card. */
14
20
  buzzwords: PropTypes.array,
15
21
  };
16
22
  export function BuzzwordBingo(props) {
@@ -22,13 +28,25 @@ export function BuzzwordBingo(props) {
22
28
  }, [buzzwords]);
23
29
  return (_jsxs("div", { className: "bingoCard rowfix-5col", children: [myBingoHeaders.map((word) => (_jsx(BingoHeader, { word: word }, word))), bingoWords.map((word) => (_jsx(BingoBox, { word: word }, word)))] }));
24
30
  }
31
+ /**
32
+ * BingoHeader — renders a single header cell for the bingo card (letters B I N G O).
33
+ *
34
+ * @param {string} [props.word] - Single character header label (e.g., 'B', 'I', 'N', 'G', 'O').
35
+ */
25
36
  BingoHeader.propTypes = {
37
+ /** Header label character. */
26
38
  word: PropTypes.string.isRequired,
27
39
  };
28
40
  function BingoHeader({ word }) {
29
41
  return (_jsx("div", { className: "bingoHeader gridItem", children: _jsx("div", { className: "bingoBoxText", children: word }) }));
30
42
  }
43
+ /**
44
+ * BingoBox — renders an individual bingo cell (word or 'FREE SPACE').
45
+ *
46
+ * @param {string} [props.word] - Word displayed in this cell; 'FREE SPACE' is treated specially.
47
+ */
31
48
  BingoBox.propTypes = {
49
+ /** Word displayed in the bingo cell. */
32
50
  word: PropTypes.string.isRequired,
33
51
  };
34
52
  function BingoBox({ word }) {
@@ -22,30 +22,73 @@ export const variants = ['default', 'boxed', 'boxed grid', 'full', 'grid', 'over
22
22
  export const shapes = ['square', 'bevel', 'squircle', 'round'];
23
23
  export const layouts = ['horizontal', 'vertical'];
24
24
  export const directions = ['left', 'right'];
25
+ /**
26
+ * Callout — versatile content block used for banners, promotional sections, and feature callouts.
27
+ *
28
+ * @param {oneOf} [props.variant] - Visual variant (e.g., 'default', 'boxed', 'full', 'grid', 'overlay', 'split').
29
+ * @param {oneOf} [props.boxShape] - Corner shape for boxed variants (e.g., 'square', 'bevel', 'squircle', 'round').
30
+ * @param {oneOf} [props.layout] - Layout direction: 'horizontal' (image + content) or 'vertical'.
31
+ * @param {oneOf} [props.direction] - When horizontal, whether the image appears on the 'left' or 'right'.
32
+ * @param {shape} [props.gridColumns] - Optional grid column counts used for boxed grid variants ({ left, right }).
33
+ * @param {number} [props.left] - Left column width for grid layouts.
34
+ * @param {number} [props.right] - Right column width for grid layouts.
35
+ * @param {string} [props.url] - Optional CTA URL for the callout button.
36
+ * @param {string} [props.img] - Image URL to display in the callout.
37
+ * @param {string} [props.imgAlt] - Alternate text for the image (accessibility and caption fallback).
38
+ * @param {oneOf} [props.imgShape] - Visual shape applied to the image container.
39
+ * @param {function} [props.imgClick] - Optional image click handler (event, url).
40
+ * @param {string} [props.title] - Primary title text for the callout.
41
+ * @param {string} [props.subtitle] - Secondary title/subtitle text.
42
+ * @param {oneOfType} [props.content] - Content as string or React node to place inside the callout body.
43
+ * @param {node} [props.children] - React children to render in the content area (takes precedence over content).
44
+ * @param {string} [props.buttonText] - Button/CTA text to display when `url` is provided.
45
+ * @param {boolean} [props.aboveFold] - Hint to prioritize image loading (above-the-fold) for performance.
46
+ * @param {string} [props.cloudinaryEnv] - Cloudinary environment key (internal use for SmartImage).
47
+ * @param {string} [props.cloudinaryDomain] - Cloudinary domain to use for image hosts.
48
+ * @param {string} [props.cloudinaryTransforms] - Optional Cloudinary transform presets.
49
+ */
25
50
  Callout.propTypes = {
51
+ /** Visual variant selector (e.g., 'default', 'boxed', 'grid', 'full'). */
26
52
  variant: PropTypes.oneOf([...variants]),
53
+ /** Corner/box shape for boxed variants. */
27
54
  boxShape: PropTypes.oneOf([...shapes]),
55
+ /** Layout direction: 'horizontal' or 'vertical'. */
28
56
  layout: PropTypes.oneOf([...layouts]),
57
+ /** When horizontal layout is used, position image on 'left' or 'right'. */
29
58
  direction: PropTypes.oneOf([...directions]),
59
+ /** Grid column sizing used for 'boxed grid' variants. */
30
60
  gridColumns: PropTypes.shape({
61
+ /** Left column width in the grid configuration. */
31
62
  left: PropTypes.number,
63
+ /** Right column width in the grid configuration. */
32
64
  right: PropTypes.number
33
65
  }),
66
+ /** Optional CTA URL used by CalloutButton. */
34
67
  url: PropTypes.string,
68
+ /** Image URL to display in the callout. */
35
69
  img: PropTypes.string,
70
+ /** Alt text for the image (used for accessibility and caption fallback). */
36
71
  imgAlt: PropTypes.string,
72
+ /** Visual shape applied to the image container (e.g., 'square', 'round'). */
37
73
  imgShape: PropTypes.oneOf([...shapes]),
74
+ /** Optional click handler for the image (event, url). */
38
75
  imgClick: PropTypes.func,
76
+ /** Primary title text for the callout. */
39
77
  title: PropTypes.string,
78
+ /** Optional subtitle/secondary heading. */
40
79
  subtitle: PropTypes.string,
80
+ /** Content string or React node to render inside the body area. */
41
81
  content: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
82
+ /** React children to render in the content area (takes precedence over content prop). */
42
83
  children: PropTypes.node,
84
+ /** Button or CTA text used when `url` is provided. */
43
85
  buttonText: PropTypes.string,
44
86
  // SmartImage props
87
+ /** Hint to prioritize image loading (treat as above-the-fold). */
45
88
  aboveFold: PropTypes.bool,
46
89
  /* cloudinaryEnv: PropTypes.string,
47
- cloudinaryDomain: PropTypes.string,
48
- cloudinaryTransforms: PropTypes.string, */
90
+ cloudinaryDomain: PropTypes.string,
91
+ cloudinaryTransforms: PropTypes.string, */
49
92
  };
50
93
  export function Callout({ variant = 'default', boxShape = "squircle", layout = "horizontal", direction = 'left', gridColumns = { left: 1, right: 2 }, url, img, imgAlt, imgShape = 'square', imgClick, title, subtitle, content, children, buttonText, aboveFold,
51
94
  /* cloudinaryEnv,
@@ -73,9 +116,19 @@ cloudinaryTransforms */ }) {
73
116
  (variant && (variant === 'boxed grid' || variant === 'grid') && gridColumns ? ` callout-grid-${gridColumns.left}-${gridColumns.right}` : ''), children: (direction === "right") ? _jsxs(_Fragment, { children: [body, image] }) : _jsxs(_Fragment, { children: [image, body] }) }));
74
117
  }
75
118
  /* ========== CALLOUT HEADER ========== */
119
+ /**
120
+ * CalloutHeader — renders the primary title and optional link wrapper for a Callout.
121
+ *
122
+ * @param {string} [props.title] - Title text displayed as the heading.
123
+ * @param {string} [props.url] - Optional URL that wraps the title as a link.
124
+ * @param {string} [props.target] - Link target (e.g., '_self', '_blank').
125
+ */
76
126
  CalloutHeader.propTypes = {
127
+ /** Heading title text (required). */
77
128
  title: PropTypes.string.isRequired,
129
+ /** Optional link URL for the heading. */
78
130
  url: PropTypes.string,
131
+ /** Optional link target attribute. */
79
132
  target: PropTypes.string
80
133
  };
81
134
  export function CalloutHeader({ title, url, target }) {
@@ -84,9 +137,19 @@ export function CalloutHeader({ title, url, target }) {
84
137
  : _jsx("h2", { className: "callout-title", children: title }) }));
85
138
  }
86
139
  /* ========== CALLOUT BUTTON ========== */
140
+ /**
141
+ * CalloutButton — renders a button that navigates to a provided CTA URL.
142
+ *
143
+ * @param {string} [props.title] - Button label text (required when URL is provided).
144
+ * @param {string} [props.url] - Required URL that the button navigates to.
145
+ * @param {string} [props.target] - Optional link target for cross-origin behavior.
146
+ */
87
147
  CalloutButton.propTypes = {
148
+ /** Button label text. */
88
149
  title: PropTypes.string.isRequired,
150
+ /** CTA URL that the button will navigate to when clicked. */
89
151
  url: PropTypes.string.isRequired,
152
+ /** Optional target attribute for link behavior. */
90
153
  target: PropTypes.string
91
154
  };
92
155
  export function CalloutButton({ title, url, target }) {
@@ -8,10 +8,22 @@ import PropTypes from 'prop-types';
8
8
  if (debug) console.log('CarouselSimple: Dragging disabled');
9
9
  }
10
10
  */
11
+ /**
12
+ * DragHandler — attaches global drag/touch handlers to enable swipe navigation for a carousel-like container.
13
+ *
14
+ * @param {number} [props.activeIndex] - Current active slide index (used to calculate offsets).
15
+ * @param {string} [props.targetDiv] - CSS class name of the container that should be draggable (e.g., 'carousel-card-wrapper').
16
+ * @param {function} [props.nextImage] - Callback invoked to advance to the next slide.
17
+ * @param {function} [props.previousImage] - Callback invoked to go to the previous slide.
18
+ */
11
19
  DragHandler.propTypes = {
20
+ /** Current active slide index. */
12
21
  activeIndex: PropTypes.number.isRequired,
22
+ /** CSS class of the container element to attach drag handlers to (without the leading dot). */
13
23
  targetDiv: PropTypes.string.isRequired,
24
+ /** Callback to show the next image/slide. */
14
25
  nextImage: PropTypes.func.isRequired,
26
+ /** Callback to show the previous image/slide. */
15
27
  previousImage: PropTypes.func.isRequired,
16
28
  };
17
29
  export function DragHandler(props) {