josenanodev-react-components-library 1.0.3 → 1.0.4

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 (301) hide show
  1. package/dist/cjs/Services/MulticalendarStatesAndSettings.d.ts +34 -0
  2. package/dist/cjs/Services/MulticalendarStatesAndSettings.js +55 -0
  3. package/dist/cjs/Services/accessToken.d.ts +3 -0
  4. package/dist/cjs/Services/accessToken.js +15 -0
  5. package/dist/cjs/common/constants.d.ts +5 -0
  6. package/dist/cjs/common/constants.js +8 -0
  7. package/dist/cjs/common/turboSuiteUrls.d.ts +7 -0
  8. package/dist/cjs/common/turboSuiteUrls.js +9 -0
  9. package/dist/cjs/common/types.d.ts +113 -0
  10. package/dist/cjs/components/BubbleMenu/BubbleMenu.d.ts +12 -0
  11. package/dist/cjs/components/BubbleMenu/BubbleMenu.js +60 -0
  12. package/dist/cjs/components/BubbleMenu/BubbleMenu.module.scss +113 -0
  13. package/dist/cjs/components/CalendarDatePicker/CalendarDatePicker.d.ts +19 -0
  14. package/dist/cjs/components/CalendarDatePicker/CalendarDatePicker.js +191 -0
  15. package/dist/cjs/components/CalendarDatePicker/CalendarDatePicker.module.scss +104 -0
  16. package/dist/cjs/components/CalendarDatePicker/subcomponents/CalendarScrollableSection.d.ts +15 -0
  17. package/dist/cjs/components/CalendarDatePicker/subcomponents/CalendarScrollableSection.js +300 -0
  18. package/dist/cjs/components/CalendarDatePicker/subcomponents/CalendarScrollableSection.module.scss +151 -0
  19. package/dist/cjs/components/ExportToExcelButton/ExportToExcelButton.css +31 -0
  20. package/dist/cjs/components/ExportToExcelButton/ExportToExcelButton.d.ts +5 -0
  21. package/dist/cjs/components/ExportToExcelButton/ExportToExcelButton.js +45 -0
  22. package/dist/cjs/components/ExportToExcelButton/ExportToExcelButtonOwnFunctions.d.ts +6 -0
  23. package/dist/cjs/components/ExportToExcelButton/ExportToExcelButtonOwnFunctions.js +75 -0
  24. package/dist/cjs/components/ExportToExcelButton/types.d.ts +44 -0
  25. package/dist/cjs/components/InputBoxWithConfirmation/InputBoxWithConfirmation.d.ts +17 -0
  26. package/dist/cjs/components/InputBoxWithConfirmation/InputBoxWithConfirmation.js +137 -0
  27. package/dist/cjs/components/InputBoxWithConfirmation/InputBoxWithConfirmation.module.scss +52 -0
  28. package/dist/cjs/components/IntegerControl/IntegerControl.d.ts +10 -0
  29. package/dist/cjs/components/IntegerControl/IntegerControl.js +52 -0
  30. package/dist/cjs/components/IntegerControl/IntegerControl.module.scss +46 -0
  31. package/dist/cjs/components/LabeledInput/LabeledInput.d.ts +15 -0
  32. package/dist/cjs/components/LabeledInput/LabeledInput.js +47 -0
  33. package/dist/cjs/components/LabeledInput/LabeledInput.module.scss +74 -0
  34. package/dist/cjs/components/Modal/Modal.css +43 -0
  35. package/dist/cjs/components/Modal/Modal.d.ts +5 -0
  36. package/dist/cjs/components/Modal/Modal.js +82 -0
  37. package/dist/cjs/components/Modal/types.d.ts +8 -0
  38. package/dist/cjs/components/Multicalendar/Multicalendar.css +191 -0
  39. package/dist/cjs/components/Multicalendar/Multicalendar.d.ts +5 -0
  40. package/dist/cjs/components/Multicalendar/Multicalendar.js +369 -0
  41. package/dist/cjs/components/Multicalendar/MulticalendarOwnFunctions.d.ts +86 -0
  42. package/dist/cjs/components/Multicalendar/MulticalendarOwnFunctions.js +192 -0
  43. package/dist/cjs/components/Multicalendar/subcomponents/composites/CellsRow/CellsRow.css +5 -0
  44. package/dist/cjs/components/Multicalendar/subcomponents/composites/CellsRow/CellsRow.d.ts +5 -0
  45. package/dist/cjs/components/Multicalendar/subcomponents/composites/CellsRow/CellsRow.js +20 -0
  46. package/dist/cjs/components/Multicalendar/subcomponents/composites/CellsRow/types.d.ts +11 -0
  47. package/dist/cjs/components/Multicalendar/subcomponents/composites/DatesGrid/DatesGrid.css +6 -0
  48. package/dist/cjs/components/Multicalendar/subcomponents/composites/DatesGrid/DatesGrid.d.ts +5 -0
  49. package/dist/cjs/components/Multicalendar/subcomponents/composites/DatesGrid/DatesGrid.js +20 -0
  50. package/dist/cjs/components/Multicalendar/subcomponents/composites/DatesGrid/types.d.ts +13 -0
  51. package/dist/cjs/components/Multicalendar/subcomponents/composites/ListElementsColumn/ListElementsColumn.css +3 -0
  52. package/dist/cjs/components/Multicalendar/subcomponents/composites/ListElementsColumn/ListElementsColumn.d.ts +5 -0
  53. package/dist/cjs/components/Multicalendar/subcomponents/composites/ListElementsColumn/ListElementsColumn.js +15 -0
  54. package/dist/cjs/components/Multicalendar/subcomponents/composites/ListElementsColumn/types.d.ts +9 -0
  55. package/dist/cjs/components/Multicalendar/subcomponents/individuals/Cell/Cell.css +6 -0
  56. package/dist/cjs/components/Multicalendar/subcomponents/individuals/Cell/Cell.d.ts +5 -0
  57. package/dist/cjs/components/Multicalendar/subcomponents/individuals/Cell/Cell.js +12 -0
  58. package/dist/cjs/components/Multicalendar/subcomponents/individuals/Cell/types.d.ts +10 -0
  59. package/dist/cjs/components/Multicalendar/subcomponents/individuals/DatesRow/DatesRow.css +60 -0
  60. package/dist/cjs/components/Multicalendar/subcomponents/individuals/DatesRow/DatesRow.d.ts +5 -0
  61. package/dist/cjs/components/Multicalendar/subcomponents/individuals/DatesRow/DatesRow.js +56 -0
  62. package/dist/cjs/components/Multicalendar/subcomponents/individuals/DatesRow/types.d.ts +11 -0
  63. package/dist/cjs/components/Multicalendar/subcomponents/individuals/DropdownMonthNavigation/DropdownMonthNavigation.css +14 -0
  64. package/dist/cjs/components/Multicalendar/subcomponents/individuals/DropdownMonthNavigation/DropdownMonthNavigation.d.ts +5 -0
  65. package/dist/cjs/components/Multicalendar/subcomponents/individuals/DropdownMonthNavigation/DropdownMonthNavigation.js +13 -0
  66. package/dist/cjs/components/Multicalendar/subcomponents/individuals/DropdownMonthNavigation/types.d.ts +6 -0
  67. package/dist/cjs/components/Multicalendar/subcomponents/individuals/ListElement/ListElement.css +14 -0
  68. package/dist/cjs/components/Multicalendar/subcomponents/individuals/ListElement/ListElement.d.ts +5 -0
  69. package/dist/cjs/components/Multicalendar/subcomponents/individuals/ListElement/ListElement.js +14 -0
  70. package/dist/cjs/components/Multicalendar/subcomponents/individuals/ListElement/types.d.ts +7 -0
  71. package/dist/cjs/components/Multicalendar/types.d.ts +48 -0
  72. package/dist/cjs/components/MultipleJoinedButtonsBar/MultipleJoinedButtonsBar.css +40 -0
  73. package/dist/cjs/components/MultipleJoinedButtonsBar/MultipleJoinedButtonsBar.d.ts +5 -0
  74. package/dist/cjs/components/MultipleJoinedButtonsBar/MultipleJoinedButtonsBar.js +48 -0
  75. package/dist/cjs/components/MultipleJoinedButtonsBar/types.d.ts +6 -0
  76. package/dist/cjs/components/ParallelSelectionList/ParallelSelectionList.css +244 -0
  77. package/dist/cjs/components/ParallelSelectionList/ParallelSelectionList.d.ts +5 -0
  78. package/dist/cjs/components/ParallelSelectionList/ParallelSelectionList.js +147 -0
  79. package/dist/cjs/components/ParallelSelectionList/types.d.ts +22 -0
  80. package/dist/cjs/components/PopUp/PopUp.css +15 -0
  81. package/dist/cjs/components/PopUp/PopUp.d.ts +5 -0
  82. package/dist/cjs/components/PopUp/PopUp.js +50 -0
  83. package/dist/cjs/components/PopUp/types.d.ts +9 -0
  84. package/dist/cjs/components/ProgressBar/ProgressBar.css +39 -0
  85. package/dist/cjs/components/ProgressBar/ProgressBar.d.ts +5 -0
  86. package/dist/cjs/components/ProgressBar/ProgressBar.js +56 -0
  87. package/dist/cjs/components/ProgressBar/types.d.ts +7 -0
  88. package/dist/cjs/components/ScreenSteps/ScreenSteps.d.ts +14 -0
  89. package/dist/cjs/components/ScreenSteps/ScreenSteps.js +66 -0
  90. package/dist/cjs/components/ScreenSteps/ScreenSteps.module.scss +68 -0
  91. package/dist/cjs/components/ScrollSnapGallery/ScrollSnapGallery.d.ts +14 -0
  92. package/dist/cjs/components/ScrollSnapGallery/ScrollSnapGallery.js +98 -0
  93. package/dist/cjs/components/ScrollSnapGallery/ScrollSnapGallery.module.scss +67 -0
  94. package/dist/cjs/components/SearchBar/SearchBar.css +35 -0
  95. package/dist/cjs/components/SearchBar/SearchBar.d.ts +5 -0
  96. package/dist/cjs/components/SearchBar/SearchBar.js +54 -0
  97. package/dist/cjs/components/SearchBar/types.d.ts +10 -0
  98. package/dist/cjs/components/SideBar/SideBar.css +53 -0
  99. package/dist/cjs/components/SideBar/SideBar.d.ts +8 -0
  100. package/dist/cjs/components/SideBar/SideBar.js +70 -0
  101. package/dist/cjs/components/SideBar/types.d.ts +8 -0
  102. package/dist/cjs/components/Slider/Slider.css +55 -0
  103. package/dist/cjs/components/Slider/Slider.d.ts +5 -0
  104. package/dist/cjs/components/Slider/Slider.js +173 -0
  105. package/dist/cjs/components/Slider/SliderOwnFunctions.d.ts +2 -0
  106. package/dist/cjs/components/Slider/SliderOwnFunctions.js +11 -0
  107. package/dist/cjs/components/Slider/types.d.ts +14 -0
  108. package/dist/cjs/hooks/useIntersectionObserver.d.ts +9 -0
  109. package/dist/cjs/hooks/useIntersectionObserver.js +28 -0
  110. package/dist/cjs/hooks/useOutsideClick.d.ts +3 -0
  111. package/dist/cjs/hooks/useOutsideClick.js +19 -0
  112. package/dist/cjs/hooks/useResizeObserver.d.ts +7 -0
  113. package/dist/cjs/hooks/useResizeObserver.js +30 -0
  114. package/dist/cjs/hooks/useWindowsSize.d.ts +6 -0
  115. package/dist/cjs/hooks/useWindowsSize.js +20 -0
  116. package/dist/cjs/index.css +79 -0
  117. package/dist/cjs/index.d.ts +20 -0
  118. package/dist/cjs/index.js +45 -0
  119. package/dist/cjs/languages/en-EN.d.ts +3 -0
  120. package/dist/cjs/languages/en-EN.js +25 -0
  121. package/dist/cjs/languages/es-ES.d.ts +3 -0
  122. package/dist/cjs/languages/es-ES.js +25 -0
  123. package/dist/cjs/languages/it-IT.d.ts +3 -0
  124. package/dist/cjs/languages/it-IT.js +25 -0
  125. package/dist/cjs/languages/types.d.ts +22 -0
  126. package/dist/cjs/mocks/ReactComponentMocksForTesting/CellChildrenMock.d.ts +4 -0
  127. package/dist/cjs/mocks/ReactComponentMocksForTesting/CellChildrenMock.js +13 -0
  128. package/dist/cjs/mocks/ReactComponentMocksForTesting/ListElementChildrenMock.d.ts +4 -0
  129. package/dist/cjs/mocks/ReactComponentMocksForTesting/ListElementChildrenMock.js +10 -0
  130. package/dist/cjs/react-app-env.d.ts +1 -0
  131. package/dist/cjs/setupTests.d.ts +2 -0
  132. package/dist/cjs/setupTests.js +8 -0
  133. package/dist/cjs/stories/CalendarDatePickerMask.d.ts +4 -0
  134. package/dist/cjs/stories/CalendarDatePickerMask.js +21 -0
  135. package/dist/cjs/utils/datesArray.d.ts +8 -0
  136. package/dist/cjs/utils/datesArray.js +23 -0
  137. package/dist/cjs/utils/dayOfTheWeekStartingOnMonday.d.ts +7 -0
  138. package/dist/cjs/utils/dayOfTheWeekStartingOnMonday.js +11 -0
  139. package/dist/cjs/utils/jsToSqlDate.d.ts +7 -0
  140. package/dist/cjs/utils/jsToSqlDate.js +22 -0
  141. package/dist/cjs/utils/monthYearString.d.ts +3 -0
  142. package/dist/cjs/utils/monthYearString.js +27 -0
  143. package/dist/cjs/utils/numberOfDaysInAMonth.d.ts +6 -0
  144. package/dist/cjs/utils/numberOfDaysInAMonth.js +12 -0
  145. package/dist/cjs/utils/numberOfWeeksInAMonth.d.ts +7 -0
  146. package/dist/cjs/utils/numberOfWeeksInAMonth.js +25 -0
  147. package/dist/cjs/utils/sqlToJsDate.d.ts +7 -0
  148. package/dist/cjs/utils/sqlToJsDate.js +14 -0
  149. package/dist/esm/Services/MulticalendarStatesAndSettings.d.ts +34 -0
  150. package/dist/esm/Services/MulticalendarStatesAndSettings.js +46 -0
  151. package/dist/esm/Services/accessToken.d.ts +3 -0
  152. package/dist/esm/Services/accessToken.js +9 -0
  153. package/dist/esm/common/constants.d.ts +5 -0
  154. package/dist/esm/common/constants.js +5 -0
  155. package/dist/esm/common/turboSuiteUrls.d.ts +7 -0
  156. package/dist/esm/common/turboSuiteUrls.js +7 -0
  157. package/dist/esm/common/types.d.ts +113 -0
  158. package/dist/esm/components/BubbleMenu/BubbleMenu.d.ts +12 -0
  159. package/dist/esm/components/BubbleMenu/BubbleMenu.js +32 -0
  160. package/dist/esm/components/BubbleMenu/BubbleMenu.module.scss +113 -0
  161. package/dist/esm/components/CalendarDatePicker/CalendarDatePicker.d.ts +19 -0
  162. package/dist/esm/components/CalendarDatePicker/CalendarDatePicker.js +163 -0
  163. package/dist/esm/components/CalendarDatePicker/CalendarDatePicker.module.scss +104 -0
  164. package/dist/esm/components/CalendarDatePicker/subcomponents/CalendarScrollableSection.d.ts +15 -0
  165. package/dist/esm/components/CalendarDatePicker/subcomponents/CalendarScrollableSection.js +272 -0
  166. package/dist/esm/components/CalendarDatePicker/subcomponents/CalendarScrollableSection.module.scss +151 -0
  167. package/dist/esm/components/ExportToExcelButton/ExportToExcelButton.css +31 -0
  168. package/dist/esm/components/ExportToExcelButton/ExportToExcelButton.d.ts +5 -0
  169. package/dist/esm/components/ExportToExcelButton/ExportToExcelButton.js +17 -0
  170. package/dist/esm/components/ExportToExcelButton/ExportToExcelButtonOwnFunctions.d.ts +6 -0
  171. package/dist/esm/components/ExportToExcelButton/ExportToExcelButtonOwnFunctions.js +48 -0
  172. package/dist/esm/components/ExportToExcelButton/types.d.ts +44 -0
  173. package/dist/esm/components/InputBoxWithConfirmation/InputBoxWithConfirmation.d.ts +17 -0
  174. package/dist/esm/components/InputBoxWithConfirmation/InputBoxWithConfirmation.js +109 -0
  175. package/dist/esm/components/InputBoxWithConfirmation/InputBoxWithConfirmation.module.scss +52 -0
  176. package/dist/esm/components/IntegerControl/IntegerControl.d.ts +10 -0
  177. package/dist/esm/components/IntegerControl/IntegerControl.js +24 -0
  178. package/dist/esm/components/IntegerControl/IntegerControl.module.scss +46 -0
  179. package/dist/esm/components/LabeledInput/LabeledInput.d.ts +15 -0
  180. package/dist/esm/components/LabeledInput/LabeledInput.js +19 -0
  181. package/dist/esm/components/LabeledInput/LabeledInput.module.scss +74 -0
  182. package/dist/esm/components/Modal/Modal.css +43 -0
  183. package/dist/esm/components/Modal/Modal.d.ts +5 -0
  184. package/dist/esm/components/Modal/Modal.js +54 -0
  185. package/dist/esm/components/Modal/types.d.ts +8 -0
  186. package/dist/esm/components/Multicalendar/Multicalendar.css +191 -0
  187. package/dist/esm/components/Multicalendar/Multicalendar.d.ts +5 -0
  188. package/dist/esm/components/Multicalendar/Multicalendar.js +341 -0
  189. package/dist/esm/components/Multicalendar/MulticalendarOwnFunctions.d.ts +86 -0
  190. package/dist/esm/components/Multicalendar/MulticalendarOwnFunctions.js +176 -0
  191. package/dist/esm/components/Multicalendar/subcomponents/composites/CellsRow/CellsRow.css +5 -0
  192. package/dist/esm/components/Multicalendar/subcomponents/composites/CellsRow/CellsRow.d.ts +5 -0
  193. package/dist/esm/components/Multicalendar/subcomponents/composites/CellsRow/CellsRow.js +15 -0
  194. package/dist/esm/components/Multicalendar/subcomponents/composites/CellsRow/types.d.ts +11 -0
  195. package/dist/esm/components/Multicalendar/subcomponents/composites/DatesGrid/DatesGrid.css +6 -0
  196. package/dist/esm/components/Multicalendar/subcomponents/composites/DatesGrid/DatesGrid.d.ts +5 -0
  197. package/dist/esm/components/Multicalendar/subcomponents/composites/DatesGrid/DatesGrid.js +15 -0
  198. package/dist/esm/components/Multicalendar/subcomponents/composites/DatesGrid/types.d.ts +13 -0
  199. package/dist/esm/components/Multicalendar/subcomponents/composites/ListElementsColumn/ListElementsColumn.css +3 -0
  200. package/dist/esm/components/Multicalendar/subcomponents/composites/ListElementsColumn/ListElementsColumn.d.ts +5 -0
  201. package/dist/esm/components/Multicalendar/subcomponents/composites/ListElementsColumn/ListElementsColumn.js +10 -0
  202. package/dist/esm/components/Multicalendar/subcomponents/composites/ListElementsColumn/types.d.ts +9 -0
  203. package/dist/esm/components/Multicalendar/subcomponents/individuals/Cell/Cell.css +6 -0
  204. package/dist/esm/components/Multicalendar/subcomponents/individuals/Cell/Cell.d.ts +5 -0
  205. package/dist/esm/components/Multicalendar/subcomponents/individuals/Cell/Cell.js +7 -0
  206. package/dist/esm/components/Multicalendar/subcomponents/individuals/Cell/types.d.ts +10 -0
  207. package/dist/esm/components/Multicalendar/subcomponents/individuals/DatesRow/DatesRow.css +60 -0
  208. package/dist/esm/components/Multicalendar/subcomponents/individuals/DatesRow/DatesRow.d.ts +5 -0
  209. package/dist/esm/components/Multicalendar/subcomponents/individuals/DatesRow/DatesRow.js +51 -0
  210. package/dist/esm/components/Multicalendar/subcomponents/individuals/DatesRow/types.d.ts +11 -0
  211. package/dist/esm/components/Multicalendar/subcomponents/individuals/DropdownMonthNavigation/DropdownMonthNavigation.css +14 -0
  212. package/dist/esm/components/Multicalendar/subcomponents/individuals/DropdownMonthNavigation/DropdownMonthNavigation.d.ts +5 -0
  213. package/dist/esm/components/Multicalendar/subcomponents/individuals/DropdownMonthNavigation/DropdownMonthNavigation.js +8 -0
  214. package/dist/esm/components/Multicalendar/subcomponents/individuals/DropdownMonthNavigation/types.d.ts +6 -0
  215. package/dist/esm/components/Multicalendar/subcomponents/individuals/ListElement/ListElement.css +14 -0
  216. package/dist/esm/components/Multicalendar/subcomponents/individuals/ListElement/ListElement.d.ts +5 -0
  217. package/dist/esm/components/Multicalendar/subcomponents/individuals/ListElement/ListElement.js +9 -0
  218. package/dist/esm/components/Multicalendar/subcomponents/individuals/ListElement/types.d.ts +7 -0
  219. package/dist/esm/components/Multicalendar/types.d.ts +48 -0
  220. package/dist/esm/components/MultipleJoinedButtonsBar/MultipleJoinedButtonsBar.css +40 -0
  221. package/dist/esm/components/MultipleJoinedButtonsBar/MultipleJoinedButtonsBar.d.ts +5 -0
  222. package/dist/esm/components/MultipleJoinedButtonsBar/MultipleJoinedButtonsBar.js +23 -0
  223. package/dist/esm/components/MultipleJoinedButtonsBar/types.d.ts +6 -0
  224. package/dist/esm/components/ParallelSelectionList/ParallelSelectionList.css +244 -0
  225. package/dist/esm/components/ParallelSelectionList/ParallelSelectionList.d.ts +5 -0
  226. package/dist/esm/components/ParallelSelectionList/ParallelSelectionList.js +142 -0
  227. package/dist/esm/components/ParallelSelectionList/types.d.ts +22 -0
  228. package/dist/esm/components/PopUp/PopUp.css +15 -0
  229. package/dist/esm/components/PopUp/PopUp.d.ts +5 -0
  230. package/dist/esm/components/PopUp/PopUp.js +22 -0
  231. package/dist/esm/components/PopUp/types.d.ts +9 -0
  232. package/dist/esm/components/ProgressBar/ProgressBar.css +39 -0
  233. package/dist/esm/components/ProgressBar/ProgressBar.d.ts +5 -0
  234. package/dist/esm/components/ProgressBar/ProgressBar.js +31 -0
  235. package/dist/esm/components/ProgressBar/types.d.ts +7 -0
  236. package/dist/esm/components/ScreenSteps/ScreenSteps.d.ts +14 -0
  237. package/dist/esm/components/ScreenSteps/ScreenSteps.js +38 -0
  238. package/dist/esm/components/ScreenSteps/ScreenSteps.module.scss +68 -0
  239. package/dist/esm/components/ScrollSnapGallery/ScrollSnapGallery.d.ts +14 -0
  240. package/dist/esm/components/ScrollSnapGallery/ScrollSnapGallery.js +70 -0
  241. package/dist/esm/components/ScrollSnapGallery/ScrollSnapGallery.module.scss +67 -0
  242. package/dist/esm/components/SearchBar/SearchBar.css +35 -0
  243. package/dist/esm/components/SearchBar/SearchBar.d.ts +5 -0
  244. package/dist/esm/components/SearchBar/SearchBar.js +29 -0
  245. package/dist/esm/components/SearchBar/types.d.ts +10 -0
  246. package/dist/esm/components/SideBar/SideBar.css +53 -0
  247. package/dist/esm/components/SideBar/SideBar.d.ts +8 -0
  248. package/dist/esm/components/SideBar/SideBar.js +42 -0
  249. package/dist/esm/components/SideBar/types.d.ts +8 -0
  250. package/dist/esm/components/Slider/Slider.css +55 -0
  251. package/dist/esm/components/Slider/Slider.d.ts +5 -0
  252. package/dist/esm/components/Slider/Slider.js +148 -0
  253. package/dist/esm/components/Slider/SliderOwnFunctions.d.ts +2 -0
  254. package/dist/esm/components/Slider/SliderOwnFunctions.js +6 -0
  255. package/dist/esm/components/Slider/types.d.ts +14 -0
  256. package/dist/esm/hooks/useIntersectionObserver.d.ts +9 -0
  257. package/dist/esm/hooks/useIntersectionObserver.js +26 -0
  258. package/dist/esm/hooks/useOutsideClick.d.ts +3 -0
  259. package/dist/esm/hooks/useOutsideClick.js +17 -0
  260. package/dist/esm/hooks/useResizeObserver.d.ts +7 -0
  261. package/dist/esm/hooks/useResizeObserver.js +28 -0
  262. package/dist/esm/hooks/useWindowsSize.d.ts +6 -0
  263. package/dist/esm/hooks/useWindowsSize.js +18 -0
  264. package/dist/esm/index.css +79 -0
  265. package/dist/esm/index.d.ts +20 -0
  266. package/dist/esm/index.js +19 -0
  267. package/dist/esm/languages/en-EN.d.ts +3 -0
  268. package/dist/esm/languages/en-EN.js +23 -0
  269. package/dist/esm/languages/es-ES.d.ts +3 -0
  270. package/dist/esm/languages/es-ES.js +23 -0
  271. package/dist/esm/languages/it-IT.d.ts +3 -0
  272. package/dist/esm/languages/it-IT.js +23 -0
  273. package/dist/esm/languages/types.d.ts +22 -0
  274. package/dist/esm/mocks/ReactComponentMocksForTesting/CellChildrenMock.d.ts +4 -0
  275. package/dist/esm/mocks/ReactComponentMocksForTesting/CellChildrenMock.js +8 -0
  276. package/dist/esm/mocks/ReactComponentMocksForTesting/ListElementChildrenMock.d.ts +4 -0
  277. package/dist/esm/mocks/ReactComponentMocksForTesting/ListElementChildrenMock.js +5 -0
  278. package/dist/esm/react-app-env.d.ts +1 -0
  279. package/dist/esm/setupTests.d.ts +2 -0
  280. package/dist/esm/setupTests.js +6 -0
  281. package/dist/esm/stories/CalendarDatePickerMask.d.ts +4 -0
  282. package/dist/esm/stories/CalendarDatePickerMask.js +16 -0
  283. package/dist/esm/utils/datesArray.d.ts +8 -0
  284. package/dist/esm/utils/datesArray.js +21 -0
  285. package/dist/esm/utils/dayOfTheWeekStartingOnMonday.d.ts +7 -0
  286. package/dist/esm/utils/dayOfTheWeekStartingOnMonday.js +9 -0
  287. package/dist/esm/utils/jsToSqlDate.d.ts +7 -0
  288. package/dist/esm/utils/jsToSqlDate.js +20 -0
  289. package/dist/esm/utils/monthYearString.d.ts +3 -0
  290. package/dist/esm/utils/monthYearString.js +25 -0
  291. package/dist/esm/utils/numberOfDaysInAMonth.d.ts +6 -0
  292. package/dist/esm/utils/numberOfDaysInAMonth.js +8 -0
  293. package/dist/esm/utils/numberOfWeeksInAMonth.d.ts +7 -0
  294. package/dist/esm/utils/numberOfWeeksInAMonth.js +20 -0
  295. package/dist/esm/utils/sqlToJsDate.d.ts +7 -0
  296. package/dist/esm/utils/sqlToJsDate.js +12 -0
  297. package/package.json +10 -22
  298. package/dist/index.d.ts +0 -1
  299. package/dist/index.mjs +0 -20188
  300. package/dist/index.umd.js +0 -196
  301. package/dist/style.css +0 -1
