@pixelated-tech/components 3.1.6 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/dist/components/callout/callout.js +10 -9
  2. package/dist/components/callout/callout.scss +43 -43
  3. package/dist/components/carousel/carousel.css +24 -22
  4. package/dist/components/carousel/carousel.drag.js +1 -1
  5. package/dist/components/carousel/carousel.js +10 -10
  6. package/dist/components/{tiles → carousel}/tiles.css +10 -10
  7. package/dist/components/{tiles → carousel}/tiles.js +3 -3
  8. package/dist/components/cms/contentful.items.components.js +12 -12
  9. package/dist/components/cms/contentful.items.css +24 -24
  10. package/dist/components/cms/gravatar.components.js +87 -5
  11. package/dist/components/cms/instagram.components.js +1 -1
  12. package/dist/components/cms/wordpress.components.js +3 -3
  13. package/dist/components/cms/wordpress.css +3 -3
  14. package/dist/components/general/microinteractions.css +7 -7
  15. package/dist/components/general/modal.css +5 -5
  16. package/dist/components/general/modal.js +1 -1
  17. package/dist/components/general/semantic.js +282 -0
  18. package/dist/components/general/semantic.scss +359 -0
  19. package/dist/components/menu/menu-accordion.css +27 -21
  20. package/dist/components/menu/menu-accordion.js +1 -1
  21. package/dist/components/menu/menu-simple.css +8 -8
  22. package/dist/components/menu/menu-simple.js +3 -3
  23. package/dist/components/nerdjoke/nerdjoke.js +85 -77
  24. package/dist/components/pagebuilder/components/PageBuilderUI.js +1 -1
  25. package/dist/components/pagebuilder/components/PageEngine.js +21 -14
  26. package/dist/components/pagebuilder/lib/componentMap.js +5 -5
  27. package/dist/components/pagebuilder/lib/componentMetadata.js +1 -1
  28. package/dist/components/seo/404.css +5 -5
  29. package/dist/components/seo/404.js +2 -2
  30. package/dist/components/seo/googlemap.js +2 -1
  31. package/dist/components/seo/googlesearch.css +11 -0
  32. package/dist/components/shoppingcart/ebay.css +5 -5
  33. package/dist/components/shoppingcart/shoppingcart.css +1 -1
  34. package/dist/components/{resume → structured}/resume.css +4 -0
  35. package/dist/components/{resume → structured}/resume.js +3 -3
  36. package/dist/components/{timeline → structured}/timeline.css +14 -14
  37. package/dist/components/{timeline → structured}/timeline.js +3 -3
  38. package/dist/css/pixelated.global.css +25 -164
  39. package/dist/index.js +11 -12
  40. package/dist/types/components/callout/callout.d.ts.map +1 -1
  41. package/dist/types/components/carousel/carousel.d.ts.map +1 -1
  42. package/dist/types/components/{tiles → carousel}/tiles.d.ts +1 -1
  43. package/dist/types/components/carousel/tiles.d.ts.map +1 -0
  44. package/dist/types/components/cms/contentful.items.components.d.ts.map +1 -1
  45. package/dist/types/components/cms/gravatar.components.d.ts +53 -24
  46. package/dist/types/components/cms/gravatar.components.d.ts.map +1 -1
  47. package/dist/types/components/cms/pixelated.linkedin.d.ts.map +1 -0
  48. package/dist/types/components/cms/pixelated.linkedin1.d.ts.map +1 -0
  49. package/dist/types/components/cms/pixelated.linkedin2.d.ts.map +1 -0
  50. package/dist/types/components/cms/yelp.d.ts.map +1 -0
  51. package/dist/types/components/general/semantic.d.ts +153 -0
  52. package/dist/types/components/general/semantic.d.ts.map +1 -0
  53. package/dist/types/components/general/sidepanel.d.ts.map +1 -0
  54. package/dist/types/components/nerdjoke/nerdjoke.d.ts +15 -20
  55. package/dist/types/components/nerdjoke/nerdjoke.d.ts.map +1 -1
  56. package/dist/types/components/pagebuilder/components/PageEngine.d.ts.map +1 -1
  57. package/dist/types/components/pagebuilder/lib/componentMap.d.ts +6 -6
  58. package/dist/types/components/pagebuilder/lib/componentMap.d.ts.map +1 -1
  59. package/dist/types/components/seo/404.d.ts.map +1 -1
  60. package/dist/types/components/seo/googlemap.d.ts +1 -0
  61. package/dist/types/components/seo/googlemap.d.ts.map +1 -1
  62. package/dist/types/components/{buzzwordbingo → structured}/buzzwordbingo.d.ts +1 -1
  63. package/dist/types/components/structured/buzzwordbingo.d.ts.map +1 -0
  64. package/dist/types/components/structured/markdown.d.ts.map +1 -0
  65. package/dist/types/components/structured/recipe.d.ts.map +1 -0
  66. package/dist/types/components/{resume → structured}/resume.d.ts +1 -1
  67. package/dist/types/components/structured/resume.d.ts.map +1 -0
  68. package/dist/types/components/{socialcard → structured}/socialcard.d.ts +1 -1
  69. package/dist/types/components/{socialcard → structured}/socialcard.d.ts.map +1 -1
  70. package/dist/types/components/{timeline → structured}/timeline.d.ts +1 -1
  71. package/dist/types/components/structured/timeline.d.ts.map +1 -0
  72. package/dist/types/index.d.ts +9 -10
  73. package/dist/types/stories/callout/callout.many.stories.d.ts.map +1 -0
  74. package/dist/types/stories/{callout.stories.d.ts → callout/callout.stories.d.ts} +1 -1
  75. package/dist/types/stories/callout/callout.stories.d.ts.map +1 -0
  76. package/dist/types/stories/{carousel-hero.stories.d.ts → carousel/carousel-hero.stories.d.ts} +1 -1
  77. package/dist/types/stories/carousel/carousel-hero.stories.d.ts.map +1 -0
  78. package/dist/types/stories/{carousel-reviews.stories.d.ts → carousel/carousel-reviews.stories.d.ts} +1 -1
  79. package/dist/types/stories/carousel/carousel-reviews.stories.d.ts.map +1 -0
  80. package/dist/types/stories/{carousel-workportfolio.stories.d.ts → carousel/carousel-workportfolio.stories.d.ts} +1 -1
  81. package/dist/types/stories/carousel/carousel-workportfolio.stories.d.ts.map +1 -0
  82. package/dist/types/stories/{carousel.stories.d.ts → carousel/carousel.stories.d.ts} +1 -1
  83. package/dist/types/stories/carousel/carousel.stories.d.ts.map +1 -0
  84. package/dist/types/stories/{tiles.stories.d.ts → carousel/tiles.stories.d.ts} +1 -1
  85. package/dist/types/stories/carousel/tiles.stories.d.ts.map +1 -0
  86. package/dist/types/stories/{cms.contentful.item.stories.d.ts → cms/contentful.item.stories.d.ts} +2 -2
  87. package/dist/types/stories/cms/contentful.item.stories.d.ts.map +1 -0
  88. package/dist/types/stories/{cms.contentful.items.stories.d.ts → cms/contentful.items.stories.d.ts} +2 -2
  89. package/dist/types/stories/cms/contentful.items.stories.d.ts.map +1 -0
  90. package/dist/types/stories/{cms.contentful.stories.d.ts → cms/contentful.stories.d.ts} +2 -2
  91. package/dist/types/stories/cms/contentful.stories.d.ts.map +1 -0
  92. package/dist/types/stories/{cms.google.reviews.stories.d.ts → cms/google.reviews.stories.d.ts} +2 -2
  93. package/dist/types/stories/cms/google.reviews.stories.d.ts.map +1 -0
  94. package/dist/types/stories/{cms.gravatar.stories.d.ts → cms/gravatar.stories.d.ts} +2 -2
  95. package/dist/types/stories/cms/gravatar.stories.d.ts.map +1 -0
  96. package/dist/types/stories/{cms.instagram.stories.d.ts → cms/instagram.stories.d.ts} +2 -2
  97. package/dist/types/stories/cms/instagram.stories.d.ts.map +1 -0
  98. package/dist/types/stories/cms/wordpress.stories.d.ts +9 -0
  99. package/dist/types/stories/cms/wordpress.stories.d.ts.map +1 -0
  100. package/dist/types/stories/{general.headers.stories.d.ts → general/headers.stories.d.ts} +5 -5
  101. package/dist/types/stories/general/headers.stories.d.ts.map +1 -0
  102. package/dist/types/stories/{layout.stories.d.ts → general/layout.stories.d.ts} +1 -1
  103. package/dist/types/stories/general/layout.stories.d.ts.map +1 -0
  104. package/dist/types/stories/{general.loading.stories.d.ts → general/loading.stories.d.ts} +2 -2
  105. package/dist/types/stories/general/loading.stories.d.ts.map +1 -0
  106. package/dist/types/stories/{general.microinteractions.stories.d.ts → general/microinteractions.stories.d.ts} +2 -2
  107. package/dist/types/stories/general/microinteractions.stories.d.ts.map +1 -0
  108. package/dist/types/stories/{general.modal.stories.d.ts → general/modal.stories.d.ts} +2 -2
  109. package/dist/types/stories/general/modal.stories.d.ts.map +1 -0
  110. package/dist/types/stories/{sidepanel.stories.d.ts → general/sidepanel.stories.d.ts} +1 -1
  111. package/dist/types/stories/general/sidepanel.stories.d.ts.map +1 -0
  112. package/dist/types/stories/{general.table.stories.d.ts → general/table.stories.d.ts} +3 -3
  113. package/dist/types/stories/general/table.stories.d.ts.map +1 -0
  114. package/dist/types/stories/{menu-accordion.stories.d.ts → menu/menu-accordion.stories.d.ts} +1 -1
  115. package/dist/types/stories/menu/menu-accordion.stories.d.ts.map +1 -0
  116. package/dist/types/stories/{menu-simple.stories.d.ts → menu/menu-simple.stories.d.ts} +1 -1
  117. package/dist/types/stories/menu/menu-simple.stories.d.ts.map +1 -0
  118. package/dist/types/stories/nerdjoke.stories.d.ts +1 -1
  119. package/dist/types/stories/nerdjoke.stories.d.ts.map +1 -1
  120. package/dist/types/stories/{pagebuilder.form-builder.stories.d.ts → pagebuilder/form-builder.stories.d.ts} +2 -2
  121. package/dist/types/stories/pagebuilder/form-builder.stories.d.ts.map +1 -0
  122. package/dist/types/stories/{pagebuilder.form-engine.stories.d.ts → pagebuilder/form-engine.stories.d.ts} +3 -3
  123. package/dist/types/stories/pagebuilder/form-engine.stories.d.ts.map +1 -0
  124. package/dist/types/stories/{pagebuilder.form-extractor.stories.d.ts → pagebuilder/form-extractor.stories.d.ts} +2 -2
  125. package/dist/types/stories/pagebuilder/form-extractor.stories.d.ts.map +1 -0
  126. package/dist/types/stories/{pagebuilder.stories.d.ts → pagebuilder/pagebuilder.stories.d.ts} +1 -1
  127. package/dist/types/stories/pagebuilder/pagebuilder.stories.d.ts.map +1 -0
  128. package/dist/types/stories/{pagebuilder.usageguide.stories.d.ts → pagebuilder/pagebuilder.usageguide.stories.d.ts} +1 -1
  129. package/dist/types/stories/pagebuilder/pagebuilder.usageguide.stories.d.ts.map +1 -0
  130. package/dist/types/stories/{pageengine.stories.d.ts → pagebuilder/pageengine.stories.d.ts} +1 -1
  131. package/dist/types/stories/pagebuilder/pageengine.stories.d.ts.map +1 -0
  132. package/dist/types/stories/{seo.404.stories.d.ts → seo/seo.404.stories.d.ts} +1 -1
  133. package/dist/types/stories/seo/seo.404.stories.d.ts.map +1 -0
  134. package/dist/types/stories/{seo.googleanalytics.stories.d.ts → seo/seo.googleanalytics.stories.d.ts} +1 -1
  135. package/dist/types/stories/seo/seo.googleanalytics.stories.d.ts.map +1 -0
  136. package/dist/types/stories/{seo.googlesearch.stories.d.ts → seo/seo.googlesearch.stories.d.ts} +1 -1
  137. package/dist/types/stories/seo/seo.googlesearch.stories.d.ts.map +1 -0
  138. package/dist/types/stories/{seo.metadata.stories.d.ts → seo/seo.metadata.stories.d.ts} +2 -2
  139. package/dist/types/stories/seo/seo.metadata.stories.d.ts.map +1 -0
  140. package/dist/types/stories/{seo.sitemap.stories.d.ts → seo/seo.sitemap.stories.d.ts} +1 -1
  141. package/dist/types/stories/seo/seo.sitemap.stories.d.ts.map +1 -0
  142. package/dist/types/stories/{shoppingcart.ebay.item.stories.d.ts → shoppingcart/shoppingcart.ebay.item.stories.d.ts} +1 -1
  143. package/dist/types/stories/shoppingcart/shoppingcart.ebay.item.stories.d.ts.map +1 -0
  144. package/dist/types/stories/{shoppingcart.ebay.items.stories.d.ts → shoppingcart/shoppingcart.ebay.items.stories.d.ts} +1 -1
  145. package/dist/types/stories/shoppingcart/shoppingcart.ebay.items.stories.d.ts.map +1 -0
  146. package/dist/types/stories/shoppingcart/shoppingcart.stories.d.ts.map +1 -0
  147. package/dist/types/stories/{buzzword-bingo.stories.d.ts → structured/buzzword-bingo.stories.d.ts} +2 -2
  148. package/dist/types/stories/structured/buzzword-bingo.stories.d.ts.map +1 -0
  149. package/dist/types/stories/{markdown.stories.d.ts → structured/markdown.stories.d.ts} +1 -1
  150. package/dist/types/stories/structured/markdown.stories.d.ts.map +1 -0
  151. package/dist/types/stories/{recipe.stories.d.ts → structured/recipe.stories.d.ts} +2 -2
  152. package/dist/types/stories/structured/recipe.stories.d.ts.map +1 -0
  153. package/dist/types/stories/{resume.stories.d.ts → structured/resume.stories.d.ts} +1 -1
  154. package/dist/types/stories/{resume.stories.d.ts.map → structured/resume.stories.d.ts.map} +1 -1
  155. package/dist/types/stories/{socialcard.stories.d.ts → structured/socialcard.stories.d.ts} +1 -1
  156. package/dist/types/stories/structured/socialcard.stories.d.ts.map +1 -0
  157. package/dist/types/stories/{timeline.stories.d.ts → structured/timeline.stories.d.ts} +1 -1
  158. package/dist/types/stories/structured/timeline.stories.d.ts.map +1 -0
  159. package/package.json +9 -6
  160. package/dist/components/general/headers.css +0 -16
  161. package/dist/components/general/headers.js +0 -27
  162. package/dist/components/general/layout.js +0 -147
  163. package/dist/components/general/layout.scss +0 -47
  164. package/dist/types/components/buzzwordbingo/buzzwordbingo.d.ts.map +0 -1
  165. package/dist/types/components/general/headers.d.ts +0 -19
  166. package/dist/types/components/general/headers.d.ts.map +0 -1
  167. package/dist/types/components/general/layout.d.ts +0 -73
  168. package/dist/types/components/general/layout.d.ts.map +0 -1
  169. package/dist/types/components/linkedin/pixelated.linkedin.d.ts.map +0 -1
  170. package/dist/types/components/linkedin/pixelated.linkedin1.d.ts.map +0 -1
  171. package/dist/types/components/linkedin/pixelated.linkedin2.d.ts.map +0 -1
  172. package/dist/types/components/markdown/markdown.d.ts.map +0 -1
  173. package/dist/types/components/recipe/recipe.d.ts.map +0 -1
  174. package/dist/types/components/resume/resume.d.ts.map +0 -1
  175. package/dist/types/components/sidepanel/sidepanel.d.ts.map +0 -1
  176. package/dist/types/components/tiles/tiles.d.ts.map +0 -1
  177. package/dist/types/components/timeline/timeline.d.ts.map +0 -1
  178. package/dist/types/components/yelp/yelp.d.ts.map +0 -1
  179. package/dist/types/stories/buzzword-bingo.stories.d.ts.map +0 -1
  180. package/dist/types/stories/callout.many.stories.d.ts.map +0 -1
  181. package/dist/types/stories/callout.stories.d.ts.map +0 -1
  182. package/dist/types/stories/carousel-hero.stories.d.ts.map +0 -1
  183. package/dist/types/stories/carousel-reviews.stories.d.ts.map +0 -1
  184. package/dist/types/stories/carousel-workportfolio.stories.d.ts.map +0 -1
  185. package/dist/types/stories/carousel.stories.d.ts.map +0 -1
  186. package/dist/types/stories/cms.contentful.item.stories.d.ts.map +0 -1
  187. package/dist/types/stories/cms.contentful.items.stories.d.ts.map +0 -1
  188. package/dist/types/stories/cms.contentful.stories.d.ts.map +0 -1
  189. package/dist/types/stories/cms.google.reviews.stories.d.ts.map +0 -1
  190. package/dist/types/stories/cms.gravatar.stories.d.ts.map +0 -1
  191. package/dist/types/stories/cms.instagram.stories.d.ts.map +0 -1
  192. package/dist/types/stories/cms.wordpress.stories.d.ts +0 -26
  193. package/dist/types/stories/cms.wordpress.stories.d.ts.map +0 -1
  194. package/dist/types/stories/general.headers.stories.d.ts.map +0 -1
  195. package/dist/types/stories/general.loading.stories.d.ts.map +0 -1
  196. package/dist/types/stories/general.microinteractions.stories.d.ts.map +0 -1
  197. package/dist/types/stories/general.modal.stories.d.ts.map +0 -1
  198. package/dist/types/stories/general.table.stories.d.ts.map +0 -1
  199. package/dist/types/stories/layout.stories.d.ts.map +0 -1
  200. package/dist/types/stories/markdown.stories.d.ts.map +0 -1
  201. package/dist/types/stories/menu-accordion.stories.d.ts.map +0 -1
  202. package/dist/types/stories/menu-simple.stories.d.ts.map +0 -1
  203. package/dist/types/stories/pagebuilder.form-builder.stories.d.ts.map +0 -1
  204. package/dist/types/stories/pagebuilder.form-engine.stories.d.ts.map +0 -1
  205. package/dist/types/stories/pagebuilder.form-extractor.stories.d.ts.map +0 -1
  206. package/dist/types/stories/pagebuilder.stories.d.ts.map +0 -1
  207. package/dist/types/stories/pagebuilder.usageguide.stories.d.ts.map +0 -1
  208. package/dist/types/stories/pageengine.stories.d.ts.map +0 -1
  209. package/dist/types/stories/recipe.stories.d.ts.map +0 -1
  210. package/dist/types/stories/seo.404.stories.d.ts.map +0 -1
  211. package/dist/types/stories/seo.googleanalytics.stories.d.ts.map +0 -1
  212. package/dist/types/stories/seo.googlesearch.stories.d.ts.map +0 -1
  213. package/dist/types/stories/seo.metadata.stories.d.ts.map +0 -1
  214. package/dist/types/stories/seo.sitemap.stories.d.ts.map +0 -1
  215. package/dist/types/stories/shoppingcart.ebay.item.stories.d.ts.map +0 -1
  216. package/dist/types/stories/shoppingcart.ebay.items.stories.d.ts.map +0 -1
  217. package/dist/types/stories/shoppingcart.stories.d.ts.map +0 -1
  218. package/dist/types/stories/sidepanel.stories.d.ts.map +0 -1
  219. package/dist/types/stories/socialcard.stories.d.ts.map +0 -1
  220. package/dist/types/stories/tiles.stories.d.ts.map +0 -1
  221. package/dist/types/stories/timeline.stories.d.ts.map +0 -1
  222. package/dist/components/{linkedin → cms}/pixelated.linkedin.js +0 -0
  223. package/dist/components/{linkedin → cms}/pixelated.linkedin1.js +0 -0
  224. package/dist/components/{linkedin → cms}/pixelated.linkedin2.js +0 -0
  225. package/dist/components/{yelp → cms}/yelp.js +0 -0
  226. package/dist/components/{sidepanel → general}/sidepanel.css +0 -0
  227. package/dist/components/{sidepanel → general}/sidepanel.js +0 -0
  228. package/dist/components/{buzzwordbingo → structured}/buzzwordbingo.css +0 -0
  229. package/dist/components/{buzzwordbingo → structured}/buzzwordbingo.js +1 -1
  230. package/dist/components/{markdown → structured}/markdown.css +0 -0
  231. package/dist/components/{markdown → structured}/markdown.js +0 -0
  232. package/dist/components/{recipe → structured}/recipe.css +0 -0
  233. package/dist/components/{recipe → structured}/recipe.js +0 -0
  234. package/dist/components/{socialcard → structured}/socialcard.css +0 -0
  235. package/dist/components/{socialcard → structured}/socialcard.js +1 -1
  236. /package/dist/types/components/{linkedin → cms}/pixelated.linkedin.d.ts +0 -0
  237. /package/dist/types/components/{linkedin → cms}/pixelated.linkedin1.d.ts +0 -0
  238. /package/dist/types/components/{linkedin → cms}/pixelated.linkedin2.d.ts +0 -0
  239. /package/dist/types/components/{yelp → cms}/yelp.d.ts +0 -0
  240. /package/dist/types/components/{sidepanel → general}/sidepanel.d.ts +0 -0
  241. /package/dist/types/components/{markdown → structured}/markdown.d.ts +0 -0
  242. /package/dist/types/components/{recipe → structured}/recipe.d.ts +0 -0
  243. /package/dist/types/stories/{callout.many.stories.d.ts → callout/callout.many.stories.d.ts} +0 -0
  244. /package/dist/types/stories/{shoppingcart.stories.d.ts → shoppingcart/shoppingcart.stories.d.ts} +0 -0
