@pixelated-tech/components 3.1.4

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 (400) hide show
  1. package/README.md +231 -0
  2. package/dist/components/buzzwordbingo/buzzwordbingo.css +42 -0
  3. package/dist/components/buzzwordbingo/buzzwordbingo.js +35 -0
  4. package/dist/components/callout/callout.js +95 -0
  5. package/dist/components/callout/callout.scss +331 -0
  6. package/dist/components/carousel/carousel.css +178 -0
  7. package/dist/components/carousel/carousel.drag.js +203 -0
  8. package/dist/components/carousel/carousel.js +124 -0
  9. package/dist/components/cms/calendly.js +20 -0
  10. package/dist/components/cms/cloudinary.image.js +132 -0
  11. package/dist/components/cms/cloudinary.js +106 -0
  12. package/dist/components/cms/contentful.delivery.js +247 -0
  13. package/dist/components/cms/contentful.items.components.js +243 -0
  14. package/dist/components/cms/contentful.items.css +131 -0
  15. package/dist/components/cms/contentful.management.js +254 -0
  16. package/dist/components/cms/flickr.js +160 -0
  17. package/dist/components/cms/google.reviews.components.js +36 -0
  18. package/dist/components/cms/google.reviews.functions.js +26 -0
  19. package/dist/components/cms/gravatar.components.js +41 -0
  20. package/dist/components/cms/gravatar.functions.js +52 -0
  21. package/dist/components/cms/hubspot.components.js +45 -0
  22. package/dist/components/cms/hubspot.js +34 -0
  23. package/dist/components/cms/instagram.components.js +40 -0
  24. package/dist/components/cms/instagram.functions.js +67 -0
  25. package/dist/components/cms/wordpress.components.js +47 -0
  26. package/dist/components/cms/wordpress.css +55 -0
  27. package/dist/components/cms/wordpress.functions.js +49 -0
  28. package/dist/components/config/config.client.js +22 -0
  29. package/dist/components/config/config.example.js +70 -0
  30. package/dist/components/config/config.js +53 -0
  31. package/dist/components/config/config.server.js +11 -0
  32. package/dist/components/config/config.types.js +2 -0
  33. package/dist/components/general/css.js +60 -0
  34. package/dist/components/general/headers.css +16 -0
  35. package/dist/components/general/headers.js +27 -0
  36. package/dist/components/general/image.js +81 -0
  37. package/dist/components/general/layout.js +147 -0
  38. package/dist/components/general/layout.scss +47 -0
  39. package/dist/components/general/loading.js +36 -0
  40. package/dist/components/general/loading.scss +80 -0
  41. package/dist/components/general/microinteractions.css +229 -0
  42. package/dist/components/general/microinteractions.js +87 -0
  43. package/dist/components/general/modal.css +65 -0
  44. package/dist/components/general/modal.js +52 -0
  45. package/dist/components/general/table.css +73 -0
  46. package/dist/components/general/table.js +108 -0
  47. package/dist/components/linkedin/pixelated.linkedin.js +180 -0
  48. package/dist/components/linkedin/pixelated.linkedin1.js +102 -0
  49. package/dist/components/linkedin/pixelated.linkedin2.js +92 -0
  50. package/dist/components/markdown/markdown.css +12 -0
  51. package/dist/components/markdown/markdown.js +39 -0
  52. package/dist/components/menu/menu-accordion.css +198 -0
  53. package/dist/components/menu/menu-accordion.js +183 -0
  54. package/dist/components/menu/menu-expando.css +127 -0
  55. package/dist/components/menu/menu-expando.js +48 -0
  56. package/dist/components/menu/menu-simple.css +76 -0
  57. package/dist/components/menu/menu-simple.js +56 -0
  58. package/dist/components/nerdjoke/nerdjoke.css +69 -0
  59. package/dist/components/nerdjoke/nerdjoke.js +95 -0
  60. package/dist/components/pagebuilder/components/ComponentPropertiesForm.js +15 -0
  61. package/dist/components/pagebuilder/components/ComponentSelector.js +67 -0
  62. package/dist/components/pagebuilder/components/ComponentTree.js +95 -0
  63. package/dist/components/pagebuilder/components/PageBuilderUI.js +48 -0
  64. package/dist/components/pagebuilder/components/PageEngine.js +97 -0
  65. package/dist/components/pagebuilder/components/SaveLoadSection.js +168 -0
  66. package/dist/components/pagebuilder/components/pagebuilder.scss +123 -0
  67. package/dist/components/pagebuilder/form/form.css +101 -0
  68. package/dist/components/pagebuilder/form/form.js +455 -0
  69. package/dist/components/pagebuilder/form/form.submit.js +65 -0
  70. package/dist/components/pagebuilder/form/formcomponents.js +359 -0
  71. package/dist/components/pagebuilder/form/formvalidations.js +80 -0
  72. package/dist/components/pagebuilder/lib/componentGeneration.js +105 -0
  73. package/dist/components/pagebuilder/lib/componentMap.js +32 -0
  74. package/dist/components/pagebuilder/lib/componentMetadata.js +146 -0
  75. package/dist/components/pagebuilder/lib/pageStorageContentful.js +142 -0
  76. package/dist/components/pagebuilder/lib/pageStorageLocal.js +143 -0
  77. package/dist/components/pagebuilder/lib/pageStorageTypes.js +1 -0
  78. package/dist/components/pagebuilder/lib/propTypeIntrospection.js +177 -0
  79. package/dist/components/pagebuilder/lib/types.js +4 -0
  80. package/dist/components/pagebuilder/lib/usePageBuilder.js +234 -0
  81. package/dist/components/recipe/recipe.css +107 -0
  82. package/dist/components/recipe/recipe.js +161 -0
  83. package/dist/components/resume/resume.css +162 -0
  84. package/dist/components/resume/resume.js +195 -0
  85. package/dist/components/seo/404.css +25 -0
  86. package/dist/components/seo/404.js +32 -0
  87. package/dist/components/seo/googleanalytics.js +70 -0
  88. package/dist/components/seo/googlemap.js +15 -0
  89. package/dist/components/seo/googlesearch.css +30 -0
  90. package/dist/components/seo/googlesearch.js +37 -0
  91. package/dist/components/seo/metadata.js +156 -0
  92. package/dist/components/seo/sitemap.js +171 -0
  93. package/dist/components/shoppingcart/ebay.components.js +203 -0
  94. package/dist/components/shoppingcart/ebay.css +131 -0
  95. package/dist/components/shoppingcart/ebay.functions.js +240 -0
  96. package/dist/components/shoppingcart/paypal.js +169 -0
  97. package/dist/components/shoppingcart/shoppingcart.components.js +257 -0
  98. package/dist/components/shoppingcart/shoppingcart.css +122 -0
  99. package/dist/components/shoppingcart/shoppingcart.functions.js +324 -0
  100. package/dist/components/sidepanel/sidepanel.css +129 -0
  101. package/dist/components/sidepanel/sidepanel.js +54 -0
  102. package/dist/components/socialcard/socialcard.css +118 -0
  103. package/dist/components/socialcard/socialcard.js +317 -0
  104. package/dist/components/tiles/tiles.css +77 -0
  105. package/dist/components/tiles/tiles.js +38 -0
  106. package/dist/components/timeline/timeline.css +139 -0
  107. package/dist/components/timeline/timeline.js +28 -0
  108. package/dist/components/utilities/api.js +36 -0
  109. package/dist/components/utilities/functions.js +98 -0
  110. package/dist/components/yelp/yelp.js +50 -0
  111. package/dist/css/pixelated.font.scss +68 -0
  112. package/dist/css/pixelated.global.css +548 -0
  113. package/dist/css/pixelated.grid.scss +82 -0
  114. package/dist/data/404-data.json +104 -0
  115. package/dist/data/buzzwords.js +28 -0
  116. package/dist/data/form.json +370 -0
  117. package/dist/data/recipes.json +1917 -0
  118. package/dist/data/references.json +139 -0
  119. package/dist/data/requests.json +137 -0
  120. package/dist/data/resume.json +2577 -0
  121. package/dist/data/routes.json +184 -0
  122. package/dist/data/routes2.json +117 -0
  123. package/dist/data/shipping.to.json +422 -0
  124. package/dist/index.js +78 -0
  125. package/dist/index.server.js +35 -0
  126. package/dist/types/components/buzzwordbingo/buzzwordbingo.d.ts +26 -0
  127. package/dist/types/components/buzzwordbingo/buzzwordbingo.d.ts.map +1 -0
  128. package/dist/types/components/callout/callout.d.ts +53 -0
  129. package/dist/types/components/callout/callout.d.ts.map +1 -0
  130. package/dist/types/components/carousel/carousel.d.ts +28 -0
  131. package/dist/types/components/carousel/carousel.d.ts.map +1 -0
  132. package/dist/types/components/carousel/carousel.drag.d.ts +12 -0
  133. package/dist/types/components/carousel/carousel.drag.d.ts.map +1 -0
  134. package/dist/types/components/cms/calendly.d.ts +11 -0
  135. package/dist/types/components/cms/calendly.d.ts.map +1 -0
  136. package/dist/types/components/cms/cloudinary.d.ts +27 -0
  137. package/dist/types/components/cms/cloudinary.d.ts.map +1 -0
  138. package/dist/types/components/cms/cloudinary.image.d.ts +56 -0
  139. package/dist/types/components/cms/cloudinary.image.d.ts.map +1 -0
  140. package/dist/types/components/cms/contentful.delivery.d.ts +149 -0
  141. package/dist/types/components/cms/contentful.delivery.d.ts.map +1 -0
  142. package/dist/types/components/cms/contentful.items.components.d.ts +38 -0
  143. package/dist/types/components/cms/contentful.items.components.d.ts.map +1 -0
  144. package/dist/types/components/cms/contentful.management.d.ts +71 -0
  145. package/dist/types/components/cms/contentful.management.d.ts.map +1 -0
  146. package/dist/types/components/cms/flickr.d.ts +39 -0
  147. package/dist/types/components/cms/flickr.d.ts.map +1 -0
  148. package/dist/types/components/cms/google.reviews.components.d.ts +7 -0
  149. package/dist/types/components/cms/google.reviews.components.d.ts.map +1 -0
  150. package/dist/types/components/cms/google.reviews.functions.d.ts +25 -0
  151. package/dist/types/components/cms/google.reviews.functions.d.ts.map +1 -0
  152. package/dist/types/components/cms/gravatar.components.d.ts +26 -0
  153. package/dist/types/components/cms/gravatar.components.d.ts.map +1 -0
  154. package/dist/types/components/cms/gravatar.functions.d.ts +53 -0
  155. package/dist/types/components/cms/gravatar.functions.d.ts.map +1 -0
  156. package/dist/types/components/cms/hubspot.components.d.ts +15 -0
  157. package/dist/types/components/cms/hubspot.components.d.ts.map +1 -0
  158. package/dist/types/components/cms/hubspot.d.ts +18 -0
  159. package/dist/types/components/cms/hubspot.d.ts.map +1 -0
  160. package/dist/types/components/cms/instagram.components.d.ts +10 -0
  161. package/dist/types/components/cms/instagram.components.d.ts.map +1 -0
  162. package/dist/types/components/cms/instagram.functions.d.ts +63 -0
  163. package/dist/types/components/cms/instagram.functions.d.ts.map +1 -0
  164. package/dist/types/components/cms/wordpress.components.d.ts +11 -0
  165. package/dist/types/components/cms/wordpress.components.d.ts.map +1 -0
  166. package/dist/types/components/cms/wordpress.functions.d.ts +28 -0
  167. package/dist/types/components/cms/wordpress.functions.d.ts.map +1 -0
  168. package/dist/types/components/config/config.client.d.ts +13 -0
  169. package/dist/types/components/config/config.client.d.ts.map +1 -0
  170. package/dist/types/components/config/config.d.ts +12 -0
  171. package/dist/types/components/config/config.d.ts.map +1 -0
  172. package/dist/types/components/config/config.example.d.ts +4 -0
  173. package/dist/types/components/config/config.example.d.ts.map +1 -0
  174. package/dist/types/components/config/config.server.d.ts +7 -0
  175. package/dist/types/components/config/config.server.d.ts.map +1 -0
  176. package/dist/types/components/config/config.types.d.ts +84 -0
  177. package/dist/types/components/config/config.types.d.ts.map +1 -0
  178. package/dist/types/components/general/css.d.ts +3 -0
  179. package/dist/types/components/general/css.d.ts.map +1 -0
  180. package/dist/types/components/general/headers.d.ts +19 -0
  181. package/dist/types/components/general/headers.d.ts.map +1 -0
  182. package/dist/types/components/general/image.d.ts +3 -0
  183. package/dist/types/components/general/image.d.ts.map +1 -0
  184. package/dist/types/components/general/layout.d.ts +73 -0
  185. package/dist/types/components/general/layout.d.ts.map +1 -0
  186. package/dist/types/components/general/loading.d.ts +11 -0
  187. package/dist/types/components/general/loading.d.ts.map +1 -0
  188. package/dist/types/components/general/microinteractions.d.ts +20 -0
  189. package/dist/types/components/general/microinteractions.d.ts.map +1 -0
  190. package/dist/types/components/general/modal.d.ts +8 -0
  191. package/dist/types/components/general/modal.d.ts.map +1 -0
  192. package/dist/types/components/general/table.d.ts +12 -0
  193. package/dist/types/components/general/table.d.ts.map +1 -0
  194. package/dist/types/components/linkedin/pixelated.linkedin.d.ts +2 -0
  195. package/dist/types/components/linkedin/pixelated.linkedin.d.ts.map +1 -0
  196. package/dist/types/components/linkedin/pixelated.linkedin1.d.ts +2 -0
  197. package/dist/types/components/linkedin/pixelated.linkedin1.d.ts.map +1 -0
  198. package/dist/types/components/linkedin/pixelated.linkedin2.d.ts +2 -0
  199. package/dist/types/components/linkedin/pixelated.linkedin2.d.ts.map +1 -0
  200. package/dist/types/components/markdown/markdown.d.ts +12 -0
  201. package/dist/types/components/markdown/markdown.d.ts.map +1 -0
  202. package/dist/types/components/menu/menu-accordion.d.ts +44 -0
  203. package/dist/types/components/menu/menu-accordion.d.ts.map +1 -0
  204. package/dist/types/components/menu/menu-expando.d.ts +20 -0
  205. package/dist/types/components/menu/menu-expando.d.ts.map +1 -0
  206. package/dist/types/components/menu/menu-simple.d.ts +28 -0
  207. package/dist/types/components/menu/menu-simple.d.ts.map +1 -0
  208. package/dist/types/components/nerdjoke/nerdjoke.d.ts +23 -0
  209. package/dist/types/components/nerdjoke/nerdjoke.d.ts.map +1 -0
  210. package/dist/types/components/pagebuilder/components/ComponentPropertiesForm.d.ts +11 -0
  211. package/dist/types/components/pagebuilder/components/ComponentPropertiesForm.d.ts.map +1 -0
  212. package/dist/types/components/pagebuilder/components/ComponentSelector.d.ts +15 -0
  213. package/dist/types/components/pagebuilder/components/ComponentSelector.d.ts.map +1 -0
  214. package/dist/types/components/pagebuilder/components/ComponentTree.d.ts +17 -0
  215. package/dist/types/components/pagebuilder/components/ComponentTree.d.ts.map +1 -0
  216. package/dist/types/components/pagebuilder/components/PageBuilderUI.d.ts +10 -0
  217. package/dist/types/components/pagebuilder/components/PageBuilderUI.d.ts.map +1 -0
  218. package/dist/types/components/pagebuilder/components/PageEngine.d.ts +23 -0
  219. package/dist/types/components/pagebuilder/components/PageEngine.d.ts.map +1 -0
  220. package/dist/types/components/pagebuilder/components/SaveLoadSection.d.ts +12 -0
  221. package/dist/types/components/pagebuilder/components/SaveLoadSection.d.ts.map +1 -0
  222. package/dist/types/components/pagebuilder/form/form.d.ts +46 -0
  223. package/dist/types/components/pagebuilder/form/form.d.ts.map +1 -0
  224. package/dist/types/components/pagebuilder/form/form.submit.d.ts +3 -0
  225. package/dist/types/components/pagebuilder/form/form.submit.d.ts.map +1 -0
  226. package/dist/types/components/pagebuilder/form/formcomponents.d.ts +205 -0
  227. package/dist/types/components/pagebuilder/form/formcomponents.d.ts.map +1 -0
  228. package/dist/types/components/pagebuilder/form/formvalidations.d.ts +29 -0
  229. package/dist/types/components/pagebuilder/form/formvalidations.d.ts.map +1 -0
  230. package/dist/types/components/pagebuilder/lib/componentGeneration.d.ts +17 -0
  231. package/dist/types/components/pagebuilder/lib/componentGeneration.d.ts.map +1 -0
  232. package/dist/types/components/pagebuilder/lib/componentMap.d.ts +25 -0
  233. package/dist/types/components/pagebuilder/lib/componentMap.d.ts.map +1 -0
  234. package/dist/types/components/pagebuilder/lib/componentMetadata.d.ts +22 -0
  235. package/dist/types/components/pagebuilder/lib/componentMetadata.d.ts.map +1 -0
  236. package/dist/types/components/pagebuilder/lib/pageStorageContentful.d.ts +25 -0
  237. package/dist/types/components/pagebuilder/lib/pageStorageContentful.d.ts.map +1 -0
  238. package/dist/types/components/pagebuilder/lib/pageStorageLocal.d.ts +23 -0
  239. package/dist/types/components/pagebuilder/lib/pageStorageLocal.d.ts.map +1 -0
  240. package/dist/types/components/pagebuilder/lib/pageStorageTypes.d.ts +25 -0
  241. package/dist/types/components/pagebuilder/lib/pageStorageTypes.d.ts.map +1 -0
  242. package/dist/types/components/pagebuilder/lib/propTypeIntrospection.d.ts +24 -0
  243. package/dist/types/components/pagebuilder/lib/propTypeIntrospection.d.ts.map +1 -0
  244. package/dist/types/components/pagebuilder/lib/types.d.ts +34 -0
  245. package/dist/types/components/pagebuilder/lib/types.d.ts.map +1 -0
  246. package/dist/types/components/pagebuilder/lib/usePageBuilder.d.ts +24 -0
  247. package/dist/types/components/pagebuilder/lib/usePageBuilder.d.ts.map +1 -0
  248. package/dist/types/components/recipe/recipe.d.ts +66 -0
  249. package/dist/types/components/recipe/recipe.d.ts.map +1 -0
  250. package/dist/types/components/resume/resume.d.ts +85 -0
  251. package/dist/types/components/resume/resume.d.ts.map +1 -0
  252. package/dist/types/components/seo/404.d.ts +10 -0
  253. package/dist/types/components/seo/404.d.ts.map +1 -0
  254. package/dist/types/components/seo/googleanalytics.d.ts +23 -0
  255. package/dist/types/components/seo/googleanalytics.d.ts.map +1 -0
  256. package/dist/types/components/seo/googlemap.d.ts +15 -0
  257. package/dist/types/components/seo/googlemap.d.ts.map +1 -0
  258. package/dist/types/components/seo/googlesearch.d.ts +10 -0
  259. package/dist/types/components/seo/googlesearch.d.ts.map +1 -0
  260. package/dist/types/components/seo/metadata.d.ts +35 -0
  261. package/dist/types/components/seo/metadata.d.ts.map +1 -0
  262. package/dist/types/components/seo/sitemap.d.ts +47 -0
  263. package/dist/types/components/seo/sitemap.d.ts.map +1 -0
  264. package/dist/types/components/shoppingcart/ebay.components.d.ts +46 -0
  265. package/dist/types/components/shoppingcart/ebay.components.d.ts.map +1 -0
  266. package/dist/types/components/shoppingcart/ebay.functions.d.ts +76 -0
  267. package/dist/types/components/shoppingcart/ebay.functions.d.ts.map +1 -0
  268. package/dist/types/components/shoppingcart/paypal.d.ts +16 -0
  269. package/dist/types/components/shoppingcart/paypal.d.ts.map +1 -0
  270. package/dist/types/components/shoppingcart/shoppingcart.components.d.ts +35 -0
  271. package/dist/types/components/shoppingcart/shoppingcart.components.d.ts.map +1 -0
  272. package/dist/types/components/shoppingcart/shoppingcart.functions.d.ts +89 -0
  273. package/dist/types/components/shoppingcart/shoppingcart.functions.d.ts.map +1 -0
  274. package/dist/types/components/sidepanel/sidepanel.d.ts +18 -0
  275. package/dist/types/components/sidepanel/sidepanel.d.ts.map +1 -0
  276. package/dist/types/components/socialcard/socialcard.d.ts +20 -0
  277. package/dist/types/components/socialcard/socialcard.d.ts.map +1 -0
  278. package/dist/types/components/tiles/tiles.d.ts +28 -0
  279. package/dist/types/components/tiles/tiles.d.ts.map +1 -0
  280. package/dist/types/components/timeline/timeline.d.ts +31 -0
  281. package/dist/types/components/timeline/timeline.d.ts.map +1 -0
  282. package/dist/types/components/utilities/api.d.ts +16 -0
  283. package/dist/types/components/utilities/api.d.ts.map +1 -0
  284. package/dist/types/components/utilities/functions.d.ts +11 -0
  285. package/dist/types/components/utilities/functions.d.ts.map +1 -0
  286. package/dist/types/components/yelp/yelp.d.ts +5 -0
  287. package/dist/types/components/yelp/yelp.d.ts.map +1 -0
  288. package/dist/types/data/buzzwords.d.ts +2 -0
  289. package/dist/types/data/buzzwords.d.ts.map +1 -0
  290. package/dist/types/index.d.ts +76 -0
  291. package/dist/types/index.d.ts.map +1 -0
  292. package/dist/types/index.server.d.ts +30 -0
  293. package/dist/types/index.server.d.ts.map +1 -0
  294. package/dist/types/stories/buzzword-bingo.stories.d.ts +13 -0
  295. package/dist/types/stories/buzzword-bingo.stories.d.ts.map +1 -0
  296. package/dist/types/stories/callout.many.stories.d.ts +8 -0
  297. package/dist/types/stories/callout.many.stories.d.ts.map +1 -0
  298. package/dist/types/stories/callout.stories.d.ts +69 -0
  299. package/dist/types/stories/callout.stories.d.ts.map +1 -0
  300. package/dist/types/stories/carousel-hero.stories.d.ts +22 -0
  301. package/dist/types/stories/carousel-hero.stories.d.ts.map +1 -0
  302. package/dist/types/stories/carousel-reviews.stories.d.ts +38 -0
  303. package/dist/types/stories/carousel-reviews.stories.d.ts.map +1 -0
  304. package/dist/types/stories/carousel-workportfolio.stories.d.ts +22 -0
  305. package/dist/types/stories/carousel-workportfolio.stories.d.ts.map +1 -0
  306. package/dist/types/stories/carousel.stories.d.ts +41 -0
  307. package/dist/types/stories/carousel.stories.d.ts.map +1 -0
  308. package/dist/types/stories/cms.contentful.item.stories.d.ts +21 -0
  309. package/dist/types/stories/cms.contentful.item.stories.d.ts.map +1 -0
  310. package/dist/types/stories/cms.contentful.items.stories.d.ts +20 -0
  311. package/dist/types/stories/cms.contentful.items.stories.d.ts.map +1 -0
  312. package/dist/types/stories/cms.contentful.stories.d.ts +9 -0
  313. package/dist/types/stories/cms.contentful.stories.d.ts.map +1 -0
  314. package/dist/types/stories/cms.google.reviews.stories.d.ts +11 -0
  315. package/dist/types/stories/cms.google.reviews.stories.d.ts.map +1 -0
  316. package/dist/types/stories/cms.gravatar.stories.d.ts +88 -0
  317. package/dist/types/stories/cms.gravatar.stories.d.ts.map +1 -0
  318. package/dist/types/stories/cms.instagram.stories.d.ts +16 -0
  319. package/dist/types/stories/cms.instagram.stories.d.ts.map +1 -0
  320. package/dist/types/stories/cms.wordpress.stories.d.ts +26 -0
  321. package/dist/types/stories/cms.wordpress.stories.d.ts.map +1 -0
  322. package/dist/types/stories/general.headers.stories.d.ts +27 -0
  323. package/dist/types/stories/general.headers.stories.d.ts.map +1 -0
  324. package/dist/types/stories/general.loading.stories.d.ts +11 -0
  325. package/dist/types/stories/general.loading.stories.d.ts.map +1 -0
  326. package/dist/types/stories/general.microinteractions.stories.d.ts +9 -0
  327. package/dist/types/stories/general.microinteractions.stories.d.ts.map +1 -0
  328. package/dist/types/stories/general.modal.stories.d.ts +9 -0
  329. package/dist/types/stories/general.modal.stories.d.ts.map +1 -0
  330. package/dist/types/stories/general.table.stories.d.ts +15 -0
  331. package/dist/types/stories/general.table.stories.d.ts.map +1 -0
  332. package/dist/types/stories/layout.stories.d.ts +299 -0
  333. package/dist/types/stories/layout.stories.d.ts.map +1 -0
  334. package/dist/types/stories/markdown.stories.d.ts +13 -0
  335. package/dist/types/stories/markdown.stories.d.ts.map +1 -0
  336. package/dist/types/stories/menu-accordion.stories.d.ts +34 -0
  337. package/dist/types/stories/menu-accordion.stories.d.ts.map +1 -0
  338. package/dist/types/stories/menu-simple.stories.d.ts +43 -0
  339. package/dist/types/stories/menu-simple.stories.d.ts.map +1 -0
  340. package/dist/types/stories/nerdjoke.stories.d.ts +10 -0
  341. package/dist/types/stories/nerdjoke.stories.d.ts.map +1 -0
  342. package/dist/types/stories/pagebuilder.form-builder.stories.d.ts +10 -0
  343. package/dist/types/stories/pagebuilder.form-builder.stories.d.ts.map +1 -0
  344. package/dist/types/stories/pagebuilder.form-engine.stories.d.ts +16 -0
  345. package/dist/types/stories/pagebuilder.form-engine.stories.d.ts.map +1 -0
  346. package/dist/types/stories/pagebuilder.form-extractor.stories.d.ts +10 -0
  347. package/dist/types/stories/pagebuilder.form-extractor.stories.d.ts.map +1 -0
  348. package/dist/types/stories/pagebuilder.stories.d.ts +29 -0
  349. package/dist/types/stories/pagebuilder.stories.d.ts.map +1 -0
  350. package/dist/types/stories/pagebuilder.usageguide.stories.d.ts +29 -0
  351. package/dist/types/stories/pagebuilder.usageguide.stories.d.ts.map +1 -0
  352. package/dist/types/stories/pageengine.stories.d.ts +32 -0
  353. package/dist/types/stories/pageengine.stories.d.ts.map +1 -0
  354. package/dist/types/stories/recipe.stories.d.ts +16 -0
  355. package/dist/types/stories/recipe.stories.d.ts.map +1 -0
  356. package/dist/types/stories/resume.stories.d.ts +283 -0
  357. package/dist/types/stories/resume.stories.d.ts.map +1 -0
  358. package/dist/types/stories/seo.404.stories.d.ts +18 -0
  359. package/dist/types/stories/seo.404.stories.d.ts.map +1 -0
  360. package/dist/types/stories/seo.googleanalytics.stories.d.ts +12 -0
  361. package/dist/types/stories/seo.googleanalytics.stories.d.ts.map +1 -0
  362. package/dist/types/stories/seo.googlesearch.stories.d.ts +12 -0
  363. package/dist/types/stories/seo.googlesearch.stories.d.ts.map +1 -0
  364. package/dist/types/stories/seo.metadata.stories.d.ts +25 -0
  365. package/dist/types/stories/seo.metadata.stories.d.ts.map +1 -0
  366. package/dist/types/stories/seo.sitemap.stories.d.ts +8 -0
  367. package/dist/types/stories/seo.sitemap.stories.d.ts.map +1 -0
  368. package/dist/types/stories/shoppingcart.ebay.item.stories.d.ts +21 -0
  369. package/dist/types/stories/shoppingcart.ebay.item.stories.d.ts.map +1 -0
  370. package/dist/types/stories/shoppingcart.ebay.items.stories.d.ts +21 -0
  371. package/dist/types/stories/shoppingcart.ebay.items.stories.d.ts.map +1 -0
  372. package/dist/types/stories/shoppingcart.stories.d.ts +9 -0
  373. package/dist/types/stories/shoppingcart.stories.d.ts.map +1 -0
  374. package/dist/types/stories/sidepanel.stories.d.ts +85 -0
  375. package/dist/types/stories/sidepanel.stories.d.ts.map +1 -0
  376. package/dist/types/stories/socialcard.stories.d.ts +81 -0
  377. package/dist/types/stories/socialcard.stories.d.ts.map +1 -0
  378. package/dist/types/stories/tiles.stories.d.ts +9 -0
  379. package/dist/types/stories/tiles.stories.d.ts.map +1 -0
  380. package/dist/types/stories/timeline.stories.d.ts +19 -0
  381. package/dist/types/stories/timeline.stories.d.ts.map +1 -0
  382. package/dist/types/tests/pixelated.api.test.d.ts +2 -0
  383. package/dist/types/tests/pixelated.api.test.d.ts.map +1 -0
  384. package/dist/types/tests/pixelated.callout.test.d.ts +2 -0
  385. package/dist/types/tests/pixelated.callout.test.d.ts.map +1 -0
  386. package/dist/types/tests/pixelated.carousel.test.d.ts +2 -0
  387. package/dist/types/tests/pixelated.carousel.test.d.ts.map +1 -0
  388. package/dist/types/tests/pixelated.menu-accordion.test.d.ts +2 -0
  389. package/dist/types/tests/pixelated.menu-accordion.test.d.ts.map +1 -0
  390. package/dist/types/tests/pixelated.menu-simple.test.d.ts +2 -0
  391. package/dist/types/tests/pixelated.menu-simple.test.d.ts.map +1 -0
  392. package/dist/types/tests/pixelated.nerdjoke.test.d.ts +2 -0
  393. package/dist/types/tests/pixelated.nerdjoke.test.d.ts.map +1 -0
  394. package/dist/types/tests/pixelated.recipe.test.d.ts +2 -0
  395. package/dist/types/tests/pixelated.recipe.test.d.ts.map +1 -0
  396. package/dist/types/tests/pixelated.resume.test.d.ts +2 -0
  397. package/dist/types/tests/pixelated.resume.test.d.ts.map +1 -0
  398. package/dist/types/tests/pixelated.socialcard.test.d.ts +2 -0
  399. package/dist/types/tests/pixelated.socialcard.test.d.ts.map +1 -0
  400. package/package.json +136 -0
