@cwellt_software/cwellt-reactjs-lib 1.2.14 → 1.2.15

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 (269) hide show
  1. package/dist/deprecated/components/MultiSelect_deprecated_.d.ts +24 -0
  2. package/dist/deprecated/components/MultiSelect_deprecated_.d.ts.map +1 -0
  3. package/dist/deprecated/components/dropdown/CwDropdownContainer.d.ts +17 -0
  4. package/dist/deprecated/components/dropdown/CwDropdownContainer.d.ts.map +1 -0
  5. package/dist/deprecated/components/multiselect/CwHeadFilter.d.ts +17 -0
  6. package/dist/deprecated/components/multiselect/CwHeadFilter.d.ts.map +1 -0
  7. package/dist/deprecated/components/multiselect/CwMultiselect.d.ts +13 -0
  8. package/dist/deprecated/components/multiselect/CwMultiselect.d.ts.map +1 -0
  9. package/dist/deprecated/components/multiselect/CwOptionList.d.ts +14 -0
  10. package/dist/deprecated/components/multiselect/CwOptionList.d.ts.map +1 -0
  11. package/dist/deprecated/components/tag/CwTag.d.ts +15 -0
  12. package/dist/deprecated/components/tag/CwTag.d.ts.map +1 -0
  13. package/dist/index.cjs.js +30 -30
  14. package/dist/index.css +1 -1
  15. package/dist/index.es.js +30 -30
  16. package/dist/src/components/control/action/button/CwPopoverButton.d.ts +33 -0
  17. package/dist/src/components/control/action/button/CwPopoverButton.d.ts.map +1 -0
  18. package/dist/src/components/control/choice/deprecated/CwDropdown.d.ts +19 -0
  19. package/dist/src/components/control/choice/deprecated/CwDropdown.d.ts.map +1 -0
  20. package/dist/src/components/control/choice/deprecated/CwDropdownNavigation.d.ts +21 -0
  21. package/dist/src/components/control/choice/deprecated/CwDropdownNavigation.d.ts.map +1 -0
  22. package/dist/src/components/control/choice/dropdown/CwPopoverButton.d.ts +35 -0
  23. package/dist/src/components/control/choice/dropdown/CwPopoverButton.d.ts.map +1 -0
  24. package/dist/src/components/control/input/new-dates/CwDateTimePicker2.d.ts +47 -0
  25. package/dist/src/components/control/input/new-dates/CwDateTimePicker2.d.ts.map +1 -0
  26. package/dist/src/components/custom/scheduler-temporal/logic/filtering/filterAndProcessResources.d.ts +1 -12
  27. package/dist/src/components/custom/scheduler-temporal/logic/filtering/filterAndProcessResources.d.ts.map +1 -1
  28. package/dist/src/components/custom/scheduler-temporal/logic/pixels/getPixelsForEvent.d.ts +1 -11
  29. package/dist/src/components/custom/scheduler-temporal/logic/pixels/getPixelsForEvent.d.ts.map +1 -1
  30. package/dist/src/components/custom/scheduler-temporal/logic/pixels/heightScheduler.d.ts +1 -1
  31. package/dist/src/components/custom/scheduler-temporal/logic/pixels/heightScheduler.d.ts.map +1 -1
  32. package/dist/src/components/custom/scheduler-temporal/logic/ui/checkIfSlotAvailable.d.ts +1 -1
  33. package/dist/src/components/custom/scheduler-temporal/logic/ui/checkIfSlotAvailable.d.ts.map +1 -1
  34. package/package.json +2 -2
  35. package/dist/src/common/classes/CwSelectList.js +0 -12
  36. package/dist/src/common/classes/CwSelectListItems.js +0 -14
  37. package/dist/src/common/functions/collections.js +0 -18
  38. package/dist/src/common/functions/colorManipulation.js +0 -76
  39. package/dist/src/common/functions/dsl/UiEventDSL.js +0 -20
  40. package/dist/src/common/functions/useSingleAndDoubleClicks.js +0 -28
  41. package/dist/src/common/interfaces/CwSelectListProps.js +0 -1
  42. package/dist/src/components/control/action/button/CwButton.js +0 -13
  43. package/dist/src/components/control/action/buttons/CwButtons.js +0 -188
  44. package/dist/src/components/control/action/contextmenu/CwContextMenu.js +0 -43
  45. package/dist/src/components/control/action/contextual-menu/CwContextualMenu.js +0 -55
  46. package/dist/src/components/control/action/search/CwSearch.js +0 -67
  47. package/dist/src/components/control/action/tooltip-dialog/CwTooltipDialog.js +0 -11
  48. package/dist/src/components/control/choice/checkbox/CwCheckbox.js +0 -15
  49. package/dist/src/components/control/choice/deprecated/MultiSelect_deprecated_.js +0 -99
  50. package/dist/src/components/control/choice/dropdown/CwDropdown.js +0 -27
  51. package/dist/src/components/control/choice/dropdown/CwDropdownContainer.js +0 -30
  52. package/dist/src/components/control/choice/dropdown/CwDropdownFilter.js +0 -10
  53. package/dist/src/components/control/choice/multi-filter/CwMultiFilter.js +0 -298
  54. package/dist/src/components/control/choice/multi-filter/components/tag/CwMultiFilterTag.js +0 -17
  55. package/dist/src/components/control/choice/multiselect/CwHeadFilter.js +0 -80
  56. package/dist/src/components/control/choice/multiselect/CwMultiselect.js +0 -393
  57. package/dist/src/components/control/choice/multiselect/CwOptionList.js +0 -36
  58. package/dist/src/components/control/choice/option/CwOption.js +0 -16
  59. package/dist/src/components/control/choice/select/CwSelect.js +0 -36
  60. package/dist/src/components/control/choice/toggle/CwToggle.js +0 -9
  61. package/dist/src/components/control/input/any/CwInput.js +0 -16
  62. package/dist/src/components/control/input/color/CwColorPicker.js +0 -210
  63. package/dist/src/components/control/input/color/CwInputColor.js +0 -142
  64. package/dist/src/components/control/input/date/CwInputDate.js +0 -29
  65. package/dist/src/components/control/input/date-picker/CwInputDatePicker.js +0 -109
  66. package/dist/src/components/control/input/date-text/CwInputDateText.js +0 -90
  67. package/dist/src/components/control/input/datetime/CwInputDatetime.js +0 -29
  68. package/dist/src/components/control/input/digit/CwDigit.js +0 -28
  69. package/dist/src/components/control/input/file/CwFileUpload.js +0 -52
  70. package/dist/src/components/control/input/file/CwFileUploadMultiple.js +0 -148
  71. package/dist/src/components/control/input/image/CwInputImage.js +0 -52
  72. package/dist/src/components/control/input/image-area/CwImageArea.js +0 -113
  73. package/dist/src/components/control/input/new-dates/example.d.ts +0 -2
  74. package/dist/src/components/control/input/new-dates/example.d.ts.map +0 -1
  75. package/dist/src/components/control/input/number/CwInputNumber.js +0 -11
  76. package/dist/src/components/control/input/phone/CwInputPhone.js +0 -24
  77. package/dist/src/components/control/input/text/CwInputText.js +0 -31
  78. package/dist/src/components/control/input/text-area/CwTextArea.js +0 -9
  79. package/dist/src/components/control/input/time/CwTime.js +0 -29
  80. package/dist/src/components/control/input/weekday/CwWeekdaySelector.js +0 -143
  81. package/dist/src/components/custom/find-airport/CwFindAirportComp.js +0 -240
  82. package/dist/src/components/custom/scheduler/CwSchedulerComp.js +0 -211
  83. package/dist/src/components/custom/scheduler/CwSuperSchedulerComp.js +0 -269
  84. package/dist/src/components/custom/scheduler/components/EventRender.js +0 -142
  85. package/dist/src/components/custom/scheduler/components/ResourceListRender.js +0 -12
  86. package/dist/src/components/custom/scheduler/components/ResourceRender.js +0 -26
  87. package/dist/src/components/custom/scheduler/components/day_headers/DayHeader.js +0 -13
  88. package/dist/src/components/custom/scheduler/components/day_headers/MonthHeader.js +0 -12
  89. package/dist/src/components/custom/scheduler/components/day_headers/MyDaysHeader.js +0 -62
  90. package/dist/src/components/custom/scheduler/components/day_headers/WeekHeader.js +0 -13
  91. package/dist/src/components/custom/scheduler/components/resources_title_list/ResourcesTitleList.js +0 -24
  92. package/dist/src/components/custom/scheduler/components/scheduler_content_area/SchedulerContentArea.js +0 -17
  93. package/dist/src/components/custom/scheduler/components/scheduler_header/SchedulerHeader.js +0 -26
  94. package/dist/src/components/custom/scheduler/components/scheduler_timeline/SchedulerTimeLine.js +0 -23
  95. package/dist/src/components/custom/scheduler/components/time_headers/TimeHeader.js +0 -31
  96. package/dist/src/components/custom/scheduler/components/time_headers/TimeHeaderRow.js +0 -16
  97. package/dist/src/components/custom/scheduler/components/time_line/TimeLine.js +0 -12
  98. package/dist/src/components/custom/scheduler/logic/dates/addMinutesToDateFromPx.js +0 -5
  99. package/dist/src/components/custom/scheduler/logic/dates/daysBetweenTwoDates.js +0 -15
  100. package/dist/src/components/custom/scheduler/logic/dates/daysBetweenTwoDatesWithoutCeil.js +0 -5
  101. package/dist/src/components/custom/scheduler/logic/dates/getFormatedTimeForHeader.js +0 -43
  102. package/dist/src/components/custom/scheduler/logic/dates/getMonthHeaderData.js +0 -35
  103. package/dist/src/components/custom/scheduler/logic/dates/getUtcToday.js +0 -6
  104. package/dist/src/components/custom/scheduler/logic/dates/getWeekHeaderDataFromWeekRange.js +0 -20
  105. package/dist/src/components/custom/scheduler/logic/dates/listOfDatesToWeeks.js +0 -55
  106. package/dist/src/components/custom/scheduler/logic/divisions/calculateDivisionType.js +0 -13
  107. package/dist/src/components/custom/scheduler/logic/divisions/calculateDivisions.js +0 -16
  108. package/dist/src/components/custom/scheduler/logic/filtering/filterEvents.js +0 -33
  109. package/dist/src/components/custom/scheduler/logic/filtering/filterResources.js +0 -14
  110. package/dist/src/components/custom/scheduler/logic/filtering/hasSameProperties.js +0 -10
  111. package/dist/src/components/custom/scheduler/logic/onDrop/OnDrop.js +0 -45
  112. package/dist/src/components/custom/scheduler/logic/pixels/getHeightLineScheduler.js +0 -14
  113. package/dist/src/components/custom/scheduler/logic/pixels/getPixelsForEvent.js +0 -32
  114. package/dist/src/components/custom/scheduler/logic/pixels/heightScheduler.js +0 -14
  115. package/dist/src/components/custom/scheduler/logic/pixels/heightSchedulerPinned.js +0 -9
  116. package/dist/src/components/custom/scheduler/logic/state_handle/doubleClickOnResource.js +0 -5
  117. package/dist/src/components/custom/scheduler/logic/state_handle/handleResourceChange.js +0 -11
  118. package/dist/src/components/custom/scheduler/logic/state_handle/onDragOver.js +0 -9
  119. package/dist/src/components/custom/scheduler/logic/state_handle/onDropEventToResource.js +0 -3
  120. package/dist/src/components/custom/scheduler/logic/strings/compareStrings.js +0 -7
  121. package/dist/src/components/custom/scheduler/logic/strings/getGUID.js +0 -7
  122. package/dist/src/components/custom/scheduler/logic/ui/checkIfSlotAvailable.js +0 -8
  123. package/dist/src/components/custom/scheduler/logic/ui/getEventsOfResource.js +0 -45
  124. package/dist/src/components/custom/scheduler/logic/ui/getTimeHeaders.js +0 -35
  125. package/dist/src/components/custom/scheduler/logic/ui/isAllowedToMove.js +0 -19
  126. package/dist/src/components/custom/scheduler/logic/ui/updateResourceVisibility.js +0 -15
  127. package/dist/src/components/custom/scheduler/state/CblDragAndDrop.js +0 -18
  128. package/dist/src/components/custom/scheduler/state/CwSchedulerProps.js +0 -1
  129. package/dist/src/components/custom/scheduler/state/Resource.js +0 -18
  130. package/dist/src/components/custom/scheduler/state/State.js +0 -1
  131. package/dist/src/components/custom/scheduler/state/cblEvent.js +0 -28
  132. package/dist/src/components/custom/scheduler/state/cblEventCompProps.js +0 -1
  133. package/dist/src/components/custom/scheduler/state/resourceCompProps2.js +0 -1
  134. package/dist/src/components/custom/scheduler-new/presentation/NewScheduler.js +0 -123
  135. package/dist/src/components/custom/scheduler-new/presentation/NewSchedulerUiEvents.js +0 -118
  136. package/dist/src/components/custom/scheduler-new/presentation/SchedulerPresenter.js +0 -166
  137. package/dist/src/components/custom/scheduler-new/presentation/components/header/HeaderDivision.js +0 -26
  138. package/dist/src/components/custom/scheduler-new/presentation/components/header/HeaderTitle.js +0 -8
  139. package/dist/src/components/custom/scheduler-new/presentation/components/header/SchedulerHeader.js +0 -86
  140. package/dist/src/components/custom/scheduler-new/presentation/components/header/SchedulerHeaderState.js +0 -1
  141. package/dist/src/components/custom/scheduler-new/presentation/components/row/BackgroundEvent.js +0 -60
  142. package/dist/src/components/custom/scheduler-new/presentation/components/row/DefaultRowHeader.js +0 -24
  143. package/dist/src/components/custom/scheduler-new/presentation/components/row/Event.js +0 -150
  144. package/dist/src/components/custom/scheduler-new/presentation/components/row/EventSideDrag.js +0 -11
  145. package/dist/src/components/custom/scheduler-new/presentation/components/row/SchedulerRow.js +0 -176
  146. package/dist/src/components/custom/scheduler-new/presentation/components/timeline/DivisionLine.js +0 -8
  147. package/dist/src/components/custom/scheduler-new/presentation/components/timeline/TimeLine.js +0 -39
  148. package/dist/src/components/custom/scheduler-new/presentation/components/timeline/WeekEndLine.js +0 -8
  149. package/dist/src/components/custom/scheduler-new/presentation/helpers.js +0 -43
  150. package/dist/src/components/custom/scheduler-new/presentation/logic/WeekendCalc.js +0 -24
  151. package/dist/src/components/custom/scheduler-new/presentation/logic/dateFromPercentage.js +0 -7
  152. package/dist/src/components/custom/scheduler-new/presentation/logic/eventIsVisible.js +0 -7
  153. package/dist/src/components/custom/scheduler-new/presentation/logic/getDefaultDivisions.js +0 -113
  154. package/dist/src/components/custom/scheduler-new/presentation/logic/getDivisions.js +0 -21
  155. package/dist/src/components/custom/scheduler-new/presentation/logic/getEventSizes.js +0 -30
  156. package/dist/src/components/custom/scheduler-new/presentation/logic/getLinesByDivisions.js +0 -13
  157. package/dist/src/components/custom/scheduler-new/presentation/logic/getPercentageFromMouseEvent.js +0 -7
  158. package/dist/src/components/custom/scheduler-new/presentation/logic/separateEventsToInnerRows.js +0 -32
  159. package/dist/src/components/custom/scheduler-new/presentation/logic/sortByCategoryAndTitle.js +0 -12
  160. package/dist/src/components/custom/scheduler-new/presentation/state/ui/SchedulerState.js +0 -1
  161. package/dist/src/components/custom/scheduler-new/presentation/state/ui/WeekRange.js +0 -1
  162. package/dist/src/components/custom/scheduler-temporal/CwSchedulerComp2.js +0 -267
  163. package/dist/src/components/custom/scheduler-temporal/CwSuperSchedulerComp.js +0 -269
  164. package/dist/src/components/custom/scheduler-temporal/components/EventRender.js +0 -142
  165. package/dist/src/components/custom/scheduler-temporal/components/ResourceListRender.js +0 -12
  166. package/dist/src/components/custom/scheduler-temporal/components/ResourceRender.js +0 -26
  167. package/dist/src/components/custom/scheduler-temporal/components/day_headers/DayHeader.js +0 -13
  168. package/dist/src/components/custom/scheduler-temporal/components/day_headers/MonthHeader.js +0 -12
  169. package/dist/src/components/custom/scheduler-temporal/components/day_headers/MyDaysHeader.js +0 -62
  170. package/dist/src/components/custom/scheduler-temporal/components/day_headers/WeekHeader.js +0 -13
  171. package/dist/src/components/custom/scheduler-temporal/components/resources_title_list/ResourcesTitleList.js +0 -22
  172. package/dist/src/components/custom/scheduler-temporal/components/scheduler_content_area/SchedulerContentArea.js +0 -17
  173. package/dist/src/components/custom/scheduler-temporal/components/scheduler_header/SchedulerHeader.js +0 -26
  174. package/dist/src/components/custom/scheduler-temporal/components/scheduler_timeline/SchedulerTimeLine.js +0 -23
  175. package/dist/src/components/custom/scheduler-temporal/components/time_headers/TimeHeader.js +0 -31
  176. package/dist/src/components/custom/scheduler-temporal/components/time_headers/TimeHeaderRow.js +0 -16
  177. package/dist/src/components/custom/scheduler-temporal/components/time_line/TimeLine.js +0 -12
  178. package/dist/src/components/custom/scheduler-temporal/logic/dates/addMinutesToDateFromPx.js +0 -5
  179. package/dist/src/components/custom/scheduler-temporal/logic/dates/daysBetweenTwoDates.js +0 -15
  180. package/dist/src/components/custom/scheduler-temporal/logic/dates/daysBetweenTwoDatesWithoutCeil.js +0 -5
  181. package/dist/src/components/custom/scheduler-temporal/logic/dates/getFormatedTimeForHeader.js +0 -43
  182. package/dist/src/components/custom/scheduler-temporal/logic/dates/getMonthHeaderData.js +0 -35
  183. package/dist/src/components/custom/scheduler-temporal/logic/dates/getUtcToday.js +0 -6
  184. package/dist/src/components/custom/scheduler-temporal/logic/dates/getWeekHeaderDataFromWeekRange.js +0 -20
  185. package/dist/src/components/custom/scheduler-temporal/logic/dates/listOfDatesToWeeks.js +0 -55
  186. package/dist/src/components/custom/scheduler-temporal/logic/divisions/calculateDivisionType.js +0 -13
  187. package/dist/src/components/custom/scheduler-temporal/logic/divisions/calculateDivisions.js +0 -16
  188. package/dist/src/components/custom/scheduler-temporal/logic/filtering/filterAndProcessResources.js +0 -10
  189. package/dist/src/components/custom/scheduler-temporal/logic/filtering/filterEvents.js +0 -34
  190. package/dist/src/components/custom/scheduler-temporal/logic/filtering/filterResources.js +0 -14
  191. package/dist/src/components/custom/scheduler-temporal/logic/filtering/hasSameProperties.js +0 -10
  192. package/dist/src/components/custom/scheduler-temporal/logic/onDrop/OnDrop.js +0 -36
  193. package/dist/src/components/custom/scheduler-temporal/logic/pixels/getHeightLineScheduler.js +0 -14
  194. package/dist/src/components/custom/scheduler-temporal/logic/pixels/getPixelsForEvent.js +0 -32
  195. package/dist/src/components/custom/scheduler-temporal/logic/pixels/heightScheduler.js +0 -14
  196. package/dist/src/components/custom/scheduler-temporal/logic/pixels/heightSchedulerPinned.js +0 -9
  197. package/dist/src/components/custom/scheduler-temporal/logic/state_handle/doubleClickOnResource.js +0 -5
  198. package/dist/src/components/custom/scheduler-temporal/logic/state_handle/handlePropChanges.js +0 -178
  199. package/dist/src/components/custom/scheduler-temporal/logic/state_handle/handleResourceChange.js +0 -11
  200. package/dist/src/components/custom/scheduler-temporal/logic/state_handle/onDragOver.js +0 -9
  201. package/dist/src/components/custom/scheduler-temporal/logic/state_handle/onDropEventToResource.js +0 -3
  202. package/dist/src/components/custom/scheduler-temporal/logic/state_handle/onResizeEvent.js +0 -3
  203. package/dist/src/components/custom/scheduler-temporal/logic/strings/compareStrings.js +0 -7
  204. package/dist/src/components/custom/scheduler-temporal/logic/strings/getGUID.js +0 -7
  205. package/dist/src/components/custom/scheduler-temporal/logic/ui/checkIfSlotAvailable.js +0 -9
  206. package/dist/src/components/custom/scheduler-temporal/logic/ui/getEventsOfResource.js +0 -92
  207. package/dist/src/components/custom/scheduler-temporal/logic/ui/getHasPropsChanged.js +0 -242
  208. package/dist/src/components/custom/scheduler-temporal/logic/ui/getTimeHeaders.js +0 -35
  209. package/dist/src/components/custom/scheduler-temporal/logic/ui/isAllowedToMove.js +0 -19
  210. package/dist/src/components/custom/scheduler-temporal/logic/ui/shouldTriggerScroll.js +0 -241
  211. package/dist/src/components/custom/scheduler-temporal/logic/ui/updateResourceVisibility.js +0 -15
  212. package/dist/src/components/custom/scheduler-temporal/state/CblDragAndDrop.js +0 -18
  213. package/dist/src/components/custom/scheduler-temporal/state/CwSchedulerProps.js +0 -1
  214. package/dist/src/components/custom/scheduler-temporal/state/Resource.js +0 -18
  215. package/dist/src/components/custom/scheduler-temporal/state/State.js +0 -1
  216. package/dist/src/components/custom/scheduler-temporal/state/cblEvent.js +0 -28
  217. package/dist/src/components/custom/scheduler-temporal/state/cblEventCompProps.js +0 -1
  218. package/dist/src/components/custom/scheduler-temporal/state/resourceCompProps2.js +0 -1
  219. package/dist/src/components/custom/super-scheduler/PinRowHeader.js +0 -53
  220. package/dist/src/components/custom/super-scheduler/SuperScheduler.js +0 -23
  221. package/dist/src/components/custom/super-scheduler/SuperSchedulerEvents.js +0 -15
  222. package/dist/src/components/custom/super-scheduler/SuperSchedulerPresenter.js +0 -45
  223. package/dist/src/components/display/data/accordion/CwAccordionContainer.js +0 -20
  224. package/dist/src/components/display/data/generic_tooltip/CwGenericTooltip.js +0 -138
  225. package/dist/src/components/display/data/table/CwTable.js +0 -203
  226. package/dist/src/components/display/graphics/icon/CwIcon.js +0 -23
  227. package/dist/src/components/display/graphics/loading/CwLoading.js +0 -27
  228. package/dist/src/components/display/graphics/loading-small/CwLoadingSmall.js +0 -20
  229. package/dist/src/components/display/text/heading/CwHeadingMain.js +0 -5
  230. package/dist/src/components/display/text/heading/CwHeadingSecond.js +0 -5
  231. package/dist/src/components/display/text/label/CwLabel.js +0 -13
  232. package/dist/src/components/display/text/message/CwMessage.js +0 -75
  233. package/dist/src/components/display/text/note/CwNote.js +0 -78
  234. package/dist/src/components/display/text/tag/CwChip.js +0 -57
  235. package/dist/src/components/display/text/tag/CwTag.js +0 -21
  236. package/dist/src/components/display/text/tooltip/CwTooltip.js +0 -4
  237. package/dist/src/components/layout/align/CwAlign.js +0 -54
  238. package/dist/src/components/layout/card/CwCard.js +0 -55
  239. package/dist/src/components/layout/card/CwCardList.js +0 -38
  240. package/dist/src/components/layout/dialog/CwDialog.js +0 -255
  241. package/dist/src/components/layout/dialog/CwDialogManager.js +0 -44
  242. package/dist/src/components/layout/list/details/CwExpandable.js +0 -28
  243. package/dist/src/components/layout/list/key-value/CwKeyValueList.js +0 -23
  244. package/dist/src/components/layout/list/sortable/CwSortableList.js +0 -73
  245. package/dist/src/components/layout/list/sortable/useSortableList.js +0 -53
  246. package/dist/src/components/layout/modal/CwModalReportFunctional.js +0 -23
  247. package/dist/src/components/layout/modal/hover/CwModalHover.js +0 -61
  248. package/dist/src/components/layout/modal/legacy/cw_modal.js +0 -44
  249. package/dist/src/components/layout/modal/legacy/cw_modal_confirm.js +0 -39
  250. package/dist/src/components/layout/modal/legacy/cw_modal_iframe.js +0 -44
  251. package/dist/src/components/layout/modal/legacy/cw_modal_report.js +0 -26
  252. package/dist/src/components/layout/table/grouped/CwTableGrouped.js +0 -70
  253. package/dist/src/components/layout/tabs/CwTabs.js +0 -53
  254. package/dist/src/index.js +0 -187
  255. package/dist/test/components/custom/new-scheduler/presentation/logic/getDefaultDivisions.test.js +0 -48
  256. package/dist/test/components/custom/new-scheduler/presentation/logic/hoursBetween.test.js +0 -15
  257. package/dist/test/components/custom/new-scheduler/presentation/logic/monthDivisions.test.js +0 -42
  258. package/dist/test/components/custom/new-scheduler/presentation/logic/weekendCalc.test.js +0 -30
  259. package/dist/test/components/custom/scheduler/addMinutesToDateFromPx.test.js +0 -43
  260. package/dist/test/components/custom/scheduler/checkIfSlotAvailable.test.js +0 -30
  261. package/dist/test/components/custom/scheduler/daysBetweenTwoDates.test.js +0 -61
  262. package/dist/test/components/custom/scheduler/daysBetweenTwoDatesWithoutCeilForEvent.test.js +0 -27
  263. package/dist/test/components/custom/scheduler/getGUID.test.js +0 -30
  264. package/dist/test/components/custom/scheduler/getPixelsForEvent.test.js +0 -38
  265. package/dist/test/components/custom/scheduler/getTimeHeaders.test.js +0 -35
  266. package/dist/test/components/custom/scheduler/hasSameProperties.test.js +0 -51
  267. package/dist/test/components/custom/scheduler/isAllowedToMove.test.js +0 -28
  268. package/dist/test/components/custom/scheduler/listOfDatesToWeeks.test.js +0 -72
  269. package/dist/test/jest.setup.js +0 -1
