@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,195 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import PropTypes from "prop-types";
3
+ import { format } from "date-fns";
4
+ import "./resume.css";
5
+ import "../../css/pixelated.grid.scss";
6
+ import { usePixelatedConfig } from "../config/config.client";
7
+ import { SmartImage } from "../cms/cloudinary.image";
8
+ /*
9
+ Resume Microformat - https://microformats.org/wiki/h-resume
10
+ Details Summary Expand Collapse - https://www.w3schools.com/tags/tag_details.asp
11
+ */
12
+ function isValidDate(dateString) {
13
+ let date = new Date(dateString);
14
+ return !isNaN(date.getTime());
15
+ }
16
+ /* function isStr(str) {
17
+ const myStr = String(str).trim();
18
+ return myStr != null && myStr !== "" && myStr.length > 0 && typeof myStr !== 'undefined';
19
+ } */
20
+ // type IObj = { [key: string]: any }
21
+ const defaultDateFormat = 'MM/yyyy';
22
+ /* type resumeProps = {
23
+ title: string
24
+ data: any
25
+ dateFormat?: string
26
+ collapsible?: boolean
27
+ }
28
+
29
+ type simpleResumeProps = {
30
+ data: any
31
+ } */
32
+ Resume.propTypes = {
33
+ data: PropTypes.any.isRequired,
34
+ };
35
+ export function Resume(props) {
36
+ return (_jsx("section", { className: "p-resume", id: "resume-section", children: _jsx("div", { className: "section-container", children: _jsxs("div", { className: "row-12col", children: [_jsx("div", { className: "p-name grid-s1-e13", children: _jsx(ResumeName, { data: props.data.items[0].properties.name }) }), _jsxs("div", { className: "bigpad divider grid-s1-e4", children: [_jsx("div", { className: "p-contact", children: _jsx(ResumeContact, { title: "Contact Information", data: props.data.items[0].properties.contact }) }), _jsx("div", { className: "p-education", children: _jsx(ResumeEvents, { title: "Education", data: props.data.items[0].properties.education, dateFormat: "MM/yyyy", collapsible: false }) }), _jsx("div", { className: "p-skills", children: _jsx(ResumeSkills, { title: "Skills", data: props.data.items[0].properties.skills }) })] }), _jsxs("div", { className: "bigpad grid-s4-e13", children: [_jsx("div", { className: "p-summary", children: _jsx(ResumeSummary, { title: "Professional Summary", data: props.data.items[0].properties.summary }) }), _jsx("div", { className: "p-qualifications", children: _jsx(ResumeQualifications, { title: "Professional Qualifications", data: props.data.items[0].properties.qualifications }) }), _jsx("div", { className: "p-experience", children: _jsx(ResumeEvents, { title: "Work History", data: props.data.items[0].properties.experience, dateFormat: "MM/yyyy", collapsible: false }) }), _jsx("div", { className: "p-projects", children: _jsx(ResumeProjects, { title: "Projects", data: props.data.items[0].properties.experience, collapsible: true }) }), _jsx("div", { className: "p-volunteer", children: _jsx(ResumeEvents, { title: "Volunteer Work", data: props.data.items[0].properties.volunteer, dateFormat: "MM/yyyy", collapsible: true }) }), _jsx("div", { className: "p-certifications", children: _jsx(ResumeEvents, { title: "Certifications", data: props.data.items[0].properties.certifications, dateFormat: "MM/yyyy", collapsible: true }) }), _jsx("div", { className: "p-awards", children: _jsx(ResumeEvents, { title: "Honors & Awards", data: props.data.items[0].properties.awards, dateFormat: "MM/yyyy", collapsible: true }) }), _jsx("div", { className: "p-training", children: _jsx(ResumeEvents, { title: "Training & Conferences", data: props.data.items[0].properties.training, dateFormat: "MM/dd/yyyy", collapsible: true }) }), _jsx("div", { className: "p-references", children: _jsx(ResumeReferences, { title: "References", data: props.data.items[0].properties.references, collapsible: true }) })] })] }) }) }));
37
+ }
38
+ ResumeName.propTypes = {
39
+ data: PropTypes.any.isRequired,
40
+ };
41
+ export function ResumeName(props) {
42
+ const myName = props.data[0];
43
+ return (_jsx(_Fragment, { children: _jsx("h1", { className: "p-name", children: myName }) }));
44
+ }
45
+ ResumeContact.propTypes = {
46
+ data: PropTypes.any.isRequired,
47
+ title: PropTypes.string.isRequired,
48
+ };
49
+ export function ResumeContact(props) {
50
+ const myContact = props.data[0];
51
+ return (_jsxs(_Fragment, { children: [_jsx("h2", { children: props.title }), _jsxs("ul", { children: [_jsx("li", { children: _jsx("span", { className: "p-email", children: _jsx("a", { href: `mailto:${myContact?.properties.email[0]}`, target: "_blank", rel: "noopener noreferrer", children: myContact?.properties.email[0] }) }) }), _jsxs("li", { children: [_jsxs("span", { className: "p-street-address", children: [myContact?.properties.adr[0].properties["street-address"], ", "] }), _jsxs("span", { className: "p-locality", children: [myContact?.properties.adr[0].properties.locality, ", "] }), _jsxs("span", { className: "p-region", children: [myContact?.properties.adr[0].properties.region, " "] }), _jsx("span", { className: "p-postal-code", children: myContact?.properties.adr[0].properties["postal-code"] })] }), _jsx("li", { children: _jsx("span", { className: "p-tel", children: myContact?.properties.tel[0] }) }), _jsx("li", { children: _jsx("span", { className: "p-url", children: _jsx("a", { href: myContact?.properties.url[0], target: "_blank", rel: "noopener", children: myContact?.properties.url[0] }) }) })] })] }));
52
+ }
53
+ ResumeEvents.propTypes = {
54
+ data: PropTypes.any.isRequired,
55
+ dateFormat: PropTypes.string.isRequired,
56
+ collapsible: PropTypes.bool,
57
+ title: PropTypes.string.isRequired,
58
+ };
59
+ export function ResumeEvents(props) {
60
+ const config = usePixelatedConfig();
61
+ const myElems = [];
62
+ const myEvents = props.data;
63
+ // SORT EVENTS DESCENDING BY END DATE
64
+ myEvents.sort((a, b) => {
65
+ if (a.properties.end[0] < b.properties.end[0]) {
66
+ return 1;
67
+ }
68
+ if (a.properties.end[0] > b.properties.end[0]) {
69
+ return -1;
70
+ }
71
+ return 0;
72
+ });
73
+ for (const iKey in myEvents) {
74
+ // PRE-LOAD SOME VALUES
75
+ const myEvent = myEvents[iKey].properties;
76
+ const myStartDate = isValidDate(myEvent.start[0]) ? format(new Date(myEvent.start[0]), props.dateFormat || defaultDateFormat) : myEvent.start[0];
77
+ const myEndDate = isValidDate(myEvent.end[0]) ? format(new Date(myEvent.end[0]), props.dateFormat || defaultDateFormat) : myEvent.end[0];
78
+ const myLocation = myEvent.location[0].properties;
79
+ const myElemDt = _jsxs("span", { children: [(myStartDate) ? _jsx("span", { className: "dt-start", children: myStartDate }) : null, (myStartDate && myEndDate) ? _jsx("span", { children: " - " }) : null, (myEndDate) ? _jsx("span", { className: "dt-end", children: myEndDate }) : null, _jsx("span", { children: " : " })] });
80
+ // CREATE THE NEW ELEMENT
81
+ const myElem = _jsxs("li", { children: [(props.dateFormat) ? myElemDt : null, (myLocation["job-title"]) ? (_jsxs("span", { className: "p-job-title", children: [myLocation["job-title"], ", "] })) : null, _jsx("span", { className: "p-org", children: myLocation.org }), (myLocation.locality[0]) ? _jsxs("span", { className: "p-locality", children: [", ", myLocation.locality[0]] }) : null, (myLocation.region[0]) ? _jsxs("span", { className: "p-region", children: [", ", myLocation.region[0], " "] }) : null, (myLocation.url[0])
82
+ ? _jsx("a", { href: myLocation.url[0], target: "_blank", rel: "noreferrer", children: _jsx(SmartImage, { src: "/images/icons/link.png", title: myLocation.url[0], alt: myLocation.url[0], className: 'u-url-icon', cloudinaryEnv: config?.cloudinary?.product_env, cloudinaryDomain: config?.cloudinary?.baseUrl, cloudinaryTransforms: config?.cloudinary?.transforms }) }) : null] }, iKey);
83
+ // ADD TO THE ARRAY
84
+ myElems.push(myElem);
85
+ }
86
+ if (props.collapsible && props.collapsible == true) {
87
+ return (_jsx(_Fragment, { children: _jsxs("details", { children: [_jsx("summary", { children: _jsx("h2", { children: props.title }) }), _jsx("ul", { children: myElems })] }) }));
88
+ }
89
+ else {
90
+ return (_jsxs(_Fragment, { children: [_jsx("h2", { children: props.title }), _jsx("ul", { children: myElems })] }));
91
+ }
92
+ }
93
+ ResumeQualifications.propTypes = {
94
+ data: PropTypes.any.isRequired,
95
+ title: PropTypes.string.isRequired,
96
+ };
97
+ export function ResumeQualifications(props) {
98
+ const myElems = [];
99
+ const myQual = props.data;
100
+ for (const iKey in myQual) {
101
+ const qual = myQual[iKey];
102
+ const myElem = _jsx("h3", { children: iKey }, iKey);
103
+ const quals = qual.map((qualItem, iKey) => _jsx("li", { className: "p-qualification", children: qualItem }, "i" + iKey));
104
+ myElems.push(myElem);
105
+ myElems.push(_jsx("ul", { children: quals }, "q-" + iKey));
106
+ }
107
+ return (_jsxs(_Fragment, { children: [_jsx("h2", { children: props.title }), myElems] }));
108
+ }
109
+ ResumeSkills.propTypes = {
110
+ data: PropTypes.any.isRequired,
111
+ title: PropTypes.string.isRequired,
112
+ };
113
+ export function ResumeSkills(props) {
114
+ const myElems = [];
115
+ const mySkills = props.data[0];
116
+ for (const skill in mySkills) {
117
+ const myElem = _jsxs("h3", { className: "p-skill-category", children: [skill, " : "] }, "c-" + skill);
118
+ myElems.push(myElem);
119
+ const myElem2 = _jsxs("span", { className: "p-skill", children: [mySkills[skill], _jsx("br", {})] }, "s-" + skill);
120
+ myElems.push(myElem2);
121
+ }
122
+ return (_jsxs(_Fragment, { children: [_jsx("h2", { children: props.title }), _jsx("div", { className: "p-skills", children: myElems })] }));
123
+ }
124
+ ResumeSummary.propTypes = {
125
+ data: PropTypes.any.isRequired,
126
+ title: PropTypes.string.isRequired,
127
+ };
128
+ export function ResumeSummary(props) {
129
+ const myElems = [];
130
+ const mySummary = props.data;
131
+ for (const iKey in mySummary) {
132
+ const summary = mySummary[iKey];
133
+ const myElem = _jsx("li", { children: summary }, iKey);
134
+ myElems.push(myElem);
135
+ }
136
+ return (_jsxs(_Fragment, { children: [_jsx("h2", { children: props.title }), _jsx("ul", { className: "p-summary", children: myElems })] }));
137
+ }
138
+ ResumeReferences.propTypes = {
139
+ data: PropTypes.any.isRequired,
140
+ title: PropTypes.any.isRequired,
141
+ collapsible: PropTypes.bool,
142
+ };
143
+ export function ResumeReferences(props) {
144
+ const myElems = [];
145
+ const myReferences = props.data;
146
+ for (const iKey in myReferences) {
147
+ const myReference = myReferences[iKey];
148
+ // const myElem = <li key={iKey}>{myReference[iKey]}</li>;
149
+ const myElem = _jsx(ResumeReference, { data: myReference }, iKey);
150
+ myElems.push(myElem);
151
+ }
152
+ if (props.collapsible && props.collapsible == true) {
153
+ return (_jsx(_Fragment, { children: _jsxs("details", { children: [_jsx("summary", { children: _jsx("h2", { children: props.title }) }), _jsx("div", { children: myElems })] }) }));
154
+ }
155
+ else {
156
+ return (_jsxs(_Fragment, { children: [_jsx("h2", { children: props.title }), _jsx("div", { children: myElems })] }));
157
+ }
158
+ }
159
+ ResumeReference.propTypes = {
160
+ data: PropTypes.any.isRequired,
161
+ };
162
+ export function ResumeReference(props) {
163
+ const myReference = props.data.properties;
164
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { children: [(myReference?.url[0]) ? _jsx("a", { href: myReference?.url[0], target: "_blank", className: "u-url", rel: "noopener noreferrer", children: _jsx("span", { className: "p-name", children: myReference?.name[0] }) }) : _jsx("span", { className: "p-name", children: myReference?.name[0] }), ",", ' ', " ", _jsx("span", { className: "p-locality", children: myReference?.locality[0] }), ",", ' ', " ", _jsx("span", { className: "p-region", children: myReference?.region[0] })] }), _jsxs("div", { children: [_jsx("span", { className: "p-job-title", children: myReference["job-title"][0] }), ",", ' ', " ", _jsx("span", { className: "p-org", children: myReference?.org[0] })] }), _jsxs("div", { children: ["email : ", _jsx("a", { href: `mailto:${myReference?.email[0]}`, target: "_blank", rel: "noopener noreferrer", className: "u-email", children: myReference?.email[0] }), ' ', " || phone : ", _jsx("a", { href: `tel:${myReference?.tel[0]}`, className: "p-tel", children: myReference?.tel[0] })] }), _jsx("br", {}), _jsx("hr", {}), _jsx("br", {})] }));
165
+ }
166
+ ResumeProjects.propTypes = {
167
+ data: PropTypes.any.isRequired,
168
+ title: PropTypes.any.isRequired,
169
+ collapsible: PropTypes.bool,
170
+ };
171
+ export function ResumeProjects(props) {
172
+ const config = usePixelatedConfig();
173
+ const myElems = [];
174
+ const myEvents = props.data;
175
+ for (const iKey in myEvents) {
176
+ const myEvent = myEvents[iKey];
177
+ const myOrg = _jsx("h3", { children: myEvent.properties.location[0].properties.org[0] }, iKey);
178
+ const myProjects = myEvent.properties.projects;
179
+ const projects = myProjects?.map((project, iKey) => _jsxs("li", { className: "p-project", children: [(project.properties.url[0])
180
+ ? _jsx("a", { href: project.properties.url[0], target: "_blank", className: "u-url", rel: "noreferrer", children: _jsx("span", { className: "p-name", children: project.properties.name[0] }) })
181
+ : _jsx("span", { className: "p-name", children: project.properties.name[0] }), ' ', " ", (project.properties.photo[0])
182
+ ? _jsx("a", { href: project.properties.photo[0], target: "_blank", className: "u-photo", rel: "noreferrer", children: _jsx(SmartImage, { src: '/images/icons/img.png', title: project.properties.name[0], alt: project.properties.name[0], className: 'u-photo-icon', cloudinaryEnv: config?.cloudinary?.product_env, cloudinaryDomain: config?.cloudinary?.baseUrl, cloudinaryTransforms: config?.cloudinary?.transforms }) })
183
+ : null, (project.properties.note[0]) ? _jsx("div", { className: "p=note", children: project.properties.note[0] }) : null] }, "i" + iKey));
184
+ if (myProjects) {
185
+ myElems.push(myOrg);
186
+ myElems.push(_jsx("ul", { children: projects }, "q-" + iKey));
187
+ }
188
+ }
189
+ if (props.collapsible && props.collapsible == true) {
190
+ return (_jsx(_Fragment, { children: _jsxs("details", { children: [_jsx("summary", { children: _jsx("h2", { children: props.title }) }), _jsx("ul", { children: myElems })] }) }));
191
+ }
192
+ else {
193
+ return (_jsxs(_Fragment, { children: [_jsx("h2", { children: props.title }), myElems] }));
194
+ }
195
+ }
@@ -0,0 +1,25 @@
1
+
2
+ .fofBodyContainer {
3
+ width: 100%;
4
+ margin: 0 auto;
5
+ }
6
+
7
+ .fofBodyContainer h1 {
8
+ font-size: 2em;
9
+ }
10
+
11
+ .fofImageContainer {
12
+ width: 80%;
13
+ margin: 0 auto;
14
+ }
15
+
16
+ .fofImageContainer .fofImageWrapper {
17
+ width: 100%;
18
+ margin: 0 auto;
19
+ overflow: hidden;
20
+ text-align: center;
21
+ }
22
+
23
+ .fofImageContainer .fofImageWrapper img {
24
+ margin: 0 auto;
25
+ }
@@ -0,0 +1,32 @@
1
+ import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState, useEffect } from "react";
3
+ import PropTypes from 'prop-types';
4
+ // import { getCloudinaryRemoteFetchURL } from "../cms/cloudinary";
5
+ import "./404.css";
6
+ import { SmartImage } from "../cms/cloudinary.image";
7
+ import { usePixelatedConfig } from "../config/config.client";
8
+ FourOhFour.propTypes = {
9
+ images: PropTypes.array.isRequired,
10
+ };
11
+ export function FourOhFour(props) {
12
+ const images = props.images;
13
+ const [randomIndex, setRandomIndex] = useState(0);
14
+ // const [ cloudinaryURL, setCloudinaryURL ] = useState<string>('');
15
+ const [imageURL, setImageURL] = useState('');
16
+ useEffect(() => {
17
+ const randomIndex = Math.floor(Math.random() * images.length);
18
+ setRandomIndex(randomIndex);
19
+ // const cloudinaryURL = getCloudinaryRemoteFetchURL({ url: images[randomIndex].img, product_env:"dlbon7tpq" });
20
+ // setCloudinaryURL(cloudinaryURL);
21
+ setImageURL(images[randomIndex].img);
22
+ }, []);
23
+ const config = usePixelatedConfig();
24
+ if (randomIndex !== null && imageURL /* cloudinaryURL */ !== '') {
25
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "fofBodyContainer", children: [_jsxs("h1", { className: "centered textOutline", children: ["404 - ", images[randomIndex].text] }), _jsx("div", { className: "centeredbutton", children: _jsx("a", { href: "/", target: "_self", rel: "noopener noreferrer", children: "Go Home" }) })] }), _jsx("div", { className: "fofImageContainer", children: _jsx("div", { className: "fofImageWrapper", children: _jsx(SmartImage, { src: imageURL,
26
+ // src={cloudinaryURL}
27
+ title: "Page Not Found - " + images[randomIndex].description, alt: "Page Not Found - " + images[randomIndex].description, cloudinaryEnv: config?.cloudinary?.product_env ?? undefined, cloudinaryDomain: config?.cloudinary?.baseUrl ?? undefined, cloudinaryTransforms: config?.cloudinary?.transforms ?? undefined }) }) })] }));
28
+ }
29
+ else {
30
+ return (_jsx(_Fragment, {}));
31
+ }
32
+ }
@@ -0,0 +1,70 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ // import { useEffect } from "react";
4
+ import PropTypes from "prop-types";
5
+ function isGA() {
6
+ const hasGtag = typeof window.gtag === 'function';
7
+ const hasDataLayer = typeof window.dataLayer !== 'undefined' && Array.isArray(window.dataLayer);
8
+ const hasGAScript = !!(document.querySelector('script[src*="googletagmanager.com/gtag/js"]'));
9
+ const hasGAScriptID = !!(document.querySelector('script#ga'));
10
+ const hasGAInitScriptID = !!(document.querySelector('script#ga-init'));
11
+ return (hasGtag || hasDataLayer || hasGAScript || hasGAScriptID || hasGAInitScriptID);
12
+ }
13
+ GoogleAnalytics.propTypes = {
14
+ id: PropTypes.string.isRequired,
15
+ };
16
+ export function GoogleAnalytics(props) {
17
+ if (typeof window === 'undefined') {
18
+ return;
19
+ }
20
+ if (typeof document === 'undefined') {
21
+ return;
22
+ }
23
+ if (isGA()) {
24
+ return;
25
+ }
26
+ const gaSRC = "https://www.googletagmanager.com/gtag/js?id=" + props.id;
27
+ // useEffect(() => {
28
+ // INIT GA TAG TO PAGE
29
+ const gaInit = document.createElement("script");
30
+ gaInit.setAttribute("id", "ga-init");
31
+ gaInit.type = "text/javascript";
32
+ // could also be InnerHTML, but not innerText
33
+ gaInit.text = `
34
+ window.dataLayer = window.dataLayer || [];
35
+ window.gtag = function gtag(){ window.dataLayer.push(arguments); }
36
+ window.gtag('js', new Date());
37
+ window.gtag('config', '${props.id}');
38
+ `;
39
+ document.head.appendChild(gaInit);
40
+ // INSTALL GA SCRIPT
41
+ const ga = document.createElement("script");
42
+ ga.setAttribute("id", "ga");
43
+ ga.type = "text/javascript";
44
+ ga.async = true;
45
+ ga.src = gaSRC;
46
+ document.head.appendChild(ga);
47
+ // }, []);
48
+ return (_jsx("div", { className: "ga", suppressHydrationWarning: true }));
49
+ }
50
+ GoogleAnalyticsEvent.propTypes = {
51
+ event_name: PropTypes.string.isRequired,
52
+ event_parameters: PropTypes.object.isRequired,
53
+ };
54
+ export function GoogleAnalyticsEvent(props) {
55
+ if (typeof window === 'undefined') {
56
+ return;
57
+ }
58
+ if (typeof document === 'undefined') {
59
+ return;
60
+ }
61
+ // if(isGA()){
62
+ const ga_evt = document.createElement("script");
63
+ ga_evt.setAttribute("id", "ga-event");
64
+ ga_evt.type = "text/javascript";
65
+ ga_evt.async = true;
66
+ ga_evt.innerHTML = `gtag('event', '${props.event_name}', ${JSON.stringify(props.event_parameters)});`;
67
+ document.head.appendChild(ga_evt);
68
+ // }
69
+ return (null);
70
+ }
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import PropTypes from "prop-types";
3
+ // https://developers.google.com/maps/documentation/embed/embedding-map
4
+ GoogleMaps.propTypes = {
5
+ width: PropTypes.string,
6
+ height: PropTypes.string,
7
+ frameBorder: PropTypes.string,
8
+ style: PropTypes.object,
9
+ map_mode: PropTypes.string.isRequired,
10
+ api_key: PropTypes.string.isRequired,
11
+ parameters: PropTypes.string,
12
+ };
13
+ export function GoogleMaps(props) {
14
+ return (_jsx("div", { className: "gmap", suppressHydrationWarning: true, children: _jsx("iframe", { width: props.width || "600", height: props.height || "400", frameBorder: props.frameBorder || "0", style: props.style || { border: 0 }, referrerPolicy: "no-referrer-when-downgrade", src: `https://www.google.com/maps/embed/v1/${props.map_mode}?key=${props.api_key}&${props.parameters}`, allowFullScreen: true }) }));
15
+ }
@@ -0,0 +1,30 @@
1
+
2
+ /* ========================================
3
+ ============ GOOGLE SEARCH ============
4
+ ======================================== */
5
+
6
+ .gsib_a {
7
+ padding: 1px 8px !important;
8
+ }
9
+
10
+ .gsc-tabsArea {
11
+ border-color: #336699;
12
+ }
13
+
14
+ .gsc-tabHeader.gsc-tabhActive {
15
+ border-color: #336699;
16
+ }
17
+
18
+ input.gsc-search-button, input.gsc-search-button:hover, input.gsc-search-button:focus {
19
+ box-sizing: content-box;
20
+ }
21
+
22
+ input.gsc-input {
23
+ font-size: 1.0em !important;
24
+ }
25
+
26
+ .gsc-control-cse {
27
+ border-color: transparent !important;
28
+ background-color: transparent !important;
29
+ padding: .5em !important;
30
+ }
@@ -0,0 +1,37 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import PropTypes from "prop-types";
4
+ import "./googlesearch.css";
5
+ /*
6
+ ===== Google Programmable Search =====
7
+ pixelated id = "009500278966481927899:bcssp73qony";
8
+ pixelvivid id = "e336d1c9d0e5e48e5";
9
+
10
+ https://programmablesearchengine.google.com/controlpanel/all
11
+ https://dev.to/mjoycemilburn/searching-pdf-files-coding-a-goggle-custom-search-engine-gcse-component-in-react-36fk
12
+ https://stackoverflow.com/questions/15779036/auto-adding-gsc-tab-0-after-the-url
13
+
14
+ <script async src="https://cse.google.com/cse.js?cx=009500278966481927899:bcssp73qony" />
15
+ <div className="gcse-search">
16
+
17
+ ===== Hydration Error =====
18
+ https://www.reddit.com/r/nextjs/comments/1gabiqn/hydration_error_when_installing_nextjs_15/?rdt=34262
19
+ https://nextjs.org/docs/messages/react-hydration-error
20
+ */
21
+ GoogleSearch.propTypes = {
22
+ id: PropTypes.string.isRequired,
23
+ };
24
+ export function GoogleSearch(props) {
25
+ if (typeof document !== 'undefined') {
26
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
27
+ const gsearch = (function () {
28
+ const gcse = document.createElement("script");
29
+ gcse.type = "text/javascript";
30
+ gcse.async = true;
31
+ gcse.src = (document.location.protocol === "https:" ? "https:" : "http:") + "//cse.google.com/cse.js?cx=" + props.id;
32
+ const s = document.getElementsByTagName("script")[0];
33
+ s.parentNode?.insertBefore(gcse, s);
34
+ })();
35
+ }
36
+ return (_jsx("div", { className: "gcse-search", suppressHydrationWarning: true }));
37
+ }
@@ -0,0 +1,156 @@
1
+ export function descriptionToKeywords(descriptionText, numKeywords = 5, customStopWords = []) {
2
+ if (!descriptionText) {
3
+ return [];
4
+ }
5
+ // Define a default list of common English stop words
6
+ const defaultStopWords = new Set([
7
+ 'a', 'an', 'and', 'are', 'as', 'at', 'be', 'but', 'by', 'for', 'if', 'in', 'into',
8
+ 'is', 'it', 'no', 'not', 'of', 'on', 'or', 'such', 'that', 'the', 'their',
9
+ 'then', 'there', 'these', 'they', 'this', 'to', 'was', 'will', 'with'
10
+ ]);
11
+ const allStopWords = new Set([...defaultStopWords, ...customStopWords]);
12
+ // Pre-process the text: make lowercase and remove punctuation
13
+ const cleanedText = descriptionText.toLowerCase().replace(/[.,/#!$%^&*;:{}=\-_`~()]/g, '');
14
+ // Tokenize the text into individual words
15
+ const words = cleanedText.split(/\s+/);
16
+ // Count word frequencies, excluding stop words
17
+ const wordFrequency = words.reduce((counts, word) => {
18
+ if (word.length > 2 && !allStopWords.has(word)) {
19
+ counts[word] = (counts[word] || 0) + 1;
20
+ }
21
+ return counts;
22
+ }, {});
23
+ // Sort words by frequency and get the top N keywords
24
+ const sortedKeywords = Object.keys(wordFrequency).sort((a, b) => wordFrequency[b] - wordFrequency[a]);
25
+ // Return the top N keywords
26
+ return sortedKeywords.slice(0, numKeywords);
27
+ }
28
+ export function getRouteByKey(obj, key, value) {
29
+ if (typeof obj !== 'object' || obj === null) {
30
+ return null;
31
+ }
32
+ if (obj[key] && obj[key] === value) {
33
+ return obj;
34
+ }
35
+ for (const prop in obj) {
36
+ if (obj[prop] && typeof obj[prop] === 'object') {
37
+ const result = getRouteByKey(obj[prop], key, value);
38
+ if (result) {
39
+ return result;
40
+ }
41
+ }
42
+ }
43
+ return null;
44
+ }
45
+ export function getAllRoutes(routes, key) {
46
+ const result = [];
47
+ function traverse(obj) {
48
+ if (typeof obj !== 'object' || obj === null) {
49
+ return;
50
+ }
51
+ if (Array.isArray(obj)) {
52
+ obj.forEach(item => traverse(item));
53
+ }
54
+ else {
55
+ if (obj[key]) {
56
+ traverse(obj[key]);
57
+ }
58
+ else {
59
+ result.push(obj);
60
+ }
61
+ }
62
+ }
63
+ traverse(routes);
64
+ return result;
65
+ }
66
+ import fs from 'fs';
67
+ import path from 'path';
68
+ export function getAllImages() {
69
+ // const imagePaths: ImageInfo[] = [];
70
+ const imagePaths = [];
71
+ const imageExtensions = ['.jpg', '.jpeg', '.png', '.gif', '.bmp', '.svg', '.webp'];
72
+ const publicDir = './public';
73
+ function walk(currentDir) {
74
+ fs.readdirSync(currentDir).forEach(file => {
75
+ const filePath = path.join(currentDir, file);
76
+ const fileStat = fs.statSync(filePath);
77
+ if (fileStat.isDirectory()) {
78
+ walk(filePath); // Recursive call for subdirectories
79
+ }
80
+ else {
81
+ if (fs.statSync(filePath).isFile() && (imageExtensions.some(ext => file.endsWith(ext)))) {
82
+ // Found an image!
83
+ // const imageURL = `/${filePath.replace('./public/', '')}`; // Construct URL
84
+ // Add to your image data list (e.g., { url: imageURL, alt: "description" })
85
+ const relativePath = path.relative(publicDir, filePath).replace(/\\/g, '/');
86
+ const fullPath = `/${relativePath}`;
87
+ // imagePaths.push({loc: fullPath});
88
+ imagePaths.push(fullPath);
89
+ }
90
+ }
91
+ });
92
+ }
93
+ ;
94
+ walk(publicDir);
95
+ // return JSON.stringify(imagePaths);
96
+ return imagePaths;
97
+ }
98
+ export const getMetadata = (routes, key = "name", value = "Home") => {
99
+ // const allRoutes = getAllRoutes(routes, "routes");
100
+ // const foundObject = allRoutes.find((obj: { [x: string]: string; }) => obj && Object.prototype.hasOwnProperty.call(obj, key) && obj[key as keyof typeof obj] === value);
101
+ const foundObject = getRouteByKey(routes, key, value);
102
+ if (foundObject) {
103
+ const metadata = {
104
+ title: foundObject.title,
105
+ description: foundObject.description,
106
+ keywords: foundObject.keywords,
107
+ };
108
+ return metadata;
109
+ }
110
+ else {
111
+ const metadata = {
112
+ title: "",
113
+ description: "",
114
+ keywords: "",
115
+ };
116
+ return metadata;
117
+ }
118
+ };
119
+ export const setClientMetadata = ({ title, description, keywords }) => {
120
+ document.title = title;
121
+ (document.querySelector("meta[property='og:title']"))?.setAttribute('content', title);
122
+ (document.querySelector("meta[name='description']"))?.setAttribute('content', description);
123
+ (document.querySelector("meta[property='og:description']"))?.setAttribute('content', description);
124
+ (document.querySelector("meta[itemprop='description']"))?.setAttribute('content', description);
125
+ (document.querySelector("meta[name='keywords']"))?.setAttribute('content', keywords);
126
+ };
127
+ export const setServerMetadata = ({ key, value }) => {
128
+ const myMetaData = getMetadata({ key, value });
129
+ return {
130
+ title: myMetaData.title,
131
+ description: myMetaData.description,
132
+ keywords: myMetaData.keywords
133
+ };
134
+ };
135
+ export function getAccordionMenuData(myRoutes) {
136
+ const menuItems = myRoutes.map((thisRoute) => (thisRoute.routes
137
+ ? { [thisRoute.name]: thisRoute.routes.map((subRoute) => ({ [subRoute.name]: subRoute.path })) }
138
+ : { [thisRoute.name]: thisRoute.path })).reduce((obj, item) => {
139
+ if (typeof Object.values(item)[0] == "object") {
140
+ // Nested Object
141
+ const subitems = Object.values(item)[0];
142
+ const newSubitems = subitems.reduce((obj2, item2) => {
143
+ Object.assign(obj2, item2);
144
+ return obj2;
145
+ });
146
+ Object.assign(obj, { [Object.keys(item)[0]]: newSubitems });
147
+ return obj;
148
+ }
149
+ else {
150
+ // String
151
+ Object.assign(obj, item);
152
+ return obj;
153
+ }
154
+ });
155
+ return menuItems;
156
+ }