@@ -179,5 +179,5 @@ export function MenuAccordionButton() {
179
179
  function slideMobilePanel() {
180
180
  window.moveMenu();
181
181
  }
182
- return (_jsx("div", { className: "panelMenuButton", id: "panelMenuButton", onClick: slideMobilePanel, children: _jsx("span", { className: "hamburger textOutline", children: "|||" }) }));
182
+ return (_jsx("button", { className: "panelMenuButton", id: "panelMenuButton", onClick: slideMobilePanel, children: _jsx("span", { className: "hamburger text-outline", children: "|||" }) }));
183
183
  }
@@ -10,11 +10,11 @@
10
10
  --accent2-color: #EEE;
11
11
  }
12
12
 
13
- .menuWrapper {
13
+ .menu-wrapper {
14
14
  height: 100%;
15
15
  }
16
16
 
17
- .menuWrapper, .menuWrapper * {
17
+ .menu-wrapper, .menu-wrapper * {
18
18
  display: flex;
19
19
  flex-direction: row;
20
20
  flex-basis: 100%;
@@ -39,7 +39,7 @@
39
39
  text-decoration: none;
40
40
  }
41
41
 
42
- .menuItem {
42
+ .menu-item {
43
43
  border: 1px solid white;
44
44
  background: none;
45
45
  width: auto;
@@ -50,15 +50,15 @@
50
50
  flex-basis: content; /* each item is its own size instead of auto */
51
51
  }
52
52
 
53
- .menuItem:hover {
53
+ .menu-item:hover {
54
54
  background-color: var(--accent1-color);
55
55
  }
56
56
 
57
- .menuItem:not(:first-child) {
57
+ .menu-item:not(:first-child) {
58
58
  border-left: 2px solid var(--primary-color);
59
59
  }
60
60
 
61
- .menuItem a {
61
+ .menu-item a {
62
62
  /* this is the button */
63
63
  background-color: var(--accent1-color);
64
64
  font-weight: bold;
@@ -67,10 +67,10 @@
67
67
  text-align: center;
68
68
  }
69
69
 
70
- .menuItem a.selected {
70
+ .menu-item a.selected {
71
71
  background-color: var(--secondary-color);
72
72
  }
73
73
 
74
- .menuItem a:hover {
74
+ .menu-item a:hover {
75
75
  background-color: var(--accent2-color);
76
76
  }
@@ -26,7 +26,7 @@ export function MenuSimple(props) {
26
26
  return myItems;
27
27
  }
28
28
  function styleSelectedMenuItem() {
29
- const menuitems = document.querySelectorAll('.menuItem a');
29
+ const menuitems = document.querySelectorAll('.menu-item a');
30
30
  const currentURL = window.location.href;
31
31
  menuitems.forEach((menuitem) => {
32
32
  if (menuitem.href === currentURL) {
@@ -37,7 +37,7 @@ export function MenuSimple(props) {
37
37
  useEffect(() => {
38
38
  styleSelectedMenuItem();
39
39
  }, []);
40
- return (_jsx("div", { className: "menuWrapper", children: _jsx("div", { className: "menu", id: "menu", children: _jsx("ul", { children: generateMenuItems() }) }) }));
40
+ return (_jsx("div", { className: "menu-wrapper", children: _jsx("div", { className: "menu", id: "menu", children: _jsx("ul", { children: generateMenuItems() }) }) }));
41
41
  }
42
42
  /* ========== MENU ITEM ========== */
43
43
  MenuSimpleItem.propTypes = {
@@ -50,7 +50,7 @@ MenuSimpleItem.propTypes = {
50
50
  export function MenuSimpleItem(props) {
51
51
  if (props.hidden)
52
52
  return null;
53
- return (_jsx("li", { className: 'menuItem', children: props.target
53
+ return (_jsx("li", { className: 'menu-item', children: props.target
54
54
  ? _jsx("a", { href: props.path || undefined, target: props.target, children: props.name })
55
55
  : _jsx("a", { href: props.path || undefined, children: props.name }) }));
56
56
  }
@@ -1,95 +1,103 @@
1
+ "use client";
1
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React, { Component } from 'react';
3
- import PropTypes from 'prop-types';
4
- import { getXHRData, generateURL } from '../utilities/api';
5
- import './nerdjoke.css';
6
- import '../../css/pixelated.grid.scss';
7
- /*
8
- TODO: #21 NerdJoke Component - Convert to TypeScript
9
- */
3
+ import { useCallback, useEffect, useRef, useState } from "react";
4
+ import PropTypes from "prop-types";
5
+ import { getXHRData, generateURL } from "../utilities/api";
6
+ import "../../css/pixelated.grid.scss";
7
+ import "./nerdjoke.css";
10
8
  const debug = false;
11
- export class NerdJoke extends Component {
12
- constructor(props) {
13
- super(props);
14
- this.TIME_LIMIT = 15;
15
- this.timePassed = 0;
16
- this.timePaused = false;
17
- this.timeLeft = this.TIME_LIMIT;
18
- this.timerInterval = null;
19
- this.jokeInterval = null;
20
- this.state = {
21
- joke: {
22
- question: '',
23
- answer: ''
24
- }
25
- };
26
- }
27
- loadJoke = () => {
9
+ const TIME_LIMIT = 15;
10
+ NerdJoke.propTypes = {};
11
+ export function NerdJoke( /* props: NerdJokeType */) {
12
+ const [joke, setJoke] = useState({ question: "", answer: "" });
13
+ const timerIntervalRef = useRef(null);
14
+ const jokeIntervalRef = useRef(null);
15
+ const timePassedRef = useRef(0);
16
+ const timePausedRef = useRef(false);
17
+ const timeLeftRef = useRef(TIME_LIMIT);
18
+ const formatTimeLeft = useCallback((time) => {
19
+ if (debug)
20
+ console.log("Formatting Time Left");
21
+ const minutes = Math.floor(time / 60);
22
+ const seconds = time % 60;
23
+ const formattedSeconds = seconds < 10 ? `0${seconds}` : `${seconds}`;
24
+ return `${minutes}:${formattedSeconds}`;
25
+ }, []);
26
+ const updateTimerDisplay = useCallback(() => {
27
+ if (debug)
28
+ console.log("Updating Timer Display");
29
+ const label = document.getElementById("jokeTimerLabel");
30
+ if (label) {
31
+ label.innerHTML = formatTimeLeft(timeLeftRef.current);
32
+ }
33
+ const elapsedPath = document.getElementById("jokeTimerPathElapsed");
34
+ if (elapsedPath) {
35
+ const myWidth = (((1 / TIME_LIMIT) * timeLeftRef.current) * 100) + "%";
36
+ elapsedPath.style.width = myWidth;
37
+ }
38
+ }, [formatTimeLeft]);
39
+ const loadJoke = useCallback(() => {
28
40
  if (debug)
29
41
  console.log("Loading Joke");
30
- this.timePassed = 0;
31
- this.timeLeft = this.TIME_LIMIT;
32
- this.timerInterval = null;
33
- clearInterval(this.jokeInterval);
34
- this.jokeInterval = setInterval(() => {
35
- if (!this.timePaused) {
36
- this.loadJoke();
42
+ timePassedRef.current = 0;
43
+ timeLeftRef.current = TIME_LIMIT;
44
+ timerIntervalRef.current = null;
45
+ if (jokeIntervalRef.current) {
46
+ clearInterval(jokeIntervalRef.current);
47
+ }
48
+ jokeIntervalRef.current = setInterval(() => {
49
+ if (!timePausedRef.current) {
50
+ loadJoke();
37
51
  }
38
- }, this.TIME_LIMIT * 1000);
39
- const myURL = 'https://vvqyc1xpw6.execute-api.us-east-2.amazonaws.com/prod/nerdjokes?';
40
- const myURLProps = { command: '%2Fnerdjokes', text: 'getjokejson' };
41
- const myMethod = 'GET';
52
+ }, TIME_LIMIT * 1000);
53
+ const myURL = "https://vvqyc1xpw6.execute-api.us-east-2.amazonaws.com/prod/nerdjokes?";
54
+ const myURLProps = { command: "%2Fnerdjokes", text: "getjokejson" };
55
+ const myMethod = "GET";
42
56
  getXHRData(generateURL(myURL, myURLProps), myMethod, (jokeData) => {
43
57
  const myJokeData = jokeData;
44
- this.setState({ joke: myJokeData });
58
+ setJoke(myJokeData);
45
59
  });
46
- };
47
- formatTimeLeft(time) {
48
- if (debug)
49
- console.log("Formatting Time Left");
50
- const minutes = Math.floor(time / 60);
51
- let seconds = time % 60;
52
- if (seconds < 10) {
53
- seconds = `0${seconds}`;
54
- }
55
- return `${minutes}:${seconds}`;
56
- }
57
- ;
58
- startTimer() {
60
+ }, []);
61
+ const startTimer = useCallback(() => {
59
62
  if (debug)
60
63
  console.log("Starting Timer");
61
- this.timerInterval = setInterval(() => {
62
- if (!this.timePaused) {
63
- this.timePassed = this.timePassed += 1;
64
- this.timeLeft = this.TIME_LIMIT - this.timePassed + 1;
65
- const myWidth = (((1 / this.TIME_LIMIT) * this.timeLeft) * 100) + '%';
66
- document.getElementById('jokeTimerLabel').innerHTML = this.formatTimeLeft(this.timeLeft);
67
- document.getElementById('jokeTimerPathElapsed').style.width = myWidth;
64
+ if (timerIntervalRef.current) {
65
+ clearInterval(timerIntervalRef.current);
66
+ }
67
+ timerIntervalRef.current = setInterval(() => {
68
+ if (!timePausedRef.current) {
69
+ timePassedRef.current += 1;
70
+ timeLeftRef.current = TIME_LIMIT - timePassedRef.current + 1;
71
+ updateTimerDisplay();
68
72
  }
69
73
  }, 1000);
70
- }
71
- ;
72
- pauseTimer() {
74
+ }, [updateTimerDisplay]);
75
+ const pauseTimer = () => {
73
76
  if (debug)
74
77
  console.log("Pausing Timer");
75
- this.timePaused = !this.timePaused;
76
- }
77
- ;
78
- componentDidMount() {
79
- if (debug)
80
- console.log("Component is Mounted");
81
- this.loadJoke();
82
- this.startTimer();
83
- }
84
- render() {
85
- return (_jsx("div", { className: "nerdJoke", children: _jsxs("div", { className: "row-12col", children: [_jsx("div", { className: "grid-s1-e5", children: _jsx("div", { className: "left", children: _jsx(JokeButton, { clickFunction: this.pauseTimer, buttonText: "Pause || / Play >" }) }) }), _jsx("div", { className: "grid-s9-e13", children: _jsx("div", { className: "right", children: _jsx(JokeButton, { clickFunction: this.loadJoke, buttonText: "Next Joke ->" }) }) }), _jsx("div", { className: "jokeTimer grid-s1-e13", children: _jsxs("div", { className: "row-12col", children: [_jsx("div", { className: "grid-s1-e11", children: _jsx("svg", { className: "jokeTimerSvg", xmlns: "http://www.w3.org/2000/svg", children: _jsx("rect", { id: "jokeTimerPathElapsed" }) }) }), _jsx("div", { className: "grid-s11-e13 center", id: "jokeTimerLabel", children: this.formatTimeLeft(this.timeLeft) })] }) }), _jsxs("div", { className: "jokeText grid-s1-e13", children: [_jsxs("div", { children: [_jsx("span", { className: "label", children: "Q: " }), _jsxs("span", { className: "question", children: [" ", this.state.joke.question, " "] })] }), _jsxs("div", { children: [_jsx("span", { className: "label", children: "A: " }), _jsxs("span", { className: "answer", children: [" ", this.state.joke.answer, " "] })] })] })] }) }));
86
- }
87
- }
88
- /* ========== JOKE BUTTON ========== */
89
- function JokeButton(props) {
90
- return (_jsx("div", { className: 'jokeButton', onClick: props.clickFunction, children: props.buttonText }));
78
+ timePausedRef.current = !timePausedRef.current;
79
+ };
80
+ useEffect(() => {
81
+ loadJoke();
82
+ startTimer();
83
+ return () => {
84
+ if (timerIntervalRef.current) {
85
+ clearInterval(timerIntervalRef.current);
86
+ }
87
+ if (jokeIntervalRef.current) {
88
+ clearInterval(jokeIntervalRef.current);
89
+ }
90
+ };
91
+ }, [loadJoke, startTimer]);
92
+ return (_jsx("div", { className: "nerdJoke", children: _jsxs("div", { className: "row-12col", children: [_jsx("div", { className: "grid-s1-e5", children: _jsx("div", { className: "left", children: _jsx(JokeButton, { clickFunction: pauseTimer, buttonText: "Pause || / Play >" }) }) }), _jsx("div", { className: "grid-s9-e13", children: _jsx("div", { className: "right", children: _jsx(JokeButton, { clickFunction: loadJoke, buttonText: "Next Joke ->" }) }) }), _jsx("div", { className: "jokeTimer grid-s1-e13", children: _jsxs("div", { className: "row-12col", children: [_jsx("div", { className: "grid-s1-e11", children: _jsx("svg", { className: "jokeTimerSvg", xmlns: "http://www.w3.org/2000/svg", children: _jsx("rect", { id: "jokeTimerPathElapsed" }) }) }), _jsx("div", { className: "grid-s11-e13 center", id: "jokeTimerLabel", children: formatTimeLeft(timeLeftRef.current) })] }) }), _jsxs("div", { className: "jokeText grid-s1-e13", children: [_jsxs("div", { children: [_jsx("span", { className: "label", children: "Q: " }), _jsxs("span", { className: "question", children: [" ", joke.question, " "] })] }), _jsxs("div", { children: [_jsx("span", { className: "label", children: "A: " }), _jsxs("span", { className: "answer", children: [" ", joke.answer, " "] })] })] })] }) }));
91
93
  }
92
94
  JokeButton.propTypes = {
93
95
  clickFunction: PropTypes.func.isRequired,
94
- buttonText: PropTypes.string.isRequired
96
+ buttonText: PropTypes.string.isRequired,
95
97
  };
98
+ function JokeButton(props) {
99
+ /* <div className="jokeButton" onClick={props.clickFunction}>
100
+ {props.buttonText}
101
+ </div> */
102
+ return (_jsx("button", { className: "jokeButton", onClick: props.clickFunction, children: props.buttonText }));
103
+ }
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import React from 'react';
4
- import { PageSectionHeader } from '../../general/headers';
4
+ import { PageSectionHeader } from '../../general/semantic';
5
5
  import { usePageBuilder } from '../lib/usePageBuilder';
6
6
  import { ComponentSelector } from '../components/ComponentSelector';
7
7
  import { ComponentPropertiesForm } from '../components/ComponentPropertiesForm';
@@ -53,22 +53,29 @@ export function PageEngine(props) {
53
53
  }
54
54
  // Edit mode: Wrap with hover effect and action buttons
55
55
  const isSelected = selectedPath === currentPath;
56
+ const handleMouseEnter = (currentTarget, event) => {
57
+ if (event.target === event.currentTarget || !currentTarget.querySelector('.pagebuilder-component-wrapper:hover')) {
58
+ document.querySelectorAll('.pagebuilder-component-wrapper.hover-active').forEach(el => {
59
+ el.classList.remove('hover-active');
60
+ });
61
+ currentTarget.classList.add('hover-active');
62
+ }
63
+ event.stopPropagation();
64
+ };
65
+ const handleMouseLeave = (currentTarget, event) => {
66
+ const relatedTarget = (event.relatedTarget || event.relatedTarget);
67
+ if (!relatedTarget || !currentTarget.contains(relatedTarget)) {
68
+ currentTarget.classList.remove('hover-active');
69
+ }
70
+ };
56
71
  return (_jsxs("div", { className: `pagebuilder-component-wrapper ${isSelected ? 'selected' : ''}`, onMouseOver: (e) => {
57
- if (e.target === e.currentTarget || !e.currentTarget.querySelector('.pagebuilder-component-wrapper:hover')) {
58
- // Remove hover-active from all wrappers
59
- document.querySelectorAll('.pagebuilder-component-wrapper.hover-active').forEach(el => {
60
- el.classList.remove('hover-active');
61
- });
62
- // Add to current
63
- e.currentTarget.classList.add('hover-active');
64
- }
65
- e.stopPropagation();
72
+ handleMouseEnter(e.currentTarget, e);
66
73
  }, onMouseOut: (e) => {
67
- const relatedTarget = e.relatedTarget;
68
- // Only remove if leaving to somewhere outside this wrapper entirely
69
- if (!e.currentTarget.contains(relatedTarget)) {
70
- e.currentTarget.classList.remove('hover-active');
71
- }
74
+ handleMouseLeave(e.currentTarget, e);
75
+ }, onFocus: (e) => {
76
+ handleMouseEnter(e.currentTarget, e);
77
+ }, onBlur: (e) => {
78
+ handleMouseLeave(e.currentTarget, e);
72
79
  }, children: [element, _jsxs("div", { className: "pagebuilder-actions", children: [_jsxs("div", { className: "move-buttons", children: [_jsx("button", { className: "move-btn move-up", onClick: (e) => {
73
80
  e.stopPropagation();
74
81
  onMoveUp?.(currentPath);
@@ -1,16 +1,16 @@
1
- import { PageHeader, PageSectionHeader } from "../../general/headers";
1
+ import { PageTitleHeader, PageSectionHeader } from "../../general/semantic";
2
2
  import { Callout } from "../../callout/callout";
3
- import { PageSection, GridItem, FlexItem } from "../../general/layout";
3
+ import { PageSection, PageGridItem, PageFlexItem } from "../../general/semantic";
4
4
  /**
5
5
  * Component registry and constants
6
6
  */
7
7
  export const componentMap = {
8
- "Page Header": PageHeader,
8
+ "Page Title Header": PageTitleHeader,
9
9
  "Page Section Header": PageSectionHeader,
10
10
  "Callout": Callout,
11
11
  "Page Section": PageSection,
12
- "Grid Item": GridItem,
13
- "Flex Item": FlexItem,
12
+ "Grid Item": PageGridItem,
13
+ "Flex Item": PageFlexItem,
14
14
  };
15
15
  export const layoutComponents = [
16
16
  'Page Section',
@@ -7,7 +7,7 @@
7
7
  * runtime values for form generation.
8
8
  */
9
9
  import { variants, shapes, layouts, directions } from "../../callout/callout";
10
- import { layoutTypes, autoFlowValues, flexDirections, flexWraps, justifyContentValues, alignItemsValues } from "../../general/layout";
10
+ import { layoutTypes, autoFlowValues, flexDirections, flexWraps, justifyContentValues, alignItemsValues } from "../../general/semantic";
11
11
  export const componentMetadata = {
12
12
  'Callout': {
13
13
  variant: {
@@ -1,25 +1,25 @@
1
1
 
2
- .fofBodyContainer {
2
+ .fof-body-container {
3
3
  width: 100%;
4
4
  margin: 0 auto;
5
5
  }
6
6
 
7
- .fofBodyContainer h1 {
7
+ .fof-body-container h1 {
8
8
  font-size: 2em;
9
9
  }
10
10
 
11
- .fofImageContainer {
11
+ .fof-image-container {
12
12
  width: 80%;
13
13
  margin: 0 auto;
14
14
  }
15
15
 
16
- .fofImageContainer .fofImageWrapper {
16
+ .fof-image-container .fof-image-wrapper {
17
17
  width: 100%;
18
18
  margin: 0 auto;
19
19
  overflow: hidden;
20
20
  text-align: center;
21
21
  }
22
22
 
23
- .fofImageContainer .fofImageWrapper img {
23
+ .fof-image-container .fof-image-wrapper img {
24
24
  margin: 0 auto;
25
25
  }
@@ -2,9 +2,9 @@ import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-run
2
2
  import { useState, useEffect } from "react";
3
3
  import PropTypes from 'prop-types';
4
4
  // import { getCloudinaryRemoteFetchURL } from "../cms/cloudinary";
5
- import "./404.css";
6
5
  import { SmartImage } from "../cms/cloudinary.image";
7
6
  import { usePixelatedConfig } from "../config/config.client";
7
+ import "./404.css";
8
8
  FourOhFour.propTypes = {
9
9
  images: PropTypes.array.isRequired,
10
10
  };
@@ -22,7 +22,7 @@ export function FourOhFour(props) {
22
22
  }, []);
23
23
  const config = usePixelatedConfig();
24
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,
25
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "fof-body-container", children: [_jsxs("h1", { className: "centered text-outline", children: ["404 - ", images[randomIndex].text] }), _jsx("div", { className: "centered-button", children: _jsx("a", { href: "/", target: "_self", rel: "noopener noreferrer", children: "Go Home" }) })] }), _jsx("div", { className: "fof-image-container", children: _jsx("div", { className: "fof-image-wrapper", children: _jsx(SmartImage, { src: imageURL,
26
26
  // src={cloudinaryURL}
27
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
28
  }
@@ -2,6 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import PropTypes from "prop-types";
3
3
  // https://developers.google.com/maps/documentation/embed/embedding-map
4
4
  GoogleMaps.propTypes = {
5
+ title: PropTypes.string,
5
6
  width: PropTypes.string,
6
7
  height: PropTypes.string,
7
8
  frameBorder: PropTypes.string,
@@ -11,5 +12,5 @@ GoogleMaps.propTypes = {
11
12
  parameters: PropTypes.string,
12
13
  };
13
14
  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
+ return (_jsx("div", { className: "gmap", suppressHydrationWarning: true, children: _jsx("iframe", { title: props.title || "Google Map", 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
16
  }
@@ -1,4 +1,14 @@
1
1
 
2
+ /* ========================================
3
+ =========== GENERAL SEARCH ============
4
+ ======================================== */
5
+
6
+ #page-search {
7
+ min-height: 50px;
8
+ }
9
+
10
+
11
+
2
12
  /* ========================================
3
13
  ============ GOOGLE SEARCH ============
4
14
  ======================================== */
@@ -21,6 +31,7 @@ input.gsc-search-button, input.gsc-search-button:hover, input.gsc-search-button:
21
31
 
22
32
  input.gsc-input {
23
33
  font-size: 1.0em !important;
34
+ background: none !important;
24
35
  }
25
36
 
26
37
  .gsc-control-cse {
@@ -66,18 +66,18 @@
66
66
 
67
67
  .ebayItemPhotoCarousel {
68
68
 
69
- .carouselContainer {
69
+ .carousel-container {
70
70
  background: none;
71
71
  border: none;
72
72
  height: 400px;
73
73
  }
74
74
 
75
- .carouselCardsContainer {
75
+ .carousel-cards-container {
76
76
  height: 100%;
77
77
  }
78
78
 
79
- .carouselButtons,
80
- .carouselButton {
79
+ .carousel-buttons,
80
+ .carousel-button {
81
81
  display: inline-block;
82
82
  }
83
83
 
@@ -87,7 +87,7 @@
87
87
  .ebayItemPhotoCarousel {
88
88
  height: 350px;
89
89
  }
90
- .ebayItemPhotoCarousel .carouselContainer {
90
+ .ebayItemPhotoCarousel .carousel-container {
91
91
  height: 300px;
92
92
  }
93
93
  }
@@ -6,7 +6,7 @@
6
6
  --do-nothing: true
7
7
  }
8
8
 
9
- .pixCart .calloutHeader {
9
+ .pixCart .callout-header {
10
10
  text-align: left
11
11
  }
12
12
 
@@ -3,6 +3,10 @@
3
3
  ========== RESUME ==============
4
4
  ======================================== */
5
5
 
6
+ [class*="grid"] {
7
+ padding: 10px;
8
+ }
9
+
6
10
  .p-resume {
7
11
  word-break: break-word;
8
12
  line-height: 1.4;
@@ -1,10 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import PropTypes from "prop-types";
3
3
  import { format } from "date-fns";
4
- import "./resume.css";
5
- import "../../css/pixelated.grid.scss";
6
4
  import { usePixelatedConfig } from "../config/config.client";
7
5
  import { SmartImage } from "../cms/cloudinary.image";
6
+ import "../../css/pixelated.grid.scss";
7
+ import "./resume.css";
8
8
  /*
9
9
  Resume Microformat - https://microformats.org/wiki/h-resume
10
10
  Details Summary Expand Collapse - https://www.w3schools.com/tags/tag_details.asp
@@ -33,7 +33,7 @@ Resume.propTypes = {
33
33
  data: PropTypes.any.isRequired,
34
34
  };
35
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 }) })] })] }) }) }));
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: "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: "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
37
  }
38
38
  ResumeName.propTypes = {
39
39
  data: PropTypes.any.isRequired,
@@ -25,7 +25,7 @@
25
25
  }
26
26
 
27
27
  /* Container around content */
28
- .timelineContainer {
28
+ .timeline-container {
29
29
  padding: 10px 40px;
30
30
  position: relative;
31
31
  background-color: inherit;
@@ -33,7 +33,7 @@
33
33
  }
34
34
 
35
35
  /* The circles on the timeline */
36
- .timelineContainer::after {
36
+ .timeline-container::after {
37
37
  content: '';
38
38
  position: absolute;
39
39
  width: 25px;
@@ -47,25 +47,25 @@
47
47
  }
48
48
 
49
49
  @media screen and (max-width: 768px) {
50
- .timelineContainer div[class*='grid-'] {
50
+ .timeline-container div[class*='grid-'] {
51
51
  grid-column: 1 / -1;
52
52
  }
53
53
  }
54
54
 
55
55
  /* Place the container to the left */
56
- .timelineleft {
56
+ .timeline-left {
57
57
  left: 0;
58
58
  padding-left: 10px;
59
59
  }
60
60
 
61
61
  /* Place the container to the right */
62
- .timelineright {
62
+ .timeline-right {
63
63
  left: 50%;
64
64
  padding-right: 10px;
65
65
  }
66
66
 
67
67
  /* Add arrows to the left container (pointing right) */
68
- .timelineleft::before {
68
+ .timeline-left::before {
69
69
  content: " ";
70
70
  height: 0;
71
71
  position: absolute;
@@ -79,7 +79,7 @@
79
79
  }
80
80
 
81
81
  /* Add arrows to the right container (pointing left) */
82
- .timelineright::before {
82
+ .timeline-right::before {
83
83
  content: " ";
84
84
  height: 0;
85
85
  position: absolute;
@@ -93,12 +93,12 @@
93
93
  }
94
94
 
95
95
  /* Fix the circle for containers on the right side */
96
- .timelineright::after {
96
+ .timeline-right::after {
97
97
  left: -16px;
98
98
  }
99
99
 
100
100
  /* The actual content */
101
- .timelineContent {
101
+ .timeline-content {
102
102
  padding: 10px;
103
103
  background-color: #EEE;
104
104
  position: relative;
@@ -113,14 +113,14 @@
113
113
  }
114
114
 
115
115
  /* Full-width containers */
116
- .timelineContainer {
116
+ .timeline-container {
117
117
  width: 100%;
118
118
  padding-left: 70px;
119
119
  padding-right: 25px;
120
120
  }
121
121
 
122
122
  /* Make sure that all arrows are pointing leftwards */
123
- .timelineContainer::before {
123
+ .timeline-container::before {
124
124
  left: 60px;
125
125
  border: medium solid white;
126
126
  border-width: 10px 10px 10px 0;
@@ -128,12 +128,12 @@
128
128
  }
129
129
 
130
130
  /* Make sure all circles are at the same spot */
131
- .timelineleft::after, .timelineright::after {
131
+ .timeline-left::after, .timeline-right::after {
132
132
  left: 15px;
133
133
  }
134
134
 
135
135
  /* Make all right containers behave like the left ones */
136
- .timelineright {
136
+ .timeline-right {
137
137
  left: 0%;
138
138
  }
139
- }
139
+ }