@@ -0,0 +1,171 @@
1
+ import PropTypes from "prop-types";
2
+ import { getAllRoutes, getAllImages } from "./metadata";
3
+ import { getWordPressItems } from "../cms/wordpress.functions";
4
+ import { getContentfulFieldValues } from "../cms/contentful.delivery";
5
+ import { getEbayAppToken, getEbayItemsSearch } from "../shoppingcart/ebay.functions";
6
+ import { getFullPixelatedConfig } from '../config/config';
7
+ export async function createPageURLs(myRoutes, origin) {
8
+ const sitemap = [];
9
+ // const origin = await getOrigin();
10
+ const allRoutes = getAllRoutes(myRoutes, "routes");
11
+ for (const route of allRoutes) {
12
+ if (route.path.substring(0, 4).toLowerCase() !== 'http') {
13
+ sitemap.push({
14
+ url: `${origin}${route.path}`,
15
+ lastModified: (new Date()).toISOString(),
16
+ changeFrequency: "hourly",
17
+ priority: 1.0,
18
+ });
19
+ }
20
+ }
21
+ return sitemap;
22
+ }
23
+ export async function createImageURLs(origin) {
24
+ const sitemap = [];
25
+ // const origin = await getOrigin();
26
+ const images = getAllImages();
27
+ const newImages = images.map((image) => { return (`${origin}${image}`); });
28
+ sitemap.push({
29
+ url: `${origin}/images`, // Provide a valid URL for the images
30
+ images: newImages,
31
+ });
32
+ return sitemap;
33
+ }
34
+ export async function createWordPressURLs(props) {
35
+ const sitemap = [];
36
+ const blogPosts = await getWordPressItems({ site: props.site });
37
+ for await (const post of blogPosts ?? []) {
38
+ sitemap.push({
39
+ url: post.URL,
40
+ lastModified: post.modified ?? new Date().toISOString(),
41
+ changeFrequency: "hourly",
42
+ priority: 1.0,
43
+ });
44
+ }
45
+ return sitemap;
46
+ }
47
+ createContentfulURLs.propTypes = {
48
+ apiProps: PropTypes.shape({
49
+ base_url: PropTypes.string.isRequired,
50
+ space_id: PropTypes.string.isRequired,
51
+ environment: PropTypes.string.isRequired,
52
+ delivery_access_token: PropTypes.string.isRequired,
53
+ }).isRequired,
54
+ origin: PropTypes.string.isRequired,
55
+ };
56
+ export async function createContentfulURLs(props) {
57
+ const sitemap = [];
58
+ // const origin = await getOrigin();
59
+ const contentType = "carouselCard";
60
+ const field = "title";
61
+ const providerContentfulApiProps = getFullPixelatedConfig()?.contentful;
62
+ const mergedApiProps = { ...providerContentfulApiProps, ...props.apiProps };
63
+ const contentfulTitles = await getContentfulFieldValues({
64
+ apiProps: mergedApiProps, contentType: contentType, field: field
65
+ });
66
+ for (const title of contentfulTitles) {
67
+ sitemap.push({
68
+ url: `${props.origin}/projects/${encodeURIComponent(title)}`,
69
+ lastModified: (new Date()).toISOString(),
70
+ changeFrequency: "hourly",
71
+ priority: 1.0,
72
+ });
73
+ }
74
+ return sitemap;
75
+ }
76
+ createContentfulPageBuilderURLs.propTypes = {
77
+ apiProps: PropTypes.shape({
78
+ base_url: PropTypes.string.isRequired,
79
+ space_id: PropTypes.string.isRequired,
80
+ environment: PropTypes.string.isRequired,
81
+ delivery_access_token: PropTypes.string.isRequired,
82
+ }).isRequired,
83
+ origin: PropTypes.string.isRequired,
84
+ };
85
+ export async function createContentfulPageBuilderURLs(props) {
86
+ const sitemap = [];
87
+ const contentType = "page";
88
+ const field = "pageName";
89
+ const pageNames = await getContentfulFieldValues({
90
+ apiProps: props.apiProps, contentType: contentType, field: field
91
+ });
92
+ for (const pageName of pageNames) {
93
+ sitemap.push({
94
+ url: `${props.origin}/${encodeURIComponent(pageName)}`,
95
+ lastModified: (new Date()).toISOString(),
96
+ changeFrequency: "hourly",
97
+ priority: 1.0,
98
+ });
99
+ }
100
+ return sitemap;
101
+ }
102
+ const defaultEbayProps = {
103
+ proxyURL: "https://proxy.pixelated.tech/prod/proxy?url=",
104
+ baseTokenURL: 'https://api.ebay.com/identity/v1/oauth2/token',
105
+ tokenScope: 'https://api.ebay.com/oauth/api_scope',
106
+ baseSearchURL: 'https://api.ebay.com/buy/browse/v1/item_summary/search',
107
+ qsSearchURL: '?q=sunglasses&fieldgroups=full&category_ids=79720&aspect_filter=categoryId:79720&filter=sellers:{pixelatedtech}&sort=newlyListed&limit=200',
108
+ baseItemURL: 'https://api.ebay.com/buy/browse/v1/item',
109
+ qsItemURL: '/v1|295959752403|0?fieldgroups=PRODUCT,ADDITIONAL_SELLER_DETAILS',
110
+ appId: 'BrianWha-Pixelate-PRD-1fb4458de-1a8431fe', // clientId
111
+ appCertId: 'PRD-fb4458deef01-0d54-496a-b572-a04b', // clientSecret
112
+ sbxAppId: 'BrianWha-Pixelate-SBX-ad482b6ae-8cb8fead', // Sandbox
113
+ sbxAppCertId: '',
114
+ globalId: 'EBAY-US',
115
+ };
116
+ export async function createEbayItemURLs(origin) {
117
+ const sitemap = [];
118
+ await getEbayAppToken({ apiProps: defaultEbayProps })
119
+ .then(async (response) => {
120
+ await getEbayItemsSearch({ apiProps: defaultEbayProps, token: response })
121
+ .then((items) => {
122
+ for (const item of items.itemSummaries) {
123
+ sitemap.push({
124
+ url: `${origin}/store/${item.legacyItemId}`,
125
+ lastModified: item.itemCreationDate,
126
+ changeFrequency: "hourly",
127
+ priority: 1.0,
128
+ });
129
+ }
130
+ });
131
+ });
132
+ return sitemap;
133
+ }
134
+ export function jsonToSitemapEntries(entries) {
135
+ return entries.map((entry) => `<url>
136
+ <loc>${entry.url}</loc>
137
+ <lastmod>${entry.lastModified}</lastmod>
138
+ <changefreq>${entry.changeFrequency}</changefreq>
139
+ <priority>${entry.priority}</priority>
140
+ </url>`).join('');
141
+ }
142
+ export async function createImageURLsFromJSON(origin, jsonPath = 'public/site-images.json') {
143
+ const sitemap = [];
144
+ try {
145
+ let urlPath = jsonPath;
146
+ if (urlPath.startsWith('public/'))
147
+ urlPath = urlPath.slice('public/'.length);
148
+ if (!urlPath.startsWith('/'))
149
+ urlPath = `/${urlPath}`;
150
+ const resp = await fetch(`${origin}${urlPath}`);
151
+ if (!resp.ok)
152
+ return sitemap;
153
+ const imgs = await resp.json();
154
+ if (!Array.isArray(imgs))
155
+ return sitemap;
156
+ // Use an array of URL strings so the sitemap serializer writes the URL text
157
+ const newImages = imgs.map(i => {
158
+ const rel = i.startsWith('/') ? i : `/${i}`;
159
+ return `${origin}${rel}`;
160
+ });
161
+ sitemap.push({
162
+ url: `${origin}/images`,
163
+ images: newImages,
164
+ });
165
+ }
166
+ catch (e) {
167
+ if (typeof console !== 'undefined')
168
+ console.warn('createImageURLsFromJSON failed', e);
169
+ }
170
+ return sitemap;
171
+ }
@@ -0,0 +1,203 @@
1
+ "use client";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState, useEffect } from "react";
4
+ import PropTypes from "prop-types";
5
+ import { Carousel } from '../carousel/carousel';
6
+ import { SmartImage } from "../cms/cloudinary.image";
7
+ import { defaultEbayProps, ebaySunglassCategory, getEbayItems, getEbayItem, getShoppingCartItem } from "./ebay.functions";
8
+ import { AddToShoppingCart } from "./shoppingcart.functions";
9
+ import { AddToCartButton, /* GoToCartButton */ ViewItemDetails } from "./shoppingcart.components";
10
+ import { getCloudinaryRemoteFetchURL as getImg } from "../cms/cloudinary";
11
+ import { Loading, ToggleLoading } from "../general/loading";
12
+ import { usePixelatedConfig } from "../config/config.client";
13
+ import "../../css/pixelated.grid.scss";
14
+ import "./ebay.css";
15
+ const debug = false;
16
+ /* ========== EBAY ITEMS PAGE ========== */
17
+ EbayItems.propTypes = {
18
+ apiProps: PropTypes.object.isRequired,
19
+ cloudinaryProductEnv: PropTypes.string,
20
+ };
21
+ export function EbayItems(props) {
22
+ // https://developer.ebay.com/devzone/finding/HowTo/GettingStarted_JS_NV_JSON/GettingStarted_JS_NV_JSON.html
23
+ const [items, setItems] = useState([]);
24
+ const [aspects, setAspects] = useState([]);
25
+ const [apiProps] = useState({ ...defaultEbayProps, ...props.apiProps });
26
+ paintItems.propTypes = {
27
+ items: PropTypes.array.isRequired,
28
+ cloudinaryProductEnv: PropTypes.string,
29
+ };
30
+ function paintItems(props) {
31
+ if (debug)
32
+ console.log("Painting Items");
33
+ let newItems = [];
34
+ for (let key in props.items) {
35
+ const item = props.items[key];
36
+ const newItem = _jsx(EbayListItem, { item: item, cloudinaryProductEnv: props.cloudinaryProductEnv }, item.legacyItemId);
37
+ newItems.push(newItem);
38
+ }
39
+ return newItems;
40
+ }
41
+ fetchItems.propTypes = {
42
+ aspectName: PropTypes.string,
43
+ aspectValue: PropTypes.string,
44
+ };
45
+ async function fetchItems(props) {
46
+ try {
47
+ const myApiProps = { ...apiProps };
48
+ if (props) {
49
+ const params = new URLSearchParams(myApiProps.qsSearchURL);
50
+ let aspects = params.get('aspect_filter');
51
+ const newAspects = props.aspectName + ":{" + props.aspectValue + "}";
52
+ aspects = (aspects) ? aspects + "," + newAspects : newAspects;
53
+ params.set('aspect_filter', aspects);
54
+ myApiProps.qsSearchURL = "?" + decodeURIComponent(params.toString());
55
+ }
56
+ const response = await getEbayItems({ apiProps: myApiProps });
57
+ if (debug)
58
+ console.log("eBay API Get Items Data", response);
59
+ setItems(response.itemSummaries);
60
+ setAspects(response.refinement.aspectDistributions);
61
+ }
62
+ catch (error) {
63
+ console.error("Error fetching eBay items:", error);
64
+ }
65
+ }
66
+ useEffect(() => {
67
+ if (debug)
68
+ console.log("Running useEffect");
69
+ ToggleLoading(true);
70
+ fetchItems();
71
+ ToggleLoading(false);
72
+ }, []);
73
+ if (items.length > 0) {
74
+ return (_jsxs(_Fragment, { children: [_jsx(Loading, {}), _jsx("div", { className: "ebayItemsHeader", children: _jsx(EbayItemHeader, { title: `${items.length} Store Items` }) }), _jsx("div", { className: "ebayItemsHeader", children: _jsx(EbayListFilter, { aspects: aspects, callback: fetchItems }) }), _jsx("div", { id: "ebayItems", className: "ebayItems", children: paintItems({ items: items, cloudinaryProductEnv: props.cloudinaryProductEnv }) })] }));
75
+ }
76
+ else {
77
+ return (_jsx("div", { className: "section-container", children: _jsx("div", { id: "ebayItems", className: "ebayItems", children: _jsx(Loading, {}) }) }));
78
+ }
79
+ }
80
+ EbayListFilter.propTypes = {
81
+ aspects: PropTypes.any.isRequired,
82
+ callback: PropTypes.func.isRequired,
83
+ };
84
+ export function EbayListFilter(props) {
85
+ const aspectNames = props.aspects.map((aspect) => (aspect.localizedAspectName)).sort();
86
+ let aspectNamesValues = {};
87
+ for (let key in props.aspects) {
88
+ const aspect = props.aspects[key];
89
+ const thisAspectName = aspect.localizedAspectName;
90
+ const aspectNameValues = aspect.aspectValueDistributions.map((aspectValue) => {
91
+ return (aspectValue.localizedAspectValue);
92
+ }).sort();
93
+ aspectNamesValues[thisAspectName] = aspectNameValues;
94
+ }
95
+ function onAspectNameChange() {
96
+ const aspectName = document.getElementById("aspectName");
97
+ const aspectValue = document.getElementById("aspectValue");
98
+ const aspectNameValues = aspectNamesValues[aspectName.value];
99
+ aspectNameValues.unshift("");
100
+ aspectValue.options.length = 0;
101
+ aspectNameValues.forEach((aspectValueString) => {
102
+ const option = document.createElement('option');
103
+ option.textContent = aspectValueString;
104
+ option.value = aspectValueString;
105
+ aspectValue.appendChild(option);
106
+ });
107
+ }
108
+ function onAspectValueChange() {
109
+ // const aspectName = document.getElementById("aspectName") as HTMLSelectElement;
110
+ // const aspectValue = document.getElementById("aspectValue") as HTMLSelectElement;
111
+ return;
112
+ }
113
+ function handleAspectFilter() {
114
+ const aspectName = document.getElementById("aspectName");
115
+ const aspectValue = document.getElementById("aspectValue");
116
+ if (aspectName.value && aspectValue.value) {
117
+ props.callback({ aspectName: aspectName.value, aspectValue: aspectValue.value });
118
+ }
119
+ }
120
+ 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" }) })] }));
121
+ }
122
+ EbayListItem.propTypes = {
123
+ item: PropTypes.any.isRequired,
124
+ cloudinaryProductEnv: PropTypes.string,
125
+ };
126
+ export function EbayListItem(props) {
127
+ const thisItem = props.item;
128
+ // const itemURL = thisItem.itemWebUrl;
129
+ const itemURL = "./store/" + thisItem.legacyItemId;
130
+ const itemURLTarget = "_self"; /* "_blank" */
131
+ const itemImage = (props.cloudinaryProductEnv)
132
+ ? getImg({ url: thisItem.thumbnailImages[0].imageUrl, product_env: props.cloudinaryProductEnv })
133
+ : thisItem.thumbnailImages[0].imageUrl;
134
+ const shoppingCartItem = getShoppingCartItem({ thisItem: thisItem, cloudinaryProductEnv: props.cloudinaryProductEnv });
135
+ // CHANGE EBAY URL TO LOCAL EBAY ITEM DETAIL URL
136
+ shoppingCartItem.itemURL = itemURL;
137
+ const config = usePixelatedConfig();
138
+ const itemImageComponent = _jsx(SmartImage, { src: itemImage, title: thisItem.title, alt: thisItem.title, cloudinaryEnv: props.cloudinaryProductEnv ?? undefined, cloudinaryDomain: config?.cloudinary?.baseUrl ?? undefined, cloudinaryTransforms: config?.cloudinary?.transforms ?? undefined });
139
+ // <img src={itemImage} title={thisItem.title} alt={thisItem.title} />
140
+ return (_jsxs("div", { className: "ebayItem row-12col", children: [_jsx("div", { className: "ebayItemPhoto grid-s1-e5", children: itemURL
141
+ ? _jsx("a", { href: itemURL, target: itemURLTarget, rel: "noopener noreferrer", children: itemImageComponent })
142
+ : (itemImageComponent) }), _jsxs("div", { className: "ebayItemBody grid-s5-e13", children: [_jsx("div", { className: "ebayItemHeader", children: itemURL
143
+ ? _jsx(EbayItemHeader, { url: itemURL, target: itemURLTarget, title: thisItem.title })
144
+ : _jsx(EbayItemHeader, { title: thisItem.title }) }), _jsxs("div", { className: "ebayItemDetails grid12", children: [_jsxs("div", { children: [_jsx("b", { children: "Item ID: " }), thisItem.legacyItemId] }), _jsxs("div", { children: [_jsx("b", { children: "Quantity: " }), thisItem.categories[0].categoryId == ebaySunglassCategory ? 1 : 10] }), _jsxs("div", { children: [_jsx("b", { children: "Condition: " }), thisItem.condition] }), _jsxs("div", { children: [_jsx("b", { children: "Seller: " }), thisItem.seller.username, " (", thisItem.seller.feedbackScore, ")", _jsx("br", {}), thisItem.seller.feedbackPercentage, "% positive"] }), _jsxs("div", { children: [_jsx("b", { children: "Buying Options: " }), thisItem.buyingOptions[0]] }), _jsxs("div", { children: [_jsx("b", { children: "Location: " }), thisItem.itemLocation.postalCode + ", " + thisItem.itemLocation.country] }), _jsxs("div", { children: [_jsx("b", { children: "Listing Date: " }), thisItem.itemCreationDate] })] }), _jsx("div", { className: "ebayItemPrice", children: itemURL
145
+ ? _jsxs("a", { href: itemURL, target: itemURLTarget, rel: "noreferrer", children: ["$", thisItem.price.value + " " + thisItem.price.currency] })
146
+ : "$" + 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 })] })] })] }));
147
+ }
148
+ EbayItemHeader.propTypes = {
149
+ title: PropTypes.string.isRequired,
150
+ url: PropTypes.string,
151
+ target: PropTypes.string,
152
+ };
153
+ export function EbayItemHeader(props) {
154
+ return (_jsx("span", { children: props.url
155
+ ? _jsx("a", { href: props.url, target: props.target ?? '', rel: "noopener noreferrer", children: _jsx("h2", { className: "", children: props.title }) })
156
+ : _jsx("h2", { className: "", children: props.title }) }));
157
+ }
158
+ /* ========== EBAY ITEM DETAIL PAGE ========== */
159
+ EbayItemDetail.propTypes = {
160
+ apiProps: PropTypes.object.isRequired,
161
+ itemID: PropTypes.string.isRequired, // currently not used
162
+ cloudinaryProductEnv: PropTypes.string,
163
+ };
164
+ export function EbayItemDetail(props) {
165
+ const [item, setItem] = useState({});
166
+ const [apiProps] = useState({ ...defaultEbayProps, ...props.apiProps });
167
+ useEffect(() => {
168
+ if (debug)
169
+ console.log("Running useEffect");
170
+ async function fetchItem() {
171
+ try {
172
+ const response = await getEbayItem({ apiProps: apiProps });
173
+ if (debug)
174
+ console.log("eBay API Get Items Data", response);
175
+ setItem(response);
176
+ }
177
+ catch (error) {
178
+ console.error("Error fetching eBay items:", error);
179
+ }
180
+ }
181
+ fetchItem();
182
+ }, []);
183
+ if (item && Object.keys(item) && Object.keys(item).length > 0) {
184
+ const thisItem = { ...item };
185
+ if (debug)
186
+ console.log(thisItem);
187
+ const images = thisItem.additionalImages.map((thisImage) => ({ image: (props.cloudinaryProductEnv)
188
+ ? getImg({ url: thisImage.imageUrl, product_env: props.cloudinaryProductEnv })
189
+ : thisImage.imageUrl }));
190
+ const itemURL = undefined;
191
+ const itemURLTarget = "_self"; /* "_blank" */
192
+ const shoppingCartItem = getShoppingCartItem({ thisItem: thisItem, cloudinaryProductEnv: props.cloudinaryProductEnv });
193
+ shoppingCartItem.itemURL = itemURL;
194
+ return (_jsx(_Fragment, { children: _jsxs("div", { className: "ebayItem row-12col", children: [_jsx("div", { className: "ebayItemHeader grid-s1-e13", children: itemURL
195
+ ? _jsx(EbayItemHeader, { url: itemURL, title: thisItem.title })
196
+ : _jsx(EbayItemHeader, { title: thisItem.title }) }), _jsx("br", {}), _jsx("div", { className: "ebayItemPhotoCarousel grid-s1-e7", children: _jsx(Carousel, { cards: images, draggable: true, imgFit: "contain" }) }), _jsxs("div", { className: "grid-s7-e13", children: [_jsx("div", { className: "ebayItemDetails grid12", children: _jsx("div", { dangerouslySetInnerHTML: { __html: thisItem.description.replace(/(<br\s*\/?>\s*){2,}/gi, '') } }) }), _jsx("br", {}), _jsxs("div", { className: "ebayItemDetails grid12", children: [_jsxs("div", { children: [_jsx("b", { children: "Item ID: " }), thisItem.legacyItemId] }), _jsxs("div", { children: [_jsx("b", { children: "Quantity: " }), thisItem.categoryId == ebaySunglassCategory ? 1 : 10] }), _jsxs("div", { children: [_jsx("b", { children: "Category: " }), thisItem.categoryPath] }), _jsxs("div", { children: [_jsx("b", { children: "Condition: " }), thisItem.condition] }), _jsxs("div", { children: [_jsx("b", { children: "Seller: " }), thisItem.seller.username, " (", thisItem.seller.feedbackScore, ")", _jsx("br", {}), thisItem.seller.feedbackPercentage, "% positive"] }), _jsxs("div", { children: [_jsx("b", { children: "Buying Options: " }), thisItem.buyingOptions[0]] }), _jsxs("div", { children: [_jsx("b", { children: "Location: " }), thisItem.itemLocation.city + ", " + thisItem.itemLocation.stateOrProvince] }), _jsxs("div", { children: [_jsx("b", { children: "Listing Date: " }), thisItem.itemCreationDate] }), _jsx("br", {})] }), _jsx("div", { className: "ebayItemPrice", children: itemURL
197
+ ? _jsxs("a", { href: itemURL, target: itemURLTarget, rel: "noreferrer", children: ["$", thisItem.price.value + " " + thisItem.price.currency] })
198
+ : "$" + thisItem.price.value + " " + thisItem.price.currency }), _jsx("br", {}), _jsx("div", { className: "ebayItemAddToCart", children: _jsx(AddToCartButton, { handler: AddToShoppingCart, item: shoppingCartItem, itemID: thisItem.legacyItemId }) })] })] }) }));
199
+ }
200
+ else {
201
+ return (_jsx(_Fragment, { children: _jsx("div", { id: "ebayItems", className: "ebayItems", children: _jsx("div", { className: "centered", children: "Loading..." }) }) }));
202
+ }
203
+ }
@@ -0,0 +1,131 @@
1
+ /* ========================================
2
+ =============== EBAY ===============
3
+ ======================================== */
4
+
5
+ .ebayItems {
6
+ text-align: center;
7
+ }
8
+
9
+ @media screen and (max-width: 480px) {
10
+ .ebayItems {
11
+ padding: 20px;
12
+ }
13
+ }
14
+
15
+ .ebayItemsHeader {
16
+ font-size: 1.25em;
17
+ font-weight: bold;
18
+ text-align: center;
19
+ }
20
+
21
+ #ebayItemsFilter {
22
+ font-size: 0.8em;
23
+ margin: 20px auto;
24
+ }
25
+
26
+ @media screen and (max-width: 480px) {
27
+ #ebayItemsFilter {
28
+ text-align: left;
29
+ }
30
+ .filterInput {
31
+ display: block;
32
+ }
33
+ }
34
+
35
+ .ebayItem {
36
+ border: 1px solid #DDD;
37
+ text-align: left;
38
+ padding: 20px 5px !important;
39
+ }
40
+
41
+ @media screen and (max-width: 480px) {
42
+ .ebayItem {
43
+ text-align: center;
44
+ }
45
+ }
46
+
47
+ .ebayItemBody {
48
+ grid-auto-rows: min-content;
49
+ margin: 10px 0;
50
+ }
51
+
52
+ .ebayItemHeader {
53
+ margin: 0 auto;
54
+ }
55
+
56
+ .ebayItemHeader h2 {
57
+ font-size: 1.25em;
58
+ font-weight: bold;
59
+ }
60
+
61
+ /* ===== PHOTO CAROUSEL ON EBAY ITEM DETAIL PAGE ===== */
62
+ .ebayItemPhotoCarousel {
63
+ width: 100%;
64
+ height: 400px;
65
+ }
66
+
67
+ .ebayItemPhotoCarousel {
68
+
69
+ .carouselContainer {
70
+ background: none;
71
+ border: none;
72
+ height: 400px;
73
+ }
74
+
75
+ .carouselCardsContainer {
76
+ height: 100%;
77
+ }
78
+
79
+ .carouselButtons,
80
+ .carouselButton {
81
+ display: inline-block;
82
+ }
83
+
84
+ }
85
+
86
+ @media screen and (max-width: 480px) {
87
+ .ebayItemPhotoCarousel {
88
+ height: 350px;
89
+ }
90
+ .ebayItemPhotoCarousel .carouselContainer {
91
+ height: 300px;
92
+ }
93
+ }
94
+
95
+ .ebayItemPhoto {
96
+ overflow: hidden;
97
+ }
98
+
99
+ .ebayItemPhoto img {
100
+ padding: 10px 0;
101
+ width: 100%;
102
+ }
103
+
104
+ .ebayItems .ebayItemDetails {
105
+ display: none;
106
+ }
107
+
108
+ .ebayItemDetails {
109
+ padding-bottom: 10px;
110
+ }
111
+
112
+ @media screen and (max-width: 480px) {
113
+ .ebayItemDetails {
114
+ text-align: left;
115
+ }
116
+ }
117
+
118
+ .ebayItemPrice{
119
+ font-size: 1.5em;
120
+ font-weight: bold;
121
+ /* background-image: url(/images/pix/pix-bg-sm-bw.gif); */
122
+ border: 2px solid #CCC;
123
+ border-radius: 5px;
124
+ display: inline-block;
125
+ margin: 0 auto;
126
+ padding: 5px 20px;
127
+ /* border: 1px solid #999;
128
+ -moz-border-radius: 5px;
129
+ -webkit-border-radius: 5px;
130
+ border-radius: 5px; */
131
+ }