reso-ui 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (445) hide show
  1. package/.github/workflows/cd.yml +49 -0
  2. package/.github/workflows/ci.yml +55 -0
  3. package/.github/workflows/release.yml +41 -0
  4. package/.husky/commit-msg +4 -0
  5. package/.storybook/main.js +51 -0
  6. package/.storybook/preview.js +9 -0
  7. package/CHANGELOG.md +20 -0
  8. package/README.md +209 -0
  9. package/__mocks__/fileMock.js +2 -0
  10. package/__mocks__/styleMock.js +2 -0
  11. package/commitlint.config.js +6 -0
  12. package/custom.d.ts +8 -0
  13. package/dist/09f84f6035cfbf7c3984b6177d36b516.ttf +0 -0
  14. package/dist/0d5fdfd739931f51a5df.ttf +1 -0
  15. package/dist/0e407c5680c91e584bb084ebfb5c086b.ttf +0 -0
  16. package/dist/2e942562af5b9b655c1f.ttf +1 -0
  17. package/dist/2f6d81277badc25ac944.ttf +1 -0
  18. package/dist/32743a4d0c4282e2070b574e6e5038ab.ttf +0 -0
  19. package/dist/3727d88dec67e1e78cf987dab60d9887.ttf +0 -0
  20. package/dist/3fcedd69c66d642ae94c.ttf +1 -0
  21. package/dist/404e299be26d78e6679447ea7cb2d41f.ttf +0 -0
  22. package/dist/47afb8d0034314dd9508.ttf +1 -0
  23. package/dist/4a24733ca942ad738fa2.ttf +1 -0
  24. package/dist/4e860c8656d815bb2429.ttf +1 -0
  25. package/dist/4e8cea18952c83074ec35f7bf1b176c4.ttf +0 -0
  26. package/dist/4ed78cd5d64af4efc3c714622b9372d4.ttf +0 -0
  27. package/dist/5568b72206d0e08121c5.ttf +1 -0
  28. package/dist/5ccd942a8800a68d44b6d3f5431909ec.ttf +0 -0
  29. package/dist/6fca6423291a2d06943a.ttf +1 -0
  30. package/dist/791134e64e8ef9da3f77.ttf +1 -0
  31. package/dist/8081832fc5cfbf634aa664a9eff0350e.ttf +0 -0
  32. package/dist/8c5e890c33607ed0e632.ttf +1 -0
  33. package/dist/9445d60ed014306b6aec1c69bf9d0174.ttf +0 -0
  34. package/dist/94b768c07879dde09ab4d5f6ad92cbc6.ttf +0 -0
  35. package/dist/9e1bb626874ed49aa343d66b8d66ceaf.ttf +0 -0
  36. package/dist/9e50c04f0efdf7813013.ttf +1 -0
  37. package/dist/9f57e7d4017ef9b93ae75e2c86f00d60.ttf +0 -0
  38. package/dist/a61eaf4c2e4d44d6db6a576706e9e6ae.ttf +0 -0
  39. package/dist/b10e7a6e913ca664cbdcb17894f9b419.ttf +0 -0
  40. package/dist/c0ee626f116bbcc4c721.ttf +1 -0
  41. package/dist/c27d458a5358094ac974.ttf +1 -0
  42. package/dist/c27efdacccfbcbd14ff2.ttf +1 -0
  43. package/dist/c76ea376f095f2e1e5138b226ad0f9cd.ttf +0 -0
  44. package/dist/cc7ee35ca49c83d4cfca932a03139f99.ttf +0 -0
  45. package/dist/cce5625b56ec678e42021270b84ef400.ttf +0 -0
  46. package/dist/ce3fff31c0f262aca227664f6f0d2fa2.ttf +0 -0
  47. package/dist/d01ea7f941ca3838ae97.ttf +1 -0
  48. package/dist/db767bc3ab4b2e42b4b1.ttf +1 -0
  49. package/dist/eacee5bb9c7fee5939aebf2335e5106a.ttf +0 -0
  50. package/dist/eebe2ceaa4fd239fe3fb.ttf +1 -0
  51. package/dist/eef56d4542bc2932ff9f.ttf +1 -0
  52. package/dist/f072662071f642a2e2b9.ttf +1 -0
  53. package/dist/f41b63c0bb0963ace821a2b99458c1cd.ttf +0 -0
  54. package/dist/f456d233db96b6889eeb.ttf +1 -0
  55. package/dist/fb248a35b11180453c6879a29d94eff4.ttf +0 -0
  56. package/dist/fb71f2d88c40660bb2e0.ttf +1 -0
  57. package/dist/main.js +2 -0
  58. package/dist/main.js.LICENSE.txt +20 -0
  59. package/jest-dom-setup.ts +1 -0
  60. package/jest.config.js +194 -0
  61. package/package.json +71 -0
  62. package/public/fallback-image-example.jpg +0 -0
  63. package/public/hero-example.jpg +0 -0
  64. package/public/image-example-2.jpg +0 -0
  65. package/public/image-example-3.jpg +0 -0
  66. package/public/image-example-4.jpg +0 -0
  67. package/public/image-example.jpg +0 -0
  68. package/public/index.html +12 -0
  69. package/release.config.js +29 -0
  70. package/src/App.scss +35 -0
  71. package/src/components/Banners/Banner/Banner.tsx +60 -0
  72. package/src/components/Banners/Banner/__test__/Banner.test.tsx +88 -0
  73. package/src/components/Banners/Banner/index.ts +3 -0
  74. package/src/components/Banners/Banner/stories/Banner.stories.tsx +81 -0
  75. package/src/components/Banners/Banner/stories/storiesStyle.scss +4 -0
  76. package/src/components/Banners/Banner/styles/Banner.layout.scss +51 -0
  77. package/src/components/Banners/Banner-Wrapper/Banner-Wrapper.tsx +45 -0
  78. package/src/components/Banners/Banner-Wrapper/__test__/Banner-Wrapper.test.tsx +72 -0
  79. package/src/components/Banners/Banner-Wrapper/index.ts +3 -0
  80. package/src/components/Banners/Banner-Wrapper/stories/Banner-Wrapper.stories.tsx +90 -0
  81. package/src/components/Banners/Banner-Wrapper/styles/Banner-Wrapper.layout.scss +18 -0
  82. package/src/components/Banners/index.ts +3 -0
  83. package/src/components/Buttons/Back/Back.tsx +80 -0
  84. package/src/components/Buttons/Back/__test__/Back.test.tsx +51 -0
  85. package/src/components/Buttons/Back/index.ts +3 -0
  86. package/src/components/Buttons/Back/stories/Back.stories.tsx +74 -0
  87. package/src/components/Buttons/Back/stories/storiesStyle.scss +11 -0
  88. package/src/components/Buttons/Back/styles/Back.layout.scss +12 -0
  89. package/src/components/Buttons/Back/styles/Back.theme.scss +7 -0
  90. package/src/components/Buttons/Button/Button.tsx +85 -0
  91. package/src/components/Buttons/Button/__test__/Button.test.tsx +66 -0
  92. package/src/components/Buttons/Button/index.ts +2 -0
  93. package/src/components/Buttons/Button/stories/Button.stories.tsx +90 -0
  94. package/src/components/Buttons/Button/stories/storiesStyle.scss +7 -0
  95. package/src/components/Buttons/Button/styles/Button.layout.scss +30 -0
  96. package/src/components/Buttons/Button/styles/Button.theme.scss +42 -0
  97. package/src/components/Buttons/index.ts +3 -0
  98. package/src/components/Card/Card-Container/Card-Container.tsx +59 -0
  99. package/src/components/Card/Card-Container/__test__/Card-Container.test.tsx +62 -0
  100. package/src/components/Card/Card-Container/index.ts +3 -0
  101. package/src/components/Card/Card-Container/stories/Card-Container.stories.tsx +45 -0
  102. package/src/components/Card/Card-Container/styles/Card-Container.layout.scss +8 -0
  103. package/src/components/Card/Card-Container/styles/Card-Container.theme.scss +9 -0
  104. package/src/components/Card/Card-Content/Card-Content.tsx +51 -0
  105. package/src/components/Card/Card-Content/__test__/Card-Content.test.tsx +84 -0
  106. package/src/components/Card/Card-Content/index.ts +3 -0
  107. package/src/components/Card/Card-Content/stories/Card-Content.stories.tsx +62 -0
  108. package/src/components/Card/Card-Content/styles/Card-Content.layout.scss +12 -0
  109. package/src/components/Card/Card-Summary-Value/Card-Summary-Value.tsx +39 -0
  110. package/src/components/Card/Card-Summary-Value/__test__/Card-Summary-Value.test.tsx +43 -0
  111. package/src/components/Card/Card-Summary-Value/index.ts +3 -0
  112. package/src/components/Card/Card-Summary-Value/stories/Card-Summary-Value.stories.tsx +60 -0
  113. package/src/components/Card/Card-Summary-Value/styles/Card-Summary-Value.layout.scss +7 -0
  114. package/src/components/Card/index.ts +4 -0
  115. package/src/components/Containers/Center-Container/Center-Container.tsx +40 -0
  116. package/src/components/Containers/Center-Container/__test__/Center-Container.test.tsx +39 -0
  117. package/src/components/Containers/Center-Container/index.ts +3 -0
  118. package/src/components/Containers/Center-Container/stories/Center-Container.stories.tsx +35 -0
  119. package/src/components/Containers/Center-Container/stories/storiesStyle.scss +10 -0
  120. package/src/components/Containers/Center-Container/styles/Center-Container.layout.scss +6 -0
  121. package/src/components/Containers/Flex/Flex.tsx +93 -0
  122. package/src/components/Containers/Flex/__test__/Flex.test.tsx +359 -0
  123. package/src/components/Containers/Flex/index.ts +3 -0
  124. package/src/components/Containers/Flex/stories/Flex.stories.tsx +73 -0
  125. package/src/components/Containers/Flex/stories/storiesStyle.scss +6 -0
  126. package/src/components/Containers/Flex/styles/Flex.layout.scss +54 -0
  127. package/src/components/Containers/Horizontal-Scroll-Container/Horizontal-Scroll-Container.tsx +51 -0
  128. package/src/components/Containers/Horizontal-Scroll-Container/__test__/Horizontal-Scroll-Container.test.tsx +50 -0
  129. package/src/components/Containers/Horizontal-Scroll-Container/index.ts +3 -0
  130. package/src/components/Containers/Horizontal-Scroll-Container/stories/Horizontal-Scroll-Container.stories.tsx +89 -0
  131. package/src/components/Containers/Horizontal-Scroll-Container/styles/Horizontal-Scroll-Container.layout.scss +12 -0
  132. package/src/components/Containers/Horizontal-Scroll-Item/Horizontal-Scroll-Item.tsx +48 -0
  133. package/src/components/Containers/Horizontal-Scroll-Item/__test__/Horizontal-Scroll-Item.test.tsx +50 -0
  134. package/src/components/Containers/Horizontal-Scroll-Item/index.ts +3 -0
  135. package/src/components/Containers/Horizontal-Scroll-Item/stories/Horizontal-Scroll-Item.stories.tsx +59 -0
  136. package/src/components/Containers/Horizontal-Scroll-Item/styles/Horizontal-Scroll-Item.layout.scss +5 -0
  137. package/src/components/Containers/Loading-Container/Loading-Container.tsx +100 -0
  138. package/src/components/Containers/Loading-Container/__test__/Loading-Container.test.tsx +197 -0
  139. package/src/components/Containers/Loading-Container/index.ts +3 -0
  140. package/src/components/Containers/Loading-Container/stories/Loading-Container.stories.tsx +113 -0
  141. package/src/components/Containers/Loading-Container/styles/Loading-Container.layout.scss +13 -0
  142. package/src/components/Containers/View/View.tsx +57 -0
  143. package/src/components/Containers/View/__test__/View.test.tsx +61 -0
  144. package/src/components/Containers/View/index.ts +3 -0
  145. package/src/components/Containers/View/stories/View.stories.tsx +60 -0
  146. package/src/components/Containers/View/stories/storiesStyle.scss +12 -0
  147. package/src/components/Containers/View/styles/View.layout.scss +6 -0
  148. package/src/components/Containers/View/styles/View.theme.scss +7 -0
  149. package/src/components/Containers/index.ts +7 -0
  150. package/src/components/Date-Selector/Date-Selector.tsx +266 -0
  151. package/src/components/Date-Selector/__test__/Date-Selector.test.tsx +435 -0
  152. package/src/components/Date-Selector/components/Date-Component-Navigation/Date-Component-Navigation.tsx +178 -0
  153. package/src/components/Date-Selector/components/Date-Component-Navigation/__test__/Date-Component-Navigation.test.tsx +297 -0
  154. package/src/components/Date-Selector/components/Date-Component-Navigation/styles/Date-Component-Navigation.layout.scss +26 -0
  155. package/src/components/Date-Selector/components/Date-Component-Navigation/styles/Date-Component-Navigation.theme.scss +12 -0
  156. package/src/components/Date-Selector/components/Date-Day-Name/Date-Day-Name.tsx +52 -0
  157. package/src/components/Date-Selector/components/Date-Day-Name/__test__/Date-Day-Name.test.tsx +52 -0
  158. package/src/components/Date-Selector/components/Date-Day-Name/styles/Date-Day-Name.layout.scss +5 -0
  159. package/src/components/Date-Selector/components/Date-Day-Name/styles/Date-Day-Name.theme.scss +4 -0
  160. package/src/components/Date-Selector/components/Date-Day-Number/Date-Day-Number.tsx +119 -0
  161. package/src/components/Date-Selector/components/Date-Day-Number/__test__/Date-Day-Number.test.tsx +201 -0
  162. package/src/components/Date-Selector/components/Date-Day-Number/styles/Date-Day-Number.layout.scss +22 -0
  163. package/src/components/Date-Selector/components/Date-Day-Number/styles/Date-Day-Number.theme.scss +15 -0
  164. package/src/components/Date-Selector/components/Date-Days-Grid/Date-Days-Grid.tsx +300 -0
  165. package/src/components/Date-Selector/components/Date-Days-Grid/__test__/Date-Days-Grid.test.tsx +536 -0
  166. package/src/components/Date-Selector/components/Date-Days-Grid/styles/Date-Days-Grid.layout.scss +11 -0
  167. package/src/components/Date-Selector/components/Date-Days-Grid/styles/Date-Days-Grid.theme.scss +3 -0
  168. package/src/components/Date-Selector/components/Date-Selector-Header/Date-Selector-Header.tsx +65 -0
  169. package/src/components/Date-Selector/components/Date-Selector-Header/__test__/Date-Selector-Header.test.tsx +101 -0
  170. package/src/components/Date-Selector/components/Date-Selector-Header/styles/Date-Selector-Header.layout.scss +27 -0
  171. package/src/components/Date-Selector/components/Date-Selector-Header/styles/Date-Selector-Header.theme.scss +4 -0
  172. package/src/components/Date-Selector/index.ts +3 -0
  173. package/src/components/Date-Selector/stories/Date-Selector.stories.tsx +140 -0
  174. package/src/components/Date-Selector/stories/storiesStyle.scss +4 -0
  175. package/src/components/Date-Selector/styles/Date-Selector.layout.scss +36 -0
  176. package/src/components/Date-Selector/styles/Date-Selector.shared.scss +4 -0
  177. package/src/components/Date-Selector/styles/Date-Selector.theme.scss +9 -0
  178. package/src/components/Date-Selector/types/index.ts +77 -0
  179. package/src/components/Date-Selector/utils/__test__/Date-Selector-Utils.test.ts +62 -0
  180. package/src/components/Date-Selector/utils/index.ts +76 -0
  181. package/src/components/Dialog/Dialog.tsx +213 -0
  182. package/src/components/Dialog/__test__/Dialog.test.tsx +220 -0
  183. package/src/components/Dialog/index.ts +3 -0
  184. package/src/components/Dialog/stories/Dialog.stories.tsx +124 -0
  185. package/src/components/Dialog/styles/Dialog.layout.scss +38 -0
  186. package/src/components/Dialog/styles/Dialog.theme.scss +21 -0
  187. package/src/components/Errors/Component-Error/Component-Error.tsx +92 -0
  188. package/src/components/Errors/Component-Error/__test__/Component-Error.test.tsx +93 -0
  189. package/src/components/Errors/Component-Error/index.ts +3 -0
  190. package/src/components/Errors/Component-Error/stories/Component-Error.stories.tsx +55 -0
  191. package/src/components/Errors/Component-Error/stories/storiesStyle.scss +4 -0
  192. package/src/components/Errors/Component-Error/styles/Component-Error.layout.scss +27 -0
  193. package/src/components/Errors/Component-Error/styles/Component-Error.theme.scss +12 -0
  194. package/src/components/Errors/Full-Screen-Error/Full-Screen-Error.tsx +91 -0
  195. package/src/components/Errors/Full-Screen-Error/__test__/Full-Screen-Error.test.tsx +81 -0
  196. package/src/components/Errors/Full-Screen-Error/index.ts +3 -0
  197. package/src/components/Errors/Full-Screen-Error/stories/Full-Screen-Error.stories.tsx +69 -0
  198. package/src/components/Errors/Full-Screen-Error/styles/Full-Screen-Error.layout.scss +26 -0
  199. package/src/components/Errors/Full-Screen-Error/styles/Full-Screen-Error.theme.scss +7 -0
  200. package/src/components/Errors/index.ts +3 -0
  201. package/src/components/Example/Example.tsx +51 -0
  202. package/src/components/Example/__test__/Example.test.tsx +12 -0
  203. package/src/components/Example/index.ts +3 -0
  204. package/src/components/Example/stories/Example.stories.tsx +48 -0
  205. package/src/components/Example/stories/storiesStyle.scss +4 -0
  206. package/src/components/Example/styles/Example.layout.scss +3 -0
  207. package/src/components/Example/styles/Example.theme.scss +8 -0
  208. package/src/components/External-Links/External-Links.tsx +93 -0
  209. package/src/components/External-Links/__test__/External-Links.test.tsx +81 -0
  210. package/src/components/External-Links/index.ts +3 -0
  211. package/src/components/External-Links/stories/External-Links.stories.tsx +111 -0
  212. package/src/components/External-Links/stories/storiesStyle.scss +7 -0
  213. package/src/components/External-Links/styles/External-Links.layout.scss +14 -0
  214. package/src/components/External-Links/styles/External-Links.theme.scss +4 -0
  215. package/src/components/Footer/Footer.tsx +56 -0
  216. package/src/components/Footer/__test__/Footer.test.tsx +63 -0
  217. package/src/components/Footer/index.ts +3 -0
  218. package/src/components/Footer/stories/Footer.stories.tsx +52 -0
  219. package/src/components/Footer/stories/storiesStyle.scss +5 -0
  220. package/src/components/Footer/styles/Footer.layout.scss +13 -0
  221. package/src/components/Footer/styles/Footer.theme.scss +4 -0
  222. package/src/components/Form/Form-Container/Form-Container.tsx +62 -0
  223. package/src/components/Form/Form-Container/__test__/Form-Container.test.tsx +75 -0
  224. package/src/components/Form/Form-Container/index.ts +3 -0
  225. package/src/components/Form/Form-Container/stories/Form-Container.stories.tsx +105 -0
  226. package/src/components/Form/Form-Container/styles/Form-Container.layout.scss +2 -0
  227. package/src/components/Form/Form-Container/styles/Form-Container.theme.scss +2 -0
  228. package/src/components/Form/Form-Input-Container/Form-Input-Container.tsx +61 -0
  229. package/src/components/Form/Form-Input-Container/__test__/Form-Input-Container.test.tsx +97 -0
  230. package/src/components/Form/Form-Input-Container/index.ts +3 -0
  231. package/src/components/Form/Form-Input-Container/stories/Form-Input-Container.stories.tsx +72 -0
  232. package/src/components/Form/Form-Input-Container/styles/Form-Input-Container.layout.scss +2 -0
  233. package/src/components/Form/Form-Input-Container/styles/Form-Input-Container.theme.scss +2 -0
  234. package/src/components/Form/Form-Types.ts +20 -0
  235. package/src/components/Form/Inputs/Input-Label/Input-Label.tsx +110 -0
  236. package/src/components/Form/Inputs/Input-Label/index.ts +3 -0
  237. package/src/components/Form/Inputs/Input-Label/styles/Input-Label.layout.scss +35 -0
  238. package/src/components/Form/Inputs/Input-Label/styles/Input-Label.theme.scss +7 -0
  239. package/src/components/Form/Inputs/Submit-Button/Submit-Button.tsx +61 -0
  240. package/src/components/Form/Inputs/Submit-Button/index.ts +3 -0
  241. package/src/components/Form/Inputs/Submit-Button/styles/Submit-Button.layout.scss +11 -0
  242. package/src/components/Form/Inputs/Submit-Button/styles/Submit-Button.theme.scss +6 -0
  243. package/src/components/Form/Inputs/Text-Input/Text-Input.tsx +100 -0
  244. package/src/components/Form/Inputs/Text-Input/index.ts +3 -0
  245. package/src/components/Form/Inputs/Text-Input/styles/Text-Input.layout.scss +12 -0
  246. package/src/components/Form/Inputs/Text-Input/styles/Text-Input.theme.scss +10 -0
  247. package/src/components/Form/Inputs/sharedStyles.scss +11 -0
  248. package/src/components/Form/Modular/Form-Contexts-Repository.ts +26 -0
  249. package/src/components/Form/Modular/Form-Data-Context.ts +11 -0
  250. package/src/components/Form/Modular/Hooks.ts +127 -0
  251. package/src/components/Form/Modular/Parent-Form-Context-Provider.tsx +22 -0
  252. package/src/components/Form/Sub-Form-Container/Sub-Form-Container.tsx +83 -0
  253. package/src/components/Form/Sub-Form-Container/__test__/Sub-Form-Container.test.tsx +82 -0
  254. package/src/components/Form/Sub-Form-Container/index.ts +3 -0
  255. package/src/components/Form/Sub-Form-Container/stories/Sub-Form-Container.stories.tsx +121 -0
  256. package/src/components/Form/Sub-Form-Container/styles/Sub-Form-Container.layout.scss +7 -0
  257. package/src/components/Form/Sub-Form-Container/styles/Sub-Form-Container.theme.scss +19 -0
  258. package/src/components/Form/index.ts +12 -0
  259. package/src/components/Icon/Icon.tsx +71 -0
  260. package/src/components/Icon/__test__/Icon.test.tsx +56 -0
  261. package/src/components/Icon/index.ts +3 -0
  262. package/src/components/Icon/stories/Icon.stories.tsx +98 -0
  263. package/src/components/Icon/styles/Icon.layout.scss +8 -0
  264. package/src/components/Icon/styles/Icon.theme.scss +0 -0
  265. package/src/components/Images/Hero/Hero.tsx +59 -0
  266. package/src/components/Images/Hero/__test__/Hero.test.tsx +102 -0
  267. package/src/components/Images/Hero/index.ts +3 -0
  268. package/src/components/Images/Hero/stories/Hero.stories.tsx +52 -0
  269. package/src/components/Images/Hero/stories/storyStyles.scss +3 -0
  270. package/src/components/Images/Hero/styles/Hero.layout.scss +13 -0
  271. package/src/components/Images/Image/Image.tsx +134 -0
  272. package/src/components/Images/Image/__test__/Image.test.tsx +149 -0
  273. package/src/components/Images/Image/index.ts +3 -0
  274. package/src/components/Images/Image/stories/Image.stories.tsx +90 -0
  275. package/src/components/Images/Image/stories/storyStyles.scss +3 -0
  276. package/src/components/Images/Image/styles/Image.layout.scss +48 -0
  277. package/src/components/Images/Multi-Image-Viewer/Multi-Image-Viewer.tsx +199 -0
  278. package/src/components/Images/Multi-Image-Viewer/__test__/Multi-Image-Viewer.test.tsx +317 -0
  279. package/src/components/Images/Multi-Image-Viewer/index.ts +3 -0
  280. package/src/components/Images/Multi-Image-Viewer/stories/Multi-Image-Viewer.stories.tsx +155 -0
  281. package/src/components/Images/Multi-Image-Viewer/stories/storiesStyle.scss +8 -0
  282. package/src/components/Images/Multi-Image-Viewer/styles/Multi-Image-Viewer.layout.scss +29 -0
  283. package/src/components/Images/Multi-Image-Viewer/styles/Multi-Image-Viewer.theme.scss +3 -0
  284. package/src/components/Images/index.ts +4 -0
  285. package/src/components/Loaders/Loader/Loader.tsx +77 -0
  286. package/src/components/Loaders/Loader/__test__/Loader.test.tsx +51 -0
  287. package/src/components/Loaders/Loader/index.ts +3 -0
  288. package/src/components/Loaders/Loader/stories/Loader.stories.tsx +49 -0
  289. package/src/components/Loaders/Loader/stories/storiesStyle.scss +7 -0
  290. package/src/components/Loaders/Loader/styles/Component-Loader.layout.scss +43 -0
  291. package/src/components/Loaders/Loader/styles/Component-Loader.theme.scss +9 -0
  292. package/src/components/Loaders/index.ts +2 -0
  293. package/src/components/Modal/Modal-Body/Modal-Body.tsx +52 -0
  294. package/src/components/Modal/Modal-Body/__test__/Modal-Body.test.tsx +61 -0
  295. package/src/components/Modal/Modal-Body/index.ts +3 -0
  296. package/src/components/Modal/Modal-Body/stories/Modal-Body.stories.tsx +75 -0
  297. package/src/components/Modal/Modal-Body/styles/Modal-Body.layout.scss +4 -0
  298. package/src/components/Modal/Modal-Container/Modal-Container.tsx +79 -0
  299. package/src/components/Modal/Modal-Container/__test__/Modal-Container.test.tsx +88 -0
  300. package/src/components/Modal/Modal-Container/index.ts +3 -0
  301. package/src/components/Modal/Modal-Container/stories/Modal-Container.stories.tsx +73 -0
  302. package/src/components/Modal/Modal-Container/stories/storiesStyle.scss +5 -0
  303. package/src/components/Modal/Modal-Container/styles/Modal-Container.layout.scss +21 -0
  304. package/src/components/Modal/Modal-Container/styles/Modal-Container.theme.scss +3 -0
  305. package/src/components/Modal/Modal-Header/Modal-Header.tsx +65 -0
  306. package/src/components/Modal/Modal-Header/__test__/Modal-Header.test.tsx +74 -0
  307. package/src/components/Modal/Modal-Header/index.ts +3 -0
  308. package/src/components/Modal/Modal-Header/stories/Modal-Header.stories.tsx +74 -0
  309. package/src/components/Modal/Modal-Header/styles/Modal-Header.layout.scss +15 -0
  310. package/src/components/Modal/Modal-Header/styles/Modal-Header.theme.scss +4 -0
  311. package/src/components/Modal/index.ts +4 -0
  312. package/src/components/Panel/Panel-Container/Panel-Container.tsx +47 -0
  313. package/src/components/Panel/Panel-Container/__test__/Panel-Container.test.tsx +50 -0
  314. package/src/components/Panel/Panel-Container/index.ts +3 -0
  315. package/src/components/Panel/Panel-Container/stories/Panel-Container.stories.tsx +49 -0
  316. package/src/components/Panel/Panel-Container/stories/storiesStyle.scss +3 -0
  317. package/src/components/Panel/Panel-Container/styles/Panel-Container.layout.scss +9 -0
  318. package/src/components/Panel/Panel-Container/styles/Panel-Container.theme.scss +4 -0
  319. package/src/components/Panel/Panel-Row/Panel-Row.tsx +80 -0
  320. package/src/components/Panel/Panel-Row/__test__/Panel-Row.test.tsx +45 -0
  321. package/src/components/Panel/Panel-Row/index.ts +3 -0
  322. package/src/components/Panel/Panel-Row/stories/Panel-Row.stories.tsx +57 -0
  323. package/src/components/Panel/Panel-Row/styles/Panel-Row.layout.scss +16 -0
  324. package/src/components/Panel/Panel-Title/Panel-Title.tsx +47 -0
  325. package/src/components/Panel/Panel-Title/__test__/Panel-Title.test.tsx +28 -0
  326. package/src/components/Panel/Panel-Title/index.ts +3 -0
  327. package/src/components/Panel/Panel-Title/stories/Panel-Title.stories.tsx +47 -0
  328. package/src/components/Panel/Panel-Title/styles/Panel-Title.layout.scss +7 -0
  329. package/src/components/Panel/Panel-Title/styles/Panel-Title.theme.scss +3 -0
  330. package/src/components/Panel/index.ts +4 -0
  331. package/src/components/Quantity-Counter/Quantity-Counter.tsx +73 -0
  332. package/src/components/Quantity-Counter/__test__/Quantity-Counter.test.tsx +75 -0
  333. package/src/components/Quantity-Counter/index.ts +3 -0
  334. package/src/components/Quantity-Counter/stories/Quantity-Counter.stories.tsx +26 -0
  335. package/src/components/Quantity-Counter/styles/Quantity-Counter.layout.scss +18 -0
  336. package/src/components/Quantity-Counter/styles/Quantity-Counter.theme.scss +3 -0
  337. package/src/hooks/useClickOutside.ts +21 -0
  338. package/src/hooks/useDisableBodyScroll.ts +15 -0
  339. package/src/icons/index.ts +50 -0
  340. package/src/icons/svg/ChevronDoubleLeft.svg +4 -0
  341. package/src/icons/svg/ChevronDoubleRight.svg +4 -0
  342. package/src/icons/svg/ChevronSingleLeft.svg +3 -0
  343. package/src/icons/svg/ChevronSingleRight.svg +3 -0
  344. package/src/icons/svg/about.svg +3 -0
  345. package/src/icons/svg/cart.svg +5 -0
  346. package/src/icons/svg/dashboard.svg +13 -0
  347. package/src/icons/svg/delete.svg +3 -0
  348. package/src/icons/svg/dropdown_down.svg +3 -0
  349. package/src/icons/svg/dropdown_up.svg +3 -0
  350. package/src/icons/svg/edit.svg +4 -0
  351. package/src/icons/svg/home.svg +3 -0
  352. package/src/icons/svg/loader.svg +10 -0
  353. package/src/icons/svg/logout.svg +12 -0
  354. package/src/icons/svg/orders.svg +3 -0
  355. package/src/icons/svg/products.svg +11 -0
  356. package/src/icons/svg/profile.svg +3 -0
  357. package/src/icons/svg/settings.svg +3 -0
  358. package/src/icons/svg/star-empty.svg +3 -0
  359. package/src/icons/svg/star-full.svg +3 -0
  360. package/src/icons/svg/star-half.svg +4 -0
  361. package/src/icons/svg/upload.svg +4 -0
  362. package/src/icons/svg/users.svg +15 -0
  363. package/src/index.ts +35 -0
  364. package/src/index.tsx +6 -0
  365. package/src/pending_components/form/check-box/check-box.js +30 -0
  366. package/src/pending_components/form/check-box/check-box.scss +34 -0
  367. package/src/pending_components/form/clickable-button/clickable-button.js +30 -0
  368. package/src/pending_components/form/clickable-button/clickable-button.scss +24 -0
  369. package/src/pending_components/form/dropdown-select/dropdown-select.js +87 -0
  370. package/src/pending_components/form/dropdown-select/dropdown-select.scss +108 -0
  371. package/src/pending_components/form/external-links-array-input/external-link-array-input.scss +39 -0
  372. package/src/pending_components/form/external-links-array-input/external-links-array-input.js +234 -0
  373. package/src/pending_components/form/form/form.js +17 -0
  374. package/src/pending_components/form/form/form.scss +0 -0
  375. package/src/pending_components/form/form-group/form-group.js +20 -0
  376. package/src/pending_components/form/form-group/form-group.scss +21 -0
  377. package/src/pending_components/form/input-field/input-field.js +57 -0
  378. package/src/pending_components/form/input-field/input-field.scss +22 -0
  379. package/src/pending_components/form/input-file/input-file.js +124 -0
  380. package/src/pending_components/form/input-file/input-file.scss +76 -0
  381. package/src/pending_components/form/input-label/input-label.js +47 -0
  382. package/src/pending_components/form/input-label/input-label.scss +17 -0
  383. package/src/pending_components/form/radio-button/radio-button.js +37 -0
  384. package/src/pending_components/form/radio-button/radio-button.scss +18 -0
  385. package/src/pending_components/form/submit-button/submit-button.js +18 -0
  386. package/src/pending_components/form/submit-button/submit-button.scss +24 -0
  387. package/src/pending_components/form/submit-button-fixed-button/submit-button-fixed-button.js +17 -0
  388. package/src/pending_components/form/submit-button-fixed-button/submit-button-fixed-button.scss +23 -0
  389. package/src/pending_components/form/submit-button-fixed-container/submit-button-fixed-container.js +9 -0
  390. package/src/pending_components/form/submit-button-fixed-container/submit-button-fixed-container.scss +15 -0
  391. package/src/pending_components/form/text-area/text-area.js +42 -0
  392. package/src/pending_components/form/text-area/text-area.scss +16 -0
  393. package/src/styles/_defaults.scss +22 -0
  394. package/src/styles/_fonts.scss +153 -0
  395. package/src/styles/_mixins.scss +33 -0
  396. package/src/styles/_spacings.scss +497 -0
  397. package/src/styles/_transitions.scss +27 -0
  398. package/src/styles/_typography.scss +85 -0
  399. package/src/styles/_variables.scss +5 -0
  400. package/src/styles/fonts/Dancing_Script/OFL.txt +93 -0
  401. package/src/styles/fonts/Dancing_Script/README.txt +66 -0
  402. package/src/styles/fonts/Dancing_Script/static/DancingScript-Bold.ttf +0 -0
  403. package/src/styles/fonts/Dancing_Script/static/DancingScript-Medium.ttf +0 -0
  404. package/src/styles/fonts/Dancing_Script/static/DancingScript-Regular.ttf +0 -0
  405. package/src/styles/fonts/Dancing_Script/static/DancingScript-SemiBold.ttf +0 -0
  406. package/src/styles/fonts/Poppins/OFL.txt +93 -0
  407. package/src/styles/fonts/Poppins/Poppins-Black.ttf +0 -0
  408. package/src/styles/fonts/Poppins/Poppins-BlackItalic.ttf +0 -0
  409. package/src/styles/fonts/Poppins/Poppins-Bold.ttf +0 -0
  410. package/src/styles/fonts/Poppins/Poppins-BoldItalic.ttf +0 -0
  411. package/src/styles/fonts/Poppins/Poppins-ExtraBold.ttf +0 -0
  412. package/src/styles/fonts/Poppins/Poppins-ExtraBoldItalic.ttf +0 -0
  413. package/src/styles/fonts/Poppins/Poppins-ExtraLight.ttf +0 -0
  414. package/src/styles/fonts/Poppins/Poppins-ExtraLightItalic.ttf +0 -0
  415. package/src/styles/fonts/Poppins/Poppins-Italic.ttf +0 -0
  416. package/src/styles/fonts/Poppins/Poppins-Light.ttf +0 -0
  417. package/src/styles/fonts/Poppins/Poppins-LightItalic.ttf +0 -0
  418. package/src/styles/fonts/Poppins/Poppins-Medium.ttf +0 -0
  419. package/src/styles/fonts/Poppins/Poppins-MediumItalic.ttf +0 -0
  420. package/src/styles/fonts/Poppins/Poppins-Regular.ttf +0 -0
  421. package/src/styles/fonts/Poppins/Poppins-SemiBold.ttf +0 -0
  422. package/src/styles/fonts/Poppins/Poppins-SemiBoldItalic.ttf +0 -0
  423. package/src/styles/fonts/Poppins/Poppins-Thin.ttf +0 -0
  424. package/src/styles/fonts/Poppins/Poppins-ThinItalic.ttf +0 -0
  425. package/src/styles/global.scss +113 -0
  426. package/src/styles/vars/_colors.scss +48 -0
  427. package/src/styles/vars/_fontSizes.scss +10 -0
  428. package/src/styles/vars/_layout.scss +67 -0
  429. package/src/styles/vars/_palette.scss +27 -0
  430. package/src/styles/vars/_transitions.scss +2 -0
  431. package/src/styles/vars_and_mixins.scss +2 -0
  432. package/src/types/IComponent.ts +9 -0
  433. package/src/types/IImageObject.ts +4 -0
  434. package/src/types/ILink.ts +4 -0
  435. package/src/types/IProduct.ts +6 -0
  436. package/src/types/ISpacingsProps.ts +28 -0
  437. package/src/types/ImageClickable.ts +3 -0
  438. package/src/types/Theme.ts +10 -0
  439. package/src/utils/arrays.ts +3 -0
  440. package/src/utils/styles.ts +128 -0
  441. package/src/utils/validations.ts +23 -0
  442. package/tsconfig.json +24 -0
  443. package/tslint.json +36 -0
  444. package/webpack.config.js +79 -0
  445. package/webpack.prod.js +24 -0
