@pixelated-tech/components 3.11.8 → 3.12.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 (286) hide show
  1. package/dist/components/admin/site-health/site-health-accessibility.js +6 -0
  2. package/dist/components/admin/site-health/site-health-axe-core.js +6 -0
  3. package/dist/components/admin/site-health/site-health-cloudwatch.js +10 -0
  4. package/dist/components/admin/site-health/site-health-dependency-vulnerabilities.js +6 -0
  5. package/dist/components/admin/site-health/site-health-github.js +10 -0
  6. package/dist/components/admin/site-health/site-health-google-analytics.js +10 -0
  7. package/dist/components/admin/site-health/site-health-google-search-console.js +10 -0
  8. package/dist/components/admin/site-health/site-health-mock-context.js +8 -0
  9. package/dist/components/admin/site-health/site-health-on-site-seo.js +6 -0
  10. package/dist/components/admin/site-health/site-health-overview.js +6 -0
  11. package/dist/components/admin/site-health/site-health-performance.js +6 -0
  12. package/dist/components/admin/site-health/site-health-security.js +6 -0
  13. package/dist/components/admin/site-health/site-health-seo.js +6 -0
  14. package/dist/components/admin/site-health/site-health-template.js +28 -0
  15. package/dist/components/admin/site-health/site-health-uptime.js +6 -0
  16. package/dist/components/config/config.server.js +8 -0
  17. package/dist/components/general/404.js +6 -0
  18. package/dist/components/general/accordion.js +11 -0
  19. package/dist/components/general/buzzwordbingo.js +18 -0
  20. package/dist/components/general/callout.js +65 -2
  21. package/dist/components/general/carousel.drag.js +12 -0
  22. package/dist/components/general/carousel.js +50 -0
  23. package/dist/components/general/faq-accordion.js +15 -0
  24. package/dist/components/general/global-error.js +12 -0
  25. package/dist/components/general/hero.js +13 -0
  26. package/dist/components/general/loading.js +10 -1
  27. package/dist/components/general/markdown.js +6 -0
  28. package/dist/components/general/menu-accordion.js +30 -1
  29. package/dist/components/general/menu-expando.js +24 -1
  30. package/dist/components/general/menu-simple.js +21 -0
  31. package/dist/components/general/metadata.components.js +10 -0
  32. package/dist/components/general/microinteractions.js +22 -0
  33. package/dist/components/general/modal.js +12 -0
  34. package/dist/components/general/nerdjoke.js +11 -1
  35. package/dist/components/general/proxy-handler.js +7 -7
  36. package/dist/components/general/recipe.js +46 -1
  37. package/dist/components/general/resume.js +82 -0
  38. package/dist/components/general/schema-blogposting.js +6 -0
  39. package/dist/components/general/schema-localbusiness.js +36 -0
  40. package/dist/components/general/schema-recipe.js +20 -0
  41. package/dist/components/general/semantic.js +178 -0
  42. package/dist/components/general/sidepanel.js +26 -0
  43. package/dist/components/general/sitemap.js +50 -0
  44. package/dist/components/general/skeleton-loading.css +5 -5
  45. package/dist/components/general/skeleton-loading.js +11 -2
  46. package/dist/components/general/skeleton.js +15 -0
  47. package/dist/components/general/smartimage.js +48 -2
  48. package/dist/components/general/splitscroll.js +21 -10
  49. package/dist/components/general/styleguide.js +6 -0
  50. package/dist/components/general/tab.js +12 -0
  51. package/dist/components/general/table.js +12 -0
  52. package/dist/components/general/tiles.js +32 -1
  53. package/dist/components/general/timeline.js +22 -0
  54. package/dist/components/integrations/calendly.js +10 -0
  55. package/dist/components/integrations/cloudinary.js +16 -0
  56. package/dist/components/integrations/contentful.delivery.js +84 -0
  57. package/dist/components/integrations/contentful.items.components.js +46 -0
  58. package/dist/components/integrations/flickr.js +34 -0
  59. package/dist/components/integrations/google.reviews.components.js +14 -0
  60. package/dist/components/integrations/googleanalytics.js +14 -0
  61. package/dist/components/integrations/googlemap.js +20 -0
  62. package/dist/components/integrations/googlesearch.js +6 -0
  63. package/dist/components/integrations/gravatar.components.js +59 -0
  64. package/dist/components/integrations/hubspot.components.js +30 -0
  65. package/dist/components/integrations/instagram.components.js +18 -0
  66. package/dist/components/integrations/lipsum.js +45 -0
  67. package/dist/components/integrations/loremipsum.js +13 -1
  68. package/dist/components/integrations/socialcard.js +20 -1
  69. package/dist/components/integrations/wordpress.components.js +40 -0
  70. package/dist/components/integrations/wordpress.functions.js +24 -0
  71. package/dist/components/integrations/yelp.js +8 -0
  72. package/dist/components/shoppingcart/ebay.components.js +70 -0
  73. package/dist/components/shoppingcart/ebay.functions.js +52 -0
  74. package/dist/components/shoppingcart/shoppingcart.components.js +89 -0
  75. package/dist/components/sitebuilder/config/CompoundFontSelector.js +32 -0
  76. package/dist/components/sitebuilder/config/ConfigBuilder.js +8 -0
  77. package/dist/components/sitebuilder/config/FontSelector.js +40 -0
  78. package/dist/components/sitebuilder/form/formbuilder.js +10 -1
  79. package/dist/components/sitebuilder/form/formcomponents.js +325 -6
  80. package/dist/components/sitebuilder/form/formengine.js +35 -1
  81. package/dist/components/sitebuilder/form/formextractor.js +33 -1
  82. package/dist/components/sitebuilder/form/formutils.js +0 -4
  83. package/dist/components/sitebuilder/form/formvalidator.js +6 -0
  84. package/dist/components/sitebuilder/page/components/ComponentPropertiesForm.js +8 -0
  85. package/dist/components/sitebuilder/page/components/ComponentSelector.js +10 -0
  86. package/dist/components/sitebuilder/page/components/ComponentTree.js +20 -0
  87. package/dist/components/sitebuilder/page/components/PageBuilderUI.js +6 -0
  88. package/dist/components/sitebuilder/page/components/PageEngine.js +20 -0
  89. package/dist/components/sitebuilder/page/components/SaveLoadSection.js +10 -0
  90. package/dist/config/pixelated.config.json.enc +1 -1
  91. package/dist/index.js +1 -0
  92. package/dist/index.server.js +1 -0
  93. package/dist/scripts/pixelated-eslint-plugin.js +56 -0
  94. package/dist/scripts/release.sh +12 -21
  95. package/dist/types/components/admin/site-health/site-health-accessibility.d.ts +1 -0
  96. package/dist/types/components/admin/site-health/site-health-accessibility.d.ts.map +1 -1
  97. package/dist/types/components/admin/site-health/site-health-axe-core.d.ts +1 -0
  98. package/dist/types/components/admin/site-health/site-health-axe-core.d.ts.map +1 -1
  99. package/dist/types/components/admin/site-health/site-health-cloudwatch.d.ts +3 -0
  100. package/dist/types/components/admin/site-health/site-health-cloudwatch.d.ts.map +1 -1
  101. package/dist/types/components/admin/site-health/site-health-dependency-vulnerabilities.d.ts +1 -0
  102. package/dist/types/components/admin/site-health/site-health-dependency-vulnerabilities.d.ts.map +1 -1
  103. package/dist/types/components/admin/site-health/site-health-github.d.ts +3 -0
  104. package/dist/types/components/admin/site-health/site-health-github.d.ts.map +1 -1
  105. package/dist/types/components/admin/site-health/site-health-google-analytics.d.ts +3 -0
  106. package/dist/types/components/admin/site-health/site-health-google-analytics.d.ts.map +1 -1
  107. package/dist/types/components/admin/site-health/site-health-google-search-console.d.ts +3 -0
  108. package/dist/types/components/admin/site-health/site-health-google-search-console.d.ts.map +1 -1
  109. package/dist/types/components/admin/site-health/site-health-mock-context.d.ts +8 -0
  110. package/dist/types/components/admin/site-health/site-health-mock-context.d.ts.map +1 -1
  111. package/dist/types/components/admin/site-health/site-health-on-site-seo.d.ts +1 -0
  112. package/dist/types/components/admin/site-health/site-health-on-site-seo.d.ts.map +1 -1
  113. package/dist/types/components/admin/site-health/site-health-overview.d.ts +1 -0
  114. package/dist/types/components/admin/site-health/site-health-overview.d.ts.map +1 -1
  115. package/dist/types/components/admin/site-health/site-health-performance.d.ts +1 -0
  116. package/dist/types/components/admin/site-health/site-health-performance.d.ts.map +1 -1
  117. package/dist/types/components/admin/site-health/site-health-security.d.ts +1 -0
  118. package/dist/types/components/admin/site-health/site-health-security.d.ts.map +1 -1
  119. package/dist/types/components/admin/site-health/site-health-seo.d.ts +1 -0
  120. package/dist/types/components/admin/site-health/site-health-seo.d.ts.map +1 -1
  121. package/dist/types/components/admin/site-health/site-health-template.d.ts +12 -0
  122. package/dist/types/components/admin/site-health/site-health-template.d.ts.map +1 -1
  123. package/dist/types/components/admin/site-health/site-health-uptime.d.ts +1 -0
  124. package/dist/types/components/admin/site-health/site-health-uptime.d.ts.map +1 -1
  125. package/dist/types/components/config/config.server.d.ts +2 -0
  126. package/dist/types/components/config/config.server.d.ts.map +1 -1
  127. package/dist/types/components/general/404.d.ts +1 -0
  128. package/dist/types/components/general/404.d.ts.map +1 -1
  129. package/dist/types/components/general/accordion.d.ts +2 -0
  130. package/dist/types/components/general/accordion.d.ts.map +1 -1
  131. package/dist/types/components/general/buzzwordbingo.d.ts +3 -0
  132. package/dist/types/components/general/buzzwordbingo.d.ts.map +1 -1
  133. package/dist/types/components/general/callout.d.ts +24 -0
  134. package/dist/types/components/general/callout.d.ts.map +1 -1
  135. package/dist/types/components/general/carousel.d.ts +13 -0
  136. package/dist/types/components/general/carousel.d.ts.map +1 -1
  137. package/dist/types/components/general/carousel.drag.d.ts +4 -0
  138. package/dist/types/components/general/carousel.drag.d.ts.map +1 -1
  139. package/dist/types/components/general/faq-accordion.d.ts +5 -0
  140. package/dist/types/components/general/faq-accordion.d.ts.map +1 -1
  141. package/dist/types/components/general/global-error.d.ts +4 -0
  142. package/dist/types/components/general/global-error.d.ts.map +1 -1
  143. package/dist/types/components/general/hero.d.ts +4 -0
  144. package/dist/types/components/general/hero.d.ts.map +1 -1
  145. package/dist/types/components/general/loading.d.ts +1 -0
  146. package/dist/types/components/general/loading.d.ts.map +1 -1
  147. package/dist/types/components/general/markdown.d.ts +1 -0
  148. package/dist/types/components/general/markdown.d.ts.map +1 -1
  149. package/dist/types/components/general/menu-accordion.d.ts +7 -0
  150. package/dist/types/components/general/menu-accordion.d.ts.map +1 -1
  151. package/dist/types/components/general/menu-expando.d.ts +6 -0
  152. package/dist/types/components/general/menu-expando.d.ts.map +1 -1
  153. package/dist/types/components/general/menu-simple.d.ts +6 -0
  154. package/dist/types/components/general/menu-simple.d.ts.map +1 -1
  155. package/dist/types/components/general/metadata.components.d.ts +3 -0
  156. package/dist/types/components/general/metadata.components.d.ts.map +1 -1
  157. package/dist/types/components/general/microinteractions.d.ts +9 -0
  158. package/dist/types/components/general/microinteractions.d.ts.map +1 -1
  159. package/dist/types/components/general/modal.d.ts +4 -0
  160. package/dist/types/components/general/modal.d.ts.map +1 -1
  161. package/dist/types/components/general/nerdjoke.d.ts +2 -0
  162. package/dist/types/components/general/nerdjoke.d.ts.map +1 -1
  163. package/dist/types/components/general/proxy-handler.d.ts +7 -7
  164. package/dist/types/components/general/proxy-handler.d.ts.map +1 -1
  165. package/dist/types/components/general/recipe.d.ts +13 -0
  166. package/dist/types/components/general/recipe.d.ts.map +1 -1
  167. package/dist/types/components/general/resume.d.ts +21 -0
  168. package/dist/types/components/general/resume.d.ts.map +1 -1
  169. package/dist/types/components/general/schema-blogposting.d.ts +1 -0
  170. package/dist/types/components/general/schema-blogposting.d.ts.map +1 -1
  171. package/dist/types/components/general/schema-localbusiness.d.ts +16 -0
  172. package/dist/types/components/general/schema-localbusiness.d.ts.map +1 -1
  173. package/dist/types/components/general/schema-recipe.d.ts +1 -0
  174. package/dist/types/components/general/schema-recipe.d.ts.map +1 -1
  175. package/dist/types/components/general/semantic.d.ts +67 -0
  176. package/dist/types/components/general/semantic.d.ts.map +1 -1
  177. package/dist/types/components/general/sidepanel.d.ts +11 -0
  178. package/dist/types/components/general/sidepanel.d.ts.map +1 -1
  179. package/dist/types/components/general/sitemap.d.ts +19 -0
  180. package/dist/types/components/general/sitemap.d.ts.map +1 -1
  181. package/dist/types/components/general/skeleton-loading.d.ts +3 -6
  182. package/dist/types/components/general/skeleton-loading.d.ts.map +1 -1
  183. package/dist/types/components/general/skeleton.d.ts +5 -0
  184. package/dist/types/components/general/skeleton.d.ts.map +1 -1
  185. package/dist/types/components/general/smartimage.d.ts +22 -0
  186. package/dist/types/components/general/smartimage.d.ts.map +1 -1
  187. package/dist/types/components/general/splitscroll.d.ts +18 -40
  188. package/dist/types/components/general/splitscroll.d.ts.map +1 -1
  189. package/dist/types/components/general/styleguide.d.ts +1 -0
  190. package/dist/types/components/general/styleguide.d.ts.map +1 -1
  191. package/dist/types/components/general/tab.d.ts +4 -0
  192. package/dist/types/components/general/tab.d.ts.map +1 -1
  193. package/dist/types/components/general/table.d.ts +4 -0
  194. package/dist/types/components/general/table.d.ts.map +1 -1
  195. package/dist/types/components/general/tiles.d.ts +12 -1
  196. package/dist/types/components/general/tiles.d.ts.map +1 -1
  197. package/dist/types/components/general/timeline.d.ts +5 -0
  198. package/dist/types/components/general/timeline.d.ts.map +1 -1
  199. package/dist/types/components/integrations/calendly.d.ts +3 -0
  200. package/dist/types/components/integrations/calendly.d.ts.map +1 -1
  201. package/dist/types/components/integrations/cloudinary.d.ts +4 -0
  202. package/dist/types/components/integrations/cloudinary.d.ts.map +1 -1
  203. package/dist/types/components/integrations/contentful.delivery.d.ts +22 -0
  204. package/dist/types/components/integrations/contentful.delivery.d.ts.map +1 -1
  205. package/dist/types/components/integrations/contentful.items.components.d.ts +10 -0
  206. package/dist/types/components/integrations/contentful.items.components.d.ts.map +1 -1
  207. package/dist/types/components/integrations/flickr.d.ts +11 -0
  208. package/dist/types/components/integrations/flickr.d.ts.map +1 -1
  209. package/dist/types/components/integrations/google.reviews.components.d.ts +5 -0
  210. package/dist/types/components/integrations/google.reviews.components.d.ts.map +1 -1
  211. package/dist/types/components/integrations/googleanalytics.d.ts +3 -0
  212. package/dist/types/components/integrations/googleanalytics.d.ts.map +1 -1
  213. package/dist/types/components/integrations/googlemap.d.ts +8 -0
  214. package/dist/types/components/integrations/googlemap.d.ts.map +1 -1
  215. package/dist/types/components/integrations/googlesearch.d.ts +1 -0
  216. package/dist/types/components/integrations/googlesearch.d.ts.map +1 -1
  217. package/dist/types/components/integrations/gravatar.components.d.ts +35 -0
  218. package/dist/types/components/integrations/gravatar.components.d.ts.map +1 -1
  219. package/dist/types/components/integrations/hubspot.components.d.ts +9 -0
  220. package/dist/types/components/integrations/hubspot.components.d.ts.map +1 -1
  221. package/dist/types/components/integrations/instagram.components.d.ts +7 -0
  222. package/dist/types/components/integrations/instagram.components.d.ts.map +1 -1
  223. package/dist/types/components/integrations/lipsum.d.ts +14 -0
  224. package/dist/types/components/integrations/lipsum.d.ts.map +1 -0
  225. package/dist/types/components/integrations/loremipsum.d.ts +4 -0
  226. package/dist/types/components/integrations/loremipsum.d.ts.map +1 -1
  227. package/dist/types/components/integrations/socialcard.d.ts +4 -0
  228. package/dist/types/components/integrations/socialcard.d.ts.map +1 -1
  229. package/dist/types/components/integrations/wordpress.components.d.ts +14 -0
  230. package/dist/types/components/integrations/wordpress.components.d.ts.map +1 -1
  231. package/dist/types/components/integrations/wordpress.functions.d.ts +6 -0
  232. package/dist/types/components/integrations/wordpress.functions.d.ts.map +1 -1
  233. package/dist/types/components/integrations/yelp.d.ts +2 -0
  234. package/dist/types/components/integrations/yelp.d.ts.map +1 -1
  235. package/dist/types/components/shoppingcart/ebay.components.d.ts +15 -0
  236. package/dist/types/components/shoppingcart/ebay.components.d.ts.map +1 -1
  237. package/dist/types/components/shoppingcart/ebay.functions.d.ts +12 -0
  238. package/dist/types/components/shoppingcart/ebay.functions.d.ts.map +1 -1
  239. package/dist/types/components/shoppingcart/shoppingcart.components.d.ts +30 -0
  240. package/dist/types/components/shoppingcart/shoppingcart.components.d.ts.map +1 -1
  241. package/dist/types/components/sitebuilder/config/CompoundFontSelector.d.ts +12 -0
  242. package/dist/types/components/sitebuilder/config/CompoundFontSelector.d.ts.map +1 -1
  243. package/dist/types/components/sitebuilder/config/ConfigBuilder.d.ts +2 -0
  244. package/dist/types/components/sitebuilder/config/ConfigBuilder.d.ts.map +1 -1
  245. package/dist/types/components/sitebuilder/config/FontSelector.d.ts +16 -0
  246. package/dist/types/components/sitebuilder/config/FontSelector.d.ts.map +1 -1
  247. package/dist/types/components/sitebuilder/form/formbuilder.d.ts +5 -1
  248. package/dist/types/components/sitebuilder/form/formbuilder.d.ts.map +1 -1
  249. package/dist/types/components/sitebuilder/form/formcomponents.d.ts +129 -0
  250. package/dist/types/components/sitebuilder/form/formcomponents.d.ts.map +1 -1
  251. package/dist/types/components/sitebuilder/form/formengine.d.ts +5 -0
  252. package/dist/types/components/sitebuilder/form/formengine.d.ts.map +1 -1
  253. package/dist/types/components/sitebuilder/form/formextractor.d.ts +6 -0
  254. package/dist/types/components/sitebuilder/form/formextractor.d.ts.map +1 -1
  255. package/dist/types/components/sitebuilder/form/formutils.d.ts +0 -2
  256. package/dist/types/components/sitebuilder/form/formutils.d.ts.map +1 -1
  257. package/dist/types/components/sitebuilder/form/formvalidator.d.ts +1 -0
  258. package/dist/types/components/sitebuilder/form/formvalidator.d.ts.map +1 -1
  259. package/dist/types/components/sitebuilder/page/components/ComponentPropertiesForm.d.ts +2 -0
  260. package/dist/types/components/sitebuilder/page/components/ComponentPropertiesForm.d.ts.map +1 -1
  261. package/dist/types/components/sitebuilder/page/components/ComponentSelector.d.ts +3 -0
  262. package/dist/types/components/sitebuilder/page/components/ComponentSelector.d.ts.map +1 -1
  263. package/dist/types/components/sitebuilder/page/components/ComponentTree.d.ts +8 -0
  264. package/dist/types/components/sitebuilder/page/components/ComponentTree.d.ts.map +1 -1
  265. package/dist/types/components/sitebuilder/page/components/PageBuilderUI.d.ts +1 -0
  266. package/dist/types/components/sitebuilder/page/components/PageBuilderUI.d.ts.map +1 -1
  267. package/dist/types/components/sitebuilder/page/components/PageEngine.d.ts +8 -0
  268. package/dist/types/components/sitebuilder/page/components/PageEngine.d.ts.map +1 -1
  269. package/dist/types/components/sitebuilder/page/components/SaveLoadSection.d.ts +3 -0
  270. package/dist/types/components/sitebuilder/page/components/SaveLoadSection.d.ts.map +1 -1
  271. package/dist/types/index.d.ts +1 -0
  272. package/dist/types/index.server.d.ts +1 -0
  273. package/dist/types/scripts/pixelated-eslint-plugin.d.ts +18 -0
  274. package/dist/types/stories/general/skeleton-loading.stories.d.ts +1 -1
  275. package/dist/types/stories/general/skeleton-loading.stories.d.ts.map +1 -1
  276. package/dist/types/stories/integrations/lipsum.stories.d.ts +38 -0
  277. package/dist/types/stories/integrations/lipsum.stories.d.ts.map +1 -0
  278. package/dist/types/stories/shoppingcart/shoppingcart.stories.d.ts +3 -1
  279. package/dist/types/stories/shoppingcart/shoppingcart.stories.d.ts.map +1 -1
  280. package/dist/types/tests/args.test.d.ts +2 -0
  281. package/dist/types/tests/args.test.d.ts.map +1 -0
  282. package/dist/types/tests/lipsum.test.d.ts +2 -0
  283. package/dist/types/tests/lipsum.test.d.ts.map +1 -0
  284. package/dist/types/tests/storybook-docgen.test.d.ts +2 -0
  285. package/dist/types/tests/storybook-docgen.test.d.ts.map +1 -0
  286. package/package.json +12 -9
