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,82 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const react_1 = __importStar(require("react"));
30
+ const react_dom_1 = __importDefault(require("react-dom"));
31
+ require("./Modal.css");
32
+ //Hooks
33
+ const useOutsideClick_1 = __importDefault(require("../../hooks/useOutsideClick"));
34
+ const Modal = ({ children, visibility, forced = false, onOpen, onClose, transitionTime = 500, }) => {
35
+ //Refs
36
+ const modalRef = (0, react_1.useRef)(null);
37
+ //Estados
38
+ const [visible, setVisible] = (0, react_1.useState)(visibility);
39
+ //Hooks
40
+ (0, useOutsideClick_1.default)(modalRef, () => {
41
+ if (modalRef.current !== null && !forced) {
42
+ modalRef.current.className = "close-modal";
43
+ setTimeout(() => {
44
+ setVisible(false);
45
+ if (onClose)
46
+ onClose();
47
+ }, transitionTime - 50);
48
+ }
49
+ });
50
+ //UseEffect
51
+ (0, react_1.useEffect)(() => {
52
+ if (visibility) {
53
+ setVisible(true);
54
+ if (onOpen)
55
+ onOpen();
56
+ }
57
+ else if (!visibility) {
58
+ setTimeout(() => {
59
+ setVisible(false);
60
+ if (onClose)
61
+ onClose();
62
+ }, transitionTime - 50);
63
+ }
64
+ }, [visibility, transitionTime, onOpen, onClose]);
65
+ //Render
66
+ if (visible) {
67
+ return react_dom_1.default.createPortal(react_1.default.createElement("div", { ref: modalRef, className: visibility ? "trc-modal" : "trc-close-modal", style: { animationDuration: `${transitionTime}ms` }, onClick: (event) => {
68
+ if (event.target.id === "modal" && !forced) {
69
+ event.target.id = "close-modal";
70
+ setTimeout(() => {
71
+ setVisible(false);
72
+ if (onClose)
73
+ onClose();
74
+ }, transitionTime - 50);
75
+ }
76
+ } }, children), document.getElementById("root") || document.body);
77
+ }
78
+ else {
79
+ return react_1.default.createElement(react_1.default.Fragment, null);
80
+ }
81
+ };
82
+ exports.default = Modal;
@@ -0,0 +1,8 @@
1
+ export interface ModalPropsType {
2
+ children: JSX.Element;
3
+ visibility: boolean;
4
+ forced?: boolean;
5
+ onOpen?: Function;
6
+ onClose?: Function;
7
+ transitionTime?: number;
8
+ }
@@ -0,0 +1,191 @@
1
+ .trc-multicalendar {
2
+ display: grid;
3
+ color: black;
4
+ width: 100%;
5
+ height: 100%;
6
+ grid-template-areas:
7
+ "fil con"
8
+ "fil hor"
9
+ "ver gri";
10
+ text-align: center;
11
+ transition: 0.5s;
12
+ }
13
+
14
+ .trc-multicalendar .div-upper-left-component {
15
+ grid-area: fil;
16
+ position: relative;
17
+ width: 100%;
18
+ height: 100%;
19
+ z-index: 2;
20
+ background-color: white;
21
+ border-bottom: 1px solid rgb(235, 235, 235);
22
+ border-right: 1px solid rgb(235, 235, 235);
23
+ box-sizing: border-box;
24
+ display: flex;
25
+ flex-flow: column;
26
+ justify-content: center;
27
+ align-items: center;
28
+ }
29
+
30
+ .trc-multicalendar .controls {
31
+ grid-area: con;
32
+ height: 100%;
33
+ padding: 2px;
34
+ box-sizing: border-box;
35
+ display: flex;
36
+ align-items: center;
37
+ justify-content: space-between;
38
+ flex-wrap: wrap-reverse;
39
+ box-sizing: border-box;
40
+ border-bottom: var(--border-tenues);
41
+ }
42
+
43
+ .trc-multicalendar .div-upper-left-component {
44
+ grid-area: fil;
45
+ position: relative;
46
+ width: 100%;
47
+ height: 100%;
48
+ z-index: 2;
49
+ background-color: white;
50
+ border-bottom: 1px solid rgb(235, 235, 235);
51
+ border-right: 1px solid rgb(235, 235, 235);
52
+ box-sizing: border-box;
53
+ display: flex;
54
+ flex-flow: column;
55
+ justify-content: flex-end;
56
+ }
57
+
58
+
59
+ .trc-multicalendar .vertical-axis {
60
+ grid-area: ver;
61
+ position: relative;
62
+ width: 100%;
63
+ height: 100%;
64
+ box-shadow: rgb(0 0 0 / 15%) 0px 0px 16px 5px;
65
+ z-index: 1;
66
+ }
67
+
68
+ .trc-multicalendar .horizontal-axis {
69
+ grid-area: hor;
70
+ position: relative;
71
+ max-width: 100%;
72
+ height: 90px;
73
+ }
74
+
75
+ .trc-multicalendar .controls .div-dates-navigation {
76
+ display: flex;
77
+ align-items: center;
78
+ }
79
+
80
+ .trc-multicalendar .controls .div-dates-navigation button {
81
+ cursor: pointer;
82
+ margin: 0px;
83
+ position: relative;
84
+ text-align: center;
85
+ text-decoration: none;
86
+ border: 1px solid rgb(216, 216, 216);
87
+ padding: 4px 8px;
88
+ box-sizing: border-box;
89
+ color: black;
90
+ font-size: 14px;
91
+ touch-action: manipulation;
92
+ border-radius: 6px;
93
+ background: rgb(255, 255, 255);
94
+ font-weight: normal;
95
+ height: calc(100% - 16px);
96
+ }
97
+
98
+ .trc-multicalendar .controls .div-aditional-controls-components {
99
+ display: flex;
100
+ justify-content: flex-end;
101
+ align-items: center;
102
+ flex-grow: 1;
103
+ }
104
+
105
+ .trc-multicalendar .div-main-container {
106
+ grid-area: gri;
107
+ height: 100%;
108
+ position: relative;
109
+ width: 100%;
110
+ overflow: hidden;
111
+ }
112
+
113
+ .trc-multicalendar .div-main-container .div-cargando-contenedor-principal {
114
+ position: absolute;
115
+ top: 0;
116
+ left: 0;
117
+ width: 100%;
118
+ height: 100%;
119
+ display: flex;
120
+ justify-content: center;
121
+ align-items: center;
122
+ z-index: 2;
123
+ background-color: rgba(236, 236, 236, 0.8);
124
+ }
125
+
126
+ .trc-multicalendar .main-container {
127
+ position: relative;
128
+ min-width: 100%;
129
+ height: 100%;
130
+ overflow-x: scroll;
131
+ }
132
+
133
+ .trc-multicalendar .vertical-axis .div-list-element-column {
134
+ height: 100%;
135
+ overflow-y: scroll;
136
+ box-sizing: border-box;
137
+ }
138
+
139
+ .trc-multicalendar .horizontal-axis .div-weeks-buttons {
140
+ position: absolute;
141
+ bottom: 0;
142
+ width: 100%;
143
+ height: 74px;
144
+ }
145
+
146
+ .trc-multicalendar .horizontal-axis .div-weeks-buttons .past-week-button,
147
+ .trc-multicalendar .horizontal-axis .div-weeks-buttons .next-week-button {
148
+ z-index: 2;
149
+ position: absolute;
150
+ background-color: transparent;
151
+ border: none;
152
+ height: 100%;
153
+ width: 32px;
154
+ font-size: 1em;
155
+ color: var(--primary-color);
156
+ border-radius: 6px;
157
+ cursor: pointer;
158
+ transition: all 0.3s;
159
+ height: 75%;
160
+ background: rgb(255 255 255);
161
+ box-shadow: 0px 0px 8px 8px white;
162
+ }
163
+
164
+ .trc-multicalendar .horizontal-axis .div-weeks-buttons .past-week-button:hover,
165
+ .trc-multicalendar .horizontal-axis .div-weeks-buttons .next-week-button:hover {
166
+ background: rgb(247, 247, 247);
167
+ box-shadow: 0px 0px 8px 8px rgb(247 247 247);
168
+ }
169
+
170
+ .trc-multicalendar .horizontal-axis .div-weeks-buttons .past-week-button:active,
171
+ .trc-multicalendar .horizontal-axis .div-weeks-buttons .next-week-button:active {
172
+ background: rgb(167, 167, 167);
173
+ box-shadow: 0px 0px 8px 8px rgb(167, 167, 167);
174
+ }
175
+
176
+ .trc-multicalendar .horizontal-axis .div-weeks-buttons .past-week-button {
177
+ left: 5px;
178
+ }
179
+
180
+ .trc-multicalendar .horizontal-axis .div-weeks-buttons .next-week-button {
181
+ right: 5px;
182
+ }
183
+
184
+ .trc-multicalendar .horizontal-axis .div-dates-row {
185
+ position: absolute;
186
+ bottom: 0;
187
+ width: 100%;
188
+ overflow-x: scroll;
189
+ border-bottom: 1px solid rgb(235, 235, 235);
190
+ box-sizing: border-box;
191
+ }
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import "./Multicalendar.css";
3
+ import { MulticalendarPropsType } from "./types";
4
+ declare const Multicalendar: ({ multicalendarId, ReactCellChildren, ReactListElementChildren, listElementsIdsArray, language, pastDatesVisible, cellsWidth, cellsHeight, verticalAxisWidth, pastDaysInitialQuantity, futureDaysInitialQuantity, chunkRenderX, chunkRenderY, dynamicDaysQuantity, authomaticScrollOnDraggingOverEdges, waitTimeForCalls, callsOnInitialView, callsOnScrollingStops, aditionalControlsComponents, upperLeftComponent, autoSavePosition, onScrollTopChanges, onScrollLeftChanges, }: MulticalendarPropsType) => React.JSX.Element;
5
+ export default Multicalendar;
@@ -0,0 +1,369 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const react_1 = __importStar(require("react"));
30
+ const Funciones = __importStar(require("./MulticalendarOwnFunctions"));
31
+ require("./Multicalendar.css");
32
+ //Assets
33
+ const bs_1 = require("react-icons/bs");
34
+ //Componentes
35
+ const DatesRow_1 = __importDefault(require("./subcomponents/individuals/DatesRow/DatesRow"));
36
+ const ListElementsColumn_1 = __importDefault(require("./subcomponents/composites/ListElementsColumn/ListElementsColumn"));
37
+ const DatesGrid_1 = __importDefault(require("./subcomponents/composites/DatesGrid/DatesGrid"));
38
+ const DropdownMonthNavigation_1 = __importDefault(require("./subcomponents/individuals/DropdownMonthNavigation/DropdownMonthNavigation"));
39
+ //Hooks
40
+ const useWindowsSize_1 = __importDefault(require("../../hooks/useWindowsSize"));
41
+ //Utils
42
+ const sqlToJsDate_1 = __importDefault(require("../../utils/sqlToJsDate"));
43
+ //Services
44
+ const MulticalendarStatesAndSettings_1 = require("../../Services/MulticalendarStatesAndSettings");
45
+ const Multicalendar = ({ multicalendarId, ReactCellChildren, ReactListElementChildren, listElementsIdsArray, language, pastDatesVisible = true, cellsWidth = 120, cellsHeight = 80, verticalAxisWidth = 280, pastDaysInitialQuantity = 365, futureDaysInitialQuantity = 365, chunkRenderX = 0, chunkRenderY = 0, dynamicDaysQuantity = false, authomaticScrollOnDraggingOverEdges = false, waitTimeForCalls = 500, callsOnInitialView, callsOnScrollingStops, aditionalControlsComponents, upperLeftComponent, autoSavePosition, onScrollTopChanges, onScrollLeftChanges, }) => {
46
+ var _a, _b;
47
+ //Constantes del componente
48
+ const initialDateOffset = 1 + chunkRenderX;
49
+ //Refs
50
+ const datesRowRef = (0, react_1.useRef)(null);
51
+ const destiniesColumnRef = (0, react_1.useRef)(null);
52
+ const gridWrapperRef = (0, react_1.useRef)(null);
53
+ const controlsWrapperRef = (0, react_1.useRef)(null);
54
+ const horizontalAxisWrapperRef = (0, react_1.useRef)(null);
55
+ //Estados
56
+ const [firtsCallOnInitialViewDone, setFirtsCallOnInitialViewDone] = (0, react_1.useState)(false);
57
+ const [windowWidth, windowHeight] = (0, useWindowsSize_1.default)();
58
+ const [futureDaysQuantity, setFutureDaysQuantity] = (0, react_1.useState)(Math.ceil(futureDaysInitialQuantity));
59
+ const [pastDaysQuantity, setPastDaysQuantity] = (0, react_1.useState)(pastDatesVisible ? Math.ceil(pastDaysInitialQuantity) : 0);
60
+ const [paginationWidth, setPaginationWidth] = (0, react_1.useState)(0);
61
+ const [paginationHeight, setPaginationHeight] = (0, react_1.useState)(0);
62
+ const [xOffset, setXOffset] = (0, react_1.useState)(1);
63
+ const [yOffset, setYOffset] = (0, react_1.useState)(0);
64
+ const [visibleDates, setVisibleDates] = (0, react_1.useState)([]);
65
+ const [visibleListElementsIds, setVisibleListElementsIds] = (0, react_1.useState)([]);
66
+ const [updateList, setUpdateList] = (0, react_1.useState)(false);
67
+ const [origin, setOrigin] = (0, react_1.useState)({
68
+ x: (0, MulticalendarStatesAndSettings_1.getMulticalendarScrollLeftPosition)(multicalendarId)
69
+ ? Number((0, MulticalendarStatesAndSettings_1.getMulticalendarScrollLeftPosition)(multicalendarId))
70
+ : pastDatesVisible
71
+ ? Math.ceil(pastDaysInitialQuantity) * cellsWidth
72
+ : 0,
73
+ y: (0, MulticalendarStatesAndSettings_1.getMulticalendarScrollTopPosition)(multicalendarId)
74
+ ? Number((0, MulticalendarStatesAndSettings_1.getMulticalendarScrollTopPosition)(multicalendarId))
75
+ : 0,
76
+ });
77
+ const [xPosition, setXPosition] = (0, react_1.useState)(origin.x);
78
+ const [yPosition, setYPosition] = (0, react_1.useState)(origin.y);
79
+ const [renderCoordinates, setRenderCoordinates] = (0, react_1.useState)({
80
+ x: origin.x,
81
+ y: origin.y,
82
+ });
83
+ const [initialPositioningDone, setInitialPositioningDone] = (0, react_1.useState)(false);
84
+ const [minimumVisibleDate, setMinimumVisibleDate] = (0, react_1.useState)(new Date());
85
+ const [idTimeoutForCalls, setIdTimeoutForCalls] = (0, react_1.useState)(undefined);
86
+ const [clientXPositionOnGrid, setClientXPositionOnGrid] = (0, react_1.useState)(undefined);
87
+ const [clientYPositionOnGrid, setClientYPositionOnGrid] = (0, react_1.useState)(undefined);
88
+ const [scrollingOnCourse, setScrollingOnCourse] = (0, react_1.useState)(false);
89
+ const [controlsWrapperHeight, setControlsWrapperHeight] = (0, react_1.useState)(((_a = controlsWrapperRef.current) === null || _a === void 0 ? void 0 : _a.clientHeight) ? controlsWrapperRef.current.clientHeight : 0);
90
+ const [horizontalAxisWrapperHeight, setHorizontalAxisWrapperHeight] = (0, react_1.useState)(((_b = horizontalAxisWrapperRef.current) === null || _b === void 0 ? void 0 : _b.clientHeight)
91
+ ? horizontalAxisWrapperRef.current.clientHeight
92
+ : 0);
93
+ const [userIsHoldingMouseDown, setUserIsHoldingMouseDown] = (0, react_1.useState)(false);
94
+ //UseEffect
95
+ (0, react_1.useEffect)(() => {
96
+ setOrigin({
97
+ x: pastDatesVisible ? Math.ceil(pastDaysInitialQuantity) * cellsWidth : 0,
98
+ y: 0,
99
+ });
100
+ }, [pastDatesVisible, pastDaysInitialQuantity, cellsWidth]);
101
+ (0, react_1.useEffect)(() => {
102
+ //Cached positions
103
+ if (gridWrapperRef.current && initialPositioningDone === false) {
104
+ gridWrapperRef.current.scrollTop = origin.y;
105
+ gridWrapperRef.current.scrollLeft = origin.x;
106
+ setInitialPositioningDone(true);
107
+ }
108
+ }, [origin.y, origin.x, initialPositioningDone]);
109
+ (0, react_1.useEffect)(() => {
110
+ if (onScrollLeftChanges) {
111
+ onScrollLeftChanges(xPosition);
112
+ }
113
+ if (onScrollTopChanges) {
114
+ onScrollTopChanges(yPosition);
115
+ }
116
+ return () => {
117
+ if (autoSavePosition) {
118
+ if (yPosition !== origin.y) {
119
+ (0, MulticalendarStatesAndSettings_1.setMulticalendarScrollTopPosition)(multicalendarId, String(yPosition));
120
+ }
121
+ if (xPosition !== origin.x) {
122
+ (0, MulticalendarStatesAndSettings_1.setMulticalendarScrollLeftPosition)(multicalendarId, String(xPosition));
123
+ }
124
+ }
125
+ };
126
+ }, [autoSavePosition, yPosition, xPosition, origin.y, origin.x]);
127
+ (0, react_1.useEffect)(() => {
128
+ if (pastDatesVisible) {
129
+ setPastDaysQuantity(Math.ceil(pastDaysInitialQuantity));
130
+ }
131
+ else {
132
+ setPastDaysQuantity(0);
133
+ }
134
+ }, [pastDatesVisible, pastDaysInitialQuantity]);
135
+ (0, react_1.useEffect)(() => {
136
+ if (!firtsCallOnInitialViewDone &&
137
+ visibleListElementsIds.length > 0 &&
138
+ visibleDates.length > 0 &&
139
+ callsOnInitialView) {
140
+ setFirtsCallOnInitialViewDone(true);
141
+ callsOnInitialView(visibleListElementsIds, visibleDates);
142
+ }
143
+ }, [
144
+ firtsCallOnInitialViewDone,
145
+ visibleListElementsIds,
146
+ visibleDates,
147
+ callsOnInitialView,
148
+ ]);
149
+ (0, react_1.useEffect)(() => {
150
+ var _a, _b;
151
+ const localConstControlsWrapperHeight = ((_a = controlsWrapperRef.current) === null || _a === void 0 ? void 0 : _a.clientHeight)
152
+ ? controlsWrapperRef.current.clientHeight
153
+ : 0;
154
+ const localConstHorizontalAxisWrapperHeight = ((_b = horizontalAxisWrapperRef.current) === null || _b === void 0 ? void 0 : _b.clientHeight)
155
+ ? horizontalAxisWrapperRef.current.clientHeight
156
+ : 0;
157
+ setControlsWrapperHeight(localConstControlsWrapperHeight);
158
+ setHorizontalAxisWrapperHeight(localConstHorizontalAxisWrapperHeight);
159
+ setUpdateList(true);
160
+ // Dimensiones de paginacion, requiere agregar 1 para no ver espacios en blanco
161
+ setPaginationWidth(Math.ceil((windowWidth - verticalAxisWidth) / cellsWidth) + 1);
162
+ setPaginationHeight(Math.ceil((windowHeight -
163
+ localConstControlsWrapperHeight -
164
+ localConstHorizontalAxisWrapperHeight) /
165
+ cellsHeight) + 1);
166
+ // Redefinicion de posicion X ante cambios en el tamaño de la ventana
167
+ if (gridWrapperRef.current !== null) {
168
+ setXPosition(gridWrapperRef.current.scrollLeft);
169
+ setRenderCoordinates({
170
+ x: gridWrapperRef.current.scrollLeft,
171
+ y: gridWrapperRef.current.scrollTop,
172
+ });
173
+ setXOffset(Math.floor(gridWrapperRef.current.scrollLeft / cellsWidth) - chunkRenderX);
174
+ }
175
+ }, [
176
+ windowWidth,
177
+ windowHeight,
178
+ verticalAxisWidth,
179
+ cellsHeight,
180
+ cellsWidth,
181
+ chunkRenderX,
182
+ ]);
183
+ (0, react_1.useEffect)(() => {
184
+ // Definicion de visibilidad y renderizacion del Eje Y
185
+ if ((renderCoordinates.x === origin.x && renderCoordinates.y === origin.y) ||
186
+ Math.abs(renderCoordinates.y - yPosition) / cellsHeight > chunkRenderY ||
187
+ updateList) {
188
+ if (!(renderCoordinates.x === origin.x && renderCoordinates.y === origin.y)) {
189
+ if (gridWrapperRef.current !== null)
190
+ setRenderCoordinates({
191
+ x: gridWrapperRef.current.scrollLeft,
192
+ y: gridWrapperRef.current.scrollTop,
193
+ });
194
+ }
195
+ let desfase = Funciones.defineYOffset(yPosition, cellsHeight, chunkRenderY);
196
+ setYOffset(desfase);
197
+ setVisibleListElementsIds(Funciones.defineListElementsArrayVisibleList(paginationHeight, chunkRenderY, desfase, listElementsIdsArray));
198
+ if (updateList)
199
+ setUpdateList(false);
200
+ }
201
+ }, [
202
+ updateList,
203
+ yPosition,
204
+ cellsHeight,
205
+ chunkRenderY,
206
+ origin.x,
207
+ origin.y,
208
+ paginationHeight,
209
+ renderCoordinates.x,
210
+ renderCoordinates.y,
211
+ listElementsIdsArray,
212
+ ]);
213
+ (0, react_1.useEffect)(() => {
214
+ // Definicion de visibilidad y renderizacion del Eje X
215
+ if ((renderCoordinates.x === origin.x && renderCoordinates.y === origin.y) ||
216
+ xPosition < cellsWidth ||
217
+ Math.abs(renderCoordinates.x - xPosition) / cellsWidth > chunkRenderX ||
218
+ updateList) {
219
+ setVisibleDates([]);
220
+ if (!(renderCoordinates.x === origin.x && renderCoordinates.y === origin.y)) {
221
+ if (gridWrapperRef.current !== null)
222
+ setRenderCoordinates({
223
+ x: gridWrapperRef.current.scrollLeft,
224
+ y: gridWrapperRef.current.scrollTop,
225
+ });
226
+ }
227
+ setXOffset(Funciones.defineXOffset(xPosition, cellsWidth, chunkRenderX));
228
+ const fechaMinimaMilisegundos = Funciones.minimalDateMilliseconds(xPosition, cellsWidth, pastDaysQuantity, initialDateOffset);
229
+ setMinimumVisibleDate(Funciones.defineMinimalVisibleDate(fechaMinimaMilisegundos, initialDateOffset));
230
+ if (updateList)
231
+ setUpdateList(false);
232
+ setVisibleDates(Funciones.defineVisibleDatesArray(paginationWidth, chunkRenderX, fechaMinimaMilisegundos));
233
+ }
234
+ }, [
235
+ updateList,
236
+ paginationWidth,
237
+ xPosition,
238
+ chunkRenderX,
239
+ cellsWidth,
240
+ initialDateOffset,
241
+ pastDaysQuantity,
242
+ renderCoordinates.x,
243
+ renderCoordinates.y,
244
+ origin.x,
245
+ origin.y,
246
+ ]);
247
+ (0, react_1.useEffect)(() => {
248
+ setScrollingOnCourse(true);
249
+ clearTimeout(idTimeoutForCalls);
250
+ setIdTimeoutForCalls(undefined);
251
+ // eslint-disable-next-line
252
+ }, [xPosition, yPosition]);
253
+ (0, react_1.useEffect)(() => {
254
+ if (idTimeoutForCalls === undefined) {
255
+ let _id = setTimeout(() => setScrollingOnCourse(false), waitTimeForCalls);
256
+ setIdTimeoutForCalls(_id);
257
+ }
258
+ }, [xPosition, yPosition, idTimeoutForCalls, waitTimeForCalls]);
259
+ (0, react_1.useEffect)(() => {
260
+ if (!scrollingOnCourse && callsOnScrollingStops) {
261
+ callsOnScrollingStops(visibleListElementsIds, visibleDates);
262
+ }
263
+ // eslint-disable-next-line
264
+ }, [scrollingOnCourse, visibleListElementsIds, visibleDates]);
265
+ //Cancelar idIntervalo Autoscroll de rango cuando se deja de seleccionar
266
+ (0, react_1.useEffect)(() => {
267
+ if (!authomaticScrollOnDraggingOverEdges) {
268
+ if (clientXPositionOnGrid !== undefined)
269
+ setClientXPositionOnGrid(undefined);
270
+ if (clientYPositionOnGrid !== undefined)
271
+ setClientYPositionOnGrid(undefined);
272
+ }
273
+ }, [authomaticScrollOnDraggingOverEdges, clientXPositionOnGrid, clientYPositionOnGrid]);
274
+ (0, react_1.useEffect)(() => {
275
+ document.body.addEventListener("mousedown", () => {
276
+ setUserIsHoldingMouseDown(true);
277
+ });
278
+ document.body.addEventListener("mouseup", () => {
279
+ setUserIsHoldingMouseDown(false);
280
+ });
281
+ return () => {
282
+ document.body.removeEventListener("mousedown", () => {
283
+ setUserIsHoldingMouseDown(true);
284
+ });
285
+ document.body.removeEventListener("mouseup", () => {
286
+ setUserIsHoldingMouseDown(false);
287
+ });
288
+ };
289
+ }, [authomaticScrollOnDraggingOverEdges]);
290
+ //Render
291
+ return (react_1.default.createElement("div", { key: multicalendarId, id: multicalendarId, "data-testid": multicalendarId, className: "trc-multicalendar", style: {
292
+ gridTemplateColumns: `${verticalAxisWidth}px`,
293
+ gridTemplateRows: `auto auto calc(100% - ${controlsWrapperHeight + horizontalAxisWrapperHeight}px`,
294
+ } },
295
+ react_1.default.createElement("div", { ref: controlsWrapperRef, className: "controls" },
296
+ react_1.default.createElement("div", { className: "div-dates-navigation" },
297
+ react_1.default.createElement(DropdownMonthNavigation_1.default, { visibleYear: minimumVisibleDate.getFullYear(), visibleMonth: minimumVisibleDate.getMonth(), onChangeAction: (valorDeOpcion) => {
298
+ Funciones.scrollByDate(new Date(Number(Date.parse((0, sqlToJsDate_1.default)(valorDeOpcion).toString()))), gridWrapperRef, pastDaysQuantity, cellsWidth);
299
+ }, options: Funciones.defineMonthsArray(pastDaysQuantity, futureDaysQuantity, language) }),
300
+ react_1.default.createElement("button", { onClick: () => Funciones.scrollByDate(new Date(), gridWrapperRef, pastDaysQuantity, cellsWidth) }, language["Today"])),
301
+ aditionalControlsComponents && (react_1.default.createElement("div", { className: "div-aditional-controls-components" }, aditionalControlsComponents))),
302
+ react_1.default.createElement("div", { className: "div-upper-left-component" }, upperLeftComponent),
303
+ react_1.default.createElement("div", { className: "vertical-axis" },
304
+ react_1.default.createElement("div", { ref: destiniesColumnRef, className: "div-list-element-column", onScroll: (e) => {
305
+ // Se puede hacer funcion
306
+ if (gridWrapperRef.current !== null)
307
+ gridWrapperRef.current.scrollTop = e.target.scrollTop;
308
+ } },
309
+ react_1.default.createElement(ListElementsColumn_1.default, { listHeight: cellsHeight * listElementsIdsArray.length, yOffset: yOffset, elementsHeight: cellsHeight, idsArray: visibleListElementsIds, ReactListElementChildren: ReactListElementChildren }))),
310
+ react_1.default.createElement("div", { ref: horizontalAxisWrapperRef, className: "horizontal-axis" },
311
+ react_1.default.createElement("div", { className: "div-weeks-buttons" },
312
+ react_1.default.createElement("button", { className: "past-week-button", onClick: () => {
313
+ // Se puede hacer funcion
314
+ if (datesRowRef.current !== null)
315
+ datesRowRef.current.scroll({
316
+ left: datesRowRef.current.scrollLeft - cellsWidth * 7,
317
+ });
318
+ } },
319
+ react_1.default.createElement(bs_1.BsChevronLeft, null)),
320
+ react_1.default.createElement("button", { onClick: () => {
321
+ // Se puede hacer funcion
322
+ if (datesRowRef.current !== null)
323
+ datesRowRef.current.scroll({
324
+ left: datesRowRef.current.scrollLeft + cellsWidth * 7,
325
+ });
326
+ }, className: "next-week-button" },
327
+ react_1.default.createElement(bs_1.BsChevronRight, null))),
328
+ react_1.default.createElement("div", { ref: datesRowRef, className: "div-dates-row", onScroll: (e) => {
329
+ if (gridWrapperRef.current !== null)
330
+ gridWrapperRef.current.scrollLeft = e.target.scrollLeft;
331
+ } },
332
+ react_1.default.createElement(DatesRow_1.default, { visibleDates: visibleDates, width: (pastDaysQuantity + futureDaysQuantity) * cellsWidth, height: 74, cellsWidth: cellsWidth, cellsHeight: 74, offset: xOffset, language: language }))),
333
+ react_1.default.createElement("div", { className: "div-main-container" },
334
+ react_1.default.createElement("div", { ref: gridWrapperRef, className: "main-container", onScroll: (e) => {
335
+ if (datesRowRef.current !== null) {
336
+ const scrollLeft = e.target.scrollLeft;
337
+ datesRowRef.current.scrollLeft = scrollLeft;
338
+ setXPosition(scrollLeft);
339
+ }
340
+ if (destiniesColumnRef.current !== null) {
341
+ const scrollTop = e.target.scrollTop;
342
+ destiniesColumnRef.current.scrollTop = scrollTop;
343
+ setYPosition(scrollTop);
344
+ }
345
+ if (dynamicDaysQuantity &&
346
+ e.target.scrollLeft +
347
+ e.target.offsetWidth >
348
+ (pastDaysQuantity + futureDaysQuantity) * cellsWidth - cellsWidth) {
349
+ setFutureDaysQuantity(futureDaysQuantity + 1);
350
+ }
351
+ if (pastDatesVisible &&
352
+ dynamicDaysQuantity &&
353
+ e.target.scrollLeft < cellsWidth) {
354
+ setPastDaysQuantity(pastDaysQuantity + 1);
355
+ e.target.scrollLeft = cellsWidth * 3;
356
+ }
357
+ Funciones.authomaticScrollInGrid(userIsHoldingMouseDown, clientXPositionOnGrid, clientYPositionOnGrid, cellsWidth * 0.8, cellsHeight * 0.8, e.target);
358
+ }, onMouseMove: (e) => {
359
+ if (gridWrapperRef.current !== null && userIsHoldingMouseDown) {
360
+ let x = e.clientX - gridWrapperRef.current.getBoundingClientRect().left;
361
+ let y = e.clientY - gridWrapperRef.current.getBoundingClientRect().top;
362
+ setClientXPositionOnGrid(x);
363
+ setClientYPositionOnGrid(y);
364
+ Funciones.startAuthomaticScrollInGrid(userIsHoldingMouseDown, x, y, cellsWidth * 0.8, cellsHeight * 0.8, gridWrapperRef);
365
+ }
366
+ } },
367
+ react_1.default.createElement(DatesGrid_1.default, { gridWidth: (pastDaysQuantity + futureDaysQuantity) * cellsWidth, gridHeight: cellsHeight * listElementsIdsArray.length, xOffset: xOffset, yOffset: yOffset, cellsWidth: cellsWidth, cellsHeight: cellsHeight, visibleListElementsIdsArray: visibleListElementsIds, visibleDates: visibleDates, ReactCellChildren: ReactCellChildren })))));
368
+ };
369
+ exports.default = Multicalendar;