@agilant/toga-blox 1.0.9 → 1.0.11

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 (523) hide show
  1. package/dist/components/Badge/Badge.d.ts +4 -0
  2. package/dist/components/Badge/Badge.js +9 -0
  3. package/dist/components/Badge/Badge.stories.d.ts +7 -0
  4. package/dist/components/Badge/Badge.stories.js +196 -0
  5. package/dist/components/Badge/Badge.test.d.ts +1 -0
  6. package/dist/components/Badge/Badge.test.js +80 -0
  7. package/dist/components/Badge/Badge.types.d.ts +25 -0
  8. package/dist/components/Badge/Badge.types.js +1 -0
  9. package/dist/components/Badge/index.js +2 -0
  10. package/dist/components/Card/Card.d.ts +4 -0
  11. package/dist/components/Card/Card.js +11 -0
  12. package/dist/components/Card/Card.stories.d.ts +12 -0
  13. package/dist/components/Card/Card.stories.js +173 -0
  14. package/dist/components/Card/Card.test.d.ts +1 -0
  15. package/dist/components/Card/Card.test.js +35 -0
  16. package/dist/components/Card/Card.types.d.ts +10 -0
  17. package/dist/components/Card/Card.types.js +1 -0
  18. package/dist/components/Card/DUMMYPRODUCTDATA.json +826 -0
  19. package/dist/components/Card/index.d.ts +3 -0
  20. package/dist/components/Card/templates/CategoryCardTemplate.d.ts +27 -0
  21. package/dist/components/Card/templates/CategoryCardTemplate.js +7 -0
  22. package/dist/components/Card/templates/CompassCardTemplate.d.ts +23 -0
  23. package/dist/components/Card/templates/CompassCardTemplate.js +7 -0
  24. package/dist/components/Card/templates/CounterContentCardTemplate.d.ts +53 -0
  25. package/dist/components/Card/templates/CounterContentCardTemplate.js +46 -0
  26. package/dist/components/Card/templates/HorizontalCardTemplate.d.ts +65 -0
  27. package/dist/components/Card/templates/HorizontalCardTemplate.js +13 -0
  28. package/dist/components/Card/templates/ItemCardTemplate.d.ts +61 -0
  29. package/dist/components/Card/templates/ItemCardTemplate.js +9 -0
  30. package/dist/components/Card/templates/KitContentCardTemplate.d.ts +53 -0
  31. package/dist/components/Card/templates/KitContentCardTemplate.js +9 -0
  32. package/dist/components/Card/templates/ShippingAddressCardTemplate.d.ts +15 -0
  33. package/dist/components/Card/templates/ShippingAddressCardTemplate.js +9 -0
  34. package/dist/components/Card/templates/VerticalCardTemplate.d.ts +61 -0
  35. package/dist/components/Card/templates/VerticalCardTemplate.js +9 -0
  36. package/dist/components/CounterButton/CounterButton.d.ts +4 -0
  37. package/dist/components/CounterButton/CounterButton.js +7 -0
  38. package/dist/components/CounterButton/CounterButton.stories.d.ts +4 -0
  39. package/dist/components/CounterButton/CounterButton.stories.js +69 -0
  40. package/dist/components/CounterButton/CounterButton.types.d.ts +10 -0
  41. package/dist/components/CounterButton/CounterButton.types.js +1 -0
  42. package/dist/components/Description/Description.d.ts +4 -0
  43. package/dist/components/Description/Description.js +5 -0
  44. package/dist/components/Description/Description.stories.d.ts +5 -0
  45. package/dist/components/Description/Description.stories.js +54 -0
  46. package/dist/components/Description/Description.types.d.ts +8 -0
  47. package/dist/components/Description/Description.types.js +1 -0
  48. package/dist/components/DropDownIconButton/DropDownIconButton.d.ts +4 -0
  49. package/dist/components/DropDownIconButton/DropDownIconButton.js +24 -0
  50. package/dist/components/DropDownIconButton/DropDownIconButton.stories.d.ts +6 -0
  51. package/dist/components/DropDownIconButton/DropDownIconButton.stories.js +145 -0
  52. package/dist/components/DropDownIconButton/DropDownIconButton.test.d.ts +1 -0
  53. package/dist/components/DropDownIconButton/DropDownIconButton.test.js +40 -0
  54. package/dist/components/DropDownIconButton/DropDownIconButton.types.d.ts +20 -0
  55. package/dist/components/DropDownIconButton/DropDownIconButton.types.js +1 -0
  56. package/dist/components/DropDownIconButton/index.js +2 -0
  57. package/dist/components/Footer/ContactInfoItem.d.ts +7 -0
  58. package/dist/components/Footer/ContactInfoItem.js +4 -0
  59. package/dist/components/Footer/DUMMYFOOTERDATA.json +132 -0
  60. package/dist/components/Footer/Footer.d.ts +4 -0
  61. package/dist/components/Footer/Footer.js +12 -0
  62. package/dist/components/Footer/Footer.stories.d.ts +7 -0
  63. package/dist/components/Footer/Footer.stories.js +155 -0
  64. package/dist/components/Footer/Footer.test.d.ts +1 -0
  65. package/dist/components/Footer/Footer.test.js +48 -0
  66. package/dist/components/Footer/Footer.types.d.ts +42 -0
  67. package/dist/components/Footer/Footer.types.js +1 -0
  68. package/dist/components/FormButton/FormButton.d.ts +4 -0
  69. package/dist/components/FormButton/FormButton.js +49 -0
  70. package/dist/components/FormButton/FormButton.stories.d.ts +12 -0
  71. package/dist/components/FormButton/FormButton.stories.js +200 -0
  72. package/dist/components/FormButton/FormButton.test.d.ts +1 -0
  73. package/dist/components/FormButton/FormButton.test.js +27 -0
  74. package/dist/components/FormButton/FormButton.types.d.ts +24 -0
  75. package/dist/components/FormButton/FormButton.types.js +1 -0
  76. package/dist/components/FormButton/index.js +2 -0
  77. package/dist/components/GenericList/DUMMYLISTDATA.json +560 -0
  78. package/dist/components/GenericList/GenericList.d.ts +16 -0
  79. package/dist/components/GenericList/GenericList.js +50 -0
  80. package/dist/components/GenericList/GenericList.stories.d.ts +35 -0
  81. package/dist/components/GenericList/GenericList.stories.js +87 -0
  82. package/dist/components/GenericList/GenericList.test.d.ts +1 -0
  83. package/dist/components/GenericList/GenericList.test.js +24 -0
  84. package/dist/components/GenericList/templates/DummyDataList.d.ts +6 -0
  85. package/dist/components/GenericList/templates/DummyDataList.js +6 -0
  86. package/dist/components/GenericList/templates/DynamicIconList.d.ts +32 -0
  87. package/dist/components/GenericList/templates/DynamicIconList.js +7 -0
  88. package/dist/components/GetSupport/GetSupport.d.ts +4 -0
  89. package/dist/components/GetSupport/GetSupport.js +7 -0
  90. package/dist/components/GetSupport/GetSupport.stories.d.ts +5 -0
  91. package/dist/components/GetSupport/GetSupport.stories.js +70 -0
  92. package/dist/components/GetSupport/GetSupport.test.d.ts +1 -0
  93. package/dist/components/GetSupport/GetSupport.test.js +49 -0
  94. package/dist/components/GetSupport/GetSupport.types.d.ts +11 -0
  95. package/dist/components/GetSupport/GetSupport.types.js +1 -0
  96. package/dist/components/HamburgerButton/Hamburger.stories.d.ts +5 -0
  97. package/dist/components/HamburgerButton/Hamburger.stories.js +97 -0
  98. package/dist/components/HamburgerButton/HamburgerButton.d.ts +4 -0
  99. package/dist/components/HamburgerButton/HamburgerButton.js +15 -0
  100. package/dist/components/HamburgerButton/HamburgerButton.types.d.ts +7 -0
  101. package/dist/components/HamburgerButton/HamburgerButton.types.js +1 -0
  102. package/dist/components/HamburgerButton/index.js +2 -0
  103. package/dist/components/Header/DUMMYICONDATA.json +136 -0
  104. package/dist/components/Header/Header.d.ts +4 -0
  105. package/dist/components/Header/Header.js +62 -0
  106. package/dist/components/Header/Header.stories.d.ts +8 -0
  107. package/dist/components/Header/Header.stories.js +225 -0
  108. package/dist/components/Header/Header.test.d.ts +1 -0
  109. package/dist/components/Header/Header.test.js +107 -0
  110. package/dist/components/Header/Header.types.d.ts +40 -0
  111. package/dist/components/Header/Header.types.js +1 -0
  112. package/dist/components/Header/headerContext.d.ts +39 -0
  113. package/dist/components/Header/headerContext.js +44 -0
  114. package/dist/components/Header/index.js +2 -0
  115. package/dist/components/Hero/Hero.d.ts +4 -0
  116. package/dist/components/Hero/Hero.js +21 -0
  117. package/dist/components/Hero/Hero.stories.d.ts +13 -0
  118. package/dist/components/Hero/Hero.stories.js +46 -0
  119. package/dist/components/Hero/Hero.test.d.ts +1 -0
  120. package/dist/components/Hero/Hero.test.js +62 -0
  121. package/dist/components/Hero/Hero.types.d.ts +8 -0
  122. package/dist/components/Hero/Hero.types.js +1 -0
  123. package/dist/components/Hero/index.js +2 -0
  124. package/dist/components/IconButton/IconButton.d.ts +4 -0
  125. package/dist/components/IconButton/IconButton.js +18 -0
  126. package/dist/components/IconButton/IconButton.stories.d.ts +7 -0
  127. package/dist/components/IconButton/IconButton.stories.js +187 -0
  128. package/dist/components/IconButton/IconButton.test.d.ts +1 -0
  129. package/dist/components/IconButton/IconButton.test.js +28 -0
  130. package/dist/components/IconButton/IconButton.types.d.ts +27 -0
  131. package/dist/components/IconButton/IconButton.types.js +1 -0
  132. package/dist/components/IconButton/index.js +2 -0
  133. package/dist/components/Image/Image.d.ts +4 -0
  134. package/dist/components/Image/Image.js +19 -0
  135. package/dist/components/Image/Image.stories.d.ts +14 -0
  136. package/dist/components/Image/Image.stories.js +63 -0
  137. package/dist/components/Image/Image.test.d.ts +1 -0
  138. package/dist/components/Image/Image.test.js +47 -0
  139. package/dist/components/Image/Image.types.d.ts +12 -0
  140. package/dist/components/Image/Image.types.js +1 -0
  141. package/dist/components/Image/index.js +2 -0
  142. package/dist/components/Input/Input.d.ts +4 -0
  143. package/dist/components/Input/Input.js +51 -0
  144. package/dist/components/Input/Input.stories.d.ts +13 -0
  145. package/dist/components/Input/Input.stories.js +364 -0
  146. package/dist/components/Input/Input.test.d.ts +1 -0
  147. package/dist/components/Input/Input.test.js +45 -0
  148. package/dist/components/Input/Input.types.d.ts +36 -0
  149. package/dist/components/Input/Input.types.js +1 -0
  150. package/dist/components/Input/InputMemoTypes.d.ts +2 -0
  151. package/dist/components/Input/InputMemoTypes.js +28 -0
  152. package/dist/components/Input/index.js +2 -0
  153. package/dist/components/MobileMenu/MobileMenu.d.ts +3 -0
  154. package/dist/components/MobileMenu/MobileMenu.js +7 -0
  155. package/dist/components/MobileMenu/MobileMenu.types.d.ts +20 -0
  156. package/dist/components/MobileMenu/MobileMenu.types.js +1 -0
  157. package/dist/components/MobileMenu/index.js +2 -0
  158. package/dist/components/Nav/DUMMYNAVDATA.json +234 -0
  159. package/dist/components/Nav/Nav.d.ts +4 -0
  160. package/dist/components/Nav/Nav.js +31 -0
  161. package/dist/components/Nav/Nav.stories.d.ts +6 -0
  162. package/dist/components/Nav/Nav.stories.js +164 -0
  163. package/dist/components/Nav/Nav.test.d.ts +1 -0
  164. package/dist/components/Nav/Nav.test.js +52 -0
  165. package/dist/components/Nav/Nav.types.d.ts +38 -0
  166. package/dist/components/Nav/Nav.types.js +1 -0
  167. package/dist/components/Nav/index.js +2 -0
  168. package/dist/components/Page/TableDataDummy.d.ts +3 -0
  169. package/dist/components/Page/TableDataDummy.js +5 -0
  170. package/dist/components/Page/ViewPageTemplate.d.ts +3 -0
  171. package/dist/components/Page/ViewPageTemplate.js +5 -0
  172. package/dist/components/Page/ViewPageTemplate.stories.d.ts +8 -0
  173. package/dist/components/Page/ViewPageTemplate.stories.js +73 -0
  174. package/dist/components/Page/ViewPageTemplate.test.d.ts +1 -0
  175. package/dist/components/Page/ViewPageTemplate.test.js +71 -0
  176. package/{src/components/Page/ViewPageTemplate.types.ts → dist/components/Page/ViewPageTemplate.types.d.ts} +2 -3
  177. package/dist/components/Page/ViewPageTemplate.types.js +1 -0
  178. package/dist/components/Page/index.js +2 -0
  179. package/dist/components/PageSection/PageSection.d.ts +4 -0
  180. package/dist/components/PageSection/PageSection.js +5 -0
  181. package/dist/components/PageSection/PageSection.stories.d.ts +6 -0
  182. package/dist/components/PageSection/PageSection.stories.js +40 -0
  183. package/{src/components/PageSection/PageSection.types.ts → dist/components/PageSection/PageSection.types.d.ts} +2 -3
  184. package/dist/components/PageSection/PageSection.types.js +1 -0
  185. package/dist/components/PageSection/PageSections.test.d.ts +1 -0
  186. package/dist/components/PageSection/PageSections.test.js +31 -0
  187. package/dist/components/PageSection/index.js +2 -0
  188. package/dist/components/SearchInput/SearchInput.d.ts +4 -0
  189. package/dist/components/SearchInput/SearchInput.js +17 -0
  190. package/dist/components/SearchInput/SearchInput.stories.d.ts +9 -0
  191. package/dist/components/SearchInput/SearchInput.stories.js +128 -0
  192. package/dist/components/SearchInput/SearchInput.types.d.ts +25 -0
  193. package/dist/components/SearchInput/SearchInput.types.js +1 -0
  194. package/dist/components/Slider/Slider.d.ts +4 -0
  195. package/dist/components/Slider/Slider.js +56 -0
  196. package/dist/components/Slider/Slider.stories.d.ts +6 -0
  197. package/dist/components/Slider/Slider.stories.js +82 -0
  198. package/dist/components/Slider/Slider.types.d.ts +21 -0
  199. package/dist/components/Slider/Slider.types.js +1 -0
  200. package/dist/components/Submenus/AdminSubmenu.d.ts +4 -0
  201. package/dist/components/Submenus/AdminSubmenu.js +5 -0
  202. package/dist/components/Submenus/AlertSubmenu.d.ts +4 -0
  203. package/dist/components/Submenus/AlertSubmenu.js +7 -0
  204. package/dist/components/Submenus/AlertSubmenuItem.d.ts +4 -0
  205. package/dist/components/Submenus/AlertSubmenuItem.js +5 -0
  206. package/dist/components/Submenus/types.d.ts +29 -0
  207. package/dist/components/Submenus/types.js +1 -0
  208. package/dist/components/Text/Text.d.ts +4 -0
  209. package/dist/components/Text/Text.js +12 -0
  210. package/dist/components/Text/Text.stories.d.ts +5 -0
  211. package/dist/components/Text/Text.stories.js +79 -0
  212. package/dist/components/Text/Text.test.d.ts +1 -0
  213. package/dist/components/Text/Text.test.js +31 -0
  214. package/{src/components/Text/Text.types.ts → dist/components/Text/Text.types.d.ts} +6 -8
  215. package/dist/components/Text/Text.types.js +1 -0
  216. package/dist/components/Text/index.js +2 -0
  217. package/dist/components/Toaster/Toaster.d.ts +4 -0
  218. package/dist/components/Toaster/Toaster.js +22 -0
  219. package/dist/components/Toaster/Toaster.stories.d.ts +23 -0
  220. package/dist/components/Toaster/Toaster.stories.js +102 -0
  221. package/dist/components/Toaster/Toaster.test.d.ts +1 -0
  222. package/dist/components/Toaster/Toaster.test.js +47 -0
  223. package/dist/components/Toaster/Toaster.types.d.ts +15 -0
  224. package/dist/components/Toaster/Toaster.types.js +1 -0
  225. package/dist/components/Toaster/index.js +2 -0
  226. package/dist/hoc/index.d.ts +1 -0
  227. package/dist/hoc/styling/withStoryBook.d.ts +6 -0
  228. package/dist/hoc/styling/withStoryBook.js +7 -0
  229. package/dist/main.css +1 -0
  230. package/dist/setupTests.js +1 -0
  231. package/dist/userHoc/index.js +1 -0
  232. package/dist/userHoc/withMemo.d.ts +5 -0
  233. package/dist/userHoc/withMemo.js +6 -0
  234. package/dist/utils/assertTagName.d.ts +3 -0
  235. package/dist/utils/assertTagName.js +6 -0
  236. package/dist/utils/generateAccordionItem.d.ts +15 -0
  237. package/dist/utils/generateAccordionItem.js +22 -0
  238. package/dist/utils/generateFooterContacts.d.ts +14 -0
  239. package/dist/utils/generateFooterContacts.js +19 -0
  240. package/dist/utils/generateNavMenu.d.ts +14 -0
  241. package/dist/utils/generateNavMenu.js +5 -0
  242. package/dist/utils/generateSocialList.d.ts +12 -0
  243. package/dist/utils/generateSocialList.js +4 -0
  244. package/dist/utils/getFontAwesomeIcon.d.ts +2 -0
  245. package/dist/utils/getFontAwesomeIcon.js +19 -0
  246. package/dist/utils/inputValidation.d.ts +6 -0
  247. package/dist/utils/inputValidation.js +12 -0
  248. package/package.json +9 -4
  249. package/.gitattributes +0 -5
  250. package/Dockerfile +0 -9
  251. package/assets/Logo.png +0 -0
  252. package/assets/cable.jpg +0 -0
  253. package/assets/card-1.jpg +0 -0
  254. package/assets/cat-logo.png +0 -0
  255. package/assets/compass-card-image-2.png +0 -0
  256. package/assets/compass-card-image-3.png +0 -0
  257. package/assets/compass-card-image-4.png +0 -0
  258. package/assets/compass-card-image.png +0 -0
  259. package/assets/compass-logo.png +0 -0
  260. package/assets/compass-tech-hero-bg.png +0 -0
  261. package/assets/contact-image.png +0 -0
  262. package/assets/green-laptop.png +0 -0
  263. package/assets/heroImage.png +0 -0
  264. package/assets/item.jpg +0 -0
  265. package/assets/map.png +0 -0
  266. package/assets/placeholder-no-image-available.png +0 -0
  267. package/assets/team.png +0 -0
  268. package/coverage/base.css +0 -224
  269. package/coverage/block-navigation.js +0 -87
  270. package/coverage/clover.xml +0 -953
  271. package/coverage/coverage-final.json +0 -74
  272. package/coverage/favicon.png +0 -0
  273. package/coverage/index.html +0 -551
  274. package/coverage/prettify.css +0 -1
  275. package/coverage/prettify.js +0 -2
  276. package/coverage/sort-arrow-sprite.png +0 -0
  277. package/coverage/sorter.js +0 -196
  278. package/coverage/toga-blox-npm/index.html +0 -131
  279. package/coverage/toga-blox-npm/postcss.config.js.html +0 -103
  280. package/coverage/toga-blox-npm/src/components/Badge/Badge.stories.tsx.html +0 -793
  281. package/coverage/toga-blox-npm/src/components/Badge/Badge.tsx.html +0 -247
  282. package/coverage/toga-blox-npm/src/components/Badge/index.html +0 -131
  283. package/coverage/toga-blox-npm/src/components/Card/Card.stories.tsx.html +0 -787
  284. package/coverage/toga-blox-npm/src/components/Card/Card.tsx.html +0 -163
  285. package/coverage/toga-blox-npm/src/components/Card/index.html +0 -131
  286. package/coverage/toga-blox-npm/src/components/Card/templates/CategoryCardTemplate.tsx.html +0 -343
  287. package/coverage/toga-blox-npm/src/components/Card/templates/CompassCardTemplate.tsx.html +0 -259
  288. package/coverage/toga-blox-npm/src/components/Card/templates/CounterContentCardTemplate.tsx.html +0 -685
  289. package/coverage/toga-blox-npm/src/components/Card/templates/HorizontalCardTemplate.tsx.html +0 -637
  290. package/coverage/toga-blox-npm/src/components/Card/templates/ItemCardTemplate.tsx.html +0 -550
  291. package/coverage/toga-blox-npm/src/components/Card/templates/KitContentCardTemplate.tsx.html +0 -469
  292. package/coverage/toga-blox-npm/src/components/Card/templates/ShippingAddressCardTemplate.tsx.html +0 -418
  293. package/coverage/toga-blox-npm/src/components/Card/templates/VerticalCardTemplate.tsx.html +0 -592
  294. package/coverage/toga-blox-npm/src/components/Card/templates/index.html +0 -221
  295. package/coverage/toga-blox-npm/src/components/CounterButton/CounterButton.stories.tsx.html +0 -358
  296. package/coverage/toga-blox-npm/src/components/CounterButton/CounterButton.tsx.html +0 -385
  297. package/coverage/toga-blox-npm/src/components/CounterButton/index.html +0 -131
  298. package/coverage/toga-blox-npm/src/components/Description/Description.stories.tsx.html +0 -286
  299. package/coverage/toga-blox-npm/src/components/Description/Description.tsx.html +0 -124
  300. package/coverage/toga-blox-npm/src/components/Description/index.html +0 -131
  301. package/coverage/toga-blox-npm/src/components/DropDownIconButton/DropDownIconButton.stories.tsx.html +0 -676
  302. package/coverage/toga-blox-npm/src/components/DropDownIconButton/DropDownIconButton.tsx.html +0 -346
  303. package/coverage/toga-blox-npm/src/components/DropDownIconButton/index.html +0 -131
  304. package/coverage/toga-blox-npm/src/components/Footer/ContactInfoItem.tsx.html +0 -139
  305. package/coverage/toga-blox-npm/src/components/Footer/Footer.stories.tsx.html +0 -934
  306. package/coverage/toga-blox-npm/src/components/Footer/Footer.tsx.html +0 -373
  307. package/coverage/toga-blox-npm/src/components/Footer/index.html +0 -146
  308. package/coverage/toga-blox-npm/src/components/FormButton/FormButton.stories.tsx.html +0 -952
  309. package/coverage/toga-blox-npm/src/components/FormButton/FormButton.tsx.html +0 -343
  310. package/coverage/toga-blox-npm/src/components/FormButton/index.html +0 -131
  311. package/coverage/toga-blox-npm/src/components/GenericList/GenericList.stories.tsx.html +0 -376
  312. package/coverage/toga-blox-npm/src/components/GenericList/GenericList.tsx.html +0 -520
  313. package/coverage/toga-blox-npm/src/components/GenericList/index.html +0 -131
  314. package/coverage/toga-blox-npm/src/components/GenericList/templates/DummyDataList.tsx.html +0 -154
  315. package/coverage/toga-blox-npm/src/components/GenericList/templates/DynamicIconList.tsx.html +0 -250
  316. package/coverage/toga-blox-npm/src/components/GenericList/templates/index.html +0 -131
  317. package/coverage/toga-blox-npm/src/components/GetSupport/GetSupport.stories.tsx.html +0 -325
  318. package/coverage/toga-blox-npm/src/components/GetSupport/GetSupport.tsx.html +0 -262
  319. package/coverage/toga-blox-npm/src/components/GetSupport/index.html +0 -131
  320. package/coverage/toga-blox-npm/src/components/HamburgerButton/Hamburger.stories.tsx.html +0 -760
  321. package/coverage/toga-blox-npm/src/components/HamburgerButton/HamburgerButton.tsx.html +0 -232
  322. package/coverage/toga-blox-npm/src/components/HamburgerButton/index.html +0 -131
  323. package/coverage/toga-blox-npm/src/components/Header/Header.stories.tsx.html +0 -1633
  324. package/coverage/toga-blox-npm/src/components/Header/Header.tsx.html +0 -814
  325. package/coverage/toga-blox-npm/src/components/Header/headerContext.tsx.html +0 -460
  326. package/coverage/toga-blox-npm/src/components/Header/index.html +0 -146
  327. package/coverage/toga-blox-npm/src/components/Hero/Hero.stories.tsx.html +0 -289
  328. package/coverage/toga-blox-npm/src/components/Hero/Hero.tsx.html +0 -259
  329. package/coverage/toga-blox-npm/src/components/Hero/index.html +0 -131
  330. package/coverage/toga-blox-npm/src/components/IconButton/IconButton.stories.tsx.html +0 -673
  331. package/coverage/toga-blox-npm/src/components/IconButton/IconButton.tsx.html +0 -313
  332. package/coverage/toga-blox-npm/src/components/IconButton/index.html +0 -131
  333. package/coverage/toga-blox-npm/src/components/Image/Image.stories.tsx.html +0 -322
  334. package/coverage/toga-blox-npm/src/components/Image/Image.tsx.html +0 -226
  335. package/coverage/toga-blox-npm/src/components/Image/index.html +0 -131
  336. package/coverage/toga-blox-npm/src/components/Input/Input.stories.tsx.html +0 -1621
  337. package/coverage/toga-blox-npm/src/components/Input/Input.tsx.html +0 -568
  338. package/coverage/toga-blox-npm/src/components/Input/InputMemoTypes.tsx.html +0 -181
  339. package/coverage/toga-blox-npm/src/components/Input/index.html +0 -146
  340. package/coverage/toga-blox-npm/src/components/MobileMenu/MobileMenu.tsx.html +0 -208
  341. package/coverage/toga-blox-npm/src/components/MobileMenu/index.html +0 -116
  342. package/coverage/toga-blox-npm/src/components/Nav/Nav.stories.tsx.html +0 -628
  343. package/coverage/toga-blox-npm/src/components/Nav/Nav.tsx.html +0 -622
  344. package/coverage/toga-blox-npm/src/components/Nav/index.html +0 -131
  345. package/coverage/toga-blox-npm/src/components/Page/TableDataDummy.tsx.html +0 -733
  346. package/coverage/toga-blox-npm/src/components/Page/ViewPageTemplate.stories.tsx.html +0 -1714
  347. package/coverage/toga-blox-npm/src/components/Page/ViewPageTemplate.tsx.html +0 -115
  348. package/coverage/toga-blox-npm/src/components/Page/index.html +0 -146
  349. package/coverage/toga-blox-npm/src/components/PageSection/PageSection.stories.tsx.html +0 -433
  350. package/coverage/toga-blox-npm/src/components/PageSection/PageSection.tsx.html +0 -121
  351. package/coverage/toga-blox-npm/src/components/PageSection/index.html +0 -131
  352. package/coverage/toga-blox-npm/src/components/SearchInput/SearchInput.stories.tsx.html +0 -517
  353. package/coverage/toga-blox-npm/src/components/SearchInput/SearchInput.tsx.html +0 -325
  354. package/coverage/toga-blox-npm/src/components/SearchInput/index.html +0 -131
  355. package/coverage/toga-blox-npm/src/components/Slider/Slider.stories.tsx.html +0 -349
  356. package/coverage/toga-blox-npm/src/components/Slider/Slider.tsx.html +0 -502
  357. package/coverage/toga-blox-npm/src/components/Slider/index.html +0 -131
  358. package/coverage/toga-blox-npm/src/components/Submenus/AdminSubmenu.tsx.html +0 -136
  359. package/coverage/toga-blox-npm/src/components/Submenus/AlertSubmenu.tsx.html +0 -253
  360. package/coverage/toga-blox-npm/src/components/Submenus/AlertSubmenuItem.tsx.html +0 -202
  361. package/coverage/toga-blox-npm/src/components/Submenus/index.html +0 -146
  362. package/coverage/toga-blox-npm/src/components/Text/Text.stories.tsx.html +0 -235
  363. package/coverage/toga-blox-npm/src/components/Text/Text.tsx.html +0 -172
  364. package/coverage/toga-blox-npm/src/components/Text/index.html +0 -131
  365. package/coverage/toga-blox-npm/src/components/Toaster/Toaster.stories.tsx.html +0 -445
  366. package/coverage/toga-blox-npm/src/components/Toaster/Toaster.tsx.html +0 -301
  367. package/coverage/toga-blox-npm/src/components/Toaster/index.html +0 -131
  368. package/coverage/toga-blox-npm/src/hoc/styling/index.html +0 -116
  369. package/coverage/toga-blox-npm/src/hoc/styling/withStoryBook.tsx.html +0 -142
  370. package/coverage/toga-blox-npm/src/userHoc/index.html +0 -116
  371. package/coverage/toga-blox-npm/src/userHoc/withMemo.tsx.html +0 -145
  372. package/coverage/toga-blox-npm/src/utils/assertTagName.tsx.html +0 -106
  373. package/coverage/toga-blox-npm/src/utils/generateAccordionItem.tsx.html +0 -373
  374. package/coverage/toga-blox-npm/src/utils/generateFooterContacts.tsx.html +0 -295
  375. package/coverage/toga-blox-npm/src/utils/generateNavMenu.tsx.html +0 -247
  376. package/coverage/toga-blox-npm/src/utils/generateSocialList.tsx.html +0 -187
  377. package/coverage/toga-blox-npm/src/utils/getFontAwesomeIcon.tsx.html +0 -145
  378. package/coverage/toga-blox-npm/src/utils/index.html +0 -206
  379. package/coverage/toga-blox-npm/src/utils/inputValidation.tsx.html +0 -163
  380. package/coverage/toga-blox-npm/tailwind.config.js.html +0 -205
  381. package/declarations.d.ts +0 -4
  382. package/docker-compose.yml +0 -22
  383. package/global.css +0 -4
  384. package/index.js +0 -4
  385. package/nodemon.json +0 -5
  386. package/postcss.config.js +0 -6
  387. package/src/components/Badge/Badge.stories.tsx +0 -236
  388. package/src/components/Badge/Badge.test.tsx +0 -175
  389. package/src/components/Badge/Badge.tsx +0 -54
  390. package/src/components/Badge/Badge.types.tsx +0 -26
  391. package/src/components/Card/Card.stories.tsx +0 -235
  392. package/src/components/Card/Card.test.tsx +0 -53
  393. package/src/components/Card/Card.tsx +0 -26
  394. package/src/components/Card/Card.types.ts +0 -11
  395. package/src/components/Card/DUMMYPRODUCTDATA.json +0 -826
  396. package/src/components/Card/templates/CategoryCardTemplate.tsx +0 -86
  397. package/src/components/Card/templates/CompassCardTemplate.tsx +0 -58
  398. package/src/components/Card/templates/CounterContentCardTemplate.tsx +0 -200
  399. package/src/components/Card/templates/HorizontalCardTemplate.tsx +0 -184
  400. package/src/components/Card/templates/ItemCardTemplate.tsx +0 -155
  401. package/src/components/Card/templates/KitContentCardTemplate.tsx +0 -128
  402. package/src/components/Card/templates/ShippingAddressCardTemplate.tsx +0 -111
  403. package/src/components/Card/templates/VerticalCardTemplate.tsx +0 -169
  404. package/src/components/CounterButton/CounterButton.stories.tsx +0 -91
  405. package/src/components/CounterButton/CounterButton.tsx +0 -100
  406. package/src/components/CounterButton/CounterButton.types.ts +0 -12
  407. package/src/components/Description/Description.stories.tsx +0 -67
  408. package/src/components/Description/Description.tsx +0 -13
  409. package/src/components/Description/Description.types.ts +0 -9
  410. package/src/components/DropDownIconButton/DropDownIconButton.stories.tsx +0 -197
  411. package/src/components/DropDownIconButton/DropDownIconButton.test.tsx +0 -90
  412. package/src/components/DropDownIconButton/DropDownIconButton.tsx +0 -87
  413. package/src/components/DropDownIconButton/DropDownIconButton.types.ts +0 -21
  414. package/src/components/Footer/ContactInfoItem.tsx +0 -18
  415. package/src/components/Footer/DUMMYFOOTERDATA.json +0 -132
  416. package/src/components/Footer/Footer.stories.tsx +0 -283
  417. package/src/components/Footer/Footer.test.tsx +0 -90
  418. package/src/components/Footer/Footer.tsx +0 -96
  419. package/src/components/Footer/Footer.types.tsx +0 -61
  420. package/src/components/FormButton/FormButton.stories.tsx +0 -289
  421. package/src/components/FormButton/FormButton.test.tsx +0 -73
  422. package/src/components/FormButton/FormButton.tsx +0 -86
  423. package/src/components/FormButton/FormButton.types.ts +0 -27
  424. package/src/components/GenericList/DUMMYLISTDATA.json +0 -560
  425. package/src/components/GenericList/GenericList.stories.tsx +0 -97
  426. package/src/components/GenericList/GenericList.test.tsx +0 -29
  427. package/src/components/GenericList/GenericList.tsx +0 -145
  428. package/src/components/GenericList/templates/DummyDataList.tsx +0 -23
  429. package/src/components/GenericList/templates/DynamicIconList.tsx +0 -55
  430. package/src/components/GetSupport/GetSupport.stories.tsx +0 -80
  431. package/src/components/GetSupport/GetSupport.test.tsx +0 -62
  432. package/src/components/GetSupport/GetSupport.tsx +0 -59
  433. package/src/components/GetSupport/GetSupport.types.ts +0 -11
  434. package/src/components/HamburgerButton/Hamburger.stories.tsx +0 -225
  435. package/src/components/HamburgerButton/HamburgerButton.tsx +0 -49
  436. package/src/components/HamburgerButton/HamburgerButton.types.tsx +0 -7
  437. package/src/components/Header/DUMMYICONDATA.json +0 -136
  438. package/src/components/Header/Header.stories.tsx +0 -516
  439. package/src/components/Header/Header.test.tsx +0 -322
  440. package/src/components/Header/Header.tsx +0 -243
  441. package/src/components/Header/Header.types.ts +0 -52
  442. package/src/components/Header/headerContext.tsx +0 -125
  443. package/src/components/Hero/Hero.stories.tsx +0 -68
  444. package/src/components/Hero/Hero.test.tsx +0 -109
  445. package/src/components/Hero/Hero.tsx +0 -58
  446. package/src/components/Hero/Hero.types.ts +0 -9
  447. package/src/components/IconButton/IconButton.stories.tsx +0 -196
  448. package/src/components/IconButton/IconButton.test.tsx +0 -52
  449. package/src/components/IconButton/IconButton.tsx +0 -76
  450. package/src/components/IconButton/IconButton.types.ts +0 -28
  451. package/src/components/Image/Image.stories.tsx +0 -79
  452. package/src/components/Image/Image.test.tsx +0 -87
  453. package/src/components/Image/Image.tsx +0 -47
  454. package/src/components/Image/Image.types.ts +0 -11
  455. package/src/components/Image/declarations.d.ts +0 -24
  456. package/src/components/Input/Input.stories.tsx +0 -512
  457. package/src/components/Input/Input.test.tsx +0 -89
  458. package/src/components/Input/Input.tsx +0 -161
  459. package/src/components/Input/Input.types.ts +0 -52
  460. package/src/components/Input/InputMemoTypes.tsx +0 -32
  461. package/src/components/MobileMenu/MobileMenu.tsx +0 -41
  462. package/src/components/MobileMenu/MobileMenu.types.tsx +0 -28
  463. package/src/components/Nav/DUMMYNAVDATA.json +0 -234
  464. package/src/components/Nav/Nav.stories.tsx +0 -181
  465. package/src/components/Nav/Nav.test.tsx +0 -89
  466. package/src/components/Nav/Nav.tsx +0 -179
  467. package/src/components/Nav/Nav.types.tsx +0 -47
  468. package/src/components/Page/TableDataDummy.tsx +0 -216
  469. package/src/components/Page/ViewPageTemplate.stories.tsx +0 -543
  470. package/src/components/Page/ViewPageTemplate.test.tsx +0 -361
  471. package/src/components/Page/ViewPageTemplate.tsx +0 -10
  472. package/src/components/PageSection/PageSection.stories.tsx +0 -116
  473. package/src/components/PageSection/PageSection.tsx +0 -12
  474. package/src/components/PageSection/PageSections.test.tsx +0 -89
  475. package/src/components/SearchInput/SearchInput.stories.tsx +0 -144
  476. package/src/components/SearchInput/SearchInput.tsx +0 -81
  477. package/src/components/SearchInput/SearchInput.types.ts +0 -28
  478. package/src/components/Slider/Slider.stories.tsx +0 -88
  479. package/src/components/Slider/Slider.tsx +0 -139
  480. package/src/components/Slider/Slider.types.ts +0 -21
  481. package/src/components/Submenus/AdminSubmenu.tsx +0 -17
  482. package/src/components/Submenus/AlertSubmenu.tsx +0 -56
  483. package/src/components/Submenus/AlertSubmenuItem.tsx +0 -39
  484. package/src/components/Submenus/types.tsx +0 -32
  485. package/src/components/Text/Text.stories.tsx +0 -50
  486. package/src/components/Text/Text.test.tsx +0 -52
  487. package/src/components/Text/Text.tsx +0 -29
  488. package/src/components/Toaster/Toaster.stories.tsx +0 -120
  489. package/src/components/Toaster/Toaster.test.tsx +0 -60
  490. package/src/components/Toaster/Toaster.tsx +0 -72
  491. package/src/components/Toaster/Toaster.types.ts +0 -12
  492. package/src/hoc/styling/withStoryBook.tsx +0 -19
  493. package/src/main.css +0 -3
  494. package/src/userHoc/withMemo.tsx +0 -20
  495. package/src/utils/assertTagName.tsx +0 -7
  496. package/src/utils/generateAccordionItem.tsx +0 -96
  497. package/src/utils/generateFooterContacts.tsx +0 -70
  498. package/src/utils/generateNavMenu.tsx +0 -54
  499. package/src/utils/generateSocialList.tsx +0 -34
  500. package/src/utils/getFontAwesomeIcon.tsx +0 -20
  501. package/src/utils/inputValidation.tsx +0 -26
  502. package/tailwind.config.js +0 -40
  503. package/tsconfig.json +0 -25
  504. package/vite.config.ts +0 -33
  505. /package/{src/components/Badge/index.ts → dist/components/Badge/index.d.ts} +0 -0
  506. /package/{src/components/Card/index.ts → dist/components/Card/index.js} +0 -0
  507. /package/{src/components/DropDownIconButton/index.ts → dist/components/DropDownIconButton/index.d.ts} +0 -0
  508. /package/{src/components/FormButton/index.ts → dist/components/FormButton/index.d.ts} +0 -0
  509. /package/{src/components/HamburgerButton/index.ts → dist/components/HamburgerButton/index.d.ts} +0 -0
  510. /package/{src/components/Header/index.ts → dist/components/Header/index.d.ts} +0 -0
  511. /package/{src/components/Hero/index.ts → dist/components/Hero/index.d.ts} +0 -0
  512. /package/{src/components/IconButton/index.ts → dist/components/IconButton/index.d.ts} +0 -0
  513. /package/{src/components/Image/index.ts → dist/components/Image/index.d.ts} +0 -0
  514. /package/{src/components/Input/index.ts → dist/components/Input/index.d.ts} +0 -0
  515. /package/{src/components/MobileMenu/index.ts → dist/components/MobileMenu/index.d.ts} +0 -0
  516. /package/{src/components/Nav/index.ts → dist/components/Nav/index.d.ts} +0 -0
  517. /package/{src/components/Page/index.ts → dist/components/Page/index.d.ts} +0 -0
  518. /package/{src/components/PageSection/index.ts → dist/components/PageSection/index.d.ts} +0 -0
  519. /package/{src/components/Text/index.ts → dist/components/Text/index.d.ts} +0 -0
  520. /package/{src/components/Toaster/index.ts → dist/components/Toaster/index.d.ts} +0 -0
  521. /package/{src/hoc/index.ts → dist/hoc/index.js} +0 -0
  522. /package/{src/setupTests.ts → dist/setupTests.d.ts} +0 -0
  523. /package/{src/userHoc/index.ts → dist/userHoc/index.d.ts} +0 -0