@@ -1,241 +0,0 @@
1
- export const shouldTriggerScroll = (currentProps, _previousProps, _previousState) => {
2
- let triggerScroll = false;
3
- const hasDateChanged = currentProps.startDate.getTime() !== _previousProps.startDate.getTime() ||
4
- currentProps.endDate.getTime() !== _previousProps.endDate.getTime();
5
- if (hasDateChanged)
6
- return true;
7
- if (currentProps.groupByFunction !== _previousProps.groupByFunction)
8
- return true;
9
- if (currentProps.events?.length !== _previousProps.events?.length)
10
- return true;
11
- if (currentProps.events &&
12
- _previousState.events &&
13
- currentProps.events.length > 0 &&
14
- _previousState.events.length > 0) {
15
- if (currentProps.events.length === _previousState.events.length) {
16
- for (let i = 0; i < currentProps.events.length; i++) {
17
- if (currentProps.events[i].selected !== _previousState.events[i].selected) {
18
- triggerScroll = true;
19
- }
20
- if (currentProps.events[i].data.state !== undefined &&
21
- currentProps.events[i].data.state !== _previousState.events[i].data.state) {
22
- triggerScroll = true;
23
- }
24
- if (currentProps.events[i].data.start !== undefined &&
25
- currentProps.events[i].data.start !== _previousState.events[i].data.start) {
26
- triggerScroll = true;
27
- }
28
- if (currentProps.events[i].data.end !== undefined &&
29
- currentProps.events[i].data.end !== _previousState.events[i].data.end) {
30
- triggerScroll = true;
31
- }
32
- if (currentProps.events[i].data.remark !== undefined &&
33
- currentProps.events[i].data.remark !== _previousState.events[i].data.remark) {
34
- triggerScroll = true;
35
- }
36
- if (currentProps.events[i].data.highPrio !== undefined &&
37
- currentProps.events[i].data.highPrio !== _previousState.events[i].data.highPrio) {
38
- triggerScroll = true;
39
- }
40
- if (currentProps.events[i].data.VacID !== undefined &&
41
- currentProps.events[i].data.VacID !== _previousState.events[i].data.VacID) {
42
- triggerScroll = true;
43
- }
44
- if (currentProps.events[i].data.Crew_Id !== undefined &&
45
- currentProps.events[i].data.Crew_Id !== _previousState.events[i].data.Crew_Id) {
46
- triggerScroll = true;
47
- }
48
- if (currentProps.events[i].data.CrewComp !== undefined &&
49
- currentProps.events[i].data.CrewComp !== _previousState.events[i].data.CrewComp) {
50
- triggerScroll = true;
51
- }
52
- if (currentProps.events[i].data.crewCompString !== undefined &&
53
- currentProps.events[i].data.crewCompString !== _previousState.events[i].data.crewCompString) {
54
- triggerScroll = true;
55
- }
56
- if (currentProps.events[i].data.SplitDuty !== undefined &&
57
- currentProps.events[i].data.SplitDuty !== _previousState.events[i].data.SplitDuty) {
58
- triggerScroll = true;
59
- }
60
- if (currentProps.events[i].data.firstNumber !== undefined &&
61
- currentProps.events[i].data.firstNumber !== _previousState.events[i].data.firstNumber) {
62
- triggerScroll = true;
63
- }
64
- if (currentProps.events[i].data.CompRectList !== undefined &&
65
- currentProps.events[i].data.CompRectList !== _previousState.events[i].data.CompRectList) {
66
- triggerScroll = true;
67
- }
68
- if (currentProps.events[i].data.Jumpseats !== undefined &&
69
- currentProps.events[i].data.Jumpseats !== _previousState.events[i].data.Jumpseats) {
70
- triggerScroll = true;
71
- }
72
- if (currentProps.events[i].data.openJumpSeatsString !== undefined &&
73
- currentProps.events[i].data.openJumpSeatsString !== _previousState.events[i].data.openJumpSeatsString) {
74
- triggerScroll = true;
75
- }
76
- if (currentProps.events[i].data.IsCrewchange !== undefined &&
77
- currentProps.events[i].data.IsCrewchange !== _previousState.events[i].data.IsCrewchange) {
78
- triggerScroll = true;
79
- }
80
- if (currentProps.events[i].data.SStartApt !== undefined &&
81
- currentProps.events[i].data.SStartApt !== _previousState.events[i].data.SStartApt) {
82
- triggerScroll = true;
83
- }
84
- if (currentProps.events[i].data.SEndApt !== undefined &&
85
- currentProps.events[i].data.SEndApt !== _previousState.events[i].data.SEndApt) {
86
- triggerScroll = true;
87
- }
88
- if (currentProps.events[i].data.Instructor !== undefined &&
89
- currentProps.events[i].data.Instructor !== _previousState.events[i].data.Instructor) {
90
- triggerScroll = true;
91
- }
92
- if (currentProps.events[i].data.Trainee !== undefined &&
93
- currentProps.events[i].data.Trainee !== _previousState.events[i].data.Trainee) {
94
- triggerScroll = true;
95
- }
96
- if (currentProps.events[i].data.LineCheck !== undefined &&
97
- currentProps.events[i].data.LineCheck !== _previousState.events[i].data.LineCheck) {
98
- triggerScroll = true;
99
- }
100
- if (currentProps.events[i].data.IsObserver !== undefined &&
101
- currentProps.events[i].data.IsObserver !== _previousState.events[i].data.IsObserver) {
102
- triggerScroll = true;
103
- }
104
- if (currentProps.events[i].data.IsSplitDuty !== undefined &&
105
- currentProps.events[i].data.IsSplitDuty !== _previousState.events[i].data.IsSplitDuty) {
106
- triggerScroll = true;
107
- }
108
- if (currentProps.events[i].data.Comment !== undefined &&
109
- currentProps.events[i].data.Comment !== _previousState.events[i].data.Comment) {
110
- triggerScroll = true;
111
- }
112
- if (currentProps.events[i].data.InternalRemark !== undefined &&
113
- currentProps.events[i].data.InternalRemark !== _previousState.events[i].data.InternalRemark) {
114
- triggerScroll = true;
115
- }
116
- if (currentProps.events[i].data.ExternalRemark !== undefined &&
117
- currentProps.events[i].data.ExternalRemark !== _previousState.events[i].data.ExternalRemark) {
118
- triggerScroll = true;
119
- }
120
- if (currentProps.events[i].data.inserted !== undefined &&
121
- currentProps.events[i].data.inserted !== _previousState.events[i].data.inserted) {
122
- triggerScroll = true;
123
- }
124
- if (currentProps.events[i].data.edited !== undefined &&
125
- currentProps.events[i].data.edited !== _previousState.events[i].data.edited) {
126
- triggerScroll = true;
127
- }
128
- if (currentProps.events[i].data.deleted !== undefined &&
129
- currentProps.events[i].data.deleted !== _previousState.events[i].data.deleted) {
130
- triggerScroll = true;
131
- }
132
- if (currentProps.events[i].data.MissingFunc !== undefined &&
133
- currentProps.events[i].data.MissingFunc !== _previousState.events[i].data.MissingFunc) {
134
- triggerScroll = true;
135
- }
136
- if (currentProps.events[i].data.crewComposition_CompositionName !== undefined &&
137
- currentProps.events[i].data.crewComposition_CompositionName !==
138
- _previousState.events[i].data.crewComposition_CompositionName) {
139
- triggerScroll = true;
140
- }
141
- if (currentProps.events[i].data.subject !== undefined &&
142
- currentProps.events[i].data.subject !== _previousState.events[i].data.subject) {
143
- triggerScroll = true;
144
- }
145
- if (currentProps.events[i].data.ACFTID !== undefined &&
146
- currentProps.events[i].data.ACFTID !== _previousState.events[i].data.ACFTID) {
147
- triggerScroll = true;
148
- }
149
- if (currentProps.events[i].data.allAcftId !== undefined &&
150
- currentProps.events[i].data.allAcftId !== _previousState.events[i].data.allAcftId) {
151
- triggerScroll = true;
152
- }
153
- if (currentProps.events[i].data.SCDcrew !== undefined &&
154
- currentProps.events[i].data.SCDcrew !== _previousState.events[i].data.SCDcrew) {
155
- triggerScroll = true;
156
- }
157
- if (currentProps.events[i].data.C3_LC !== undefined &&
158
- currentProps.events[i].data.C3_LC !== _previousState.events[i].data.C3_LC) {
159
- triggerScroll = true;
160
- }
161
- if (currentProps.events[i].data.C3LC !== undefined &&
162
- currentProps.events[i].data.C3LC !== _previousState.events[i].data.C3LC) {
163
- triggerScroll = true;
164
- }
165
- if (currentProps.events[i].data.Remark !== undefined &&
166
- currentProps.events[i].data.Remark !== _previousState.events[i].data.Remark) {
167
- triggerScroll = true;
168
- }
169
- if (currentProps.events[i].data.HighPriority !== undefined &&
170
- currentProps.events[i].data.HighPriority !== _previousState.events[i].data.HighPriority) {
171
- triggerScroll = true;
172
- }
173
- if (currentProps.events[i].data.FirstNumber !== undefined &&
174
- currentProps.events[i].data.FirstNumber !== _previousState.events[i].data.FirstNumber) {
175
- triggerScroll = true;
176
- }
177
- }
178
- }
179
- }
180
- if (currentProps.height !== _previousProps.height) {
181
- triggerScroll = true;
182
- }
183
- if (currentProps.pinnedResources !== _previousProps.pinnedResources) {
184
- triggerScroll = true;
185
- }
186
- if (currentProps.resources &&
187
- _previousProps.resources &&
188
- currentProps.resources.length !== _previousProps.resources.length) {
189
- triggerScroll = true;
190
- }
191
- if (currentProps.resources &&
192
- _previousState.resources &&
193
- currentProps.resources.length > 0 &&
194
- _previousState.resources.length > 0) {
195
- if (currentProps.resources.length === _previousState.resources.length) {
196
- for (let i = 0; i < currentProps.resources.length; i++) {
197
- if (currentProps.resources[i].isLoading !== _previousState.resources[i].isLoading) {
198
- triggerScroll = true;
199
- }
200
- if (currentProps.resources[i].isInViewport !== _previousState.resources[i].isInViewport) {
201
- triggerScroll = true;
202
- }
203
- if (currentProps.resources[i].data.isGroupedByFunction !== _previousState.resources[i].data.isGroupedByFunction) {
204
- triggerScroll = true;
205
- }
206
- if (currentProps.resources[i].data.hasFunctionChangeInPeriod !==
207
- _previousState.resources[i].data.hasFunctionChangeInPeriod) {
208
- triggerScroll = true;
209
- }
210
- if (currentProps.resources[i].data.hasTyperatingChangeInPeriod !==
211
- _previousState.resources[i].data.hasTyperatingChangeInPeriod) {
212
- triggerScroll = true;
213
- }
214
- if (currentProps.resources[i].data.HasFunctionChangeInPeriod !==
215
- _previousState.resources[i].data.HasFunctionChangeInPeriod) {
216
- triggerScroll = true;
217
- }
218
- if (currentProps.resources[i].data.HasTyperatingChangeInPeriod !==
219
- _previousState.resources[i].data.HasTyperatingChangeInPeriod) {
220
- triggerScroll = true;
221
- }
222
- if (currentProps.resources[i].data.TraineeStatus !== _previousState.resources[i].data.TraineeStatus) {
223
- triggerScroll = true;
224
- }
225
- if (currentProps.resources[i].data.FunctionTyperatingStringTooltip !==
226
- _previousState.resources[i].data.FunctionTyperatingStringTooltip) {
227
- triggerScroll = true;
228
- }
229
- if (currentProps.resources[i].data.CrewPlanningVac !== _previousState.resources[i].data.CrewPlanningVac) {
230
- triggerScroll = true;
231
- }
232
- }
233
- if (currentProps.module === "CrewScheduling" && currentProps.resourceName === "Employees") {
234
- if (currentProps.groupByFunction !== _previousState.groupByFunction) {
235
- triggerScroll = true;
236
- }
237
- }
238
- }
239
- }
240
- return triggerScroll;
241
- };
@@ -1,15 +0,0 @@
1
- export const updateResourceVisibility = (viewportTop, viewportBottom, stateResources, propsResources) => {
2
- if (propsResources.length === 0)
3
- return [];
4
- let currentHeight = 0;
5
- return stateResources.map(resource => {
6
- const newResource = { ...resource };
7
- newResource.isInViewport = isResourceInViewport(currentHeight, viewportTop, viewportBottom);
8
- currentHeight += resource.maxTop;
9
- return newResource;
10
- });
11
- };
12
- const isResourceInViewport = (resourceTop, viewportTop, viewportBottom) => {
13
- const buffer = 100;
14
- return viewportBottom + 50 > resourceTop && resourceTop >= viewportTop - buffer;
15
- };
@@ -1,18 +0,0 @@
1
- export class CblDragAndDrop {
2
- fromId;
3
- toId;
4
- data;
5
- droppedOnDate;
6
- resizeFromStart;
7
- resizeFromEnd;
8
- isCtrlKey;
9
- constructor(fromId, toId, data, droppedOnDate = null, resizeFromStart = null, resizeFromEnd = null, isCtrlKey = null) {
10
- this.fromId = fromId;
11
- this.toId = toId;
12
- this.data = data;
13
- this.droppedOnDate = droppedOnDate;
14
- this.resizeFromStart = resizeFromStart;
15
- this.resizeFromEnd = resizeFromEnd;
16
- this.isCtrlKey = isCtrlKey;
17
- }
18
- }
@@ -1,18 +0,0 @@
1
- export class Resource {
2
- uid = "";
3
- id;
4
- name;
5
- maxTop;
6
- events = [];
7
- isInViewport = false;
8
- schedulerResourceDisplay;
9
- isLoading = false;
10
- data = null;
11
- constructor(id, name, eventHeight, data = null, schedulerResourceDisplay = null) {
12
- this.id = id;
13
- this.name = name;
14
- this.maxTop = eventHeight;
15
- this.data = data;
16
- this.schedulerResourceDisplay = schedulerResourceDisplay || this.name;
17
- }
18
- }
@@ -1,28 +0,0 @@
1
- import { getGUID } from "../logic/strings/getGUID";
2
- export class cblEvent {
3
- id = "";
4
- start;
5
- end;
6
- resourceId;
7
- selected = false;
8
- top = 0;
9
- leftPx = 0;
10
- rightPx = 0;
11
- width = 0;
12
- isFullHeight = false;
13
- isReadOnly = false;
14
- isResizable = false;
15
- isDraggable = false;
16
- data = null;
17
- constructor(start, end, resourceId, data = null, isFullHeight = false, isReadOnly = false, isResizable = false, isDraggable = false) {
18
- this.start = start;
19
- this.end = end;
20
- this.resourceId = resourceId;
21
- this.data = data;
22
- this.isFullHeight = isFullHeight;
23
- this.isReadOnly = isReadOnly;
24
- this.isResizable = isResizable;
25
- this.isDraggable = isDraggable;
26
- this.id = getGUID();
27
- }
28
- }
@@ -1,53 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Dropdown } from "antd";
3
- import { useState } from "react";
4
- import { CwGenericTooltip } from "../../display/data/generic_tooltip/CwGenericTooltip";
5
- import { OnClickContextMenu } from "../scheduler-new/presentation/NewSchedulerUiEvents";
6
- import styles from "./super-scheduler.module.css";
7
- import { OnPinRow, OnUnpinRow } from "./SuperSchedulerEvents";
8
- const onClickMenuItem = (e, event) => {
9
- e.domEvent.nativeEvent.preventDefault();
10
- e.domEvent.nativeEvent.stopPropagation();
11
- e.domEvent.nativeEvent.stopImmediatePropagation();
12
- e.domEvent.preventDefault();
13
- e.domEvent.stopPropagation();
14
- event();
15
- };
16
- export const PinRowHeader = ({ value, width, onEvent }) => {
17
- const [isContextMenuOpen, setIsContextMenuOpen] = useState(false);
18
- const { highlightColor, isLoading } = value;
19
- return (_jsxs("div", { style: {
20
- width: width,
21
- background: highlightColor,
22
- }, className: styles["super-scheduler-row-header"], children: [_jsx("button", { className: "cw-button-icon cwi-pin", "data-pinned": value.isPinned, onClick: (_) => {
23
- onEvent(value.isPinned ? new OnUnpinRow(value.rowId) : new OnPinRow(value.rowId));
24
- } }), _jsx("div", { className: styles["indicators"], children: value.indicators ?? undefined }), _jsx(CwGenericTooltip, { content: value.tooltip, position: "right", dissapearsWhenHover: true, overlayStyle: value.overlayTooltipStyle, children: _jsx(Dropdown, { open: isContextMenuOpen, onOpenChange: setIsContextMenuOpen, placement: "bottom", menu: {
25
- items: value.contextMenuItems,
26
- onClick: (e) => {
27
- onClickMenuItem(e, () => {
28
- onEvent(new OnClickContextMenu(value.rowId, e.key));
29
- });
30
- },
31
- onMouseLeave: () => setIsContextMenuOpen(false),
32
- }, trigger: ["contextMenu"], overlayStyle: { animationDuration: "0" }, arrow: (value.contextMenuItems?.length ?? 0) > 0, children: _jsxs("div", { className: styles["scheduler-row-header"], style: {
33
- display: "flex",
34
- flexDirection: "column",
35
- justifyContent: "center",
36
- alignItems: "flex-start",
37
- }, children: [_jsxs("div", { children: [_jsx("strong", { children: value.title }), value.title2 && _jsxs("span", { children: ["-", value.title2] }), " ", _jsx("strong", { children: value.subtitle })] }), value.subtitle && _jsxs("div", { style: { opacity: 0.5 }, children: [value.title3 && _jsxs("span", { className: styles["scheduler-crewmember-functions"], children: ["(", value.title3, ")"] }), value.subtitle2 && _jsxs("span", { children: ["-", value.subtitle2] })] })] }) }, value.rowId) }, value.rowId), isLoading ? _jsx("span", { className: "cwi-icons cwi-spinner" }) : undefined] }));
38
- };
39
- export const _preview = () => {
40
- const [isSelected, setIsSelected] = useState(true);
41
- return (_jsx(PinRowHeader, { value: {
42
- rowId: "a",
43
- title: "Test text",
44
- isPinned: isSelected,
45
- contextMenuItems: [],
46
- tooltip: _jsx("div", {}),
47
- isLoading: false,
48
- }, width: 100, onEvent: (event) => {
49
- setIsSelected((it) => !it);
50
- console.log(event);
51
- console.log("onPreview");
52
- } }));
53
- };
@@ -1,23 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { CwButton } from "../../control/action/button/CwButton";
3
- import { SchedulerEvent } from "../scheduler-new/presentation/components/row/Event";
4
- import { Scheduler } from "../scheduler-new/presentation/NewScheduler";
5
- import { PinRowHeader } from "./PinRowHeader";
6
- import { OnClearPinned } from "./SuperSchedulerEvents";
7
- import { SuperSchedulerPresenter } from "./SuperSchedulerPresenter";
8
- export const SuperScheduler = ({ id, state, header, rows, events, pinnedOrderCategory, unPinnedOrderCategory, backgroundEvents, contextMenuItems, onEvent }) => {
9
- const pinnedRows = rows.filter((it) => it.isPinned);
10
- const notPinnedRows = rows.filter((it) => !it.isPinned);
11
- const isFirstVisible = pinnedRows.length > 0;
12
- return (_jsxs(_Fragment, { children: [isFirstVisible && (_jsxs(_Fragment, { children: [_jsx(Scheduler, { id: `${id}-pinned`, state: state, header: header, rows: pinnedRows, events: events, backgroundEvents: backgroundEvents, contextMenuItems: contextMenuItems, orderCategories: pinnedOrderCategory, onEvent: onEvent, EventComp: SchedulerEvent, RowTitleComp: PinRowHeader }), _jsx("div", { children: _jsx(CwButton, { onClick: () => {
13
- onEvent(new OnClearPinned());
14
- }, children: "Clear pinned" }) })] })), _jsx(Scheduler, { id: `${id}-notPinned`, state: { ...state, isHeaderVisible: !isFirstVisible }, header: header, rows: notPinnedRows, events: events, backgroundEvents: backgroundEvents, contextMenuItems: contextMenuItems, orderCategories: unPinnedOrderCategory, onEvent: onEvent, EventComp: SchedulerEvent, RowTitleComp: PinRowHeader })] }));
15
- };
16
- export const _preview = () => {
17
- const { state, rows, onEvent } = SuperSchedulerPresenter();
18
- return _jsx(SuperScheduler, { id: "preview", state: state, header: {
19
- title: "Flights",
20
- classification: "ACFT",
21
- }, rows: rows, onEvent: onEvent, events: [], backgroundEvents: [], contextMenuItems: [] });
22
- };
23
- export default SuperScheduler;
@@ -1,15 +0,0 @@
1
- export class OnPinRow {
2
- id;
3
- constructor(id) {
4
- this.id = id;
5
- }
6
- }
7
- export class OnUnpinRow {
8
- id;
9
- constructor(id) {
10
- this.id = id;
11
- }
12
- }
13
- export class OnClearPinned {
14
- constructor() { }
15
- }
@@ -1,45 +0,0 @@
1
- import moment from "moment";
2
- import { useEffect, useState } from "react";
3
- export const SuperSchedulerPresenter = () => {
4
- const [rows, setRows] = useState([]);
5
- const [uiState, _] = useState(() => {
6
- const visibleDays = 1;
7
- const selectedDate = moment().toDate();
8
- const isHeaderVisible = true;
9
- const rowHeaderWidthPercentage = 10;
10
- return {
11
- isUtc: true,
12
- selectedDate: selectedDate,
13
- isHeaderVisible: isHeaderVisible,
14
- visibleDays: visibleDays,
15
- rowHeaderWidth: rowHeaderWidthPercentage,
16
- rowsHeight: "10vh",
17
- header: {
18
- title: "Flights",
19
- classification: "ACFT",
20
- },
21
- };
22
- });
23
- useEffect(() => {
24
- const ids = [...Array(10).keys()];
25
- const resources = ids.map((it) => {
26
- const rowHeaderProps = {
27
- rowId: it.toString(),
28
- title: "test",
29
- isPinned: false,
30
- isLoading: false,
31
- contextMenuItems: [],
32
- };
33
- return rowHeaderProps;
34
- });
35
- setRows(resources);
36
- }, []);
37
- const onEvent = (event) => {
38
- console.log("presenter", event);
39
- };
40
- return {
41
- state: uiState,
42
- rows: rows,
43
- onEvent: onEvent,
44
- };
45
- };
@@ -1,20 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState } from "react";
3
- import styles from "./cw-accordion.module.css";
4
- /**
5
- *
6
- * @param CwelltAccordionContainerProps
7
- * @remarks Previously CwAccordionContainer
8
- * @returns
9
- */
10
- export function CwAccordionContainer(CwelltAccordionContainerProps) {
11
- // #region Hooks
12
- const [isVisible_accordionBody, setVisible_accordionBody] = useState(false);
13
- // #endregion
14
- // #region Function
15
- const showAccordionBody = () => {
16
- setVisible_accordionBody(!isVisible_accordionBody);
17
- };
18
- // #endregion
19
- return (_jsxs("div", { className: styles["cw-accordion"], style: CwelltAccordionContainerProps.style, "data-open": isVisible_accordionBody, children: [_jsxs("header", { onClick: () => showAccordionBody(), children: [_jsx("div", { children: CwelltAccordionContainerProps.desc_text }), _jsx("button", { className: "cw-button-icon" })] }), _jsx("div", { className: styles["cw-accordion-body"], children: CwelltAccordionContainerProps.children })] }));
20
- }
@@ -1,138 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useCallback, useEffect, useMemo, useRef, useState } from "react";
3
- import { createPortal } from 'react-dom';
4
- import styles from "./cw-generic-tooltip.module.css";
5
- // Constants moved outside to prevent recreation
6
- const margin = 16;
7
- const defaultPosition = "right";
8
- const positionOrder = ['right', 'bottom', 'left', 'top'];
9
- // Memoized utility functions to prevent recreation
10
- const calculatePositionForSide = (position, triggerRect, tooltipRect) => {
11
- switch (position) {
12
- case 'left':
13
- return {
14
- top: triggerRect.top + (triggerRect.height - tooltipRect.height) / 2,
15
- left: triggerRect.left - tooltipRect.width - margin
16
- };
17
- case 'right':
18
- return {
19
- top: triggerRect.top + (triggerRect.height - tooltipRect.height) / 2,
20
- left: triggerRect.right + margin
21
- };
22
- case 'top':
23
- return {
24
- top: triggerRect.top - tooltipRect.height - margin,
25
- left: triggerRect.left + (triggerRect.width - tooltipRect.width) / 2
26
- };
27
- case 'bottom':
28
- return {
29
- top: triggerRect.bottom + margin,
30
- left: triggerRect.left + (triggerRect.width - tooltipRect.width) / 2
31
- };
32
- }
33
- };
34
- // Optimized hooks
35
- const useTooltipDelay = (callback, delay) => {
36
- const timeoutRef = useRef();
37
- const clearTooltipTimeout = useCallback(() => {
38
- if (timeoutRef.current) {
39
- window.clearTimeout(timeoutRef.current);
40
- timeoutRef.current = undefined;
41
- }
42
- }, []);
43
- const setTooltipTimeout = useCallback(() => {
44
- clearTooltipTimeout();
45
- if (delay) {
46
- timeoutRef.current = window.setTimeout(callback, delay);
47
- }
48
- else {
49
- callback();
50
- }
51
- }, [callback, delay, clearTooltipTimeout]);
52
- useEffect(() => clearTooltipTimeout, [clearTooltipTimeout]);
53
- return { setTooltipTimeout, clearTooltipTimeout };
54
- };
55
- const useTooltipPosition = (isVisible, containerRef, preferredPosition, tooltipClassName) => {
56
- const [tooltipState, setTooltipState] = useState({
57
- position: { top: 0, left: 0 },
58
- actualPosition: preferredPosition
59
- });
60
- const frameRef = useRef();
61
- const updatePosition = useCallback(() => {
62
- if (!isVisible || !containerRef.current)
63
- return;
64
- const tooltipElement = document.querySelector(`.${tooltipClassName}`);
65
- if (!tooltipElement)
66
- return;
67
- const triggerRect = containerRef.current.getBoundingClientRect();
68
- const tooltipRect = tooltipElement.getBoundingClientRect();
69
- // Try preferred position first
70
- const position = calculatePositionForSide(preferredPosition, triggerRect, tooltipRect);
71
- const windowWidth = window.innerWidth;
72
- const windowHeight = window.innerHeight;
73
- // Quick bounds check
74
- if (position.left >= margin &&
75
- position.top >= margin &&
76
- position.left + tooltipRect.width <= windowWidth - margin &&
77
- position.top + tooltipRect.height <= windowHeight - margin) {
78
- setTooltipState({ position, actualPosition: preferredPosition });
79
- return;
80
- }
81
- // Try other positions if preferred doesn't fit
82
- for (const pos of positionOrder) {
83
- if (pos === preferredPosition)
84
- continue;
85
- const newPosition = calculatePositionForSide(pos, triggerRect, tooltipRect);
86
- if (newPosition.left >= margin &&
87
- newPosition.top >= margin &&
88
- newPosition.left + tooltipRect.width <= windowWidth - margin &&
89
- newPosition.top + tooltipRect.height <= windowHeight - margin) {
90
- setTooltipState({ position: newPosition, actualPosition: pos });
91
- return;
92
- }
93
- }
94
- // Fallback to preferred position if none fit
95
- setTooltipState({ position, actualPosition: preferredPosition });
96
- }, [isVisible, preferredPosition, tooltipClassName]);
97
- useEffect(() => {
98
- frameRef.current = requestAnimationFrame(updatePosition);
99
- return () => {
100
- if (frameRef.current) {
101
- cancelAnimationFrame(frameRef.current);
102
- }
103
- };
104
- }, [updatePosition]);
105
- return tooltipState;
106
- };
107
- // Main component with optimizations
108
- export const CwGenericTooltip = ({ children, content = null, position = defaultPosition, dissapearsWhenHover = false, hide = false, overlayStyle = {}, showDelay = 0, }) => {
109
- const [isVisible, setIsVisible] = useState(false);
110
- const containerRef = useRef(null);
111
- const { setTooltipTimeout, clearTooltipTimeout } = useTooltipDelay(() => {
112
- setIsVisible(true);
113
- }, showDelay);
114
- const { position: tooltipPosition, actualPosition } = useTooltipPosition(isVisible, containerRef, position, styles["cw-generic-tooltip-content"]);
115
- // Memoize tooltip content creation
116
- const tooltipContent = useMemo(() => {
117
- if (hide || !isVisible || !content)
118
- return null;
119
- return createPortal(_jsx("div", { className: styles["cw-generic-tooltip-content"], "data-position": actualPosition, "data-visible": isVisible, style: {
120
- position: 'fixed',
121
- top: `${tooltipPosition.top}px`,
122
- left: `${tooltipPosition.left}px`,
123
- visibility: tooltipPosition.top === 0 && tooltipPosition.left === 0 ? 'hidden' : 'visible',
124
- ...overlayStyle
125
- }, onMouseEnter: () => dissapearsWhenHover && setIsVisible(false), children: content }), document.body);
126
- }, [isVisible, content, actualPosition, tooltipPosition, dissapearsWhenHover, overlayStyle, hide]);
127
- const handleMouseEnter = useCallback(() => {
128
- setTooltipTimeout();
129
- }, [setTooltipTimeout]);
130
- const handleMouseLeave = useCallback(() => {
131
- clearTooltipTimeout();
132
- setIsVisible(false);
133
- }, [clearTooltipTimeout]);
134
- return (_jsxs("div", { ref: containerRef, className: styles["cw-generic-tooltip"], onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, style: overlayStyle, children: [tooltipContent, children] }));
135
- };
136
- export const _preview = () => {
137
- return (_jsxs("div", { style: { display: "flex", flexDirection: "row", gap: "1em", padding: "50vh", pointerEvents: "auto" }, children: [_jsx("h3", { children: "Top" }), _jsx(CwGenericTooltip, { content: _jsxs("div", { style: { width: "200px" }, children: [_jsx("button", { children: "Button in tooltip" }), _jsx("p", { children: "Tooltip content" })] }), position: "top", dissapearsWhenHover: true, children: _jsx("div", { children: _jsx("p", { children: "Hover for top tooltip" }) }) }), _jsx("h3", { children: "Right" }), _jsx(CwGenericTooltip, { content: _jsxs("div", { children: [_jsx("button", { children: "Button in tooltip" }), _jsx("p", { children: "Tooltip content" })] }), position: "right", children: _jsx("div", { children: _jsx("p", { children: "Hover for right tooltip" }) }) }), _jsx("h3", { children: "Left" }), _jsx(CwGenericTooltip, { content: _jsxs("div", { children: [_jsx("button", { children: "Button in tooltip" }), _jsx("p", { children: "Tooltip content" })] }), position: "left", children: _jsx("div", { children: _jsx("p", { children: "Hover for left tooltip" }) }) }), _jsx("h3", { children: "Bottom" }), _jsx(CwGenericTooltip, { content: _jsxs("div", { children: [_jsx("button", { children: "Button in tooltip" }), _jsx("p", { children: "Tooltip content" })] }), position: "bottom", children: _jsx("div", { children: _jsx("p", { children: "Hover for bottom tooltip" }) }) })] }));
138
- };