@react5/ui 1.0.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 (425) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2 -0
  3. package/package.json +38 -0
  4. package/packages/app/README.md +50 -0
  5. package/packages/app/eslint.config.js +28 -0
  6. package/packages/app/index.html +13 -0
  7. package/packages/app/jest.config.js +13 -0
  8. package/packages/app/package.json +36 -0
  9. package/packages/app/public/vite.svg +1 -0
  10. package/packages/app/src/App.css +6 -0
  11. package/packages/app/src/App.tsx +16 -0
  12. package/packages/app/src/assets/react.svg +1 -0
  13. package/packages/app/src/i18n/config.ts +22 -0
  14. package/packages/app/src/i18n/en/translation.json +5 -0
  15. package/packages/app/src/i18n/fr/translation.json +5 -0
  16. package/packages/app/src/i18n/index.ts +3 -0
  17. package/packages/app/src/i18n/ns.ts +1 -0
  18. package/packages/app/src/index.css +0 -0
  19. package/packages/app/src/main.tsx +16 -0
  20. package/packages/app/src/styles/1-reset.scss +73 -0
  21. package/packages/app/src/styles/2-colors.scss +11 -0
  22. package/packages/app/src/vite-env.d.ts +1 -0
  23. package/packages/app/tsconfig.app.json +26 -0
  24. package/packages/app/tsconfig.json +7 -0
  25. package/packages/app/tsconfig.node.json +24 -0
  26. package/packages/app/vite.config.ts +7 -0
  27. package/packages/lib/.babelrc +9 -0
  28. package/packages/lib/.storybook/main.js +51 -0
  29. package/packages/lib/.storybook/preview.js +14 -0
  30. package/packages/lib/declaration.d.ts +10 -0
  31. package/packages/lib/dist/esm/index.esm.css +1320 -0
  32. package/packages/lib/dist/esm/index.esm.js +1 -0
  33. package/packages/lib/dist/esm/index.esm.js.map +1 -0
  34. package/packages/lib/dist/esm/index.esm.scss +1471 -0
  35. package/packages/lib/dist/index.css +1320 -0
  36. package/packages/lib/dist/index.js +1 -0
  37. package/packages/lib/dist/index.js.map +1 -0
  38. package/packages/lib/dist/index.scss +1471 -0
  39. package/packages/lib/dist/types/components/Accordion/Accordion.d.ts +11 -0
  40. package/packages/lib/dist/types/components/Accordion/Accordion.d.ts.map +1 -0
  41. package/packages/lib/dist/types/components/Accordion/index.d.ts +2 -0
  42. package/packages/lib/dist/types/components/Accordion/index.d.ts.map +1 -0
  43. package/packages/lib/dist/types/components/Button/Button.d.ts +14 -0
  44. package/packages/lib/dist/types/components/Button/Button.d.ts.map +1 -0
  45. package/packages/lib/dist/types/components/Button/Button.stories.d.ts +8 -0
  46. package/packages/lib/dist/types/components/Button/Button.stories.d.ts.map +1 -0
  47. package/packages/lib/dist/types/components/Button/index.d.ts +2 -0
  48. package/packages/lib/dist/types/components/Button/index.d.ts.map +1 -0
  49. package/packages/lib/dist/types/components/ButtonsGroup/ButtonsGroup.d.ts +9 -0
  50. package/packages/lib/dist/types/components/ButtonsGroup/ButtonsGroup.d.ts.map +1 -0
  51. package/packages/lib/dist/types/components/ButtonsGroup/ButtonsGroup.stories.d.ts +7 -0
  52. package/packages/lib/dist/types/components/ButtonsGroup/ButtonsGroup.stories.d.ts.map +1 -0
  53. package/packages/lib/dist/types/components/ButtonsGroup/ButtonsGroup.test.d.ts +2 -0
  54. package/packages/lib/dist/types/components/ButtonsGroup/ButtonsGroup.test.d.ts.map +1 -0
  55. package/packages/lib/dist/types/components/ButtonsGroup/index.d.ts +2 -0
  56. package/packages/lib/dist/types/components/ButtonsGroup/index.d.ts.map +1 -0
  57. package/packages/lib/dist/types/components/CheckBox/CheckBox.d.ts +16 -0
  58. package/packages/lib/dist/types/components/CheckBox/CheckBox.d.ts.map +1 -0
  59. package/packages/lib/dist/types/components/CheckBox/CheckBox.stories.d.ts +7 -0
  60. package/packages/lib/dist/types/components/CheckBox/CheckBox.stories.d.ts.map +1 -0
  61. package/packages/lib/dist/types/components/CheckBox/index.d.ts +2 -0
  62. package/packages/lib/dist/types/components/CheckBox/index.d.ts.map +1 -0
  63. package/packages/lib/dist/types/components/DialogPrompt/DialogPrompt.d.ts +14 -0
  64. package/packages/lib/dist/types/components/DialogPrompt/DialogPrompt.d.ts.map +1 -0
  65. package/packages/lib/dist/types/components/DialogPrompt/DialogPrompt.stories.d.ts +7 -0
  66. package/packages/lib/dist/types/components/DialogPrompt/DialogPrompt.stories.d.ts.map +1 -0
  67. package/packages/lib/dist/types/components/DialogPrompt/DialogPrompt.test.d.ts +2 -0
  68. package/packages/lib/dist/types/components/DialogPrompt/DialogPrompt.test.d.ts.map +1 -0
  69. package/packages/lib/dist/types/components/DialogPrompt/index.d.ts +2 -0
  70. package/packages/lib/dist/types/components/DialogPrompt/index.d.ts.map +1 -0
  71. package/packages/lib/dist/types/components/Divider/Divider.d.ts +9 -0
  72. package/packages/lib/dist/types/components/Divider/Divider.d.ts.map +1 -0
  73. package/packages/lib/dist/types/components/Divider/index.d.ts +2 -0
  74. package/packages/lib/dist/types/components/Divider/index.d.ts.map +1 -0
  75. package/packages/lib/dist/types/components/DropDown/DropDown.d.ts +15 -0
  76. package/packages/lib/dist/types/components/DropDown/DropDown.d.ts.map +1 -0
  77. package/packages/lib/dist/types/components/DropDown/DropDown.stories.d.ts +7 -0
  78. package/packages/lib/dist/types/components/DropDown/DropDown.stories.d.ts.map +1 -0
  79. package/packages/lib/dist/types/components/DropDown/index.d.ts +2 -0
  80. package/packages/lib/dist/types/components/DropDown/index.d.ts.map +1 -0
  81. package/packages/lib/dist/types/components/Form/Form.d.ts +10 -0
  82. package/packages/lib/dist/types/components/Form/Form.d.ts.map +1 -0
  83. package/packages/lib/dist/types/components/Form/Form.stories.d.ts +7 -0
  84. package/packages/lib/dist/types/components/Form/Form.stories.d.ts.map +1 -0
  85. package/packages/lib/dist/types/components/Form/index.d.ts +2 -0
  86. package/packages/lib/dist/types/components/Form/index.d.ts.map +1 -0
  87. package/packages/lib/dist/types/components/FormButtons/FormButtons.d.ts +9 -0
  88. package/packages/lib/dist/types/components/FormButtons/FormButtons.d.ts.map +1 -0
  89. package/packages/lib/dist/types/components/FormButtons/index.d.ts +2 -0
  90. package/packages/lib/dist/types/components/FormButtons/index.d.ts.map +1 -0
  91. package/packages/lib/dist/types/components/IconButton/IconButton.d.ts +15 -0
  92. package/packages/lib/dist/types/components/IconButton/IconButton.d.ts.map +1 -0
  93. package/packages/lib/dist/types/components/IconButton/index.d.ts +2 -0
  94. package/packages/lib/dist/types/components/IconButton/index.d.ts.map +1 -0
  95. package/packages/lib/dist/types/components/MenuItem/MenuItem.d.ts +13 -0
  96. package/packages/lib/dist/types/components/MenuItem/MenuItem.d.ts.map +1 -0
  97. package/packages/lib/dist/types/components/MenuItem/index.d.ts +2 -0
  98. package/packages/lib/dist/types/components/MenuItem/index.d.ts.map +1 -0
  99. package/packages/lib/dist/types/components/Modal/Modal.d.ts +29 -0
  100. package/packages/lib/dist/types/components/Modal/Modal.d.ts.map +1 -0
  101. package/packages/lib/dist/types/components/Modal/index.d.ts +2 -0
  102. package/packages/lib/dist/types/components/Modal/index.d.ts.map +1 -0
  103. package/packages/lib/dist/types/components/Navbar/Navbar.d.ts +8 -0
  104. package/packages/lib/dist/types/components/Navbar/Navbar.d.ts.map +1 -0
  105. package/packages/lib/dist/types/components/Navbar/Navbar.stories.d.ts +7 -0
  106. package/packages/lib/dist/types/components/Navbar/Navbar.stories.d.ts.map +1 -0
  107. package/packages/lib/dist/types/components/Navbar/index.d.ts +2 -0
  108. package/packages/lib/dist/types/components/Navbar/index.d.ts.map +1 -0
  109. package/packages/lib/dist/types/components/NavbarLink/NavbarLink.d.ts +12 -0
  110. package/packages/lib/dist/types/components/NavbarLink/NavbarLink.d.ts.map +1 -0
  111. package/packages/lib/dist/types/components/NavbarLink/index.d.ts +2 -0
  112. package/packages/lib/dist/types/components/NavbarLink/index.d.ts.map +1 -0
  113. package/packages/lib/dist/types/components/NavbarMenu/NavbarMenu.d.ts +19 -0
  114. package/packages/lib/dist/types/components/NavbarMenu/NavbarMenu.d.ts.map +1 -0
  115. package/packages/lib/dist/types/components/NavbarMenu/NavbarMenu.stories.d.ts +7 -0
  116. package/packages/lib/dist/types/components/NavbarMenu/NavbarMenu.stories.d.ts.map +1 -0
  117. package/packages/lib/dist/types/components/NavbarMenu/index.d.ts +2 -0
  118. package/packages/lib/dist/types/components/NavbarMenu/index.d.ts.map +1 -0
  119. package/packages/lib/dist/types/components/Panel/Panel.d.ts +10 -0
  120. package/packages/lib/dist/types/components/Panel/Panel.d.ts.map +1 -0
  121. package/packages/lib/dist/types/components/Panel/Panel.stories.d.ts +7 -0
  122. package/packages/lib/dist/types/components/Panel/Panel.stories.d.ts.map +1 -0
  123. package/packages/lib/dist/types/components/Panel/Panel.test.d.ts +2 -0
  124. package/packages/lib/dist/types/components/Panel/Panel.test.d.ts.map +1 -0
  125. package/packages/lib/dist/types/components/Panel/index.d.ts +2 -0
  126. package/packages/lib/dist/types/components/Panel/index.d.ts.map +1 -0
  127. package/packages/lib/dist/types/components/Paper/Paper.d.ts +9 -0
  128. package/packages/lib/dist/types/components/Paper/Paper.d.ts.map +1 -0
  129. package/packages/lib/dist/types/components/Paper/Paper.stories.d.ts +7 -0
  130. package/packages/lib/dist/types/components/Paper/Paper.stories.d.ts.map +1 -0
  131. package/packages/lib/dist/types/components/Paper/index.d.ts +2 -0
  132. package/packages/lib/dist/types/components/Paper/index.d.ts.map +1 -0
  133. package/packages/lib/dist/types/components/RangeSlider/RangeSlider.d.ts +18 -0
  134. package/packages/lib/dist/types/components/RangeSlider/RangeSlider.d.ts.map +1 -0
  135. package/packages/lib/dist/types/components/RangeSlider/RangeSlider.stories.d.ts +7 -0
  136. package/packages/lib/dist/types/components/RangeSlider/RangeSlider.stories.d.ts.map +1 -0
  137. package/packages/lib/dist/types/components/RangeSlider/index.d.ts +2 -0
  138. package/packages/lib/dist/types/components/RangeSlider/index.d.ts.map +1 -0
  139. package/packages/lib/dist/types/components/ResponsiveBar/ResponsiveBar.d.ts +10 -0
  140. package/packages/lib/dist/types/components/ResponsiveBar/ResponsiveBar.d.ts.map +1 -0
  141. package/packages/lib/dist/types/components/ResponsiveBar/index.d.ts +2 -0
  142. package/packages/lib/dist/types/components/ResponsiveBar/index.d.ts.map +1 -0
  143. package/packages/lib/dist/types/components/ScrollView/ScrollView.d.ts +9 -0
  144. package/packages/lib/dist/types/components/ScrollView/ScrollView.d.ts.map +1 -0
  145. package/packages/lib/dist/types/components/ScrollView/ScrollView.stories.d.ts +7 -0
  146. package/packages/lib/dist/types/components/ScrollView/ScrollView.stories.d.ts.map +1 -0
  147. package/packages/lib/dist/types/components/ScrollView/ScrollView.test.d.ts +2 -0
  148. package/packages/lib/dist/types/components/ScrollView/ScrollView.test.d.ts.map +1 -0
  149. package/packages/lib/dist/types/components/ScrollView/index.d.ts +2 -0
  150. package/packages/lib/dist/types/components/ScrollView/index.d.ts.map +1 -0
  151. package/packages/lib/dist/types/components/Section/Section.d.ts +11 -0
  152. package/packages/lib/dist/types/components/Section/Section.d.ts.map +1 -0
  153. package/packages/lib/dist/types/components/Section/index.d.ts +2 -0
  154. package/packages/lib/dist/types/components/Section/index.d.ts.map +1 -0
  155. package/packages/lib/dist/types/components/SelectField/SelectField.d.ts +24 -0
  156. package/packages/lib/dist/types/components/SelectField/SelectField.d.ts.map +1 -0
  157. package/packages/lib/dist/types/components/SelectField/SelectField.stories.d.ts +7 -0
  158. package/packages/lib/dist/types/components/SelectField/SelectField.stories.d.ts.map +1 -0
  159. package/packages/lib/dist/types/components/SelectField/index.d.ts +2 -0
  160. package/packages/lib/dist/types/components/SelectField/index.d.ts.map +1 -0
  161. package/packages/lib/dist/types/components/Spacer/Spacer.d.ts +3 -0
  162. package/packages/lib/dist/types/components/Spacer/Spacer.d.ts.map +1 -0
  163. package/packages/lib/dist/types/components/Spacer/index.d.ts +2 -0
  164. package/packages/lib/dist/types/components/Spacer/index.d.ts.map +1 -0
  165. package/packages/lib/dist/types/components/StackPanel/StackPanel.d.ts +16 -0
  166. package/packages/lib/dist/types/components/StackPanel/StackPanel.d.ts.map +1 -0
  167. package/packages/lib/dist/types/components/StackPanel/StackPanel.stories.d.ts +7 -0
  168. package/packages/lib/dist/types/components/StackPanel/StackPanel.stories.d.ts.map +1 -0
  169. package/packages/lib/dist/types/components/StackPanel/StackPanel.test.d.ts +2 -0
  170. package/packages/lib/dist/types/components/StackPanel/StackPanel.test.d.ts.map +1 -0
  171. package/packages/lib/dist/types/components/StackPanel/index.d.ts +2 -0
  172. package/packages/lib/dist/types/components/StackPanel/index.d.ts.map +1 -0
  173. package/packages/lib/dist/types/components/Submenu/Submenu.d.ts +14 -0
  174. package/packages/lib/dist/types/components/Submenu/Submenu.d.ts.map +1 -0
  175. package/packages/lib/dist/types/components/Submenu/Submenu.stories.d.ts +7 -0
  176. package/packages/lib/dist/types/components/Submenu/Submenu.stories.d.ts.map +1 -0
  177. package/packages/lib/dist/types/components/Submenu/index.d.ts +2 -0
  178. package/packages/lib/dist/types/components/Submenu/index.d.ts.map +1 -0
  179. package/packages/lib/dist/types/components/SuccessCongratulation/SuccessCongratulation.d.ts +12 -0
  180. package/packages/lib/dist/types/components/SuccessCongratulation/SuccessCongratulation.d.ts.map +1 -0
  181. package/packages/lib/dist/types/components/SuccessCongratulation/SuccessCongratulation.stories.d.ts +7 -0
  182. package/packages/lib/dist/types/components/SuccessCongratulation/SuccessCongratulation.stories.d.ts.map +1 -0
  183. package/packages/lib/dist/types/components/SuccessCongratulation/SuccessCongratulation.test.d.ts +2 -0
  184. package/packages/lib/dist/types/components/SuccessCongratulation/SuccessCongratulation.test.d.ts.map +1 -0
  185. package/packages/lib/dist/types/components/SuccessCongratulation/index.d.ts +2 -0
  186. package/packages/lib/dist/types/components/SuccessCongratulation/index.d.ts.map +1 -0
  187. package/packages/lib/dist/types/components/TextArea/TextArea.d.ts +20 -0
  188. package/packages/lib/dist/types/components/TextArea/TextArea.d.ts.map +1 -0
  189. package/packages/lib/dist/types/components/TextArea/TextArea.stories.d.ts +7 -0
  190. package/packages/lib/dist/types/components/TextArea/TextArea.stories.d.ts.map +1 -0
  191. package/packages/lib/dist/types/components/TextArea/index.d.ts +2 -0
  192. package/packages/lib/dist/types/components/TextArea/index.d.ts.map +1 -0
  193. package/packages/lib/dist/types/components/TextField/TextField.d.ts +31 -0
  194. package/packages/lib/dist/types/components/TextField/TextField.d.ts.map +1 -0
  195. package/packages/lib/dist/types/components/TextField/TextField.stories.d.ts +7 -0
  196. package/packages/lib/dist/types/components/TextField/TextField.stories.d.ts.map +1 -0
  197. package/packages/lib/dist/types/components/TextField/index.d.ts +2 -0
  198. package/packages/lib/dist/types/components/TextField/index.d.ts.map +1 -0
  199. package/packages/lib/dist/types/components/TitleEdit/TitleEdit.d.ts +14 -0
  200. package/packages/lib/dist/types/components/TitleEdit/TitleEdit.d.ts.map +1 -0
  201. package/packages/lib/dist/types/components/TitleEdit/index.d.ts +2 -0
  202. package/packages/lib/dist/types/components/TitleEdit/index.d.ts.map +1 -0
  203. package/packages/lib/dist/types/components/Toast/Toast.d.ts +11 -0
  204. package/packages/lib/dist/types/components/Toast/Toast.d.ts.map +1 -0
  205. package/packages/lib/dist/types/components/Toast/index.d.ts +2 -0
  206. package/packages/lib/dist/types/components/Toast/index.d.ts.map +1 -0
  207. package/packages/lib/dist/types/components/ToggleButton/ToggleButton.d.ts +16 -0
  208. package/packages/lib/dist/types/components/ToggleButton/ToggleButton.d.ts.map +1 -0
  209. package/packages/lib/dist/types/components/ToggleButton/ToggleButton.stories.d.ts +7 -0
  210. package/packages/lib/dist/types/components/ToggleButton/ToggleButton.stories.d.ts.map +1 -0
  211. package/packages/lib/dist/types/components/ToggleButton/index.d.ts +2 -0
  212. package/packages/lib/dist/types/components/ToggleButton/index.d.ts.map +1 -0
  213. package/packages/lib/dist/types/components/Toolbar/Toolbar.d.ts +12 -0
  214. package/packages/lib/dist/types/components/Toolbar/Toolbar.d.ts.map +1 -0
  215. package/packages/lib/dist/types/components/Toolbar/Toolbar.stories.d.ts +7 -0
  216. package/packages/lib/dist/types/components/Toolbar/Toolbar.stories.d.ts.map +1 -0
  217. package/packages/lib/dist/types/components/Toolbar/Toolbar.test.d.ts +2 -0
  218. package/packages/lib/dist/types/components/Toolbar/Toolbar.test.d.ts.map +1 -0
  219. package/packages/lib/dist/types/components/Toolbar/index.d.ts +2 -0
  220. package/packages/lib/dist/types/components/Toolbar/index.d.ts.map +1 -0
  221. package/packages/lib/dist/types/components/Typography/Typography.d.ts +11 -0
  222. package/packages/lib/dist/types/components/Typography/Typography.d.ts.map +1 -0
  223. package/packages/lib/dist/types/components/Typography/Typography.stories.d.ts +8 -0
  224. package/packages/lib/dist/types/components/Typography/Typography.stories.d.ts.map +1 -0
  225. package/packages/lib/dist/types/components/Typography/index.d.ts +2 -0
  226. package/packages/lib/dist/types/components/Typography/index.d.ts.map +1 -0
  227. package/packages/lib/dist/types/components/index.d.ts +34 -0
  228. package/packages/lib/dist/types/components/index.d.ts.map +1 -0
  229. package/packages/lib/dist/types/hooks/index.d.ts +4 -0
  230. package/packages/lib/dist/types/hooks/index.d.ts.map +1 -0
  231. package/packages/lib/dist/types/hooks/use-click-outside.d.ts +4 -0
  232. package/packages/lib/dist/types/hooks/use-click-outside.d.ts.map +1 -0
  233. package/packages/lib/dist/types/hooks/use-keys-enteresc.d.ts +3 -0
  234. package/packages/lib/dist/types/hooks/use-keys-enteresc.d.ts.map +1 -0
  235. package/packages/lib/dist/types/hooks/use-set-startup-focus.d.ts +3 -0
  236. package/packages/lib/dist/types/hooks/use-set-startup-focus.d.ts.map +1 -0
  237. package/packages/lib/dist/types/i18n/config.d.ts +3 -0
  238. package/packages/lib/dist/types/i18n/config.d.ts.map +1 -0
  239. package/packages/lib/dist/types/i18n/index.d.ts +4 -0
  240. package/packages/lib/dist/types/i18n/index.d.ts.map +1 -0
  241. package/packages/lib/dist/types/i18n/ns.d.ts +2 -0
  242. package/packages/lib/dist/types/i18n/ns.d.ts.map +1 -0
  243. package/packages/lib/dist/types/index.d.ts +8 -0
  244. package/packages/lib/dist/types/index.d.ts.map +1 -0
  245. package/packages/lib/dist/types/test/i18n.d.ts +3 -0
  246. package/packages/lib/dist/types/test/i18n.d.ts.map +1 -0
  247. package/packages/lib/dist/types/test/setupTests.d.ts +2 -0
  248. package/packages/lib/dist/types/test/setupTests.d.ts.map +1 -0
  249. package/packages/lib/dist/types/utils/bem.d.ts +3 -0
  250. package/packages/lib/dist/types/utils/bem.d.ts.map +1 -0
  251. package/packages/lib/dist/types/utils/formatError.d.ts +2 -0
  252. package/packages/lib/dist/types/utils/formatError.d.ts.map +1 -0
  253. package/packages/lib/dist/types/utils/index.d.ts +4 -0
  254. package/packages/lib/dist/types/utils/index.d.ts.map +1 -0
  255. package/packages/lib/dist/types/utils/interfaces.d.ts +7 -0
  256. package/packages/lib/dist/types/utils/interfaces.d.ts.map +1 -0
  257. package/packages/lib/jest.config.js +20 -0
  258. package/packages/lib/package.json +110 -0
  259. package/packages/lib/plop/component/index.js +44 -0
  260. package/packages/lib/plop/index.js +4 -0
  261. package/packages/lib/plop/templates/component/component.hbs +20 -0
  262. package/packages/lib/plop/templates/component/index.hbs +1 -0
  263. package/packages/lib/plop/templates/component/stories.hbs +17 -0
  264. package/packages/lib/plop/templates/component/style.hbs +2 -0
  265. package/packages/lib/plop/templates/component/test.hbs +12 -0
  266. package/packages/lib/plopfile.js +1 -0
  267. package/packages/lib/rollup.config.mjs +64 -0
  268. package/packages/lib/src/assets/chevron-up.svg +1 -0
  269. package/packages/lib/src/components/Accordion/Accordion.scss +68 -0
  270. package/packages/lib/src/components/Accordion/Accordion.tsx +37 -0
  271. package/packages/lib/src/components/Accordion/index.tsx +1 -0
  272. package/packages/lib/src/components/Button/Button.scss +43 -0
  273. package/packages/lib/src/components/Button/Button.stories.tsx +26 -0
  274. package/packages/lib/src/components/Button/Button.tsx +40 -0
  275. package/packages/lib/src/components/Button/index.tsx +1 -0
  276. package/packages/lib/src/components/ButtonsGroup/ButtonsGroup.scss +4 -0
  277. package/packages/lib/src/components/ButtonsGroup/ButtonsGroup.stories.tsx +17 -0
  278. package/packages/lib/src/components/ButtonsGroup/ButtonsGroup.test.tsx +12 -0
  279. package/packages/lib/src/components/ButtonsGroup/ButtonsGroup.tsx +18 -0
  280. package/packages/lib/src/components/ButtonsGroup/index.tsx +1 -0
  281. package/packages/lib/src/components/CheckBox/CheckBox.scss +64 -0
  282. package/packages/lib/src/components/CheckBox/CheckBox.stories.tsx +22 -0
  283. package/packages/lib/src/components/CheckBox/CheckBox.tsx +41 -0
  284. package/packages/lib/src/components/CheckBox/index.tsx +1 -0
  285. package/packages/lib/src/components/DialogPrompt/DialogPrompt.scss +7 -0
  286. package/packages/lib/src/components/DialogPrompt/DialogPrompt.stories.tsx +17 -0
  287. package/packages/lib/src/components/DialogPrompt/DialogPrompt.test.tsx +12 -0
  288. package/packages/lib/src/components/DialogPrompt/DialogPrompt.tsx +41 -0
  289. package/packages/lib/src/components/DialogPrompt/index.tsx +1 -0
  290. package/packages/lib/src/components/Divider/Divider.scss +23 -0
  291. package/packages/lib/src/components/Divider/Divider.tsx +20 -0
  292. package/packages/lib/src/components/Divider/index.tsx +1 -0
  293. package/packages/lib/src/components/DropDown/DropDown.scss +71 -0
  294. package/packages/lib/src/components/DropDown/DropDown.stories.tsx +45 -0
  295. package/packages/lib/src/components/DropDown/DropDown.tsx +62 -0
  296. package/packages/lib/src/components/DropDown/index.tsx +1 -0
  297. package/packages/lib/src/components/Form/Form.scss +4 -0
  298. package/packages/lib/src/components/Form/Form.stories.tsx +20 -0
  299. package/packages/lib/src/components/Form/Form.tsx +25 -0
  300. package/packages/lib/src/components/Form/index.tsx +1 -0
  301. package/packages/lib/src/components/FormButtons/FormButtons.scss +6 -0
  302. package/packages/lib/src/components/FormButtons/FormButtons.tsx +18 -0
  303. package/packages/lib/src/components/FormButtons/index.tsx +1 -0
  304. package/packages/lib/src/components/IconButton/IconButton.scss +65 -0
  305. package/packages/lib/src/components/IconButton/IconButton.tsx +44 -0
  306. package/packages/lib/src/components/IconButton/index.tsx +1 -0
  307. package/packages/lib/src/components/MenuItem/MenuItem.scss +14 -0
  308. package/packages/lib/src/components/MenuItem/MenuItem.tsx +36 -0
  309. package/packages/lib/src/components/MenuItem/index.tsx +1 -0
  310. package/packages/lib/src/components/Modal/Modal.scss +72 -0
  311. package/packages/lib/src/components/Modal/Modal.tsx +61 -0
  312. package/packages/lib/src/components/Modal/index.tsx +1 -0
  313. package/packages/lib/src/components/Navbar/Navbar.scss +52 -0
  314. package/packages/lib/src/components/Navbar/Navbar.stories.tsx +25 -0
  315. package/packages/lib/src/components/Navbar/Navbar.tsx +39 -0
  316. package/packages/lib/src/components/Navbar/index.tsx +1 -0
  317. package/packages/lib/src/components/NavbarLink/NavbarLink.scss +16 -0
  318. package/packages/lib/src/components/NavbarLink/NavbarLink.tsx +34 -0
  319. package/packages/lib/src/components/NavbarLink/index.tsx +1 -0
  320. package/packages/lib/src/components/NavbarMenu/NavbarMenu.scss +157 -0
  321. package/packages/lib/src/components/NavbarMenu/NavbarMenu.stories.tsx +24 -0
  322. package/packages/lib/src/components/NavbarMenu/NavbarMenu.tsx +73 -0
  323. package/packages/lib/src/components/NavbarMenu/index.tsx +1 -0
  324. package/packages/lib/src/components/Panel/Panel.scss +5 -0
  325. package/packages/lib/src/components/Panel/Panel.stories.tsx +17 -0
  326. package/packages/lib/src/components/Panel/Panel.test.tsx +12 -0
  327. package/packages/lib/src/components/Panel/Panel.tsx +19 -0
  328. package/packages/lib/src/components/Panel/index.tsx +1 -0
  329. package/packages/lib/src/components/Paper/Paper.scss +6 -0
  330. package/packages/lib/src/components/Paper/Paper.stories.tsx +18 -0
  331. package/packages/lib/src/components/Paper/Paper.tsx +18 -0
  332. package/packages/lib/src/components/Paper/index.tsx +1 -0
  333. package/packages/lib/src/components/RangeSlider/RangeSlider.scss +84 -0
  334. package/packages/lib/src/components/RangeSlider/RangeSlider.stories.tsx +24 -0
  335. package/packages/lib/src/components/RangeSlider/RangeSlider.tsx +151 -0
  336. package/packages/lib/src/components/RangeSlider/index.tsx +1 -0
  337. package/packages/lib/src/components/ResponsiveBar/ResponsiveBar.scss +72 -0
  338. package/packages/lib/src/components/ResponsiveBar/ResponsiveBar.tsx +39 -0
  339. package/packages/lib/src/components/ResponsiveBar/index.tsx +1 -0
  340. package/packages/lib/src/components/ScrollView/ScrollView.scss +13 -0
  341. package/packages/lib/src/components/ScrollView/ScrollView.stories.tsx +17 -0
  342. package/packages/lib/src/components/ScrollView/ScrollView.test.tsx +12 -0
  343. package/packages/lib/src/components/ScrollView/ScrollView.tsx +18 -0
  344. package/packages/lib/src/components/ScrollView/index.tsx +1 -0
  345. package/packages/lib/src/components/Section/Section.scss +18 -0
  346. package/packages/lib/src/components/Section/Section.tsx +26 -0
  347. package/packages/lib/src/components/Section/index.tsx +1 -0
  348. package/packages/lib/src/components/SelectField/SelectField.scss +34 -0
  349. package/packages/lib/src/components/SelectField/SelectField.stories.tsx +14 -0
  350. package/packages/lib/src/components/SelectField/SelectField.tsx +52 -0
  351. package/packages/lib/src/components/SelectField/index.tsx +1 -0
  352. package/packages/lib/src/components/Spacer/Spacer.scss +3 -0
  353. package/packages/lib/src/components/Spacer/Spacer.tsx +5 -0
  354. package/packages/lib/src/components/Spacer/index.tsx +1 -0
  355. package/packages/lib/src/components/StackPanel/StackPanel.scss +9 -0
  356. package/packages/lib/src/components/StackPanel/StackPanel.stories.tsx +17 -0
  357. package/packages/lib/src/components/StackPanel/StackPanel.test.tsx +12 -0
  358. package/packages/lib/src/components/StackPanel/StackPanel.tsx +32 -0
  359. package/packages/lib/src/components/StackPanel/index.tsx +1 -0
  360. package/packages/lib/src/components/Submenu/Submenu.scss +56 -0
  361. package/packages/lib/src/components/Submenu/Submenu.stories.tsx +45 -0
  362. package/packages/lib/src/components/Submenu/Submenu.tsx +60 -0
  363. package/packages/lib/src/components/Submenu/index.tsx +1 -0
  364. package/packages/lib/src/components/SuccessCongratulation/SuccessCongratulation.scss +76 -0
  365. package/packages/lib/src/components/SuccessCongratulation/SuccessCongratulation.stories.tsx +17 -0
  366. package/packages/lib/src/components/SuccessCongratulation/SuccessCongratulation.test.tsx +12 -0
  367. package/packages/lib/src/components/SuccessCongratulation/SuccessCongratulation.tsx +64 -0
  368. package/packages/lib/src/components/SuccessCongratulation/index.tsx +1 -0
  369. package/packages/lib/src/components/TextArea/TextArea.scss +33 -0
  370. package/packages/lib/src/components/TextArea/TextArea.stories.tsx +14 -0
  371. package/packages/lib/src/components/TextArea/TextArea.tsx +48 -0
  372. package/packages/lib/src/components/TextArea/index.tsx +1 -0
  373. package/packages/lib/src/components/TextField/TextField.scss +46 -0
  374. package/packages/lib/src/components/TextField/TextField.stories.tsx +14 -0
  375. package/packages/lib/src/components/TextField/TextField.tsx +85 -0
  376. package/packages/lib/src/components/TextField/index.tsx +1 -0
  377. package/packages/lib/src/components/TitleEdit/TitleEdit.scss +18 -0
  378. package/packages/lib/src/components/TitleEdit/TitleEdit.tsx +70 -0
  379. package/packages/lib/src/components/TitleEdit/index.tsx +1 -0
  380. package/packages/lib/src/components/Toast/Toast.scss +33 -0
  381. package/packages/lib/src/components/Toast/Toast.tsx +30 -0
  382. package/packages/lib/src/components/Toast/index.tsx +1 -0
  383. package/packages/lib/src/components/ToggleButton/ToggleButton.scss +48 -0
  384. package/packages/lib/src/components/ToggleButton/ToggleButton.stories.tsx +22 -0
  385. package/packages/lib/src/components/ToggleButton/ToggleButton.tsx +41 -0
  386. package/packages/lib/src/components/ToggleButton/index.tsx +1 -0
  387. package/packages/lib/src/components/Toolbar/Toolbar.scss +17 -0
  388. package/packages/lib/src/components/Toolbar/Toolbar.stories.tsx +17 -0
  389. package/packages/lib/src/components/Toolbar/Toolbar.test.tsx +12 -0
  390. package/packages/lib/src/components/Toolbar/Toolbar.tsx +21 -0
  391. package/packages/lib/src/components/Toolbar/index.tsx +1 -0
  392. package/packages/lib/src/components/Typography/Typography.scss +52 -0
  393. package/packages/lib/src/components/Typography/Typography.stories.tsx +18 -0
  394. package/packages/lib/src/components/Typography/Typography.tsx +20 -0
  395. package/packages/lib/src/components/Typography/index.tsx +1 -0
  396. package/packages/lib/src/components/index.tsx +33 -0
  397. package/packages/lib/src/hooks/index.tsx +3 -0
  398. package/packages/lib/src/hooks/use-click-outside.tsx +20 -0
  399. package/packages/lib/src/hooks/use-keys-enteresc.tsx +26 -0
  400. package/packages/lib/src/hooks/use-set-startup-focus.tsx +9 -0
  401. package/packages/lib/src/i18n/config.ts +9 -0
  402. package/packages/lib/src/i18n/en/translation.json +12 -0
  403. package/packages/lib/src/i18n/fr/translation.json +12 -0
  404. package/packages/lib/src/i18n/index.ts +11 -0
  405. package/packages/lib/src/i18n/ns.ts +1 -0
  406. package/packages/lib/src/index.scss +0 -0
  407. package/packages/lib/src/index.tsx +7 -0
  408. package/packages/lib/src/stories/Intrduction.mdx +175 -0
  409. package/packages/lib/src/stories/assets/github.svg +3 -0
  410. package/packages/lib/src/styles/1-color-vars.scss +50 -0
  411. package/packages/lib/src/styles/2-font-variables.scss +2 -0
  412. package/packages/lib/src/styles/variables.scss +2 -0
  413. package/packages/lib/src/test/i18n.ts +18 -0
  414. package/packages/lib/src/test/setupTests.ts +1 -0
  415. package/packages/lib/src/utils/bem.ts +5 -0
  416. package/packages/lib/src/utils/formatError.ts +6 -0
  417. package/packages/lib/src/utils/index.ts +3 -0
  418. package/packages/lib/src/utils/interfaces.ts +6 -0
  419. package/packages/lib/tsconfig.json +26 -0
  420. package/packages/lib/vite.config.js +18 -0
  421. package/packages/ui-test/package-lock.json +97 -0
  422. package/packages/ui-test/package.json +19 -0
  423. package/packages/ui-test/playwright.config.ts +80 -0
  424. package/packages/ui-test/tests/example.spec.ts +18 -0
  425. package/packages/ui-test/tests-examples/demo-todo-app.spec.ts +437 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 React5
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,2 @@
1
+ # ui
2
+ A template of a React UI library with a test app. It uses a monorepo structure.
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "@react5/ui",
3
+ "version": "1.0.0",
4
+ "description": "A React UI library.",
5
+ "homepage": "https://github.com/react5com/ui#readme",
6
+ "bugs": {
7
+ "url": "https://github.com/react5com/ui/issues"
8
+ },
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/react5com/ui.git"
12
+ },
13
+ "workspaces": [
14
+ "packages/lib",
15
+ "packages/app",
16
+ "packages/ui-test"
17
+ ],
18
+ "license": "MIT",
19
+ "author": "React5.com",
20
+ "main": "packages/lib/dist/index.js",
21
+ "type": "module",
22
+ "module": "packages/lib/dist/esm/index.esm.js",
23
+ "types": "packages/lib/dist/types/index.d.ts",
24
+ "style": "packages/lib/dist/index.css",
25
+ "scripts": {
26
+ "build": "npm run build --workspaces",
27
+ "test": "npm run test --workspaces",
28
+ "dev": "npm-run-all --parallel dev:*",
29
+ "dev:lib": "npm --workspace @react5/lib run dev",
30
+ "dev:app": "npm --workspace @react5/app run dev",
31
+ "uitest": "npm --workspace ui-test run uitest",
32
+ "storybook": "npm --workspace @react5/lib run storybook",
33
+ "plop": "npm --workspace @react5/lib run plop"
34
+ },
35
+ "devDependencies": {
36
+ "npm-run-all": "^4.1.5"
37
+ }
38
+ }
@@ -0,0 +1,50 @@
1
+ # React + TypeScript + Vite
2
+
3
+ This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
4
+
5
+ Currently, two official plugins are available:
6
+
7
+ - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
8
+ - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
9
+
10
+ ## Expanding the ESLint configuration
11
+
12
+ If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
13
+
14
+ - Configure the top-level `parserOptions` property like this:
15
+
16
+ ```js
17
+ export default tseslint.config({
18
+ languageOptions: {
19
+ // other options...
20
+ parserOptions: {
21
+ project: ['./tsconfig.node.json', './tsconfig.app.json'],
22
+ tsconfigRootDir: import.meta.dirname,
23
+ },
24
+ },
25
+ })
26
+ ```
27
+
28
+ - Replace `tseslint.configs.recommended` to `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked`
29
+ - Optionally add `...tseslint.configs.stylisticTypeChecked`
30
+ - Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config:
31
+
32
+ ```js
33
+ // eslint.config.js
34
+ import react from 'eslint-plugin-react'
35
+
36
+ export default tseslint.config({
37
+ // Set the react version
38
+ settings: { react: { version: '18.3' } },
39
+ plugins: {
40
+ // Add the react plugin
41
+ react,
42
+ },
43
+ rules: {
44
+ // other rules...
45
+ // Enable its recommended rules
46
+ ...react.configs.recommended.rules,
47
+ ...react.configs['jsx-runtime'].rules,
48
+ },
49
+ })
50
+ ```
@@ -0,0 +1,28 @@
1
+ import js from '@eslint/js'
2
+ import globals from 'globals'
3
+ import reactHooks from 'eslint-plugin-react-hooks'
4
+ import reactRefresh from 'eslint-plugin-react-refresh'
5
+ import tseslint from 'typescript-eslint'
6
+
7
+ export default tseslint.config(
8
+ { ignores: ['dist'] },
9
+ {
10
+ extends: [js.configs.recommended, ...tseslint.configs.recommended],
11
+ files: ['**/*.{ts,tsx}'],
12
+ languageOptions: {
13
+ ecmaVersion: 2020,
14
+ globals: globals.browser,
15
+ },
16
+ plugins: {
17
+ 'react-hooks': reactHooks,
18
+ 'react-refresh': reactRefresh,
19
+ },
20
+ rules: {
21
+ ...reactHooks.configs.recommended.rules,
22
+ 'react-refresh/only-export-components': [
23
+ 'warn',
24
+ { allowConstantExport: true },
25
+ ],
26
+ },
27
+ },
28
+ )
@@ -0,0 +1,13 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>Vite + React + TS</title>
8
+ </head>
9
+ <body>
10
+ <div id="root"></div>
11
+ <script type="module" src="/src/main.tsx"></script>
12
+ </body>
13
+ </html>
@@ -0,0 +1,13 @@
1
+ /** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
2
+ export default {
3
+ preset: 'ts-jest',
4
+ passWithNoTests: true,
5
+ testEnvironment: 'jsdom',
6
+ moduleNameMapper:{
7
+ "\\.(css|less|scss|sass)$": "identity-obj-proxy"
8
+ },
9
+ testPathIgnorePatterns: [
10
+ "/build/",
11
+ "/dist/"
12
+ ],
13
+ };
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "@react5/app",
3
+ "private": true,
4
+ "version": "0.0.0",
5
+ "type": "module",
6
+ "author": "React5.com",
7
+ "scripts": {
8
+ "dev": "vite",
9
+ "build": "tsc -b && vite build",
10
+ "lint": "eslint .",
11
+ "preview": "vite preview",
12
+ "test": "jest"
13
+ },
14
+ "dependencies": {
15
+ "react": "^18.3.1",
16
+ "react-dom": "^18.3.1",
17
+ "@react5/lib": "*",
18
+ "i18next": "^24.2.2",
19
+ "react-i18next": "^15.4.1"
20
+ },
21
+ "devDependencies": {
22
+ "@eslint/js": "^9.21.0",
23
+ "@types/react": "^18.3.18",
24
+ "@types/react-dom": "^18.3.5",
25
+ "@vitejs/plugin-react": "^4.3.4",
26
+ "eslint": "^9.21.0",
27
+ "eslint-plugin-react-hooks": "^5.1.0",
28
+ "eslint-plugin-react-refresh": "^0.4.19",
29
+ "globals": "^16.0.0",
30
+ "typescript": "^5.7.3",
31
+ "typescript-eslint": "^8.25.0",
32
+ "vite": "^6.2.0",
33
+ "jest": "^29.7.0",
34
+ "ts-jest": "^29.2.6"
35
+ }
36
+ }
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
@@ -0,0 +1,6 @@
1
+ body {
2
+ display: flex;
3
+ justify-content: center;
4
+ align-items: center;
5
+ text-align: center;
6
+ }
@@ -0,0 +1,16 @@
1
+ import './App.css'
2
+ import { Button } from '@react5/lib'
3
+ import '@react5/lib/dist/index.css'
4
+ import { useTranslation } from 'react-i18next'
5
+ import { translationNs } from './i18n/ns'
6
+
7
+ function App() {
8
+ const { t } = useTranslation(translationNs)
9
+ return (
10
+ <>
11
+ <h1>{t('app.title')}</h1>
12
+ <Button>test</Button>
13
+ </>
14
+ )
15
+ }
16
+ export default App
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="35.93" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 228"><path fill="#00D8FF" d="M210.483 73.824a171.49 171.49 0 0 0-8.24-2.597c.465-1.9.893-3.777 1.273-5.621c6.238-30.281 2.16-54.676-11.769-62.708c-13.355-7.7-35.196.329-57.254 19.526a171.23 171.23 0 0 0-6.375 5.848a155.866 155.866 0 0 0-4.241-3.917C100.759 3.829 77.587-4.822 63.673 3.233C50.33 10.957 46.379 33.89 51.995 62.588a170.974 170.974 0 0 0 1.892 8.48c-3.28.932-6.445 1.924-9.474 2.98C17.309 83.498 0 98.307 0 113.668c0 15.865 18.582 31.778 46.812 41.427a145.52 145.52 0 0 0 6.921 2.165a167.467 167.467 0 0 0-2.01 9.138c-5.354 28.2-1.173 50.591 12.134 58.266c13.744 7.926 36.812-.22 59.273-19.855a145.567 145.567 0 0 0 5.342-4.923a168.064 168.064 0 0 0 6.92 6.314c21.758 18.722 43.246 26.282 56.54 18.586c13.731-7.949 18.194-32.003 12.4-61.268a145.016 145.016 0 0 0-1.535-6.842c1.62-.48 3.21-.974 4.76-1.488c29.348-9.723 48.443-25.443 48.443-41.52c0-15.417-17.868-30.326-45.517-39.844Zm-6.365 70.984c-1.4.463-2.836.91-4.3 1.345c-3.24-10.257-7.612-21.163-12.963-32.432c5.106-11 9.31-21.767 12.459-31.957c2.619.758 5.16 1.557 7.61 2.4c23.69 8.156 38.14 20.213 38.14 29.504c0 9.896-15.606 22.743-40.946 31.14Zm-10.514 20.834c2.562 12.94 2.927 24.64 1.23 33.787c-1.524 8.219-4.59 13.698-8.382 15.893c-8.067 4.67-25.32-1.4-43.927-17.412a156.726 156.726 0 0 1-6.437-5.87c7.214-7.889 14.423-17.06 21.459-27.246c12.376-1.098 24.068-2.894 34.671-5.345a134.17 134.17 0 0 1 1.386 6.193ZM87.276 214.515c-7.882 2.783-14.16 2.863-17.955.675c-8.075-4.657-11.432-22.636-6.853-46.752a156.923 156.923 0 0 1 1.869-8.499c10.486 2.32 22.093 3.988 34.498 4.994c7.084 9.967 14.501 19.128 21.976 27.15a134.668 134.668 0 0 1-4.877 4.492c-9.933 8.682-19.886 14.842-28.658 17.94ZM50.35 144.747c-12.483-4.267-22.792-9.812-29.858-15.863c-6.35-5.437-9.555-10.836-9.555-15.216c0-9.322 13.897-21.212 37.076-29.293c2.813-.98 5.757-1.905 8.812-2.773c3.204 10.42 7.406 21.315 12.477 32.332c-5.137 11.18-9.399 22.249-12.634 32.792a134.718 134.718 0 0 1-6.318-1.979Zm12.378-84.26c-4.811-24.587-1.616-43.134 6.425-47.789c8.564-4.958 27.502 2.111 47.463 19.835a144.318 144.318 0 0 1 3.841 3.545c-7.438 7.987-14.787 17.08-21.808 26.988c-12.04 1.116-23.565 2.908-34.161 5.309a160.342 160.342 0 0 1-1.76-7.887Zm110.427 27.268a347.8 347.8 0 0 0-7.785-12.803c8.168 1.033 15.994 2.404 23.343 4.08c-2.206 7.072-4.956 14.465-8.193 22.045a381.151 381.151 0 0 0-7.365-13.322Zm-45.032-43.861c5.044 5.465 10.096 11.566 15.065 18.186a322.04 322.04 0 0 0-30.257-.006c4.974-6.559 10.069-12.652 15.192-18.18ZM82.802 87.83a323.167 323.167 0 0 0-7.227 13.238c-3.184-7.553-5.909-14.98-8.134-22.152c7.304-1.634 15.093-2.97 23.209-3.984a321.524 321.524 0 0 0-7.848 12.897Zm8.081 65.352c-8.385-.936-16.291-2.203-23.593-3.793c2.26-7.3 5.045-14.885 8.298-22.6a321.187 321.187 0 0 0 7.257 13.246c2.594 4.48 5.28 8.868 8.038 13.147Zm37.542 31.03c-5.184-5.592-10.354-11.779-15.403-18.433c4.902.192 9.899.29 14.978.29c5.218 0 10.376-.117 15.453-.343c-4.985 6.774-10.018 12.97-15.028 18.486Zm52.198-57.817c3.422 7.8 6.306 15.345 8.596 22.52c-7.422 1.694-15.436 3.058-23.88 4.071a382.417 382.417 0 0 0 7.859-13.026a347.403 347.403 0 0 0 7.425-13.565Zm-16.898 8.101a358.557 358.557 0 0 1-12.281 19.815a329.4 329.4 0 0 1-23.444.823c-7.967 0-15.716-.248-23.178-.732a310.202 310.202 0 0 1-12.513-19.846h.001a307.41 307.41 0 0 1-10.923-20.627a310.278 310.278 0 0 1 10.89-20.637l-.001.001a307.318 307.318 0 0 1 12.413-19.761c7.613-.576 15.42-.876 23.31-.876H128c7.926 0 15.743.303 23.354.883a329.357 329.357 0 0 1 12.335 19.695a358.489 358.489 0 0 1 11.036 20.54a329.472 329.472 0 0 1-11 20.722Zm22.56-122.124c8.572 4.944 11.906 24.881 6.52 51.026c-.344 1.668-.73 3.367-1.15 5.09c-10.622-2.452-22.155-4.275-34.23-5.408c-7.034-10.017-14.323-19.124-21.64-27.008a160.789 160.789 0 0 1 5.888-5.4c18.9-16.447 36.564-22.941 44.612-18.3ZM128 90.808c12.625 0 22.86 10.235 22.86 22.86s-10.235 22.86-22.86 22.86s-22.86-10.235-22.86-22.86s10.235-22.86 22.86-22.86Z"></path></svg>
@@ -0,0 +1,22 @@
1
+ import i18next from 'i18next';
2
+ import en from './en/translation.json';
3
+ import fr from './fr/translation.json';
4
+ import { initReactI18next } from 'react-i18next';
5
+ import { translationNs } from './ns';
6
+
7
+ i18next
8
+ .use(initReactI18next)
9
+ .init({
10
+ fallbackLng: 'en',
11
+ debug: true,
12
+ resources: {
13
+ en: {
14
+ [translationNs]: en
15
+ },
16
+ fr: {
17
+ [translationNs]: fr
18
+ },
19
+ },
20
+ });
21
+
22
+ export default i18next;
@@ -0,0 +1,5 @@
1
+ {
2
+ "app": {
3
+ "title": "Test application"
4
+ }
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "app": {
3
+ "title": "Application de test"
4
+ }
5
+ }
@@ -0,0 +1,3 @@
1
+ import i18n from './config';
2
+
3
+ export const i18next = i18n;
@@ -0,0 +1 @@
1
+ export const translationNs = "test-app-template";
File without changes
@@ -0,0 +1,16 @@
1
+ import { StrictMode } from 'react'
2
+ import { createRoot } from 'react-dom/client'
3
+ import './styles/1-reset.scss'
4
+ import './styles/2-colors.scss'
5
+ import './index.css'
6
+ import { i18next } from './i18n';
7
+ import { addTranslations } from '@react5/lib'
8
+ addTranslations(i18next);
9
+
10
+ import App from './App.tsx'
11
+
12
+ createRoot(document.getElementById('root')!).render(
13
+ <StrictMode>
14
+ <App />
15
+ </StrictMode>,
16
+ )
@@ -0,0 +1,73 @@
1
+ /* https://andy-bell.co.uk/a-more-modern-css-reset/ */
2
+ /* Box sizing rules */
3
+ *,
4
+ *::before,
5
+ *::after {
6
+ box-sizing: border-box;
7
+ }
8
+
9
+ /* Prevent font size inflation */
10
+ html {
11
+ -moz-text-size-adjust: none;
12
+ -webkit-text-size-adjust: none;
13
+ text-size-adjust: none;
14
+ }
15
+
16
+ /* Remove default margin in favour of better control in authored CSS */
17
+ body, h1, h2, h3, h4, p,
18
+ figure, blockquote, dl, dd {
19
+ margin: 0;
20
+ }
21
+
22
+ /* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
23
+ ul[role='list'],
24
+ ol[role='list'] {
25
+ list-style: none;
26
+ }
27
+
28
+ /* Set core body defaults */
29
+ body {
30
+ min-height: 100vh;
31
+ line-height: 1.5;
32
+ }
33
+
34
+ /* Set shorter line heights on headings and interactive elements */
35
+ h1, h2, h3, h4,
36
+ button, input, label {
37
+ line-height: 1.1;
38
+ }
39
+
40
+ /* Balance text wrapping on headings */
41
+ h1, h2,
42
+ h3, h4 {
43
+ text-wrap: balance;
44
+ }
45
+
46
+ /* A elements that don't have a class get default styles */
47
+ a:not([class]) {
48
+ text-decoration-skip-ink: auto;
49
+ color: currentColor;
50
+ }
51
+
52
+ /* Make images easier to work with */
53
+ img,
54
+ picture {
55
+ // max-width: 100%;
56
+ display: block;
57
+ }
58
+
59
+ /* Inherit fonts for inputs and buttons */
60
+ input, button,
61
+ textarea, select {
62
+ font: inherit;
63
+ }
64
+
65
+ /* Make sure textareas without a rows attribute are not tiny */
66
+ textarea:not([rows]) {
67
+ min-height: 10em;
68
+ }
69
+
70
+ /* Anything that has been anchored to should have extra scroll margin */
71
+ :target {
72
+ scroll-margin-block: 5ex;
73
+ }
@@ -0,0 +1,11 @@
1
+ :root {
2
+ --page_bg_color: #f6f6f2;
3
+ --page_text_color: #000000;
4
+ --control_bg_color: #fff;
5
+ --control_text_color: #1b221b;
6
+ --primary_bg_color: #675143;
7
+ --primary_bg_color_highlight: #9d612c;
8
+ --primary_text_color: #ffffff;
9
+ --primary_border_color: #4b4747;
10
+ --secondary_bg_color: #f6f6f2;
11
+ }
@@ -0,0 +1 @@
1
+ /// <reference types="vite/client" />
@@ -0,0 +1,26 @@
1
+ {
2
+ "compilerOptions": {
3
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
4
+ "target": "ES2020",
5
+ "useDefineForClassFields": true,
6
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
7
+ "module": "ESNext",
8
+ "skipLibCheck": true,
9
+
10
+ /* Bundler mode */
11
+ "moduleResolution": "bundler",
12
+ "allowImportingTsExtensions": true,
13
+ "isolatedModules": true,
14
+ "moduleDetection": "force",
15
+ "noEmit": true,
16
+ "jsx": "react-jsx",
17
+
18
+ /* Linting */
19
+ "strict": true,
20
+ "noUnusedLocals": true,
21
+ "noUnusedParameters": true,
22
+ "noFallthroughCasesInSwitch": true,
23
+ "noUncheckedSideEffectImports": true
24
+ },
25
+ "include": ["src"]
26
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "files": [],
3
+ "references": [
4
+ { "path": "./tsconfig.app.json" },
5
+ { "path": "./tsconfig.node.json" }
6
+ ]
7
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "compilerOptions": {
3
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
4
+ "target": "ES2022",
5
+ "lib": ["ES2023"],
6
+ "module": "ESNext",
7
+ "skipLibCheck": true,
8
+
9
+ /* Bundler mode */
10
+ "moduleResolution": "bundler",
11
+ "allowImportingTsExtensions": true,
12
+ "isolatedModules": true,
13
+ "moduleDetection": "force",
14
+ "noEmit": true,
15
+
16
+ /* Linting */
17
+ "strict": true,
18
+ "noUnusedLocals": true,
19
+ "noUnusedParameters": true,
20
+ "noFallthroughCasesInSwitch": true,
21
+ "noUncheckedSideEffectImports": true
22
+ },
23
+ "include": ["vite.config.ts"]
24
+ }
@@ -0,0 +1,7 @@
1
+ import { defineConfig } from 'vite'
2
+ import react from '@vitejs/plugin-react'
3
+
4
+ // https://vite.dev/config/
5
+ export default defineConfig({
6
+ plugins: [react()],
7
+ })
@@ -0,0 +1,9 @@
1
+ {
2
+ "presets": [
3
+ "@babel/preset-env",
4
+ ["@babel/preset-react", { "runtime": "automatic" }],
5
+ "@babel/typescript"
6
+ ],
7
+ "plugins": [
8
+ ]
9
+ }
@@ -0,0 +1,51 @@
1
+ import { join, dirname } from 'path';
2
+ import { mergeConfig } from 'vite';
3
+ import svgr from 'vite-plugin-svgr';
4
+
5
+ /**
6
+ * This function is used to resolve the absolute path of a package.
7
+ * It is needed in projects that use Yarn PnP or are set up within a monorepo.
8
+ */
9
+ function getAbsolutePath(value) {
10
+ return dirname(require.resolve(join(value, 'package.json')));
11
+ }
12
+
13
+ /** @type { import('@storybook/react-vite').StorybookConfig } */
14
+ const config = {
15
+ stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
16
+
17
+ addons: [
18
+ getAbsolutePath('@storybook/addon-links'),
19
+ // getAbsolutePath('@storybook/addon-onboarding'),
20
+ // getAbsolutePath('@storybook/addon-interactions'),
21
+ getAbsolutePath('@storybook/addon-essentials'),
22
+ '@chromatic-com/storybook'
23
+ ],
24
+
25
+ core: {},
26
+
27
+ docs: {},
28
+
29
+ framework: {
30
+ name: getAbsolutePath("@storybook/react-vite"),
31
+ options: {}
32
+ },
33
+
34
+ viteFinal: async (config, { configType }) => {
35
+ return mergeConfig(config, {
36
+ css: {
37
+ preprocessorOptions: {
38
+ scss: {
39
+ additionalData: `@use "../../styles/1-color-vars.scss" as *;`
40
+ },
41
+ },
42
+ },
43
+ plugins: [svgr({ include: '**/*.svg' })],
44
+ });
45
+ },
46
+
47
+ typescript: {
48
+ reactDocgen: 'react-docgen-typescript'
49
+ }
50
+ };
51
+ export default config;
@@ -0,0 +1,14 @@
1
+ /** @type { import('@storybook/react').Preview } */
2
+
3
+ const preview = {
4
+ parameters: {
5
+ actions: { },
6
+ controls: {
7
+ matchers: {
8
+ color: /(background|color)$/i,
9
+ date: /Date$/,
10
+ },
11
+ },
12
+ },
13
+ };
14
+ export default preview;
@@ -0,0 +1,10 @@
1
+ declare module "*.css";
2
+ declare module "*.scss";
3
+ declare module "*.svg" {
4
+ const content: any;
5
+ export default content;
6
+ }
7
+ declare module '*.scss' {
8
+ const classes: {[key: string]: string};
9
+ export default classes;
10
+ }