@@ -1,322 +0,0 @@
1
- import "../../../dist/main.css";
2
- import { render, screen } from "@testing-library/react";
3
- import { describe, test, expect, beforeEach } from "vitest";
4
- import Header from "./Header";
5
- import Image from "../Image/Image";
6
- import { getFontAwesomeIcon } from "../../utils/getFontAwesomeIcon";
7
- import DUMMYICONDATA from "./DUMMYICONDATA.json";
8
- import { DUMMYNAVDATA } from "../Nav/DUMMYNAVDATA.json";
9
- import DynamicIconList from "../GenericList/templates/DynamicIconList";
10
- import GenericList from "../GenericList/GenericList";
11
- import Badge from "../Badge";
12
- import Text from "../Text/Text";
13
- import Nav from "../Nav";
14
-
15
- describe("<Header /> with all props (badge, icons, input, logo)", () => {
16
- beforeEach(() => {
17
- render(
18
- <Header
19
- nav={
20
- <Nav
21
- navData={DUMMYNAVDATA}
22
- navBackgroundColor={"#FFFFF"}
23
- parentHoverBackground={"blue"}
24
- parentHoverFontColor={"white"}
25
- parentHoverUnderline={true}
26
- parentHoverBorderColor={"none"}
27
- parentShape={"cornered"}
28
- parentBackground={"none"}
29
- parentBorderColor={"none"}
30
- submenuBackgroundColor={"blue"}
31
- submenuHoverBackground={"white"}
32
- submenuHoverBorderStyle={"bottom"}
33
- submenuHoverBorderColor={"black"}
34
- mobileBreakpoint={"extraLarge"}
35
- accordionParentStyle={
36
- "cornered p-2 w-full border-b-2 border-b-blue-700 text-black"
37
- }
38
- accordionExpandedStyle={"pl-2 py-3"}
39
- />
40
- }
41
- logo={
42
- <Image
43
- src="../../../assets/Logo.png"
44
- alt="Generic Company Logo."
45
- background={false}
46
- additionalClasses=" w-40 "
47
- />
48
- }
49
- badge={
50
- <Badge
51
- type="href"
52
- to="#"
53
- color="green"
54
- hoverColor="green"
55
- borderColor="none"
56
- mobileIcon={getFontAwesomeIcon("phone")}
57
- mobileIconLabel="Contact Us"
58
- onClick={() => alert("Redirect to Contact Us page")}
59
- image={
60
- <Image
61
- src="../../../assets/contact-image.png"
62
- alt=""
63
- background={false}
64
- additionalClasses="flex justify-center w-8 h-8 max-md:hidden"
65
- />
66
- }
67
- text={
68
- <>
69
- <Text
70
- size="sm"
71
- color="primary"
72
- fontFamily="serif"
73
- text="Contact Us"
74
- tag="h2"
75
- additionalClasses="pl-2 pb-0 font-bold"
76
- />
77
- <Text
78
- size="xs"
79
- color="primary"
80
- fontFamily="serif"
81
- text="1-800-800-8000"
82
- tag="p"
83
- additionalClasses="pl-2 pt-0"
84
- />
85
- </>
86
- }
87
- />
88
- }
89
- backgroundColor="gray"
90
- mobileOpenIcon={getFontAwesomeIcon("hamburger")}
91
- mobileCloseIcon={getFontAwesomeIcon("X")}
92
- mobileLeft={true}
93
- mobileRight={false}
94
- logoHoverColor="blue"
95
- logoBorderRadius={true}
96
- hasIcons={true}
97
- icons={
98
- <GenericList
99
- data={DUMMYICONDATA.DUMMYICONCOMPASSDATA}
100
- renderItem={(item) => <DynamicIconList item={item} />}
101
- itemHeight={20}
102
- containerHeight={72}
103
- listType="unordered"
104
- containerClasses="bg-gray-100 w-36 border-2 border-teal-500"
105
- listDirection="vertical"
106
- hasVirtualization={false}
107
- />
108
- }
109
- hasSearchBar={true}
110
- hasNavItems={true}
111
- hasBadge={true}
112
- />
113
- );
114
- });
115
-
116
- test("renders Header component", () => {
117
- expect(screen.getByTestId("header")).toBeInTheDocument();
118
- });
119
-
120
- test("renders correct background color class", () => {
121
- const header = screen.getByTestId("header");
122
- expect(header).toHaveClass("bg-slate-200");
123
- });
124
-
125
- test("contains correct logo from Image component", () => {
126
- const headerLogo = screen.getByTestId("header-logo");
127
- const logoImage = headerLogo.querySelector("img");
128
- expect(logoImage).toHaveAttribute("src", "../../../assets/Logo.png");
129
- });
130
-
131
- test("contains correct alt text from Image component", () => {
132
- const headerLogo = screen.getByTestId("header-logo");
133
- const logoImage = headerLogo.querySelector("img");
134
- expect(logoImage).toHaveAttribute("alt", "Generic Company Logo.");
135
- });
136
-
137
- // TODO: refactor/expand test when nav is created
138
- test("contains correct placeholder nav menus", () => {
139
- expect(screen.getByTestId("nav")).toBeInTheDocument();
140
- });
141
-
142
- // TODO: refactor/expand test when input is added
143
- test("contains correct placeholder input", () => {
144
- expect(
145
- screen.getByTestId("header-placeholder-input")
146
- ).toBeInTheDocument();
147
- });
148
-
149
- test("contains correct badge", () => {
150
- expect(screen.getByTestId("header-badge")).toBeInTheDocument();
151
-
152
- const badge = screen.getByTestId("header-badge");
153
- expect(badge).toHaveTextContent("Contact Us");
154
- expect(badge).toHaveTextContent("1-800-800-8000");
155
- });
156
-
157
- test("contains correct icon images", () => {
158
- expect(screen.getByTestId("user")).toBeInTheDocument();
159
- expect(screen.getByTestId("circle-info")).toBeInTheDocument();
160
- expect(screen.getByTestId("bell")).toBeInTheDocument();
161
- expect(screen.getByTestId("cart-shopping")).toBeInTheDocument();
162
- });
163
- });
164
-
165
- describe("<Header /> with logo and one icon", () => {
166
- beforeEach(() => {
167
- render(
168
- <Header
169
- logo={
170
- <Image
171
- src="../../../assets/Logo.png"
172
- alt="Another Generic Company Logo."
173
- background={false}
174
- additionalClasses=" w-40 "
175
- />
176
- }
177
- hasMobileMenu={true}
178
- backgroundColor="gray"
179
- mobileOpenIcon={getFontAwesomeIcon("hamburger")}
180
- mobileCloseIcon={getFontAwesomeIcon("X")}
181
- mobileLeft={false}
182
- mobileRight={true}
183
- logoHoverColor="blue"
184
- logoBorderRadius={true}
185
- hasIcons={true}
186
- icons={
187
- <GenericList
188
- data={DUMMYICONDATA.DUMMYICONCOMPASSDATA}
189
- renderItem={(item) => <DynamicIconList item={item} />}
190
- itemHeight={20}
191
- containerHeight={72}
192
- listType="unordered"
193
- containerClasses="bg-gray-100 w-36 border-2 border-teal-500"
194
- listDirection="vertical"
195
- hasVirtualization={false}
196
- />
197
- }
198
- hasSearchBar={false}
199
- hasNavItems={false}
200
- hasBadge={false}
201
- />
202
- );
203
- });
204
-
205
- test("renders Header component", () => {
206
- expect(screen.getByTestId("header")).toBeInTheDocument();
207
- });
208
-
209
- test("renders correct background color class", () => {
210
- const header = screen.getByTestId("header");
211
- expect(header).toHaveClass("bg-slate-200");
212
- });
213
-
214
- test("contains correct logo from Image component", () => {
215
- const headerLogo = screen.getByTestId("header-logo");
216
- const logoImage = headerLogo.querySelector("img");
217
- expect(logoImage).toHaveAttribute("src", "../../../assets/Logo.png");
218
- });
219
-
220
- test("contains correct alt text from Image component", () => {
221
- const headerLogo = screen.getByTestId("header-logo");
222
- const logoImage = headerLogo.querySelector("img");
223
- expect(logoImage).toHaveAttribute(
224
- "alt",
225
- "Another Generic Company Logo."
226
- );
227
- });
228
-
229
- test("does not contain badge", () => {
230
- expect(
231
- document.querySelector('[data-testid="header-badge"]')
232
- ).toBeNull();
233
- });
234
-
235
- test("contains correct icon images", () => {
236
- const info = document.querySelector('[data-testid="circle-info"]');
237
- expect(info).toBeInTheDocument();
238
-
239
- const notifications = document.querySelector('[data-testid="bell"]');
240
- expect(notifications).toBeInTheDocument();
241
-
242
- const cart = document.querySelector('[data-testid="cart-shopping"]');
243
- expect(cart).toBeInTheDocument();
244
- });
245
-
246
- test("does not contain placeholder input", () => {
247
- expect(
248
- document.querySelector('[data-testid="header-placeholder-input"]')
249
- ).toBeNull();
250
- });
251
-
252
- test("does not contain nav items", () => {
253
- expect(document.querySelector('[data-testid="nav"]')).toBeNull();
254
- });
255
-
256
- test("contains mobile open icon on right, not present on left", () => {
257
- const rightMobileOpenIcon = document.querySelector(
258
- '[data-testid="header-right-mobile-open-icon"]'
259
- );
260
- expect(rightMobileOpenIcon).not.toBeNull();
261
-
262
- const leftMobileOpenIcon = document.querySelector(
263
- '[data-testid="header-left-mobile-open-icon"]'
264
- );
265
- expect(leftMobileOpenIcon).toBeNull();
266
- });
267
- });
268
-
269
- describe("<Header /> with both mobileLeft and mobileRight set to true, mobileRight is default", () => {
270
- beforeEach(() => {
271
- render(
272
- <Header
273
- logo={
274
- <Image
275
- src="../../../assets/Logo.png"
276
- alt="Another Generic Company Logo."
277
- background={false}
278
- additionalClasses=" w-40 "
279
- />
280
- }
281
- hasMobileMenu={true}
282
- backgroundColor="red"
283
- mobileOpenIcon={getFontAwesomeIcon("hamburger")}
284
- mobileCloseIcon={getFontAwesomeIcon("X")}
285
- mobileLeft={true}
286
- mobileRight={true}
287
- logoHoverColor="blue"
288
- logoBorderRadius={true}
289
- hasIcons={true}
290
- icons={
291
- <GenericList
292
- data={DUMMYICONDATA.DUMMYICONTOGADATA}
293
- renderItem={(item) => <DynamicIconList item={item} />}
294
- itemHeight={20}
295
- containerHeight={72}
296
- listType="unordered"
297
- containerClasses="bg-gray-100 w-36 border-2 border-teal-500"
298
- listDirection="vertical"
299
- hasVirtualization={false}
300
- />
301
- }
302
- hasSearchBar={false}
303
- hasNavItems={false}
304
- hasBadge={false}
305
- />
306
- );
307
- });
308
-
309
- test("defaults to mobile open icon on right, not present on left", () => {
310
- expect(
311
- document.querySelector(
312
- '[data-testid="header-right-mobile-open-icon"]'
313
- )
314
- ).not.toBeNull();
315
-
316
- expect(
317
- document.querySelector(
318
- '[data-testid="header-left-mobile-open-icon"]'
319
- )
320
- ).toBeNull();
321
- });
322
- });
@@ -1,243 +0,0 @@
1
- import React, { useState } from "react";
2
- import { motion, AnimatePresence, MotionConfig } from "framer-motion";
3
- import { HeaderTypes } from "./Header.types";
4
- import MobileMenu from "../MobileMenu/MobileMenu";
5
- import { HeaderProvider } from "./headerContext";
6
- import HamburgerButton from "../HamburgerButton/HamburgerButton";
7
- import { getFontAwesomeIcon } from "../../utils/getFontAwesomeIcon";
8
-
9
- const justifyMap = {
10
- start: "justify-start",
11
- center: "justify-center",
12
- end: "justify-end",
13
- between: "justify-between",
14
- around: "justify-around",
15
- };
16
-
17
- const Header: React.FC<HeaderTypes> = ({
18
- logo,
19
- badge,
20
- nav,
21
- input,
22
- icons,
23
-
24
- backgroundColor = "bg-white",
25
- bottomBorderColor = "border-b-2",
26
- hasGlass = false,
27
-
28
- logoBorderRadius = "rounded-md",
29
- logoHoverColor = "hover:bg-gray-200",
30
-
31
- hasAnimatedHamburgerButton = false,
32
- hasMobileMenu,
33
- mobileLeft = true,
34
- mobileRight = false,
35
- mobileMenuBackground = "bg-white",
36
-
37
- iconsData,
38
-
39
- hasIcons = false,
40
- hasNavItems = false,
41
- hasBadge = false,
42
- hasSearchBar = false,
43
-
44
- hasMobileIcons = true,
45
- hasMobileNavItems = true,
46
- hasMobileBadge = true,
47
- hasMobileSearchBar = true,
48
-
49
- justifyNav = "center",
50
- justifyInput = "center",
51
- justifyBadge = "center",
52
- justifyIcons = "center",
53
-
54
- logoOrder = 1,
55
- navOrder = 2,
56
- inputOrder = 3,
57
- badgeOrder = 4,
58
- iconsOrder = 5,
59
- }) => {
60
- const [navSideMenuVisibility, setNavSideMenuVisibility] = useState(false);
61
-
62
- const handleNav = () => {
63
- setNavSideMenuVisibility(!navSideMenuVisibility);
64
- };
65
-
66
- const burgerAriaLabel = navSideMenuVisibility
67
- ? "Select to close menu"
68
- : "Select to open menu";
69
- const burgerExpandedAlert = navSideMenuVisibility ? "True" : "False";
70
-
71
- const logoClasses = `${logoBorderRadius} ${logoHoverColor}`;
72
- const headerClasses = `${backgroundColor} ${bottomBorderColor}`;
73
- const mobileMenuClasses = mobileMenuBackground;
74
-
75
- const justifyNavClass = justifyMap[justifyNav as keyof typeof justifyMap];
76
- const justifyInputClass = justifyMap[justifyInput as keyof typeof justifyMap];
77
- const justifyBadgeClass = justifyMap[justifyBadge as keyof typeof justifyMap];
78
- const justifyIconsClass = justifyMap[justifyIcons as keyof typeof justifyMap];
79
-
80
- return (
81
- <HeaderProvider
82
- hasMobileIcons={hasMobileIcons}
83
- hasMobileNavItems={hasMobileNavItems}
84
- hasMobileBadge={hasMobileBadge}
85
- hasMobileSearchBar={hasMobileSearchBar}
86
- iconsData={iconsData}
87
- hasIcons={hasIcons}
88
- hasNavItems={hasNavItems}
89
- hasBadge={hasBadge}
90
- hasSearchBar={hasSearchBar}
91
- mobileCloseIcon={getFontAwesomeIcon("X")}
92
- >
93
- <header
94
- data-testid="header"
95
- className={`border-b-2 h-20 z-[1000] top-0 w-full px-2 ${headerClasses} ${hasGlass ? "glass" : ""}`}
96
- >
97
- <div className="flex min-h-20">
98
- {/* LEFT MOBILE OPEN ICON */}
99
- {hasMobileMenu && mobileLeft && (
100
- <div
101
- className="pl-2 mx-auto my-auto hidden max-xl:flex"
102
- data-testid="header-left-mobile-open-icon"
103
- >
104
- {hasAnimatedHamburgerButton ? (
105
- <HamburgerButton
106
- burgerAriaLabel={burgerAriaLabel}
107
- burgerExpandedAlert={burgerExpandedAlert}
108
- animateBoolean={navSideMenuVisibility}
109
- handleNav={handleNav}
110
- />
111
- ) : (
112
- <button
113
- aria-label={burgerAriaLabel}
114
- aria-expanded={burgerExpandedAlert === "True" ? true : false}
115
- data-testid="hamburger-button"
116
- onClick={handleNav}
117
- className="flex flex-col space-y-1 relative z-10 p-2"
118
- >
119
- {burgerExpandedAlert === "True"
120
- ? getFontAwesomeIcon("X")
121
- : getFontAwesomeIcon("hamburger")}
122
- </button>
123
- )}
124
- </div>
125
- )}
126
-
127
- {/* LOGO */}
128
- <div className={`flex flex-auto items-center pl-1 order-${logoOrder}`}>
129
- <a className={logoClasses} href="" data-testid="header-logo">
130
- {logo}
131
- </a>
132
- </div>
133
-
134
- {/* NAV MENUS */}
135
- <div className={`flex flex-auto ${justifyNavClass} max-xl:hidden order-${navOrder}`}>
136
- {hasNavItems && nav}
137
- </div>
138
-
139
- {/* INPUT */}
140
- {hasSearchBar && (
141
- <div
142
- className={`flex flex-auto items-center ${justifyInputClass} max-xl:hidden order-${inputOrder}`}
143
- data-testid="header-placeholder-input"
144
- >
145
- <div className="2xl:flex w-full [&:has(:focus-visible)]:ring-2">
146
- {input}
147
- </div>
148
- </div>
149
- )}
150
-
151
- {/* BADGE AND ICONS */}
152
- {hasBadge && (
153
- <div className={`flex flex-auto items-center ${justifyBadgeClass} max-xl:justify-end order-${badgeOrder}`} data-testid="header-badge">
154
- <div className="w-fit">{badge}</div>
155
- </div>
156
- )}
157
- {hasIcons && (
158
- <div className={`flex flex-auto items-center ${justifyIconsClass} max-xl:hidden order-${iconsOrder}`} data-testid="header-icons">
159
- {icons}
160
- </div>
161
- )}
162
-
163
- {/* RIGHT MOBILE OPEN ICON */}
164
- {hasMobileMenu && mobileRight && (
165
- <div
166
- className="pr-2 mx-auto my-auto hidden max-xl:flex"
167
- data-testid="header-right-mobile-open-icon"
168
- >
169
- {hasAnimatedHamburgerButton ? (
170
- <HamburgerButton
171
- burgerAriaLabel={burgerAriaLabel}
172
- burgerExpandedAlert={burgerExpandedAlert}
173
- animateBoolean={navSideMenuVisibility}
174
- handleNav={handleNav}
175
- />
176
- ) : (
177
- <button
178
- aria-label={burgerAriaLabel}
179
- aria-expanded={burgerExpandedAlert === "True" ? true : false}
180
- data-testid="hamburger-button"
181
- onClick={handleNav}
182
- className="flex flex-col space-y-1 relative z-10 p-2"
183
- >
184
- {burgerExpandedAlert === "True"
185
- ? getFontAwesomeIcon("X")
186
- : getFontAwesomeIcon("hamburger")}
187
- </button>
188
- )}
189
- </div>
190
- )}
191
-
192
- {/* MOBILE MENU */}
193
- <AnimatePresence>
194
- {hasMobileMenu && navSideMenuVisibility && (
195
- <div>
196
- <MotionConfig transition={{ type: "spring", bounce: 0.1 }}>
197
- <motion.div
198
- key="mobile-nav"
199
- variants={{
200
- hide: {
201
- x: mobileRight ? "100%" : "-100%",
202
- transition: {
203
- type: "spring",
204
- bounce: 0.1,
205
- when: "afterChildren",
206
- staggerChildren: 0.25,
207
- },
208
- },
209
- show: {
210
- x: "0%",
211
- transition: {
212
- type: "spring",
213
- bounce: 0.1,
214
- when: "beforeChildren",
215
- staggerChildren: 0.25,
216
- },
217
- },
218
- }}
219
- initial="hide"
220
- animate="show"
221
- exit="hide"
222
- className="fixed inset-0 flex flex-col justify-center space-y-10"
223
- >
224
- <MobileMenu
225
- handleNav={handleNav}
226
- badge={badge}
227
- nav={nav}
228
- input={input}
229
- icons={icons}
230
- mobileMenuClasses={mobileMenuClasses}
231
- />
232
- </motion.div>
233
- </MotionConfig>
234
- </div>
235
- )}
236
- </AnimatePresence>
237
- </div>
238
- </header>
239
- </HeaderProvider>
240
- );
241
- };
242
-
243
- export default Header;
@@ -1,52 +0,0 @@
1
- import { DUMMYICONCOMPASSDATA, DUMMYICONTOGADATA } from "./DUMMYICONDATA.json";
2
-
3
- export interface HeaderTypes {
4
- onClick?: (
5
- e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>
6
- ) => void;
7
- nav?: React.ReactNode;
8
- logo?: React.ReactNode;
9
- badge?: React.ReactNode;
10
- icons?: React.ReactNode;
11
- input?: React.ReactNode;
12
- children?: React.ReactNode;
13
-
14
- logoHoverColor?: string;
15
- logoBorderRadius?: boolean;
16
-
17
- backgroundColor?: string;
18
- bottomBorderColor?: string;
19
- hasGlass?: boolean;
20
-
21
- hasAnimatedHamburgerButton?: boolean;
22
- mobileOpenIcon?: JSX.Element | undefined | null;
23
- mobileCloseIcon?: JSX.Element | null;
24
- mobileLeft?: boolean;
25
- mobileRight?: boolean;
26
- mobileMenuBackground?: string;
27
-
28
- iconsData?: typeof DUMMYICONCOMPASSDATA | typeof DUMMYICONTOGADATA;
29
-
30
- hasIcons?: boolean;
31
- hasSearchBar?: boolean;
32
- hasNavItems?: boolean;
33
- hasBadge?: boolean;
34
-
35
- hasMobileMenu?: boolean;
36
-
37
- hasMobileIcons?: boolean;
38
- hasMobileNavItems?: boolean;
39
- hasMobileBadge?: boolean;
40
- hasMobileSearchBar?: boolean;
41
-
42
- justifyNav?: string;
43
- justifyInput?: string;
44
- justifyBadge?: string;
45
- justifyIcons?: string;
46
-
47
- logoOrder?: number;
48
- navOrder?: number;
49
- inputOrder?: number;
50
- badgeOrder?: number;
51
- iconsOrder?: number;
52
- }