@@ -0,0 +1,49 @@
1
+ name: Deploy
2
+
3
+ on:
4
+ workflow_run:
5
+ workflows: ["Build and Test"]
6
+ branches: ["main", "beta"]
7
+ types:
8
+ - completed
9
+
10
+ jobs:
11
+ deploy:
12
+ runs-on: ubuntu-latest
13
+
14
+ steps:
15
+ - name: Checkout
16
+ uses: actions/checkout@v3
17
+
18
+ - name: Use Node.js 18
19
+ uses: actions/setup-node@v3
20
+ with:
21
+ node-version: 18.x
22
+
23
+ - name: npm install
24
+ run: |
25
+ npm install
26
+
27
+ - name: Build Storybook
28
+ run: |
29
+ npm run build-storybook
30
+
31
+ - name: Info
32
+ run: |
33
+ pwd
34
+ ls -l
35
+
36
+ - name: Configure AWS credentials
37
+ uses: aws-actions/configure-aws-credentials@v2
38
+ with:
39
+ aws-access-key-id: ${{ secrets.AWS_S3_ACCESS_KEY_ID }}
40
+ aws-secret-access-key: ${{ secrets.AWS_S3_ACCESS_KEY_SECRET }}
41
+ aws-region: ${{ secrets.AWS_S3_REGION }}
42
+
43
+ - name: Deploy
44
+ run: aws s3 sync ./storybook-static s3://${{ secrets.AWS_S3_BUCKET_NAME }}
45
+ # References
46
+ # https://faun.pub/deploying-website-to-aws-s3-w-github-actions-279998db5dae
47
+ # https://github.com/aws-actions/configure-aws-credentials
48
+ # https://github.com/marketplace/actions/upload-s3
49
+ # https://medium.com/tradeling/how-to-upload-files-on-amazon-s3-using-githubactions-ffe1243331ed
@@ -0,0 +1,55 @@
1
+ name: Build and Test
2
+
3
+ on:
4
+ push:
5
+ branches: ["main", "beta"]
6
+ pull_request:
7
+ branches: ["main", "beta"]
8
+
9
+ jobs:
10
+ build:
11
+ runs-on: ubuntu-latest
12
+
13
+ strategy:
14
+ matrix:
15
+ node-version: [14.x, 15.x, 16.x, 17.x, 18.x]
16
+
17
+ steps:
18
+ - name: Checkout
19
+ uses: actions/checkout@v3
20
+
21
+ - name: Use Node.js ${{ matrix.node-version }}
22
+ uses: actions/setup-node@v3
23
+ with:
24
+ node-version: ${{ matrix.node-version }}
25
+
26
+ - name: npm install
27
+ run: |
28
+ npm install
29
+
30
+ - name: Lint
31
+ run: |
32
+ npm run lint
33
+
34
+ - name: Unit Tests
35
+ run: |
36
+ npm run test-coverage
37
+
38
+ - name: Current Path and Files
39
+ run: |
40
+ pwd
41
+ ls -l
42
+
43
+ - name: Upload Test Coverage Results to Github
44
+ uses: actions/upload-artifact@v3
45
+ with:
46
+ name: Test Coverage Results for Node ${{ matrix.node-version }}
47
+ path: coverage
48
+
49
+ - name: Build Webpack
50
+ run: |
51
+ npm run build
52
+
53
+ - name: Build Storybook
54
+ run: |
55
+ npm run build-storybook
@@ -0,0 +1,41 @@
1
+ name: Release
2
+
3
+ on:
4
+ workflow_run:
5
+ workflows: ["Deploy"]
6
+ branches: ["main", "beta"]
7
+ types:
8
+ - completed
9
+
10
+ jobs:
11
+ release:
12
+ runs-on: ubuntu-latest
13
+
14
+ steps:
15
+ - name: Checkout
16
+ uses: actions/checkout@v3
17
+
18
+ - name: Use Node.js 18.x
19
+ uses: actions/setup-node@v3
20
+ with:
21
+ node-version: 18.x
22
+
23
+ - name: npm clean install
24
+ run: |
25
+ npm clean-install
26
+
27
+ - name: Install semantic-release additional plugins
28
+ run: npm install --save-dev @semantic-release/changelog @semantic-release/git
29
+
30
+ - name: Build
31
+ run: |
32
+ npm run build
33
+
34
+ - name: Release
35
+ env:
36
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
37
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
38
+ run: npx semantic-release
39
+ # References
40
+ # https://dev.to/kouts/automated-versioning-and-package-publishing-using-github-actions-and-semantic-release-1kce
41
+ # https://stackoverflow.com/questions/58311847/github-action-for-updating-package-json
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env sh
2
+ . "$(dirname -- "$0")/_/husky.sh"
3
+
4
+ npx --no-install commitlint --edit
@@ -0,0 +1,51 @@
1
+ const webpackConfig = require("../webpack.config");
2
+
3
+ module.exports = {
4
+ stories: ["../src/**/*.stories.mdx", "../src/**/*.stories.@(js|jsx|ts|tsx)"],
5
+ addons: [
6
+ "@storybook/addon-links",
7
+ "@storybook/addon-essentials",
8
+ "@storybook/addon-interactions",
9
+ ],
10
+ framework: "@storybook/react",
11
+ core: {
12
+ builder: "@storybook/builder-webpack5",
13
+ },
14
+ staticDirs: ["../public"],
15
+ // https://storybook.js.org/docs/react/builders/webpack#using-your-existing-config
16
+ webpackFinal: async (config) => {
17
+ return {
18
+ ...config,
19
+ module: {
20
+ ...config.module,
21
+ rules: [
22
+ ...webpackConfig.module.rules,
23
+ {
24
+ test: /\.mdx?$/,
25
+ use: [
26
+ {
27
+ loader: "@mdx-js/loader",
28
+ options: {},
29
+ },
30
+ ],
31
+ },
32
+ {
33
+ test: /(.*\.)?stories\.tsx$/,
34
+ loader: "@storybook/source-loader",
35
+ },
36
+ ],
37
+ },
38
+ resolve: {
39
+ plugins: [...webpackConfig.resolve.plugins],
40
+ extensions: [
41
+ ...config.resolve.extensions,
42
+ ...webpackConfig.resolve.extensions,
43
+ ],
44
+ alias: {
45
+ ...config.resolve.alias,
46
+ ...webpackConfig.resolve.alias,
47
+ },
48
+ },
49
+ };
50
+ },
51
+ };
@@ -0,0 +1,9 @@
1
+ export const parameters = {
2
+ actions: { argTypesRegex: "^on[A-Z].*" },
3
+ controls: {
4
+ matchers: {
5
+ color: /(background|color)$/i,
6
+ date: /Date$/,
7
+ },
8
+ },
9
+ }
package/CHANGELOG.md ADDED
@@ -0,0 +1,20 @@
1
+ # [1.1.0](https://github.com/asyrul21/reso-ui/compare/v1.0.0...v1.1.0) (2023-06-22)
2
+
3
+
4
+ ### Features
5
+
6
+ * **rename:** replace component loader component with Loader and add fullscreen and text props ([33e4d26](https://github.com/asyrul21/reso-ui/commit/33e4d26d278d3f4a12e3bdbb941a6605ef289996))
7
+
8
+ # 1.0.0 (2023-06-22)
9
+
10
+
11
+ ### Features
12
+
13
+ * reso-ui initial commit and reset App.tsx ([d26f0b1](https://github.com/asyrul21/reso-ui/commit/d26f0b1ebeedb2af9213e679d77f339997fed703))
14
+
15
+ # 1.0.0 (2023-06-22)
16
+
17
+
18
+ ### Features
19
+
20
+ * reso-ui initial commit and reset App.tsx ([9bf7a9f](https://github.com/asyrul21/reso-ui/commit/9bf7a9f1358d71dc8c736fe45019a10f8c21dc9a))
package/README.md ADDED
@@ -0,0 +1,209 @@
1
+ # Reso UI (Beta/Pre-release)
2
+
3
+ PLEASE NOTE THAT THIS LIBRARY IS STILL UNDER DEVELOPMENT AND MAY STILL HAVE MISSING CRUCIAL INFORMATION
4
+
5
+ Home to reusable react components to Reso Applications.
6
+
7
+ For more information, please see our [Storybook instance](http://reso-ui-storybook.s3-website-ap-southeast-1.amazonaws.com/).
8
+
9
+ ## Install
10
+
11
+ ```bash
12
+ npm install reso-ui
13
+ ```
14
+
15
+ ## Import Components
16
+
17
+ You can import our ExampleComponent as below:
18
+
19
+ ```javascript
20
+ import { Example } from "reso-ui";
21
+ ```
22
+
23
+ For other components, please see our [Storybook instance](http://reso-ui-storybook.s3-website-ap-southeast-1.amazonaws.com/) for information on import statements and component properties.
24
+
25
+ ## Using the Component
26
+
27
+ You can then use our ExampleComponent as below:
28
+
29
+ ```jsx
30
+ import { Example } from "reso-ui";
31
+
32
+ export const SampleApp = () => {
33
+ return (
34
+ <Example theme="light" name="john" rootClassName="example_app_styles" />
35
+ );
36
+ };
37
+ ```
38
+
39
+ For other components, please see our [Storybook instance](http://reso-ui-storybook.s3-website-ap-southeast-1.amazonaws.com/) for information on components' usage.
40
+
41
+ # Authors' Notes
42
+
43
+ If you are not insterested in contributing, please ignore this section.
44
+
45
+ ## Run
46
+
47
+ ```bash
48
+ # storybook
49
+ npm run dev
50
+
51
+ # or
52
+
53
+ # run a single component imported in src/index.tsx
54
+ npm start
55
+
56
+ ```
57
+
58
+ ## Changes from Original
59
+
60
+ 1. ImageContainer and Image are now combined to form 1 component: Image
61
+
62
+ 2. BannerImageContainer were removed, replaced with Hero
63
+
64
+ 3. Flex Container now have Margins and Padding props
65
+
66
+ 4. Loading-Component and Loading-Container has been combined to form 1 component: Loading-Container, with a _type_ prop. For Layer type (previously Component Loader), with width has been made `fit-content`. May need to change widths of table containers accordingly.
67
+
68
+ 5. Popup-container renamed to Modal
69
+
70
+ 6. Banner-Image-Container renamed to Hero
71
+
72
+ 7. multi-image-container renamed to Multi-Image-Viewer. [setViewedIndex] renamed to [setIndexOverride]. [getMiniImagePath] hook only passes the imageObj as argument. Any processing related to image types etc. is done by client.
73
+
74
+ 8. Admin-Product-Panel - sales count logic is taken out from component, removed dependency on Product all together. rename onToggleArchive to onArchive. Admin-Product-Panel has been decomposed into several Panel primitive components. Clients _need to rewrite Admin-Product-Panel and Admin-User-Panel in reso-client using the library_.
75
+
76
+ 9. Add to Cart to be rewritted using library components.
77
+
78
+ 10. Generic-Button renamed to Button. [fullWidth] prop renamed to [inheritWidth]
79
+
80
+ 11. Link-Button added as a variant of Button.
81
+
82
+ 12. Multiselect Button to utilize library's Button component with custom width and height.
83
+
84
+ 13. Collapse-Banner and Info-Banner combined to form 1 Component: Banner.
85
+
86
+ 14. Dashboard/Card and Product-Card to be combined into 1 component: Card. Both of these components will need to be rewritten using library components.
87
+
88
+ 15. Modal has been decomposed to 3 parts - Container, Header, Body
89
+
90
+ 16. All components now have an optional prop _theme_
91
+
92
+ 17. Confirmation Dialog now has `type` prop to either ask yes/no questions or just an 'OK' button. Prop `question` replaced with `header`
93
+
94
+ 18. Footer is now made more generic, in which you can pass children to render whatever you want.
95
+
96
+ 19. FormGroup component is now replaced with SubForm. The `heading` prop is replaced with `title`
97
+
98
+ 20. InputLabel [value] prop is replaced with [descriptionSelectedKey]
99
+
100
+ 21. ComponentLoader is replaced with Loader, and combined with FullScreenLoader
101
+
102
+ ## To Be Reconstructed using library in Client
103
+
104
+ 1. Generic Modal for Popups that utilise libary components
105
+
106
+ 2. Admin-Product-Panel
107
+
108
+ 3. Admin-User-Panel
109
+
110
+ 4. Add-To-Cart
111
+
112
+ 5. Update Order Status Buttons
113
+
114
+ 6. Analysis Title
115
+
116
+ 7. Dashboard/Overview
117
+
118
+ 8. Dashboard/Card
119
+
120
+ 9. Product-Card
121
+
122
+ 10. Reso Footer
123
+
124
+ ## Development Setup
125
+
126
+ [Reference for Typescript and Webpack](https://dev.to/shivampawar/setup-react-application-using-typescript-and-webpack-2kn6)
127
+
128
+ [Jest](https://jestjs.io/docs/getting-started)
129
+
130
+ [React Webpack Typscript Jest](https://maxpolski.medium.com/react-typescript-webpack-jest-93a58c8458e5)
131
+
132
+ ## 1. Typescript
133
+
134
+ 1. Install
135
+
136
+ ```bash
137
+ npm install -D typescript ts-loader @types/node @types/react @types/react-dom
138
+ ```
139
+
140
+ 2. Create _tsconfig.json_
141
+
142
+ ## 2. Webpack
143
+
144
+ 1. Install
145
+
146
+ ```bash
147
+ # webpack
148
+ npm install webpack webpack-cli webpack-dev-server --save-dev
149
+
150
+ # webpack plugins to be used
151
+ npm install html-webpack-plugin sass sass-loader css-loader style-loader --save-dev url-loader
152
+ ```
153
+
154
+ NOTE: We dont need babel since we are using ts-loader
155
+
156
+ 2. Create `webpack.config.js`
157
+
158
+ ## 3. ts-lint
159
+
160
+ 1. Install
161
+
162
+ ```bash
163
+ npm install tslint tslint-react --save-dev
164
+ ```
165
+
166
+ 2. Create `tslint.json`
167
+
168
+ 3. Add lint command to `Package.json` script
169
+
170
+ ## 4. jest
171
+
172
+ 1. Install Globally
173
+
174
+ ```bash
175
+ npm intall jest --global
176
+ ```
177
+
178
+ 2. Install jest as devDependency
179
+
180
+ ```bash
181
+ # install jest
182
+ npm install jest jest-environment-jsdom --save-dev
183
+ # use ts-jest
184
+ npm install ts-jest @types/jest --save-dev
185
+ ```
186
+
187
+ 3. Generate `jestConfig.json` file
188
+
189
+ ```bash
190
+ jest --init
191
+ ```
192
+
193
+ ## 5. testing-library
194
+
195
+ 1. Install
196
+
197
+ ```bash
198
+ npm install --save-dev @testing-library/react @testing-library/jest-dom
199
+ ```
200
+
201
+ # Notes
202
+
203
+ 1. Light theme should be default. If no dark theme style is provided, it fallbacks to Light theme
204
+
205
+ -> Done. Hence every component MUST have a light theme.
206
+
207
+ 2. provided rootClassName should override theme classNames
208
+
209
+ -> Works, but Component imports must happen BEFORE style imports
@@ -0,0 +1,2 @@
1
+ // https://jestjs.io/docs/29.2/webpack
2
+ module.exports = "test-file-stub";
@@ -0,0 +1,2 @@
1
+ // https://jestjs.io/docs/29.2/webpack
2
+ module.exports = {};
@@ -0,0 +1,6 @@
1
+ module.exports = {
2
+ extends: ["@commitlint/config-conventional"],
3
+ rules: {
4
+ "subject-case": [2, "never", ["upper-case", "pascal-case", "start-case"]],
5
+ },
6
+ };
package/custom.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ declare module "*.svg" {
2
+ import React from "react";
3
+ const SVG: React.FunctionComponent<React.SVGAttributes<SVGElement>>;
4
+ export default SVG;
5
+ }
6
+
7
+ // https://stackoverflow.com/questions/44717164/unable-to-import-svg-files-in-typescript
8
+ // https://github.com/gregberge/svgr/issues/546
@@ -0,0 +1 @@
1
+ export default __webpack_public_path__ + "32743a4d0c4282e2070b574e6e5038ab.ttf";
@@ -0,0 +1 @@
1
+ export default __webpack_public_path__ + "404e299be26d78e6679447ea7cb2d41f.ttf";
@@ -0,0 +1 @@
1
+ export default __webpack_public_path__ + "cce5625b56ec678e42021270b84ef400.ttf";
@@ -0,0 +1 @@
1
+ export default __webpack_public_path__ + "ce3fff31c0f262aca227664f6f0d2fa2.ttf";
@@ -0,0 +1 @@
1
+ export default __webpack_public_path__ + "a61eaf4c2e4d44d6db6a576706e9e6ae.ttf";
@@ -0,0 +1 @@
1
+ export default __webpack_public_path__ + "3727d88dec67e1e78cf987dab60d9887.ttf";
@@ -0,0 +1 @@
1
+ export default __webpack_public_path__ + "4e8cea18952c83074ec35f7bf1b176c4.ttf";
@@ -0,0 +1 @@
1
+ export default __webpack_public_path__ + "09f84f6035cfbf7c3984b6177d36b516.ttf";
@@ -0,0 +1 @@
1
+ export default __webpack_public_path__ + "cc7ee35ca49c83d4cfca932a03139f99.ttf";
@@ -0,0 +1 @@
1
+ export default __webpack_public_path__ + "9445d60ed014306b6aec1c69bf9d0174.ttf";
@@ -0,0 +1 @@
1
+ export default __webpack_public_path__ + "f41b63c0bb0963ace821a2b99458c1cd.ttf";
@@ -0,0 +1 @@
1
+ export default __webpack_public_path__ + "eacee5bb9c7fee5939aebf2335e5106a.ttf";
@@ -0,0 +1 @@
1
+ export default __webpack_public_path__ + "fb248a35b11180453c6879a29d94eff4.ttf";
@@ -0,0 +1 @@
1
+ export default __webpack_public_path__ + "b10e7a6e913ca664cbdcb17894f9b419.ttf";
@@ -0,0 +1 @@
1
+ export default __webpack_public_path__ + "c76ea376f095f2e1e5138b226ad0f9cd.ttf";
@@ -0,0 +1 @@
1
+ export default __webpack_public_path__ + "0e407c5680c91e584bb084ebfb5c086b.ttf";
@@ -0,0 +1 @@
1
+ export default __webpack_public_path__ + "9e1bb626874ed49aa343d66b8d66ceaf.ttf";
@@ -0,0 +1 @@
1
+ export default __webpack_public_path__ + "4ed78cd5d64af4efc3c714622b9372d4.ttf";
@@ -0,0 +1 @@
1
+ export default __webpack_public_path__ + "8081832fc5cfbf634aa664a9eff0350e.ttf";
@@ -0,0 +1 @@
1
+ export default __webpack_public_path__ + "9f57e7d4017ef9b93ae75e2c86f00d60.ttf";
@@ -0,0 +1 @@
1
+ export default __webpack_public_path__ + "5ccd942a8800a68d44b6d3f5431909ec.ttf";
@@ -0,0 +1 @@
1
+ export default __webpack_public_path__ + "94b768c07879dde09ab4d5f6ad92cbc6.ttf";