@@ -0,0 +1,45 @@
1
+ import PropTypes from 'prop-types';
2
+ // https://www.outsystems.com/forge/component-documentation/12204/lorem-ipsum-lipsum-com-o11/0
3
+ /**
4
+ * getLipsum — Fetch placeholder text from lipsum.com and return an array of paragraphs.
5
+ *
6
+ * @param {oneOf} [props.LipsumTypeId] - Type of content to request ('Paragraph', 'Word', 'Char').
7
+ * @param {number} [props.Amount] - Quantity to request (number of paragraphs/words/chars).
8
+ * @param {boolean} [props.StartWithLoremIpsum] - Whether the text should start with the classic Lorem Ipsum opening.
9
+ */
10
+ getLipsum.propTypes = {
11
+ /** Type of lipsum content to request */
12
+ LipsumTypeId: PropTypes.oneOf(['Paragraph', 'Word', 'Char']).isRequired,
13
+ /** Number of items to request */
14
+ Amount: PropTypes.number.isRequired,
15
+ /** Start with the canonical Lorem Ipsum text */
16
+ StartWithLoremIpsum: PropTypes.bool,
17
+ };
18
+ export async function getLipsum(props) {
19
+ const { LipsumTypeId, Amount, StartWithLoremIpsum } = props;
20
+ const proxyURL = "https://proxy.pixelated.tech/prod/proxy?url=";
21
+ const baseURL = "https://www.lipsum.com/feed/html";
22
+ const qs = `?LipsumTypeId=${LipsumTypeId}&amount=${Amount}&StartWithLoremIpsum=${StartWithLoremIpsum}`;
23
+ const fulURL = `${proxyURL}${baseURL}${qs}`;
24
+ const res = await fetch(fulURL)
25
+ .then((response) => {
26
+ return response.text();
27
+ })
28
+ .then((html) => {
29
+ const parser = new DOMParser();
30
+ const doc = parser.parseFromString(html, 'text/html');
31
+ const lipsum = doc.getElementById('lipsum');
32
+ // const lipsums = doc.getElementById('lipsum')?.innerHTML || "";
33
+ const paragraphs = lipsum?.querySelectorAll('p');
34
+ const strings = [];
35
+ paragraphs?.forEach((p) => {
36
+ strings.push(p.textContent.trim());
37
+ });
38
+ return strings;
39
+ })
40
+ .catch(error => {
41
+ console.error('Failed to fetch page: ', error);
42
+ return [];
43
+ });
44
+ return res;
45
+ }
@@ -2,12 +2,24 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { useEffect, useState } from 'react';
4
4
  import PropTypes from 'prop-types';
