@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,125 +0,0 @@
1
- import { createContext, useContext, useState } from "react";
2
- import { HeaderTypes } from "./Header.types";
3
-
4
- type ContextValue = {
5
- iconsData: HeaderTypes["iconsData"];
6
- setIconsData: (iconsData: HeaderTypes["iconsData"]) => void;
7
- mobileCloseIcon: JSX.Element | null;
8
- setMobileCloseIcon: (mobileCloseIcon: JSX.Element) => void;
9
-
10
- hasIcons: boolean;
11
- setHasIcons: (hasNavItems: boolean) => void;
12
- hasNavItems: boolean;
13
- setHasNavItems: (hasNavItems: boolean) => void;
14
- hasBadge: boolean;
15
- setHasBadge: (hasBadge: boolean) => void;
16
- hasSearchBar: boolean;
17
- setHasSearchBar: (hasSearchBar: boolean) => void;
18
-
19
- hasMobileIcons: boolean;
20
- setHasMobileIcons: (hasMobileIcons: boolean) => void;
21
- hasMobileNavItems: boolean;
22
- setHasMobileNavItems: (hasMobileNavItems: boolean) => void;
23
- hasMobileBadge: boolean;
24
- setHasMobileBadge: (hasMobileBadge: boolean) => void;
25
- hasMobileSearchBar: boolean;
26
- setHasMobileSearchBar: (hasMobileSearchBar: boolean) => void;
27
- };
28
-
29
- type HeaderProviderProps = {
30
- children: React.ReactNode;
31
- hasIcons: boolean;
32
- hasNavItems: boolean;
33
- hasBadge: boolean;
34
- hasSearchBar: boolean;
35
- hasMobileIcons: boolean;
36
- hasMobileNavItems: boolean;
37
- hasMobileBadge: boolean;
38
- hasMobileSearchBar: boolean;
39
- iconsData: HeaderTypes["iconsData"];
40
- mobileCloseIcon: JSX.Element | null;
41
- };
42
-
43
- const HeaderContext = createContext<ContextValue | undefined>(undefined);
44
-
45
- export const HeaderProvider = ({
46
- children,
47
- hasIcons,
48
- hasNavItems,
49
- hasBadge,
50
- hasSearchBar,
51
- hasMobileIcons,
52
- hasMobileNavItems,
53
- hasMobileBadge,
54
- hasMobileSearchBar,
55
- iconsData,
56
- mobileCloseIcon,
57
- }: HeaderProviderProps) => {
58
- const [hasIconsState, setHasIcons] = useState<boolean>(hasIcons);
59
- const [hasNavItemsState, setHasNavItems] = useState<boolean>(hasNavItems);
60
- const [hasBadgeState, setHasBadge] = useState<boolean>(hasBadge);
61
- const [hasSearchBarState, setHasSearchBar] =
62
- useState<boolean>(hasSearchBar);
63
-
64
- const [hasMobileIconsState, setHasMobileIcons] =
65
- useState<boolean>(hasMobileIcons);
66
- const [hasMobileNavItemsState, setHasMobileNavItems] =
67
- useState<boolean>(hasMobileNavItems);
68
- const [hasMobileBadgeState, setHasMobileBadge] =
69
- useState<boolean>(hasMobileBadge);
70
- const [hasMobileSearchBarState, setHasMobileSearchBar] =
71
- useState<boolean>(hasMobileSearchBar);
72
- const [iconsDataState, setIconsData] =
73
- useState<HeaderTypes["iconsData"]>(iconsData);
74
-
75
- const [mobileCloseIconState, setMobileCloseIcon] =
76
- useState<JSX.Element | null>(mobileCloseIcon);
77
-
78
- return (
79
- <HeaderContext.Provider
80
- value={{
81
- hasIcons: hasIconsState,
82
- setHasIcons,
83
-
84
- hasNavItems: hasNavItemsState,
85
- setHasNavItems,
86
-
87
- hasBadge: hasBadgeState,
88
- setHasBadge,
89
-
90
- hasSearchBar: hasSearchBarState,
91
- setHasSearchBar,
92
-
93
- hasMobileIcons: hasMobileIconsState,
94
- setHasMobileIcons,
95
-
96
- hasMobileNavItems: hasMobileNavItemsState,
97
- setHasMobileNavItems,
98
-
99
- hasMobileBadge: hasMobileBadgeState,
100
- setHasMobileBadge,
101
-
102
- hasMobileSearchBar: hasMobileSearchBarState,
103
- setHasMobileSearchBar,
104
-
105
- iconsData: iconsDataState,
106
- setIconsData,
107
- mobileCloseIcon: mobileCloseIconState,
108
- setMobileCloseIcon,
109
-
110
- }}
111
- >
112
- {children}
113
- </HeaderContext.Provider>
114
- );
115
- };
116
-
117
- export function useHeaderContext() {
118
- const context = useContext(HeaderContext);
119
- if (!context) {
120
- throw new Error(
121
- "useHeaderContext must be used within a HeaderProvider"
122
- );
123
- }
124
- return context;
125
- }
@@ -1,68 +0,0 @@
1
- import React from "react";
2
- import { Meta, StoryFn } from "@storybook/react";
3
- import Hero, { HeroTypes } from ".";
4
- import { withStoryBook } from "../../hoc";
5
-
6
- interface HeroStoryTypes extends HeroTypes {
7
- position: "left" | "right" | "center";
8
- background: string;
9
- text: React.ReactNode;
10
- }
11
-
12
- const StorybookHero = withStoryBook(Hero);
13
-
14
- export default {
15
- title: "Components/Hero",
16
- argTypes: {
17
- textAlignment: {
18
- control: "select",
19
- options: ["left", "right", "center"],
20
- description:
21
- "The position of the text in relation to the background horizontally.",
22
- },
23
- textVerticalAxis: {
24
- control: "select",
25
- options: ["items-start", "items-end", "items-center"],
26
- description:
27
- "The position of the text in relation to the background vertically.",
28
- },
29
- background: {
30
- control: "color",
31
- description:
32
- "The background color. Set by Tailwind CSS in Applications",
33
- },
34
- text: {
35
- control: "text",
36
- description: "The text displayed.",
37
- },
38
- },
39
- tags: ["autodocs"],
40
- } as Meta<HeroStoryTypes>;
41
-
42
-
43
- const Template: StoryFn<HeroStoryTypes> = (args) => (
44
- <StorybookHero
45
- {...args}
46
- storybookStyle={{
47
- backgroundColor: args.background,
48
- }}
49
- />
50
- );
51
-
52
- export const HeroColor = Template.bind({});
53
- HeroColor.args = {
54
- textAlignment: "right",
55
- background: "color",
56
- };
57
-
58
- export const HeroGradient = Template.bind({});
59
- HeroGradient.args = {
60
- textAlignment: "right",
61
- background: "gradient",
62
- };
63
-
64
- export const HeroDecorativeImage = Template.bind({});
65
- HeroDecorativeImage.args = {
66
- textAlignment: "right",
67
- background: "image",
68
- };
@@ -1,109 +0,0 @@
1
- import "../../../dist/main.css";
2
- import { render, screen } from "@testing-library/react";
3
- import { describe, test, expect, beforeEach } from "vitest";
4
-
5
- import Hero from "./Hero";
6
- import Text from "../Text/Text";
7
-
8
- describe("<Hero /> with color background", () => {
9
- beforeEach(() => {
10
- render(
11
- <Hero
12
- textAlignment="center"
13
- background="color"
14
- text={
15
- <Text
16
- size="xl"
17
- color="primary"
18
- fontFamily="serif"
19
- text="This is a test heading!"
20
- tag="h2"
21
- />
22
- }
23
- />
24
- );
25
- });
26
-
27
- test("renders Text component", () => {
28
- expect(screen.getByTestId("hero")).toBeInTheDocument();
29
- });
30
-
31
- test("contains correct text from Text component", () => {
32
- expect(screen.getByTestId("hero")).toHaveTextContent(
33
- "This is a test heading!"
34
- );
35
- });
36
- test("renders correct background color class", () => {
37
- const heroElement = screen.getByTestId("hero");
38
- expect(heroElement).toHaveClass("bg-blue-800");
39
- });
40
-
41
- test("renders correct position of Text component", () => {
42
- const heroElement = screen.getByTestId("hero");
43
- expect(heroElement).toHaveClass("justify-center");
44
- });
45
- test("renders Text component as correct heading type", () => {
46
- const textComponent = screen.getByRole("heading", {
47
- name: "This is a test heading!",
48
- level: 2,
49
- });
50
- expect(textComponent).toBeInTheDocument();
51
- expect(textComponent.tagName).toBe("H2");
52
- });
53
- });
54
-
55
- describe("<Hero /> with Image background", () => {
56
- beforeEach(() => {
57
- render(
58
- <Hero
59
- textAlignment="center"
60
- background="image"
61
- text={
62
- <Text
63
- size="xl"
64
- color="primary"
65
- fontFamily="serif"
66
- text="This is a test heading!"
67
- tag="h1"
68
- />
69
- }
70
- />
71
- );
72
- });
73
-
74
- test("renders hero image component", () => {
75
- expect(screen.getByTestId("image-background-hero")).toBeInTheDocument();
76
- });
77
-
78
- test("contains correct text from Text component", () => {
79
- expect(screen.getByTestId("image-background-hero")).toHaveTextContent(
80
- "This is a test heading!"
81
- );
82
- });
83
-
84
- test("renders correct background image", () => {
85
- const heroImageElement = screen.getByTestId("image-background-hero");
86
- expect(heroImageElement.style.backgroundImage).toContain(
87
- "heroImage.png"
88
- );
89
- });
90
-
91
- // FIXME:
92
- // test("renders correct background image alt text", () => {
93
- // expect(screen.getByTestId("image-background-hero")).toHaveAttribute(
94
- // "aria-label",
95
- // ""
96
- // );
97
- // });
98
-
99
- test("renders correct position of Text component", () => {
100
- const heroElement = screen.getByTestId("image-background-hero");
101
- expect(heroElement).toHaveClass("justify-center");
102
- });
103
-
104
- test("renders correct element type of Text component", () => {
105
- expect(
106
- screen.getByRole("heading", { name: "This is a test heading!" })
107
- ).toBeInTheDocument();
108
- });
109
- });
@@ -1,58 +0,0 @@
1
- import React from "react";
2
- import Text from "../Text/Text";
3
- import Image from "../Image/Image";
4
- import { HeroTypes } from ".";
5
-
6
- const alignmentClassesMap = {
7
- left: "justify-start text-left",
8
- right: "justify-end text-right",
9
- center: "justify-center text-center",
10
- };
11
-
12
- const backgroundClassesMap: { [key: string]: string } = {
13
- color: "bg-blue-800",
14
- gradient: "bg-gradient-to-r from-cyan-700 to-blue-900",
15
- };
16
-
17
- const Hero: React.FC<HeroTypes> = ({
18
- src = "../../../assets/heroImage.png",
19
- text = (
20
- <Text
21
- size="text-xl"
22
- color="text-white"
23
- fontFamily="font-serif"
24
- text="This is a test heading!"
25
- tag="h1"
26
- />
27
- ),
28
- textAlignment,
29
- background = "color",
30
- textVerticalAxis = "items-center",
31
- }) => {
32
- let heroAlignment = alignmentClassesMap[textAlignment];
33
- const heroBackground = backgroundClassesMap[background] || "";
34
-
35
- if (background === "image") {
36
- heroAlignment = `flex ${alignmentClassesMap[textAlignment]} ${textVerticalAxis}`;
37
- }
38
-
39
- return background === "image" ? (
40
- <Image
41
- src={src}
42
- alt=""
43
- background={true}
44
- additionalClasses={heroAlignment}
45
- >
46
- <span className="text-white">{text}</span>
47
- </Image>
48
- ) : (
49
- <div
50
- data-testid="hero"
51
- className={`w-full min-h-72 p-4 flex ${heroAlignment} ${heroBackground} ${textVerticalAxis} text-white `}
52
- >
53
- {text}
54
- </div>
55
- );
56
- };
57
-
58
- export default Hero;
@@ -1,9 +0,0 @@
1
- import React from "react";
2
-
3
- export interface HeroTypes {
4
- src?: string;
5
- background?: string;
6
- text?: React.ReactNode;
7
- textAlignment: "left" | "right" | "center";
8
- textVerticalAxis?: "items-start" | "items-end" | "items-center";
9
- }
@@ -1,196 +0,0 @@
1
- import { Meta, StoryFn } from "@storybook/react";
2
- import IconButton from "./IconButton";
3
- import { IconButtonTypes } from "./IconButton.types";
4
- import { getFontAwesomeIcon } from "../../utils/getFontAwesomeIcon";
5
- import { JSX } from "react/jsx-runtime";
6
-
7
- export default {
8
- title: "Components/IconButton",
9
- component: IconButton,
10
- argTypes: {
11
- iconSize: {
12
- control: "none",
13
- description: "Tailwind classes for the icon size. Example: `h-6 w-6`",
14
- },
15
- iconColor: {
16
- control: "none",
17
- description: "Tailwind classes for the icon color. Example: `text-blue-500`",
18
- },
19
- backgroundColor: {
20
- control: "none",
21
- description: "Tailwind classes for the background color. Example: `bg-gray-200`",
22
- },
23
- borderColor: {
24
- control: "none",
25
- description: "Tailwind classes for the border color. Example: `border-gray-300`",
26
- },
27
- iconLabel: {
28
- control: "none",
29
- description: "The label for the icon. Example: `Profile`",
30
- },
31
- icon: {
32
- control: "none",
33
- description: "The icon to be displayed. Example: `user-cog`",
34
- },
35
- size: {
36
- control: "none",
37
- description: "The size of the icon. Example: `xl`",
38
- },
39
- iconBorder: {
40
- control: "none",
41
- description: "Tailwind classes for the icon border. Example: `border-2`",
42
- },
43
- to: {
44
- control: "none",
45
- description: "The URL to redirect to when the icon is clicked. Example: `/admin`",
46
- },
47
- href: {
48
- control: "none",
49
- description: "The URL to redirect to when the icon is clicked. Example: `/admin`",
50
- },
51
- hoverBorderColor: {
52
- control: "none",
53
- description: "Tailwind classes for the border color on hover. Example: `hover:border-blue-500`",
54
- },
55
- hoverColor: {
56
- control: "none",
57
- description: "Tailwind classes for the color on hover. Example: `hover:text-blue-500`",
58
- },
59
- indicatorSize: {
60
- control: "none",
61
- description: "Tailwind classes for the indicator size. Example: `h-4 w-4`",
62
- },
63
- indicatorNumber: {
64
- control: "none",
65
- description: "The number to be displayed inside the indicator. Example: `12`",
66
- },
67
- hoverBorder: {
68
- control: "none",
69
- description: "Tailwind classes for the border on hover. Example: `hover:border-2`",
70
- },
71
- limitCharacters: {
72
- control: "none",
73
- description: "Flag to indicate if the text should be limited to 2 characters. If set to true and the text is greater than 99, the text will display '99+'.",
74
- },
75
- hoverBackgroundColor: {
76
- control: "none",
77
- description: "Tailwind classes for the background on hover. Example: `hover:bg-gray-300`",
78
- },
79
- hoverBackground: {
80
- control: "none",
81
- description: "Tailwind classes for the background color on hover. Example: `hover:bg-gray-300`",
82
- },
83
- hasNotification: {
84
- control: "none",
85
- description: "Flag to indicate if the button has a notification badge.",
86
- },
87
- notificationTextColor: {
88
- control: "none",
89
- description: "Tailwind classes for the notification text color. Example: `text-white`",
90
- },
91
- notificationBgColor: {
92
- control: "none",
93
- description: "Tailwind classes for the notification background color. Example: `bg-red-500`",
94
- },
95
- notificationCount: {
96
- control: "none",
97
- description: "The number to be displayed inside the notification badge. Example: `12`",
98
- },
99
- text: {
100
- control: "none",
101
- description: "The text to be displayed below the button. Example: `Profile`",
102
- },
103
- textClasses: {
104
- control: "none",
105
- description: "Tailwind classes to style the text. Example: `text-sm text-black`",
106
- },
107
- onClick: {
108
- table: {
109
- disable: true,
110
- },
111
- control: "none",
112
- description: "Callback function to handle click events. Example: `() => alert('Clicked!')`",
113
- },
114
- role: {
115
- control: "none",
116
- description: "ARIA role for accessibility. Example: `button`",
117
- },
118
- additionalContainerClasses: {
119
- control: "none",
120
- description: "Additional Tailwind classes for the container. Example: `p-4`",
121
- },
122
- limitIndicator: {
123
- control: "none",
124
- description:
125
- "Whether the indicator number should be limited to 2 characters. If set to true and the number is greater than 99, the indicator will display '99+'.",
126
- },
127
- },
128
- tags: ["autodocs"],
129
- parameters: {
130
- layout: "centered",
131
- },
132
- } as Meta;
133
-
134
- const Template: StoryFn<IconButtonTypes> = (args) => <IconButton {...args} />;
135
-
136
- export const AdminButton = Template.bind({});
137
- AdminButton.args = {
138
- iconColor: "text-black",
139
- text: "Admin",
140
- backgroundColor: "bg-gray-200",
141
- iconSize: "h-8 w-8",
142
- icon: getFontAwesomeIcon("cog"),
143
- hoverBackgroundColor: "hover:bg-gray-300",
144
- hoverBorderColor: "hover:border-black",
145
- notificationCount: 0,
146
- textClasses: "text-black font-serif text-md",
147
- onClick: () => alert("Redirect to admin"),
148
- };
149
-
150
- export const AccountButton = Template.bind({});
151
- AccountButton.args = {
152
- iconColor: "text-black",
153
- text: "Account",
154
- backgroundColor: "bg-gray-200",
155
- iconSize: "h-8 w-8",
156
- icon: getFontAwesomeIcon("user"),
157
- hoverBackgroundColor: "hover:bg-gray-300",
158
- hoverBorderColor: "hover:border-black",
159
- notificationCount: 0,
160
- textClasses: "text-black font-serif text-md",
161
- onClick: () => alert("Redirect to account"),
162
- };
163
-
164
- export const AlertsButton = Template.bind({});
165
- AlertsButton.args = {
166
- iconColor: "text-black",
167
- text: "Alerts",
168
- backgroundColor: "bg-gray-200",
169
- iconSize: "h-8 w-8",
170
- icon: getFontAwesomeIcon("bell"),
171
- hoverBackgroundColor: "hover:bg-gray-300",
172
- hoverBorderColor: "hover:border-black",
173
- hasNotification: true,
174
- notificationTextClasses: "text-white",
175
- notificationBgColor: "bg-green-600",
176
- notificationCount: 123,
177
- textClasses: "text-black font-serif text-md",
178
- onClick: () => alert("Redirect to alerts"),
179
- };
180
-
181
- export const CartButton = Template.bind({});
182
- CartButton.args = {
183
- iconColor: "text-black",
184
- text: "Cart",
185
- backgroundColor: "bg-gray-200",
186
- iconSize: "h-8 w-8",
187
- icon: getFontAwesomeIcon("shop"),
188
- hoverBackgroundColor: "hover:bg-gray-300",
189
- hoverBorderColor: "hover:border-black",
190
- hasNotification: true,
191
- notificationTextClasses: "text-white",
192
- notificationBgColor: "bg-green-600",
193
- notificationCount: 3,
194
- textClasses: "text-black font-serif text-md",
195
- onClick: () => alert("Redirect to cart"),
196
- };
@@ -1,52 +0,0 @@
1
- import { render, screen } from "@testing-library/react";
2
- import { describe, expect, beforeEach, test } from "vitest";
3
- import Icon from "./IconButton";
4
- import Text from "../Text/Text";
5
- import { getFontAwesomeIcon } from "../../utils/getFontAwesomeIcon";
6
-
7
- describe("<Icon /> Profile", () => {
8
- beforeEach(() => {
9
- render(
10
- <Icon
11
- iconLabel="Profile"
12
- iconColor="green"
13
- size="sm"
14
- icon={getFontAwesomeIcon("user")}
15
- hoverBackground="none"
16
- hoverColor="green"
17
- text={
18
- <Text
19
- size="text-md"
20
- color="text-green"
21
- fontFamily="font-serif"
22
- text="Profile"
23
- tag="h2"
24
- />
25
- }
26
- />
27
- );
28
- });
29
-
30
- test("renders correctly", () => {
31
- expect(screen.getByTestId("icon")).toBeInTheDocument();
32
- });
33
-
34
- test("has correct text", () => {
35
- expect(screen.getByTestId("text")).toHaveTextContent("Profile");
36
- });
37
-
38
- test("has correct icon", () => {
39
- expect(screen.getByTestId("user")).toBeInTheDocument();
40
- });
41
-
42
- // The following style-based tests may need to be adapted depending on how styles are applied in your test environment
43
- test("has correct color", () => {
44
- const iconElement = screen.getByTestId("icon");
45
- expect(iconElement).toHaveClass("text-teal-800");
46
- });
47
-
48
- test("has correct icon size", () => {
49
- const iconElement = screen.getByTestId("user");
50
- expect(iconElement).toHaveClass("text-md");
51
- });
52
- });
@@ -1,76 +0,0 @@
1
- import React from "react";
2
- import { IconButtonTypes } from "./IconButton.types";
3
- import Text from "../Text/Text";
4
-
5
- const Icon: React.FC<IconButtonTypes> = ({
6
- onClick = () => { },
7
- role,
8
- icon,
9
- iconSize,
10
- iconColor,
11
- hasNotification,
12
- notificationTextClasses,
13
- notificationBgColor,
14
- notificationCount,
15
- text,
16
- textSize,
17
- textColor,
18
- textFontFamily,
19
- textClasses,
20
- textContainerClasses,
21
- hoverBorderColor,
22
- hoverBackgroundColor,
23
- backgroundColor,
24
- borderColor,
25
- additionalContainerClasses,
26
- }) => {
27
- const displayNotificationCount = notificationCount && notificationCount > 99 ? "99+" : notificationCount;
28
-
29
- const notificationClasses = `absolute -top-1 h-18px rounded-full text-11px font-semibold leading-[18px] flex items-center justify-center ${notificationTextClasses} ${notificationBgColor} ${notificationCount && notificationCount > 99
30
- ? "w-26px -right-4 "
31
- : "w-18px -right-2 "
32
- }`;
33
-
34
- const iconClasses = `flex items-center justify-center ${iconSize} ${iconColor}`;
35
- const iconContainerClasses = `relative flex items-center justify-center h-42px w-42px rounded-full border-1 ${borderColor} ${backgroundColor} group-hover:${hoverBorderColor} group-hover:${hoverBackgroundColor}`;
36
-
37
- const ariaLabel = `${text} ${hasNotification ? `with ${notificationCount} notifications` : ""}`;
38
-
39
- const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {
40
- if (e.key === "Enter" || e.key === " ") {
41
- onClick(e as unknown as React.MouseEvent<HTMLDivElement>);
42
- }
43
- };
44
-
45
- return (
46
- <div
47
- className={`flex flex-col items-center justify-center group ${additionalContainerClasses}`}
48
- onClick={(e) => onClick(e as React.MouseEvent<HTMLDivElement>)}
49
- role={role}
50
- tabIndex={0}
51
- onKeyDown={(e) => handleKeyDown(e)}
52
- aria-label={ariaLabel}
53
- >
54
- <div className={iconContainerClasses}>
55
- <div className={iconClasses}>{icon}</div>
56
- {hasNotification && notificationCount && (
57
- <span className={notificationClasses}>
58
- {displayNotificationCount}
59
- </span>
60
- )}
61
- </div>
62
- <div aria-hidden={true} className={textContainerClasses}>
63
- <Text
64
- size={textSize}
65
- color={textColor}
66
- fontFamily={textFontFamily}
67
- text={text}
68
- tag="p"
69
- additionalClasses={textClasses}
70
- />
71
- </div>
72
- </div>
73
- );
74
- };
75
-
76
- export default Icon;