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,272 @@
1
+ import React, { useRef, useEffect, useReducer } from "react";
2
+ import styles from "./CalendarScrollableSection.module.scss";
3
+ import dayOfTheWeekStartingOnMonday from "../../../utils/dayOfTheWeekStartingOnMonday";
4
+ import numberOfWeeksInAMonth from "../../../utils/numberOfWeeksInAMonth";
5
+ import jsToSqlDate from "../../../utils/jsToSqlDate";
6
+ import useIntersectionObserver from "../../../hooks/useIntersectionObserver";
7
+ const reducer = (state, action) => {
8
+ const isAValidDateChange = (year, month) => {
9
+ const referenceDate = new Date(year, month, 1);
10
+ const minimumMonthDate = new Date(state.minimumDate.getFullYear(), state.minimumDate.getMonth(), 1);
11
+ const maximumMonthDate = new Date(state.maximumDate.getFullYear(), state.maximumDate.getMonth() + 1, 0);
12
+ const isReferenceDateLowerThanMinimumMonthDate = referenceDate.valueOf() < minimumMonthDate.valueOf();
13
+ const isReferenceDateHigherThanMaximumMonthDate = referenceDate.valueOf() > maximumMonthDate.valueOf();
14
+ if (isReferenceDateLowerThanMinimumMonthDate ||
15
+ isReferenceDateHigherThanMaximumMonthDate) {
16
+ return false;
17
+ }
18
+ return true;
19
+ };
20
+ const actionsDictionary = {
21
+ setMonth: () => {
22
+ if (isAValidDateChange(state.year, action.value)) {
23
+ return Object.assign(Object.assign({}, state), { month: action.value });
24
+ }
25
+ else {
26
+ return Object.assign({}, state);
27
+ }
28
+ },
29
+ setYear: () => {
30
+ if (isAValidDateChange(action.value, state.month)) {
31
+ return Object.assign(Object.assign({}, state), { year: action.value });
32
+ }
33
+ else {
34
+ return Object.assign({}, state);
35
+ }
36
+ },
37
+ setMinimumDate: () => {
38
+ return Object.assign(Object.assign({}, state), { minimumDate: new Date(action.value) });
39
+ },
40
+ setMaximumdate: () => {
41
+ return Object.assign(Object.assign({}, state), { maximumDate: new Date(action.value) });
42
+ },
43
+ changeByMonthOffset: () => {
44
+ const referenceDate = new Date(state.year, state.month + action.value, 1);
45
+ if (isAValidDateChange(state.year, state.month + action.value)) {
46
+ return Object.assign(Object.assign({}, state), { year: referenceDate.getFullYear(), month: referenceDate.getMonth() });
47
+ }
48
+ else {
49
+ return Object.assign({}, state);
50
+ }
51
+ },
52
+ };
53
+ const newState = actionsDictionary[action.type]();
54
+ if (newState) {
55
+ return newState;
56
+ }
57
+ else {
58
+ return Object.assign({}, state);
59
+ }
60
+ };
61
+ const CalendarScrollableSection = ({ dates, month, year, mode, onSelectedDatesChange, onFocusedMonth, customDates = [], minimumDate = new Date(1970, 0, 1), maximumDate = new Date(new Date().getFullYear() + 100, 1, 1), }) => {
62
+ const [state, dispatch] = useReducer(reducer, {
63
+ month: month,
64
+ year: year,
65
+ minimumDate: minimumDate,
66
+ maximumDate: maximumDate,
67
+ });
68
+ const monthsContainerRef = useRef(null);
69
+ const firstMonthRef = useRef(null);
70
+ const secondMonthRef = useRef(null);
71
+ const fourthMonthRef = useRef(null);
72
+ const fifthMonthRef = useRef(null);
73
+ const isFirstMonthVisible = useIntersectionObserver(firstMonthRef, {
74
+ rootMargin: "0px",
75
+ threshold: 1.0,
76
+ });
77
+ const isSecondMonthVisible = useIntersectionObserver(secondMonthRef, {
78
+ rootMargin: "0px",
79
+ threshold: 1.0,
80
+ });
81
+ const isFourthMonthVisible = useIntersectionObserver(fourthMonthRef, {
82
+ rootMargin: "0px",
83
+ threshold: 1.0,
84
+ });
85
+ const isFifthMonthVisible = useIntersectionObserver(fifthMonthRef, {
86
+ rootMargin: "0px",
87
+ threshold: 1.0,
88
+ });
89
+ const isDateSelectable = (date) => {
90
+ // * If date is not found in custom dates or selectable preoperty is set to true, it returns true
91
+ const isNotSelectable = customDates.some((customDate) => {
92
+ return (customDate.dates.some((includedDate) => includedDate.valueOf() === date.valueOf()) && !customDate.selectable);
93
+ });
94
+ return !isNotSelectable;
95
+ };
96
+ const dayCellClassName = (date) => {
97
+ let className = styles["day-cell"];
98
+ const isCrosssed = customDates.some((customDate) => {
99
+ return (customDate.dates.some((includedDate) => includedDate.valueOf() === date.valueOf()) && customDate.crossed);
100
+ });
101
+ if (isCrosssed) {
102
+ className += ` ${styles["crossed"]}`;
103
+ }
104
+ return className;
105
+ };
106
+ const dateClassName = (date) => {
107
+ let className = styles["day"];
108
+ const isToday = jsToSqlDate(date) === jsToSqlDate(new Date());
109
+ if (isToday) {
110
+ className += ` ${styles["today"]}`;
111
+ }
112
+ if (date.getMonth() === state.month) {
113
+ className += ` ${styles["in-month"]}`;
114
+ }
115
+ else {
116
+ className += ` ${styles["not-in-month"]}`;
117
+ }
118
+ const isDateSelected = dates.some((includedDate) => includedDate.valueOf() === date.valueOf());
119
+ const isDateInRange = (mode === "range" || mode === "booking") &&
120
+ dates.length === 2 &&
121
+ dates[0].valueOf() < date.valueOf() &&
122
+ date.valueOf() < dates[1].valueOf();
123
+ if (isDateSelected || isDateInRange) {
124
+ className += ` ${styles["selected"]}`;
125
+ }
126
+ if (mode === "booking") {
127
+ const isCheckInDate = dates.length === 2 && date.valueOf() === dates[0].valueOf();
128
+ if (isCheckInDate) {
129
+ className += ` ${styles["check-in"]}`;
130
+ }
131
+ const isCheckOutDate = dates.length === 2 && date.valueOf() === dates[1].valueOf();
132
+ if (isCheckOutDate) {
133
+ className += ` ${styles["check-out"]}`;
134
+ }
135
+ }
136
+ if (isDateSelectable(date)) {
137
+ className += ` ${styles["selectable"]}`;
138
+ }
139
+ else {
140
+ className += ` ${styles["not-selectable"]}`;
141
+ }
142
+ const isOutOfSelection = date.valueOf() < minimumDate.valueOf() || date.valueOf() > maximumDate.valueOf();
143
+ if (isOutOfSelection) {
144
+ className += ` ${styles["out-of-selection"]}`;
145
+ }
146
+ return className;
147
+ };
148
+ const handleDateSelection = (date) => {
149
+ // custom side effects
150
+ customDates.forEach((customDate) => {
151
+ if (customDate.dates.some((includedDate) => includedDate.valueOf() === date.valueOf()) &&
152
+ customDate.clickSideEffect) {
153
+ customDate.clickSideEffect(date);
154
+ }
155
+ });
156
+ const isSelectable = isDateSelectable(date);
157
+ if (!isSelectable) {
158
+ return;
159
+ }
160
+ const isOutOfSelection = date.valueOf() < minimumDate.valueOf() || date.valueOf() > maximumDate.valueOf();
161
+ if (isOutOfSelection) {
162
+ return;
163
+ }
164
+ let datesClone = [...dates];
165
+ if (mode === "single") {
166
+ datesClone = [date];
167
+ }
168
+ if (mode === "multiple") {
169
+ if (dates.some((includedDate) => includedDate.valueOf() === date.valueOf())) {
170
+ datesClone = dates.filter((includedDate) => includedDate.valueOf() !== date.valueOf());
171
+ }
172
+ else {
173
+ datesClone = [...dates, date];
174
+ }
175
+ }
176
+ if (mode === "range") {
177
+ if (dates.length === 0) {
178
+ datesClone = [date];
179
+ }
180
+ else if (dates.length === 1) {
181
+ if (dates[0].valueOf() < date.valueOf()) {
182
+ datesClone = [...dates, date];
183
+ }
184
+ else {
185
+ datesClone = [date, dates[0]];
186
+ }
187
+ }
188
+ else {
189
+ datesClone = [];
190
+ }
191
+ }
192
+ if (mode === "booking") {
193
+ if (dates.length === 0) {
194
+ datesClone = [date];
195
+ }
196
+ else if (dates[0].valueOf() === date.valueOf()) {
197
+ datesClone = [];
198
+ }
199
+ else if (dates.length === 1) {
200
+ if (dates[0].valueOf() < date.valueOf()) {
201
+ datesClone = [...dates, date];
202
+ }
203
+ else {
204
+ datesClone = [date, dates[0]];
205
+ }
206
+ }
207
+ else {
208
+ datesClone = [];
209
+ }
210
+ }
211
+ onSelectedDatesChange(datesClone);
212
+ };
213
+ const customColorStyleObject = (date) => {
214
+ const customDate = customDates.find((customDate) => customDate.dates.some((includedDate) => includedDate.valueOf() === date.valueOf()));
215
+ if (customDate) {
216
+ return {
217
+ backgroundColor: customDate.color,
218
+ };
219
+ }
220
+ else {
221
+ return undefined;
222
+ }
223
+ };
224
+ useEffect(() => {
225
+ if (monthsContainerRef.current) {
226
+ monthsContainerRef.current.scrollTop = 416;
227
+ }
228
+ }, []);
229
+ useEffect(() => {
230
+ onFocusedMonth(state.month, state.year);
231
+ }, [state.year, state.month, onFocusedMonth]);
232
+ useEffect(() => {
233
+ if (isSecondMonthVisible || isFirstMonthVisible) {
234
+ dispatch({ type: "changeByMonthOffset", value: -1 });
235
+ }
236
+ }, [isFirstMonthVisible, isSecondMonthVisible]);
237
+ useEffect(() => {
238
+ if (isFourthMonthVisible || isFifthMonthVisible) {
239
+ dispatch({ type: "changeByMonthOffset", value: 1 });
240
+ }
241
+ }, [isFourthMonthVisible, isFifthMonthVisible]);
242
+ return (React.createElement("section", { ref: monthsContainerRef, className: styles["calendar-scrollable-section"] }, Array(5)
243
+ .fill(0)
244
+ .map((_, gridIndex) => {
245
+ const monthOffset = gridIndex - 2;
246
+ const referenceDate = new Date(state.year, state.month + monthOffset, 1);
247
+ const lastDayOfTheMonth = new Date(state.year, state.month + monthOffset + 1, 0);
248
+ const isLastDayOfTheMonthSunday = lastDayOfTheMonth.getDay() === 0;
249
+ let numberOfWeeksInMonth = numberOfWeeksInAMonth(referenceDate);
250
+ if (!isLastDayOfTheMonthSunday) {
251
+ numberOfWeeksInMonth = numberOfWeeksInMonth - 1;
252
+ }
253
+ const firstDayInMonthDayOfWeek = dayOfTheWeekStartingOnMonday(referenceDate);
254
+ return (React.createElement("div", { ref: [firstMonthRef, secondMonthRef, null, fourthMonthRef, fifthMonthRef][gridIndex], className: styles["days-grid"], key: `grid:${jsToSqlDate(referenceDate)}}` }, Array(numberOfWeeksInMonth)
255
+ .fill(0)
256
+ .map((_, rowIndex) => (React.createElement("div", { className: styles["days-row"], key: `grid:${jsToSqlDate(referenceDate)}-row:${rowIndex}` }, Array(7)
257
+ .fill(0)
258
+ .map((_, columnIndex) => {
259
+ const numberOfMonth = state.month + monthOffset;
260
+ const numberOfDay = rowIndex * 7 + columnIndex + 1 - firstDayInMonthDayOfWeek;
261
+ const date = new Date(state.year, numberOfMonth, numberOfDay);
262
+ return (React.createElement("div", { className: dayCellClassName(date), key: jsToSqlDate(date), onClick: () => handleDateSelection(date) },
263
+ React.createElement("div", { className: styles["cross-line"] }),
264
+ React.createElement("div", { className: dateClassName(date) },
265
+ React.createElement("div", { className: styles["background"] },
266
+ React.createElement("div", { className: styles["first-half"], style: customColorStyleObject(date) }),
267
+ React.createElement("div", { className: styles["second-half"], style: customColorStyleObject(date) })),
268
+ React.createElement("p", null, date.getDate()))));
269
+ }))))));
270
+ })));
271
+ };
272
+ export default CalendarScrollableSection;
@@ -0,0 +1,151 @@
1
+ @property --angle {
2
+ sintax: "<angle>";
3
+ inherits: false;
4
+ initial-value: 270deg;
5
+ }
6
+
7
+ @property --color-default {
8
+ sintax: "<color>";
9
+ inherits: false;
10
+ initial-value: white;
11
+ }
12
+
13
+ @property --color-selected {
14
+ sintax: "<color>";
15
+ inherits: false;
16
+ initial-value: #e3f3e3;
17
+ }
18
+
19
+ @property --percentage-default {
20
+ sintax: "<percentage>";
21
+ inherits: false;
22
+ initial-value: 100%;
23
+ }
24
+
25
+ @property --percentage-selected {
26
+ sintax: "<percentage>";
27
+ inherits: false;
28
+ initial-value: 0%;
29
+ }
30
+
31
+ .calendar-scrollable-section {
32
+ width: 100%;
33
+ aspect-ratio: 1 / 1;
34
+ overflow-y: scroll;
35
+ -ms-overflow-style: none;
36
+ scrollbar-width: none;
37
+ border-bottom: 1px solid #ebebeb;
38
+ &::-webkit-scrollbar {
39
+ display: none;
40
+ }
41
+ .days-grid {
42
+ width: 100%;
43
+ .days-row {
44
+ width: 100%;
45
+ display: flex;
46
+ align-items: center;
47
+ .day-cell {
48
+ position: relative;
49
+ display: flex;
50
+ align-items: center;
51
+ justify-content: center;
52
+ width: calc(100% / 7);
53
+ aspect-ratio: 1 / 1;
54
+
55
+ .day {
56
+ position: relative;
57
+ --angle: 270deg;
58
+ --color-default: #f3f3f3;
59
+ --color-selected: #b7d4b6;
60
+ --percentage-default: 100%;
61
+ --percentage-selected: 0%;
62
+ display: flex;
63
+ align-items: center;
64
+ justify-content: center;
65
+ width: calc(100% - 8px);
66
+ height: calc(100% - 8px);
67
+ margin: 0px;
68
+ border-radius: 1000px;
69
+ overflow: hidden;
70
+ user-select: none;
71
+ transition: all 0.5s ease-in-out;
72
+ cursor: pointer;
73
+ p {
74
+ z-index: 2;
75
+ margin: 0px;
76
+ }
77
+
78
+ .background {
79
+ z-index: 1;
80
+ position: absolute;
81
+ display: flex;
82
+ align-items: center;
83
+ justify-content: center;
84
+ width: 100%;
85
+ height: 100%;
86
+ transform: rotate(var(--angle));
87
+ transition: all 0.5s ease-in-out;
88
+ .first-half {
89
+ width: var(--percentage-default);
90
+ height: 100%;
91
+ background-color: var(--color-default);
92
+ transition: all 0.3s ease-in-out;
93
+ }
94
+ .second-half {
95
+ width: var(--percentage-selected);
96
+ height: 100%;
97
+ background-color: var(--color-selected);
98
+ transition: all 0.3s ease-in-out;
99
+ }
100
+ }
101
+ &.today {
102
+ outline: solid 2px #787878;
103
+ }
104
+ &.in-month {
105
+ color: var(--medium-gray, #787878);
106
+ }
107
+ &.not-in-month {
108
+ opacity: 0.35;
109
+ }
110
+ &.selected {
111
+ --percentage-default: 0%;
112
+ --percentage-selected: 100%;
113
+ }
114
+ &.check-in {
115
+ --angle: 405deg;
116
+ --color-default: #f3f3f3;
117
+ --percentage-default: 50%;
118
+ --percentage-selected: 50%;
119
+ }
120
+ &.check-out {
121
+ --angle: 225deg;
122
+ --color-default: #f3f3f3;
123
+ --percentage-default: 50%;
124
+ --percentage-selected: 50%;
125
+ }
126
+ &.not-selectable {
127
+ cursor: not-allowed;
128
+ }
129
+ &.out-of-selection {
130
+ opacity: 0.1;
131
+ cursor: not-allowed;
132
+ }
133
+ }
134
+ .cross-line {
135
+ z-index: 2;
136
+ position: absolute;
137
+ width: 120%;
138
+ height: 3px;
139
+ background-color: #bbb;
140
+ transform: rotate(-45deg);
141
+ display: none;
142
+ }
143
+ &.crossed {
144
+ .cross-line {
145
+ display: block;
146
+ }
147
+ }
148
+ }
149
+ }
150
+ }
151
+ }
@@ -0,0 +1,31 @@
1
+ .export-to-excel-button {
2
+ position: relative;
3
+ width: 220px;
4
+ height: 48px;
5
+ opacity: 1;
6
+ cursor: pointer;
7
+ padding: 14px;
8
+ text-align: center;
9
+ text-decoration: none;
10
+ touch-action: manipulation;
11
+ font-size: 16px;
12
+ letter-spacing: normal;
13
+ color: rgb(255, 255, 255);
14
+ font-weight: 700;
15
+ border-radius: 4px;
16
+ border: none;
17
+ background: green;
18
+ box-shadow: none;
19
+ transition: all 0.5s;
20
+ display: flex;
21
+ align-items: center;
22
+ justify-content: space-evenly;
23
+ margin: auto;
24
+ }
25
+ .export-to-excel-button:hover {
26
+ background: rgb(0, 170, 0);
27
+ }
28
+
29
+ .export-to-excel-button:disabled {
30
+ background: rgb(216, 216, 216);
31
+ }
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import "./ExportToExcelButton.css";
3
+ import { ExportToExcelButtonPropsType } from "./types";
4
+ declare const ExportToExcelButton: ({ customButtonText, customClass, fileName, headers, data, onAfterExport, disabled, }: ExportToExcelButtonPropsType) => React.JSX.Element;
5
+ export default ExportToExcelButton;
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+ import * as ownFunctions from "./ExportToExcelButtonOwnFunctions";
3
+ import "./ExportToExcelButton.css";
4
+ //Iconos
5
+ import { RiFileExcel2Fill } from "react-icons/ri";
6
+ const ExportToExcelButton = ({ customButtonText = "Export to Excel", customClass, fileName = "untitled", headers, data, onAfterExport, disabled, }) => {
7
+ return (React.createElement("button", { disabled: disabled, className: customClass ? customClass : "export-to-excel-button", onClick: () => {
8
+ ownFunctions.downloadExcel(fileName, data, headers);
9
+ if (onAfterExport !== undefined) {
10
+ onAfterExport();
11
+ }
12
+ } },
13
+ customButtonText,
14
+ " ",
15
+ React.createElement(RiFileExcel2Fill, null)));
16
+ };
17
+ export default ExportToExcelButton;
@@ -0,0 +1,6 @@
1
+ import { DataObjectXlsxType } from "./types";
2
+ export declare function downloadExcel(fileName: string, data: {
3
+ [key: string]: DataObjectXlsxType[][];
4
+ } | undefined, headers: {
5
+ [key: string]: DataObjectXlsxType[];
6
+ } | undefined): void;
@@ -0,0 +1,48 @@
1
+ //Librerias de terceros
2
+ import * as XLSX from "xlsx-js-style";
3
+ function styleObjectParser(styleObject) {
4
+ let restultantStyleObject = {
5
+ v: styleObject.value,
6
+ s: {},
7
+ };
8
+ if (styleObject.allign)
9
+ restultantStyleObject.s.alignment = Object.assign({}, styleObject.allign);
10
+ if (styleObject.fontSize)
11
+ restultantStyleObject.s.font = Object.assign(Object.assign({}, restultantStyleObject.s.font), { sz: styleObject.fontSize });
12
+ if (styleObject.fontColor)
13
+ restultantStyleObject.s.font = Object.assign(Object.assign({}, restultantStyleObject.s.font), { color: { rgb: styleObject.fontColor } });
14
+ if (styleObject.bold)
15
+ restultantStyleObject.s.font = Object.assign(Object.assign({}, restultantStyleObject.s.font), { bold: styleObject.bold });
16
+ if (styleObject.backgroundColor)
17
+ restultantStyleObject.s.fill = Object.assign(Object.assign({}, restultantStyleObject.s.fill), { bgColor: { rgb: styleObject.backgroundColor } });
18
+ if (styleObject.foregroundColor)
19
+ restultantStyleObject.s.fill = Object.assign(Object.assign({}, restultantStyleObject.s.fill), { fgColor: { rgb: styleObject.foregroundColor } });
20
+ if (styleObject.borders)
21
+ restultantStyleObject.s.border = Object.assign({}, styleObject.borders);
22
+ return restultantStyleObject;
23
+ }
24
+ export function downloadExcel(fileName, data, headers) {
25
+ if (data !== undefined) {
26
+ const workbook = XLSX.utils.book_new();
27
+ for (const sheetName in data) {
28
+ if (Object.prototype.hasOwnProperty.call(data, sheetName)) {
29
+ let dataXlsxJs = [];
30
+ if (headers !== undefined &&
31
+ Object.prototype.hasOwnProperty.call(headers, sheetName)) {
32
+ dataXlsxJs = [
33
+ headers[sheetName].map((header) => styleObjectParser(header)),
34
+ ...data[sheetName].map((row) => row.map((cell) => styleObjectParser(cell))),
35
+ ];
36
+ }
37
+ else {
38
+ dataXlsxJs = [
39
+ ...data[sheetName].map((row) => row.map((cell) => styleObjectParser(cell))),
40
+ ];
41
+ }
42
+ const worksheet = XLSX.utils.aoa_to_sheet(dataXlsxJs);
43
+ XLSX.utils.book_append_sheet(workbook, worksheet, sheetName);
44
+ }
45
+ }
46
+ XLSX.writeFile(workbook, `${fileName}.xlsx`);
47
+ }
48
+ }
@@ -0,0 +1,44 @@
1
+ export interface ExportToExcelButtonPropsType {
2
+ customButtonText?: string;
3
+ customClass?: string;
4
+ fileName?: string;
5
+ headers?: { [key: string]: DataObjectXlsxType[] };
6
+ data?: { [key: string]: DataObjectXlsxType[][] };
7
+ onAfterExport?: Function;
8
+ disabled?: boolean;
9
+ }
10
+
11
+ export interface StyleObjectXlsxType {
12
+ allign?: {
13
+ vertical: "top" | "center" | "bottom";
14
+ horizontal: "left" | "center" | "right";
15
+ };
16
+ fontSize?: number;
17
+ fontColor?: string;
18
+ bold?: boolean;
19
+ backgroundColor?: string;
20
+ foregroundColor?: string;
21
+ borders?: {
22
+ top?: { style: BorderStyleType; color: string };
23
+ bottom?: { style: BorderStyleType; color: string };
24
+ left?: { style: BorderStyleType; color: string };
25
+ right?: { style: BorderStyleType; color: string };
26
+ };
27
+ }
28
+ export interface DataObjectXlsxType extends StyleObjectXlsxType {
29
+ value: string | number;
30
+ }
31
+
32
+ type BorderStyleType =
33
+ | "dashDotDot"
34
+ | "dashDot"
35
+ | "dashed"
36
+ | "dotted"
37
+ | "hair"
38
+ | "mediumDashDotDot"
39
+ | "mediumDashDot"
40
+ | "mediumDashed"
41
+ | "medium"
42
+ | "slantDashDot"
43
+ | "thick"
44
+ | "thin";
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+ type InputBoxWithConfirmationPropsType = {
3
+ onConfirmAction: (inputCurrentValue: string) => void;
4
+ inputType?: "text" | "number";
5
+ minimumValue?: HTMLInputElement["min"];
6
+ maximumValue?: HTMLInputElement["max"];
7
+ maxLength?: HTMLInputElement["maxLength"];
8
+ placeholder?: HTMLInputElement["placeholder"];
9
+ divWrapperCustomStyle?: React.CSSProperties;
10
+ inputBoxCustomStyle?: React.CSSProperties;
11
+ defaultValue?: string | number;
12
+ overrideCurrentValue?: string | number | null;
13
+ showConfirmationButton?: boolean;
14
+ disabled?: boolean;
15
+ };
16
+ declare const InputBoxWithConfirmation: ({ onConfirmAction, inputType, minimumValue, maximumValue, maxLength, placeholder, divWrapperCustomStyle, inputBoxCustomStyle, defaultValue, overrideCurrentValue, showConfirmationButton, disabled, }: InputBoxWithConfirmationPropsType) => React.JSX.Element;
17
+ export default InputBoxWithConfirmation;