5
- import { usePixelatedConfig } from '@/components/config/config.client';
5
+ import { usePixelatedConfig } from '../config/config.client';
6
6
  const debug = false;
7
+ /**
8
+ * LoremIpsum — Fetch and render placeholder paragraphs via an external API (with optional proxy fallback).
9
+ *
10
+ * @param {number} [props.paragraphs] - Number of paragraphs to fetch.
11
+ * @param {string} [props.seed] - Optional seed to generate deterministic content.
12
+ * @param {string} [props.proxyBase] - Optional proxy base URL to use when direct fetch fails due to CORS.
13
+ * @param {string} [props.className] - CSS class name(s) applied to the wrapper element.
14
+ */
7
15
  LoremIpsum.propTypes = {
16
+ /** Paragraph count to request */
8
17
  paragraphs: PropTypes.number,
18
+ /** Optional deterministic seed for content */
9
19
  seed: PropTypes.string,
20
+ /** Proxy base URL used as a fallback */
10
21
  proxyBase: PropTypes.string,
22
+ /** Wrapper CSS class name */
11
23
  className: PropTypes.string,
12
24
  };
13
25
  export function LoremIpsum({ paragraphs = 1, seed = '', proxyBase, className = '' }) {
@@ -31,7 +31,13 @@ function removeDeadHrefs(element) {
31
31
  return doc.body.innerHTML;
32
32
  }
33
33
  /* ========== SOCIALCARD ========== */
34
+ /**
35
+ * SocialCards — Aggregate feeds from configured sources (RSS, APIs) and render as social cards.
36
+ *
37
+ * @param {object} [props.sources] - Map of source configurations (url/userID/entryCount/iconSrc/iconSrcAlt) keyed by source name.
38
+ */
34
39
  SocialCards.propTypes = {
40
+ /** Map of feed source configurations (e.g., { instagram: { userID, entryCount }, blog: { url, entryCount }, ... }) */
35
41
  sources: PropTypes.object.isRequired
36
42
  };
37
43
  export function SocialCards(props) {
@@ -289,9 +295,19 @@ export function SocialCards(props) {
289
295
  return (state.mySocialCards);
290
296
  }
291
297
  }
298
+ /**
299
+ * SocialCard — Render a single social feed item as a card with icon, title, description, and date.
300
+ *
301
+ * @param {string} [props.iconSrc] - URL/path to the source icon image.
302
+ * @param {string} [props.iconSrcAlt] - Alt text for the source icon.
303
+ * @param {any} [props.card] - Feed item object containing title, link, description and pubDate.
304
+ */
292
305
  SocialCard.propTypes = {
306
+ /** Source icon image URL */
293
307
  iconSrc: PropTypes.string.isRequired,
308
+ /** Alt text for the icon */
294
309
  iconSrcAlt: PropTypes.string.isRequired,
310
+ /** Feed item object with title/link/description/pubDate */
295
311
  card: PropTypes.any.isRequired
296
312
  };
297
313
  export function SocialCard(props) {
@@ -299,7 +315,10 @@ export function SocialCard(props) {
299
315
  return (_jsx("div", { className: "masonryItem", children: _jsxs("div", { className: "card", children: [_jsx("div", { className: "cardTitle", children: _jsxs("a", { href: props.card.link, target: "_blank", rel: "noopener noreferrer", children: [_jsx(SmartImage, { className: "cardIcon", src: props.iconSrc, title: props.iconSrcAlt, alt: props.iconSrcAlt, cloudinaryEnv: config?.cloudinary?.product_env, cloudinaryDomain: config?.cloudinary?.baseUrl, cloudinaryTransforms: config?.cloudinary?.transforms }), props.card.title] }) }), _jsx("div", { className: "cardBody", dangerouslySetInnerHTML: { __html: removeDeadHrefs(props.card.description) } }), _jsx("div", { className: "cardDate", children: props.card.pubDate })] }) }, props.card.guid));
300
316
  }
301
317
  /* ========== SPINNER ========== */
302
- SocialCardsLoading.propTypes = {};
318
+ /** SocialCardsLoading.propTypes No props (simple loading indicator).
319
+ * @param {any} [props] - No props are accepted by SocialCardsLoading.
320
+ */
321
+ SocialCardsLoading.propTypes = { /** no props */};
303
322
  export function SocialCardsLoading() {
304
323
  return (_jsx("div", { className: "cardsLoading", children: _jsx("div", { children: "Loading..." }) }));
305
324
  }
@@ -14,11 +14,25 @@ function decodeString(str) {
14
14
  textarea.innerHTML = str;
15
15
  return textarea.value;
16
16
  }
17
+ /**
18
+ * BlogPostList — Render a list of WordPress posts. If `posts` are provided they are used directly; otherwise the component will fetch posts from the configured WordPress endpoint.
19
+ *
20
+ * @param {string} [props.site] - WordPress site identifier (overrides provider config).
21
+ * @param {string} [props.baseURL] - Base URL for WordPress API if not using site config.
22
+ * @param {number} [props.count] - Maximum number of posts to fetch/display.
23
+ * @param {array} [props.posts] - Optional pre-fetched posts to render (bypasses remote fetch).
24
+ * @param {boolean} [props.showCategories] - Whether to show category icons for each post.
25
+ */
17
26
  BlogPostList.propTypes = {
27
+ /** WordPress site identifier */
18
28
  site: PropTypes.string,
29
+ /** Optional WordPress base URL */
19
30
  baseURL: PropTypes.string,
31
+ /** Max number of posts to fetch/display */
20
32
  count: PropTypes.number,
33
+ /** Optional array of pre-fetched posts */
21
34
  posts: PropTypes.array,
35
+ /** Show category icons next to posts */
22
36
  showCategories: PropTypes.bool,
23
37
  };
24
38
  export function BlogPostList(props) {
@@ -55,14 +69,34 @@ export function BlogPostList(props) {
55
69
  }, [site, baseURL, count, cachedPosts]);
56
70
  return (_jsxs(_Fragment, { children: [_jsx(Loading, {}), posts.map((post) => (_jsx(PageGridItem, { children: _jsx(BlogPostSummary, { ID: post.ID, title: post.title, date: post.date, excerpt: post.excerpt, URL: post.URL, categories: post.categories, featured_image: post.featured_image, showCategories: showCategories }) }, post.ID)))] }));
57
71
  }
72
+ /**
73
+ * BlogPostSummary — Render a compact summary card for a single WordPress post.
74
+ *
75
+ * @param {oneOfType} [props.ID] - Post ID (string or number).
76
+ * @param {string} [props.title] - Post title.
77
+ * @param {string} [props.date] - Post publish date (ISO string).
78
+ * @param {string} [props.excerpt] - HTML excerpt to display as the summary.
79
+ * @param {string} [props.URL] - Canonical URL for the post.
80
+ * @param {object} [props.categories] - Categories object (keys -> category name) used to derive icons.
81
+ * @param {string} [props.featured_image] - URL of the post's featured image.
82
+ * @param {boolean} [props.showCategories] - Whether to render category icons beneath the summary.
83
+ */
58
84
  BlogPostSummary.propTypes = {
85
+ /** Post ID (string or number) */
59
86
  ID: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
87
+ /** Post title */
60
88
  title: PropTypes.string,
89
+ /** Post publish date (ISO string) */
61
90
  date: PropTypes.string,
91
+ /** HTML excerpt */
62
92
  excerpt: PropTypes.string,
93
+ /** Canonical URL for the post */
63
94
  URL: PropTypes.string,
95
+ /** Categories object used for icons */
64
96
  categories: PropTypes.object,
97
+ /** Featured image URL */
65
98
  featured_image: PropTypes.string,
99
+ /** Show categories flag */
66
100
  showCategories: PropTypes.bool,
67
101
  };
68
102
  export function BlogPostSummary(props) {
@@ -72,7 +106,13 @@ export function BlogPostSummary(props) {
72
106
  return (_jsx("div", { className: "blog-post-summary", children: _jsxs("article", { className: "h-entry", children: [_jsx("h2", { className: "p-name", children: _jsx("a", { className: "u-url blog-post-url", href: props.URL || '', target: "_blank", rel: "noopener noreferrer", children: props.title ? decodeString(props.title) : '' }) }), _jsxs("div", { className: "dt-published", children: ["Published: ", props.date ? new Date(props.date).toLocaleDateString() : ''] }), props.featured_image ? (_jsxs("div", { className: "article-body row-12col", children: [_jsx("div", { className: "article-featured-image grid-s1-e4", children: _jsx(SmartImage, { className: "u-photo", src: props.featured_image, alt: props.title ? decodeString(props.title) : '', title: props.title ? decodeString(props.title) : '', style: {}, cloudinaryEnv: config?.cloudinary?.product_env ?? undefined, cloudinaryDomain: config?.cloudinary?.baseUrl ?? undefined, cloudinaryTransforms: config?.cloudinary?.transforms ?? undefined }) }), _jsx("div", { className: "article-excerpt grid-s4-e13", children: _jsx("div", { className: "p-summary", dangerouslySetInnerHTML: { __html: myExcerpt } }) })] })) :
73
107
  _jsx("div", { className: "article-excerpt grid-s1-e13", children: _jsx("div", { className: "p-summary", dangerouslySetInnerHTML: { __html: myExcerpt } }) }), props.showCategories !== false && (_jsxs("div", { children: ["Categories:", myCategoryImages.map(([categoryImg, index]) => (_jsx("span", { className: "p-category", children: _jsx(SmartImage, { src: `/images/icons/${categoryImg}.png`, title: String(categoryImg), alt: String(categoryImg), cloudinaryEnv: config?.cloudinary?.product_env ?? undefined, cloudinaryDomain: config?.cloudinary?.baseUrl ?? undefined, cloudinaryTransforms: config?.cloudinary?.transforms ?? undefined }) }, categoryImg + "-" + index)))] }))] }) }, props.ID));
74
108
  }
109
+ /**
110
+ * BlogPostCategories — Render a compact list of category names or icons for a post.
111
+ *
112
+ * @param {arrayOf} [props.categories] - Array of category strings to render.
113
+ */
75
114
  BlogPostCategories.propTypes = {
115
+ /** Array of category names */
76
116
  categories: PropTypes.arrayOf(PropTypes.string),
77
117
  };
78
118
  export function BlogPostCategories(props) {
@@ -4,9 +4,19 @@ import PropTypes from "prop-types";
4
4
  // const wpSite = "blog.pixelated.tech";
5
5
  const wpApiURL = "https://public-api.wordpress.com/rest/v1/sites/";
6
6
  const wpCategoriesPath = "/categories";
7
+ /**
8
+ * getWordPressItems — Fetch posts from the WordPress REST API for a given site.
9
+ *
10
+ * @param {string} [props.site] - WordPress site identifier (site slug or domain).
11
+ * @param {number} [props.count] - Optional number of posts to fetch (omit to fetch all available).
12
+ * @param {string} [props.baseURL] - Optional base URL for the WordPress API (defaults to public WordPress API URL).
13
+ */
7
14
  getWordPressItems.propTypes = {
15
+ /** WordPress site identifier (slug or domain) */
8
16
  site: PropTypes.string.isRequired,
17
+ /** Number of posts to fetch (optional) */
9
18
  count: PropTypes.number,
19
+ /** Base URL for WordPress API (optional) */
10
20
  baseURL: PropTypes.string,
11
21
  };
12
22
  export async function getWordPressItems(props) {
@@ -43,7 +53,13 @@ export async function getWordPressItems(props) {
43
53
  }
44
54
  return posts;
45
55
  }
56
+ /**
57
+ * getWordPressItemImages — Extract image objects from a WordPress post for use in sitemaps and galleries.
58
+ *
59
+ * @param {object} [props.item] - WordPress post object to extract image URLs from.
60
+ */
46
61
  getWordPressItemImages.propTypes = {
62
+ /** WordPress post object */
47
63
  item: PropTypes.object.isRequired,
48
64
  };
49
65
  export function getWordPressItemImages(item) {
@@ -87,8 +103,16 @@ export function getWordPressItemImages(item) {
87
103
  }
88
104
  return images;
89
105
  }
106
+ /**
107
+ * getWordPressCategories — Retrieve categories for a WordPress site.
108
+ *
109
+ * @param {string} [props.site] - WordPress site identifier (slug or domain).
110
+ * @param {string} [props.baseURL] - Optional base URL for the WordPress API.
111
+ */
90
112
  getWordPressCategories.propTypes = {
113
+ /** WordPress site identifier (slug or domain) */
91
114
  site: PropTypes.string.isRequired,
115
+ /** Base URL for WordPress API (optional) */
92
116
  baseURL: PropTypes.string,
93
117
  };
94
118
  export async function getWordPressCategories(props) {
@@ -13,8 +13,16 @@ https://www.google.com/search?q=yelp+reviews+react+component&oq=yelp+reviews+rea
13
13
  https://www.reddit.com/r/nextjs/comments/16smhqa/next_js_fetching_data_from_yelp_api/
14
14
  https://helloputnam.medium.com/easiest-way-to-include-business-reviews-on-a-web-app-google-facebook-yelp-etc-de3e243bbe75
15
15
  */
16
+ /**
17
+ * YelpReviews — Fetch and display Yelp reviews for a given business ID (note: Yelp API access may require paid plan).
18
+ *
19
+ * @param {string} [props.businessID] - Yelp business ID used to fetch reviews (required).
20
+ * @param {string} [props.key] - Optional API key (not used by the demo placeholder implementation).
21
+ */
16
22
  YelpReviews.propTypes = {
23
+ /** Yelp business identifier */
17
24
  businessID: PropTypes.string.isRequired,
25
+ /** Optional Yelp API key */
18
26
  key: PropTypes.string,
19
27
  };
20
28
  export function YelpReviews(props) {
@@ -14,8 +14,16 @@ import "../../css/pixelated.grid.scss";
14
14
  import "./ebay.css";
15
15
  const debug = false;
16
16
  /* ========== EBAY ITEMS PAGE ========== */
17
+ /**
18
+ * EbayItems — Fetch and display eBay items using the configured API parameters and optional Cloudinary transforms.
19
+ *
20
+ * @param {object} [props.apiProps] - eBay API configuration and query parameters.
21
+ * @param {string} [props.cloudinaryProductEnv] - Optional Cloudinary cloud name used to transform image URLs.
22
+ */
17
23
  EbayItems.propTypes = {
24
+ /** eBay API configuration and query params */
18
25
  apiProps: PropTypes.object.isRequired,
26
+ /** Optional Cloudinary product environment for image transforms */
19
27
  cloudinaryProductEnv: PropTypes.string,
20
28
  };
21
29
  export function EbayItems(props) {
@@ -24,8 +32,16 @@ export function EbayItems(props) {
24
32
  const [items, setItems] = useState([]);
25
33
  const [aspects, setAspects] = useState([]);
26
34
  const apiProps = { ...(config?.ebay || {}), ...props.apiProps };
35
+ /**
36
+ * paintItems — Map raw eBay item data into rendered `EbayListItem` elements.
37
+ *
38
+ * @param {array} [props.items] - Array of eBay item objects returned by the API.
39
+ * @param {string} [props.cloudinaryProductEnv] - Optional Cloudinary cloud name for image URL transformations.
40
+ */
27
41
  paintItems.propTypes = {
42
+ /** Array of eBay item objects */
28
43
  items: PropTypes.array.isRequired,
44
+ /** Optional Cloudinary product environment */
29
45
  cloudinaryProductEnv: PropTypes.string,
30
46
  };
31
47
  function paintItems(props) {
@@ -39,8 +55,16 @@ export function EbayItems(props) {
39
55
  }
40
56
  return newItems;
41
57
  }
58
+ /**
59
+ * fetchItems — Perform a search query against eBay and update component state with results.
60
+ *
61
+ * @param {string} [props.aspectName] - Optional aspect name to filter search results.
62
+ * @param {string} [props.aspectValue] - Optional aspect value corresponding to `aspectName` to filter results.
63
+ */
42
64
  fetchItems.propTypes = {
65
+ /** Filter aspect name for the search (optional) */
43
66
  aspectName: PropTypes.string,
67
+ /** Filter aspect value for the search (optional) */
44
68
  aspectValue: PropTypes.string,
45
69
  };
46
70
  async function fetchItems(props) {
@@ -80,8 +104,16 @@ export function EbayItems(props) {
80
104
  return (_jsx("div", { className: "section-container", children: _jsx("div", { id: "ebayItems", className: "ebayItems", children: _jsx(Loading, {}) }) }));
81
105
  }
82
106
  }
107
+ /**
108
+ * EbayListFilter — UI for filtering eBay item lists by aspect values.
109
+ *
110
+ * @param {any} [props.aspects] - Aspect distributions returned by eBay used to build filter controls.
111
+ * @param {function} [props.callback] - Callback invoked when a filter selection changes; receives filter criteria.
112
+ */
83
113
  EbayListFilter.propTypes = {
114
+ /** Aspect distributions used to render filter controls */
84
115
  aspects: PropTypes.any.isRequired,
116
+ /** Callback to fetch filtered results */
85
117
  callback: PropTypes.func.isRequired,
86
118
  };
87
119
  export function EbayListFilter(props) {
@@ -124,9 +156,19 @@ export function EbayListFilter(props) {
124
156
  }
125
157
  return (_jsxs("form", { name: "ebayItemsFilter", id: "ebayItemsFilter", children: [_jsxs("span", { className: "filterInput", children: [_jsx("label", { htmlFor: "aspectName", children: "Aspect:" }), _jsxs("select", { id: "aspectName", onChange: onAspectNameChange, children: [_jsx("option", { value: "" }), aspectNames.map((aspectName, index) => _jsx("option", { value: aspectName, children: aspectName }, index))] })] }), _jsxs("span", { className: "filterInput", children: [_jsx("label", { htmlFor: "aspectValue", onChange: onAspectValueChange, children: "Value:" }), _jsx("select", { id: "aspectValue", children: _jsx("option", { value: "" }) })] }), _jsx("span", { className: "filterInput", children: _jsx("button", { type: "button", onClick: handleAspectFilter, children: "Filter" }) })] }));
126
158
  }
159
+ /**
160
+ * EbayListItem — Render a single eBay item with thumbnail, metadata and add-to-cart actions.
161
+ *
162
+ * @param {any} [props.item] - eBay item object returned by the API.
163
+ * @param {string} [props.cloudinaryProductEnv] - Optional Cloudinary cloud name to transform image URLs.
164
+ * @param {any} [props.apiProps] - eBay API properties (for link generation or calls).
165
+ */
127
166
  EbayListItem.propTypes = {
167
+ /** eBay item object */
128
168
  item: PropTypes.any.isRequired,
169
+ /** Optional Cloudinary product environment */
129
170
  cloudinaryProductEnv: PropTypes.string,
171
+ /** eBay API properties */
130
172
  apiProps: PropTypes.any,
131
173
  };
132
174
  export function EbayListItem(props) {
@@ -151,9 +193,19 @@ export function EbayListItem(props) {
151
193
  ? _jsxs("a", { href: itemURL, target: itemURLTarget, rel: "noreferrer", children: ["$", thisItem.price.value + " " + thisItem.price.currency] })
152
194
  : "$" + thisItem.price.value + " " + thisItem.price.currency }), _jsx("br", {}), _jsxs("div", { className: "ebayItemAddToCart", children: [_jsx(ViewItemDetails, { href: "/store", itemID: thisItem.legacyItemId }), _jsx(AddToCartButton, { handler: addToShoppingCart, item: shoppingCartItem, itemID: thisItem.legacyItemId })] })] })] }));