@@ -0,0 +1,244 @@
1
+ .trc-parallel-selection-list {
2
+ display: flex;
3
+ flex-direction: column;
4
+ justify-content: center;
5
+ align-items: center;
6
+ height: 100%;
7
+ }
8
+
9
+ .trc-parallel-selection-list .div-lists {
10
+ display: flex;
11
+ align-items: center;
12
+ justify-content: center;
13
+ width: 100%;
14
+ flex-grow: 1;
15
+ min-height: calc(100% - 80px);
16
+ max-height: 100%;
17
+ }
18
+
19
+ .trc-parallel-selection-list .div-lists .div-left-list {
20
+ grid-area: lef;
21
+ display: flex;
22
+ flex-flow: column;
23
+ align-items: center;
24
+ box-sizing: border-box;
25
+ padding: 10px;
26
+ width: 50%;
27
+ height: 100%;
28
+ }
29
+
30
+ .trc-parallel-selection-list .div-lists .div-right-list {
31
+ grid-area: rig;
32
+ display: flex;
33
+ flex-flow: column;
34
+ align-items: center;
35
+ box-sizing: border-box;
36
+ padding: 10px;
37
+ width: 50%;
38
+ height: 100%;
39
+ }
40
+
41
+ .trc-parallel-selection-list .div-action-buttons {
42
+ grid-area: but;
43
+ display: flex;
44
+ align-items: center;
45
+ justify-content: space-between;
46
+ box-sizing: border-box;
47
+ padding: 10px 20px;
48
+ width: 100%;
49
+ height: 80px;
50
+ }
51
+
52
+ .trc-parallel-selection-list .list-title {
53
+ font-size: 20px;
54
+ font-weight: 600;
55
+ color: dimgray;
56
+ height: 30px;
57
+ display: flex;
58
+ align-items: center;
59
+ justify-content: center;
60
+ }
61
+
62
+ .trc-parallel-selection-list .div-search-bar {
63
+ width: 100%;
64
+ border: 1px solid rgb(185, 185, 185);
65
+ border-top-left-radius: 6px;
66
+ border-top-right-radius: 6px;
67
+ padding: 6px;
68
+ height: 30px;
69
+ box-sizing: border-box;
70
+ color: dimgray;
71
+ display: flex;
72
+ align-items: center;
73
+ justify-content: center;
74
+ }
75
+
76
+ .trc-parallel-selection-list .div-search-bar input {
77
+ border: none;
78
+ padding-left: 10px;
79
+ width: 100%;
80
+ }
81
+
82
+ .trc-parallel-selection-list .div-search-bar input:focus {
83
+ outline: none;
84
+ }
85
+
86
+ .trc-parallel-selection-list .list-container {
87
+ width: 100%;
88
+ display: flex;
89
+ flex-flow: column;
90
+ box-sizing: border-box;
91
+ border: 1px solid rgb(169, 169, 169);
92
+ border-bottom-left-radius: 6px;
93
+ border-bottom-right-radius: 6px;
94
+ border-top: none;
95
+ height: calc(100% - 60px);
96
+ }
97
+
98
+ .trc-parallel-selection-list .list-container .apply-all-button {
99
+ display: flex;
100
+ align-items: center;
101
+ justify-content: center;
102
+ width: 100%;
103
+ height: 30px;
104
+ border: none;
105
+ background-color: transparent;
106
+ color: dimgray;
107
+ font-weight: 700;
108
+ border-bottom: 1px solid rgb(169, 169, 169);
109
+ box-sizing: border-box;
110
+ padding: 5px 0;
111
+ transition: all 0.3s;
112
+ cursor: pointer;
113
+ }
114
+
115
+ .trc-parallel-selection-list .list-container .apply-all-button svg {
116
+ width: 20px;
117
+ height: 20px;
118
+ }
119
+
120
+ .trc-parallel-selection-list .list-container .apply-all-button:hover {
121
+ background-color: rgb(238, 238, 238);
122
+ }
123
+
124
+ .trc-parallel-selection-list .list-container .scrollable-section {
125
+ overflow-y: auto;
126
+ height: calc(100% - 30px);
127
+ }
128
+
129
+ .trc-parallel-selection-list
130
+ .list-container
131
+ .scrollable-section
132
+ .resizable-div-for-scroll {
133
+ width: 100%;
134
+ box-sizing: border-box;
135
+ }
136
+
137
+ .trc-parallel-selection-list
138
+ .list-container
139
+ .scrollable-section
140
+ .resizable-div-for-scroll
141
+ .div-datum-wrapper {
142
+ width: 100%;
143
+ display: flex;
144
+ justify-content: space-between;
145
+ align-items: center;
146
+ border-bottom: 1px solid rgb(169, 169, 169);
147
+ }
148
+
149
+ .trc-parallel-selection-list
150
+ .list-container
151
+ .scrollable-section
152
+ .resizable-div-for-scroll
153
+ .div-datum-wrapper
154
+ .div-custom-component-wrapper {
155
+ position: relative;
156
+ height: 100%;
157
+ width: calc(100% - 50px);
158
+ display: flex;
159
+ align-items: center;
160
+ justify-content: center;
161
+ overflow: hidden;
162
+ }
163
+
164
+ .trc-parallel-selection-list
165
+ .list-container
166
+ .scrollable-section
167
+ .resizable-div-for-scroll
168
+ .div-datum-wrapper
169
+ .visible-default-name {
170
+ box-sizing: border-box;
171
+ padding: 17px 10px;
172
+ font-size: 16px;
173
+ font-weight: 600;
174
+ color: dimgray;
175
+ height: 50px;
176
+ white-space: nowrap;
177
+ text-overflow: ellipsis;
178
+ overflow: hidden;
179
+ width: calc(100% - 50px);
180
+ text-align: start;
181
+ }
182
+
183
+ .trc-parallel-selection-list
184
+ .list-container
185
+ .scrollable-section
186
+ .resizable-div-for-scroll
187
+ .div-datum-wrapper
188
+ .apply-to-one-button {
189
+ height: 30px;
190
+ width: 30px;
191
+ display: flex;
192
+ align-items: center;
193
+ justify-content: center;
194
+ margin: 10px;
195
+ background-color: transparent;
196
+ border: none;
197
+ border-radius: 15px;
198
+ transition: all 0.3s;
199
+ cursor: pointer;
200
+ }
201
+
202
+ .trc-parallel-selection-list
203
+ .list-container
204
+ .scrollable-section
205
+ .resizable-div-for-scroll
206
+ .div-datum-wrapper
207
+ .apply-to-one-button:hover {
208
+ background-color: rgb(238, 238, 238);
209
+ }
210
+
211
+ .trc-parallel-selection-list .div-action-buttons button {
212
+ box-sizing: border-box;
213
+ padding: 10px 15px;
214
+ display: flex;
215
+ align-items: center;
216
+ justify-content: center;
217
+ background-color: transparent;
218
+ border: solid 2px;
219
+ border-radius: 6px;
220
+ font-size: 16px;
221
+ font-weight: 600;
222
+ transition: all 0.3s;
223
+ cursor: pointer;
224
+ }
225
+
226
+ .trc-parallel-selection-list .div-action-buttons .cancel-button {
227
+ border-color: dimgray;
228
+ color: dimgray;
229
+ }
230
+
231
+ .trc-parallel-selection-list .div-action-buttons .cancel-button:hover {
232
+ background-color: dimgray;
233
+ color: white;
234
+ }
235
+
236
+ .trc-parallel-selection-list .div-action-buttons .apply-button {
237
+ border-color: var(--primary-color);
238
+ color: var(--primary-color);
239
+ }
240
+
241
+ .trc-parallel-selection-list .div-action-buttons .apply-button:hover {
242
+ background-color: var(--primary-color);
243
+ color: white;
244
+ }
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import "./ParallelSelectionList.css";
3
+ import { ParallelSelectionListPropsTypes } from "./types";
4
+ declare const ParallelSelectionList: ({ dataList, applyAction, cancelAction, onSelectionChange, leftListTitle, rightListTitle, leftListApplyAllButtonText, rightListApplyAllButtonText, searchBarsVisible, applyButtonText, cancelButtonText, preSelectedDatumsIds, listElementsHeight, }: ParallelSelectionListPropsTypes) => React.JSX.Element;
5
+ export default ParallelSelectionList;
@@ -0,0 +1,142 @@
1
+ import React from "react";
2
+ import { useState, useEffect, useRef } from "react";
3
+ import "./ParallelSelectionList.css";
4
+ //Icons
5
+ import { BsChevronDoubleLeft, BsChevronDoubleRight, BsChevronLeft, BsChevronRight, BsSearch, } from "react-icons/bs";
6
+ //Hooks
7
+ import useResizeObserver from "../../hooks/useResizeObserver";
8
+ const ParallelSelectionList = ({ dataList, applyAction, cancelAction, onSelectionChange, leftListTitle, rightListTitle, leftListApplyAllButtonText, rightListApplyAllButtonText, searchBarsVisible, applyButtonText, cancelButtonText, preSelectedDatumsIds = [], listElementsHeight = 50, }) => {
9
+ //Refs
10
+ const leftListRef = useRef(null);
11
+ const rightListRef = useRef(null);
12
+ //useState
13
+ const [selectedDatumsIds, setSelectedDatumsIds] = useState(preSelectedDatumsIds);
14
+ const [filteredLeftList, setFilteredLeftList] = useState([]);
15
+ const [filteredRightList, setFilteredRightList] = useState([]);
16
+ const [leftListFirstVisibleElementIndex, setLeftListFirstVisibleElementIndex] = useState(0);
17
+ const [leftListLastVisibleElementIndex, setLeftListLastVisibleElementIndex] = useState(0);
18
+ const [rightListFirstVisibleElementIndex, setRightListFirstVisibleElementIndex] = useState(0);
19
+ const [rightListLastVisibleElementIndex, setRightListLastVisibleElementIndex] = useState(0);
20
+ const [leftListSearchValue, setLeftListSearchValue] = useState("");
21
+ const [rightListSearchValue, setRightListSearchValue] = useState("");
22
+ //hooks
23
+ const [leftListWidth, leftListHeight] = useResizeObserver(leftListRef);
24
+ const [rightListWidth, rightListHeight] = useResizeObserver(rightListRef);
25
+ //Functions
26
+ const addToSelectedDatumsIds = (datumIdsArray) => {
27
+ const selectedDatumsIdsClone = [...selectedDatumsIds];
28
+ datumIdsArray.forEach((datumId) => {
29
+ if (!selectedDatumsIds.includes(datumId)) {
30
+ selectedDatumsIdsClone.push(datumId);
31
+ }
32
+ });
33
+ setSelectedDatumsIds(selectedDatumsIdsClone);
34
+ };
35
+ const removeFromSelectedDatumsIds = (datumIdsArray) => {
36
+ const selectedDatumsIdsClone = [...selectedDatumsIds];
37
+ datumIdsArray.forEach((datumId) => {
38
+ if (selectedDatumsIds.includes(datumId)) {
39
+ selectedDatumsIdsClone.splice(selectedDatumsIdsClone.indexOf(datumId), 1);
40
+ }
41
+ });
42
+ setSelectedDatumsIds(selectedDatumsIdsClone);
43
+ };
44
+ //useEffects
45
+ useEffect(() => {
46
+ let dataListClone = [...dataList];
47
+ dataListClone = dataListClone.filter((datum) => !selectedDatumsIds.includes(datum._id));
48
+ dataListClone = dataListClone.filter((datum) => datum.searchValue.toLowerCase().includes(leftListSearchValue.toLowerCase()));
49
+ setFilteredLeftList(dataListClone);
50
+ }, [leftListSearchValue, dataList, selectedDatumsIds]);
51
+ useEffect(() => {
52
+ let dataListClone = [...dataList];
53
+ dataListClone = dataListClone.filter((datum) => selectedDatumsIds.includes(datum._id));
54
+ dataListClone = dataListClone.filter((datum) => datum.searchValue.toLowerCase().includes(rightListSearchValue.toLowerCase()));
55
+ setFilteredRightList(dataListClone);
56
+ }, [rightListSearchValue, dataList, selectedDatumsIds]);
57
+ useEffect(() => {
58
+ if (leftListRef.current && leftListRef.current.clientHeight !== 0) {
59
+ setLeftListLastVisibleElementIndex(leftListFirstVisibleElementIndex +
60
+ Math.floor(leftListRef.current.clientHeight / listElementsHeight) +
61
+ 2);
62
+ }
63
+ else {
64
+ setLeftListLastVisibleElementIndex(filteredLeftList.length);
65
+ }
66
+ }, [
67
+ leftListHeight,
68
+ leftListWidth,
69
+ leftListFirstVisibleElementIndex,
70
+ listElementsHeight,
71
+ filteredLeftList.length,
72
+ ]);
73
+ useEffect(() => {
74
+ if (rightListRef.current && rightListRef.current.clientHeight !== 0) {
75
+ setRightListLastVisibleElementIndex(rightListFirstVisibleElementIndex +
76
+ Math.floor(rightListRef.current.clientHeight / listElementsHeight) +
77
+ 2);
78
+ }
79
+ else {
80
+ setRightListLastVisibleElementIndex(filteredRightList.length);
81
+ }
82
+ }, [
83
+ rightListHeight,
84
+ rightListWidth,
85
+ rightListFirstVisibleElementIndex,
86
+ listElementsHeight,
87
+ filteredRightList.length,
88
+ ]);
89
+ useEffect(() => {
90
+ //I know what I am doing... maybe
91
+ if (onSelectionChange) {
92
+ onSelectionChange(selectedDatumsIds);
93
+ }
94
+ // eslint-disable-next-line
95
+ }, [selectedDatumsIds]);
96
+ return (React.createElement("div", { className: "trc-parallel-selection-list" },
97
+ React.createElement("div", { className: "div-lists" },
98
+ React.createElement("div", { className: "div-left-list" },
99
+ React.createElement("p", { className: "list-title" }, leftListTitle),
100
+ searchBarsVisible && (React.createElement("div", { className: "div-search-bar" },
101
+ React.createElement(BsSearch, null),
102
+ React.createElement("input", { type: "text", value: leftListSearchValue, onChange: (event) => setLeftListSearchValue(event.target.value) }))),
103
+ React.createElement("div", { className: "list-container" },
104
+ React.createElement("button", { className: "apply-all-button", onClick: () => addToSelectedDatumsIds(filteredLeftList.map((datum) => datum._id)) },
105
+ leftListApplyAllButtonText,
106
+ " ",
107
+ React.createElement(BsChevronDoubleRight, null)),
108
+ React.createElement("div", { ref: leftListRef, className: "scrollable-section", onScroll: (event) => setLeftListFirstVisibleElementIndex(Math.floor(event.target.scrollTop / listElementsHeight)) },
109
+ React.createElement("div", { className: "resizable-div-for-scroll", style: {
110
+ paddingTop: leftListFirstVisibleElementIndex * listElementsHeight,
111
+ height: filteredLeftList.length * listElementsHeight,
112
+ } }, filteredLeftList
113
+ .slice(leftListFirstVisibleElementIndex, leftListLastVisibleElementIndex)
114
+ .map((datum) => (React.createElement("div", { key: datum._id, className: "div-datum-wrapper", style: { height: listElementsHeight } },
115
+ datum.customComponent ? (React.createElement("div", { className: "div-custom-component-wrapper" }, datum.customComponent)) : (React.createElement("p", { className: "visible-default-name", title: datum.visibleDefaultName }, datum.visibleDefaultName)),
116
+ React.createElement("button", { className: "apply-to-one-button", onClick: () => addToSelectedDatumsIds([datum._id]) },
117
+ React.createElement(BsChevronRight, null))))))))),
118
+ React.createElement("div", { className: "div-right-list" },
119
+ React.createElement("p", { className: "list-title" }, rightListTitle),
120
+ searchBarsVisible && (React.createElement("div", { className: "div-search-bar" },
121
+ React.createElement(BsSearch, null),
122
+ React.createElement("input", { type: "text", value: rightListSearchValue, onChange: (event) => setRightListSearchValue(event.target.value) }))),
123
+ React.createElement("div", { className: "list-container" },
124
+ React.createElement("button", { className: "apply-all-button", onClick: () => removeFromSelectedDatumsIds(filteredRightList.map((datum) => datum._id)) },
125
+ React.createElement(BsChevronDoubleLeft, null),
126
+ " ",
127
+ rightListApplyAllButtonText),
128
+ React.createElement("div", { ref: rightListRef, className: "scrollable-section", onScroll: (event) => setRightListFirstVisibleElementIndex(Math.floor(event.target.scrollTop / listElementsHeight)) },
129
+ React.createElement("div", { className: "resizable-div-for-scroll", style: {
130
+ paddingTop: rightListFirstVisibleElementIndex * listElementsHeight,
131
+ height: filteredRightList.length * listElementsHeight,
132
+ } }, filteredRightList
133
+ .slice(rightListFirstVisibleElementIndex, rightListLastVisibleElementIndex)
134
+ .map((datum) => (React.createElement("div", { key: datum._id, className: "div-datum-wrapper", style: { height: listElementsHeight } },
135
+ React.createElement("button", { className: "apply-to-one-button", onClick: () => removeFromSelectedDatumsIds([datum._id]) },
136
+ React.createElement(BsChevronLeft, null)),
137
+ datum.customComponent ? (React.createElement("div", { className: "div-custom-component-wrapper" }, datum.customComponent)) : (React.createElement("p", { className: "visible-default-name", title: datum.visibleDefaultName }, datum.visibleDefaultName)))))))))),
138
+ (cancelAction || applyAction) && (React.createElement("div", { className: "div-action-buttons" },
139
+ cancelAction && (React.createElement("button", { className: "cancel-button", onClick: () => cancelAction() }, cancelButtonText ? cancelButtonText : "Cancel")),
140
+ applyAction && (React.createElement("button", { className: "apply-button", onClick: () => applyAction(selectedDatumsIds) }, applyButtonText ? applyButtonText : "Apply"))))));
141
+ };
142
+ export default ParallelSelectionList;
@@ -0,0 +1,22 @@
1
+ export interface ParallelSelectionListPropsTypes {
2
+ dataList: ListDatumType[];
3
+ applyAction?: (dataListId: ListDatumType["_id"][]) => void;
4
+ cancelAction?: Function;
5
+ onSelectionChange?: (dataListId: ListDatumType["_id"][]) => void;
6
+ leftListTitle?: string;
7
+ rightListTitle?: string;
8
+ leftListApplyAllButtonText?: string;
9
+ rightListApplyAllButtonText?: string;
10
+ searchBarsVisible?: boolean;
11
+ applyButtonText?: string;
12
+ cancelButtonText?: string;
13
+ preSelectedDatumsIds?: ListDatumType["_id"][];
14
+ listElementsHeight?: number;
15
+ }
16
+
17
+ export type ListDatumType = {
18
+ _id: string;
19
+ searchValue: string;
20
+ visibleDefaultName: string;
21
+ customComponent?: JSX.Element;
22
+ };
@@ -0,0 +1,15 @@
1
+ .trc-pop-up {
2
+ background-color: rgb(255, 255, 255);
3
+ border-color: rgb(235, 235, 235);
4
+ border-style: solid;
5
+ border-width: 0px 1px 1px;
6
+ box-shadow: rgb(0 0 0 / 15%) 0px 14px 36px 2px;
7
+ padding: 0px;
8
+ position: absolute;
9
+ overflow: auto;
10
+ box-sizing: border-box;
11
+ }
12
+
13
+ .trc-pop-up.pop-up-hidden {
14
+ display: none;
15
+ }
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import "./PopUp.css";
3
+ import { PopUpPropsType } from "./types";
4
+ declare const PopUp: ({ open, children, closeAction, outBoundClickClosesPopUp, aditionalInlineStyle, aditionalClass, activationButtonRef, }: PopUpPropsType) => React.JSX.Element;
5
+ export default PopUp;
@@ -0,0 +1,22 @@
1
+ import React, { useState, useRef } from "react";
2
+ import "./PopUp.css";
3
+ //hooks
4
+ import useOutsideClick from "../../hooks/useOutsideClick";
5
+ const PopUp = ({ open = false, children, closeAction, outBoundClickClosesPopUp, aditionalInlineStyle = {}, aditionalClass, activationButtonRef, }) => {
6
+ //Refs
7
+ const popUpRef = useRef(null);
8
+ //Hooks
9
+ useOutsideClick(popUpRef, () => {
10
+ if (outBoundClickClosesPopUp) {
11
+ setOpenState(false);
12
+ if (closeAction)
13
+ closeAction();
14
+ }
15
+ }, activationButtonRef ? [activationButtonRef] : []);
16
+ //useState
17
+ const [openState, setOpenState] = useState(open);
18
+ return (React.createElement("div", { ref: popUpRef, className: "trc-pop-up" +
19
+ ((closeAction && open) || (!closeAction && openState) ? "" : " pop-up-hidden") +
20
+ (aditionalClass ? " " + aditionalClass : ""), style: open ? aditionalInlineStyle : {} }, children));
21
+ };
22
+ export default PopUp;
@@ -0,0 +1,9 @@
1
+ export interface PopUpPropsType {
2
+ children: JSX.Element | JSX.Element[];
3
+ open: boolean;
4
+ closeAction?: Function;
5
+ outBoundClickClosesPopUp?: boolean;
6
+ aditionalInlineStyle?: React.CSSProperties;
7
+ aditionalClass?: string;
8
+ activationButtonRef?: React.MutableRefObject<HTMLElement | null>;
9
+ }
@@ -0,0 +1,39 @@
1
+ .trc-progress-bar {
2
+ height: 40px;
3
+ width: 100%;
4
+ position: relative;
5
+ opacity: 0.9;
6
+ backdrop-filter: blur(10px);
7
+ }
8
+
9
+ .trc-progress-bar .fillable-body {
10
+ position: relative;
11
+ height: 100%;
12
+ width: 100%;
13
+ background-color: dimgray;
14
+ border-radius: 100px;
15
+ display: flex;
16
+ align-items: center;
17
+ justify-content: flex-start;
18
+ overflow: hidden;
19
+ }
20
+
21
+ .trc-progress-bar .fillable-body .filler {
22
+ height: 100%;
23
+ box-sizing: border-box;
24
+ transition: all 0.2s;
25
+ border-radius: 100px;
26
+ }
27
+
28
+ .trc-progress-bar .fillable-body p {
29
+ position: absolute;
30
+ width: 100%;
31
+ height: 100%;
32
+ text-align: center;
33
+ display: flex;
34
+ align-items: center;
35
+ justify-content: center;
36
+ font-size: 16px;
37
+ font-weight: 600;
38
+ color: white;
39
+ }
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import "./ProgressBar.css";
3
+ import { ProgressBarPropsType } from "./types";
4
+ declare const ProgressBar: ({ totalSize, currentValue, color, }: ProgressBarPropsType) => React.JSX.Element;
5
+ export default ProgressBar;
@@ -0,0 +1,31 @@
1
+ import React, { useEffect, useState, useRef } from "react";
2
+ import "./ProgressBar.css";
3
+ const ProgressBar = ({ totalSize, currentValue, color = "var(--secondary-color)", }) => {
4
+ var _a;
5
+ //useRef
6
+ const fillableBodyRef = useRef(null);
7
+ //useStates
8
+ const [currentPercentage, setCurrentPercentage] = useState(totalSize !== 0 ? currentValue / totalSize : 0);
9
+ const [barWidth, setBarWidth] = useState(0);
10
+ //useEffects
11
+ useEffect(() => {
12
+ if (totalSize !== 0) {
13
+ setCurrentPercentage(currentValue / totalSize);
14
+ }
15
+ else {
16
+ setCurrentPercentage(0);
17
+ }
18
+ }, [totalSize, currentValue]);
19
+ useEffect(() => {
20
+ if (fillableBodyRef.current !== null) {
21
+ setBarWidth(fillableBodyRef.current.clientWidth);
22
+ }
23
+ }, [(_a = fillableBodyRef.current) === null || _a === void 0 ? void 0 : _a.clientHeight]);
24
+ return (React.createElement("div", { className: "trc-progress-bar" },
25
+ React.createElement("div", { ref: fillableBodyRef, className: "fillable-body" },
26
+ React.createElement("div", { className: "filler", style: { width: barWidth * currentPercentage, backgroundColor: color } }),
27
+ React.createElement("p", null,
28
+ (currentPercentage * 100).toFixed(0),
29
+ "%"))));
30
+ };
31
+ export default ProgressBar;
@@ -0,0 +1,7 @@
1
+ import { languageType } from "../../../assets/languages/types";
2
+
3
+ export interface ProgressBarPropsType {
4
+ totalSize: number;
5
+ currentValue: number;
6
+ color?: string,
7
+ }
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ type Step = {
3
+ component: React.ReactNode;
4
+ innerText: string;
5
+ outterText?: string;
6
+ };
7
+ type ScreenStepsProps = {
8
+ steps: Step[];
9
+ defaultStep?: number;
10
+ onStepChange?: (step: number) => void;
11
+ overrideStep?: number;
12
+ };
13
+ declare const ScreenSteps: ({ steps, defaultStep, onStepChange, overrideStep, }: ScreenStepsProps) => React.JSX.Element;
14
+ export default ScreenSteps;
@@ -0,0 +1,38 @@
1
+ import React, { useState, useEffect } from "react";
2
+ import styles from "./ScreenSteps.module.scss";
3
+ const ScreenSteps = ({ steps, defaultStep = 0, onStepChange = () => { }, overrideStep, }) => {
4
+ const [currentStep, setCurrentStep] = useState(defaultStep);
5
+ const stepClassName = (index) => {
6
+ let className = styles["step"];
7
+ const isCompleted = index < currentStep;
8
+ if (isCompleted) {
9
+ className += ` ${styles["completed"]}`;
10
+ }
11
+ const isCurrent = index === currentStep;
12
+ if (isCurrent) {
13
+ className += ` ${styles["current"]}`;
14
+ }
15
+ return className;
16
+ };
17
+ const stepContentStyle = () => {
18
+ const translatePercentage = 100 / steps.length;
19
+ return {
20
+ width: `${steps.length * 100}%`,
21
+ transform: `translateX(-${translatePercentage * currentStep}%)`,
22
+ };
23
+ };
24
+ useEffect(() => {
25
+ const isValidStep = overrideStep !== undefined && overrideStep < steps.length && overrideStep >= 0;
26
+ if (isValidStep)
27
+ setCurrentStep(overrideStep);
28
+ }, [overrideStep]);
29
+ return (React.createElement("section", { className: styles["screen-steps"] },
30
+ React.createElement("nav", { className: styles["steps"] }, steps.map((step, index) => (React.createElement("div", { key: step.innerText, className: stepClassName(index), onClick: () => {
31
+ setCurrentStep(index);
32
+ onStepChange(index);
33
+ } }, step.innerText)))),
34
+ React.createElement("p", { className: styles["outer-text"] }, steps[currentStep].outterText),
35
+ React.createElement("div", { className: styles["frame"] },
36
+ React.createElement("div", { className: styles["steps-content"], style: stepContentStyle() }, steps.map((step) => (React.createElement("div", { key: step.innerText, className: styles["step-component"], style: { width: `${100 / steps.length}%` } }, step.component)))))));
37
+ };
38
+ export default ScreenSteps;
@@ -0,0 +1,68 @@
1
+ .screen-steps {
2
+ width: 100%;
3
+ height: 100%;
4
+ display: flex;
5
+ flex-direction: column;
6
+ justify-content: flex-start;
7
+ align-items: center;
8
+ .steps {
9
+ width: 100%;
10
+ display: flex;
11
+ align-items: center;
12
+ justify-content: center;
13
+ .step {
14
+ width: 62px;
15
+ height: 62px;
16
+ border-radius: 31px;
17
+ background-color: #959595;
18
+ display: flex;
19
+ align-items: center;
20
+ justify-content: center;
21
+ opacity: 0.2;
22
+ color: #000000;
23
+ text-align: center;
24
+ font-family: Arial, Helvetica, sans-serif;
25
+ font-size: 15px;
26
+ font-style: normal;
27
+ font-weight: 600;
28
+ line-height: normal;
29
+ cursor: pointer;
30
+ transition: all 300ms ease-in-out;
31
+ &.completed {
32
+ opacity: 0.4;
33
+ background-color: #705a00;
34
+ color: #000000;
35
+ }
36
+ &.current {
37
+ opacity: 0.4;
38
+ background-color: #705a00;
39
+ color: #000000;
40
+ }
41
+ }
42
+ }
43
+ .outer-text {
44
+ color: #787878;
45
+ text-align: center;
46
+ font-family: Arial, Helvetica, sans-serif;
47
+ font-size: 20px;
48
+ font-style: normal;
49
+ font-weight: 400;
50
+ line-height: normal;
51
+ margin: 0;
52
+ }
53
+ .frame {
54
+ height: calc(100% - 82px);
55
+ width: 100%;
56
+ overflow: hidden;
57
+ .steps-content {
58
+ height: 100%;
59
+ display: flex;
60
+ align-items: center;
61
+ justify-content: flex-start;
62
+ transition: all 300ms ease-in-out;
63
+ .step-component {
64
+ height: 100%;
65
+ }
66
+ }
67
+ }
68
+ }