153
195
  }
196
+ /**
197
+ * EbayItemHeader — Render a heading for an eBay item; optionally wrap in a link when a `url` is provided.
198
+ *
199
+ * @param {string} [props.title] - The item title to display.
200
+ * @param {string} [props.url] - Optional URL to link the title to (opens in `props.target`).
201
+ * @param {string} [props.target] - Link target attribute (e.g., '_blank').
202
+ */
154
203
  EbayItemHeader.propTypes = {
204
+ /** The item title text */
155
205
  title: PropTypes.string.isRequired,
206
+ /** Optional link URL for the title */
156
207
  url: PropTypes.string,
208
+ /** Link target attribute (e.g., '_blank') */
157
209
  target: PropTypes.string,
158
210
  };
159
211
  export function EbayItemHeader(props) {
@@ -162,9 +214,19 @@ export function EbayItemHeader(props) {
162
214
  : _jsx("h2", { className: "", children: props.title }) }));
163
215
  }
164
216
  /* ========== EBAY ITEM DETAIL PAGE ========== */
217
+ /**
218
+ * EbayItemDetail — Display detailed information for a single eBay item fetched via the API.
219
+ *
220
+ * @param {object} [props.apiProps] - eBay API configuration used to fetch the item.
221
+ * @param {string} [props.itemID] - eBay item identifier to fetch details for.
222
+ * @param {string} [props.cloudinaryProductEnv] - Optional Cloudinary product environment for image transforms.
223
+ */
165
224
  EbayItemDetail.propTypes = {
225
+ /** eBay API configuration */
166
226
  apiProps: PropTypes.object.isRequired,
227
+ /** eBay item ID to fetch details for */
167
228
  itemID: PropTypes.string.isRequired, // currently not used
229
+ /** Cloudinary product env for image transforms */
168
230
  cloudinaryProductEnv: PropTypes.string,
169
231
  };
170
232
  export function EbayItemDetail(props) {
@@ -209,8 +271,16 @@ export function EbayItemDetail(props) {
209
271
  }
210
272
  }
211
273
  /* ========== EBAY RATE LIMITS VISUALIZER ========== */
274
+ /**
275
+ * EbayRateLimitsVisualizer — Visualize eBay API rate limit information for debugging and monitoring.
276
+ *
277
+ * @param {string} [props.token] - OAuth access token used to authorize analytics requests.
278
+ * @param {object} [props.apiProps] - eBay analytics API configuration (baseAnalyticsURL, proxyURL).
279
+ */
212
280
  EbayRateLimitsVisualizer.propTypes = {
281
+ /** OAuth access token for analytics endpoints */
213
282
  token: PropTypes.string,
283
+ /** eBay analytics API configuration */
214
284
  apiProps: PropTypes.object,
215
285
  };
216
286
  export function EbayRateLimitsVisualizer(props) {
@@ -50,9 +50,19 @@ function getMergedEbayConfig(providedApiProps) {
50
50
  }
51
51
  return apiProps;
52
52
  }
53
+ /**
54
+ * getShoppingCartItem — Convert an eBay API item object into the internal ShoppingCartType shape used by the cart.
55
+ *
56
+ * @param {any} [props.thisItem] - Raw eBay item object from the API.
57
+ * @param {string} [props.cloudinaryProductEnv] - Optional Cloudinary cloud name to transform image URLs.
58
+ * @param {any} [props.apiProps] - eBay API properties used to determine category/availability.
59
+ */
53
60
  getShoppingCartItem.propTypes = {
61
+ /** Raw eBay item object */
54
62
  thisItem: PropTypes.any.isRequired,
63
+ /** Optional Cloudinary product environment */
55
64
  cloudinaryProductEnv: PropTypes.string,
65
+ /** eBay API properties */
56
66
  apiProps: PropTypes.any,
57
67
  };
58
68
  export function getShoppingCartItem(props) {
@@ -91,7 +101,13 @@ item tokenScope: 'https://api.ebay.com/oauth/api_scope/buy.item.bulk',
91
101
  getItem tokenScope: 'https://api.ebay.com/oauth/api_scope',
92
102
  */
93
103
  /* ========== GET TOKEN ========== */
104
+ /**
105
+ * getEbayAppToken — Retrieve an application access token from eBay for API calls.
106
+ *
107
+ * @param {object} [props.apiProps] - eBay API configuration (appId, appCertId, proxyURL, baseTokenURL, etc.).
108
+ */
94
109
  getEbayAppToken.propTypes = {
110
+ /** eBay API configuration for token retrieval */
95
111
  apiProps: PropTypes.object.isRequired,
96
112
  };
97
113
  export function getEbayAppToken(props) {
@@ -127,8 +143,16 @@ export function getEbayAppToken(props) {
127
143
  return fetchToken();
128
144
  }
129
145
  /* ========== ITEM SEARCH ========== */
146
+ /**
147
+ * getEbayBrowseSearch — Execute a browse search request against the eBay Browse API and return results.
148
+ *
149
+ * @param {object} [props.apiProps] - eBay API configuration and query parameters.
150
+ * @param {string} [props.token] - OAuth token used to authorize the request.
151
+ */
130
152
  getEbayBrowseSearch.propTypes = {
153
+ /** eBay API configuration */
131
154
  apiProps: PropTypes.object.isRequired,
155
+ /** OAuth token to authorize the request */
132
156
  token: PropTypes.string.isRequired,
133
157
  };
134
158
  export function getEbayBrowseSearch(props) {
@@ -172,8 +196,16 @@ export function getEbayBrowseSearch(props) {
172
196
  return fetchData(props.token);
173
197
  }
174
198
  /* ========== GET ITEM ========== */
199
+ /**
200
+ * getEbayBrowseItem — Retrieve a single item detail from the eBay Browse API.
201
+ *
202
+ * @param {object} [props.apiProps] - eBay API configuration (item URL/qsItemURL).
203
+ * @param {string} [props.token] - OAuth token used to authorize the request.
204
+ */
175
205
  getEbayBrowseItem.propTypes = {
206
+ /** eBay API configuration */
176
207
  apiProps: PropTypes.object.isRequired,
208
+ /** OAuth token to authorize the request */
177
209
  token: PropTypes.string.isRequired,
178
210
  };
179
211
  export function getEbayBrowseItem(props) {
@@ -217,8 +249,16 @@ export function getEbayBrowseItem(props) {
217
249
  return fetchData(props.token);
218
250
  }
219
251
  /* ========== RATE LIMITS ========== */
252
+ /**
253
+ * getEbayRateLimits — Fetch API rate limit information for the eBay analytics endpoints.
254
+ *
255
+ * @param {object} [props.apiProps] - eBay analytics API config (baseAnalyticsURL, proxyURL).
256
+ * @param {string} [props.token] - OAuth token used to authorize analytics requests.
257
+ */
220
258
  getEbayRateLimits.propTypes = {
259
+ /** eBay analytics API configuration */
221
260
  apiProps: PropTypes.object.isRequired,
261
+ /** OAuth token for analytics requests */
222
262
  token: PropTypes.string.isRequired,
223
263
  };
224
264
  export function getEbayRateLimits(props) {
@@ -260,7 +300,13 @@ export function getEbayRateLimits(props) {
260
300
  }
261
301
  /* ========== EXPORTED FUNCTIONS ========== */
262
302
  /* ========== GET EBAY ITEMS ========== */
303
+ /**
304
+ * getEbayItems — Fetch a list of eBay items using the configured browse search helper.
305
+ *
306
+ * @param {object} [props.apiProps] - eBay API configuration and query parameters.
307
+ */
263
308
  getEbayItems.propTypes = {
309
+ /** eBay API configuration and query params */
264
310
  apiProps: PropTypes.object.isRequired,
265
311
  };
266
312
  export async function getEbayItems(props) {
@@ -281,7 +327,13 @@ export async function getEbayItems(props) {
281
327
  return {};
282
328
  }
283
329
  /* ========== GET EBAY ITEMS ========== */
330
+ /**
331
+ * getEbayItem — Fetch a single eBay item using the configured eBay item helper.
332
+ *
333
+ * @param {object} [props.apiProps] - eBay API item config (baseItemURL, qsItemURL, proxyURL).
334
+ */
284
335
  getEbayItem.propTypes = {
336
+ /** eBay API item config */
285
337
  apiProps: PropTypes.object.isRequired,
286
338
  };
287
339
  export async function getEbayItem(props) {