@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,210 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useCallback, useEffect, useRef, useState } from 'react';
3
- import { getContrastColor } from '../../../../common/functions/colorManipulation';
4
- import styles from './cw-color-picker.module.css';
5
- export const CwColorPicker = ({ initialColor, onChange, previewText = "Color preview" }) => {
6
- const [rgb, setRgb] = useState({ r: 255, g: 255, b: 255 });
7
- const [hsv, setHsv] = useState({ h: 0, s: 0, v: 100 });
8
- const [hexColor, setHexColor] = useState(initialColor || '#FFFFFF');
9
- const [initialized, setInitialized] = useState(false);
10
- const [inputMode, setInputMode] = useState('hex');
11
- // Prevent infinite update loops
12
- const isUpdatingRef = useRef(false);
13
- const hueBarRef = useRef(null);
14
- const colorAreaRef = useRef(null);
15
- // Convert HSV to RGB
16
- const hsvToRgb = (h, s, v) => {
17
- h = h / 360;
18
- s = s / 100;
19
- v = v / 100;
20
- let r = 0, g = 0, b = 0;
21
- if (s === 0) {
22
- r = g = b = v;
23
- }
24
- else {
25
- const i = Math.floor(h * 6);
26
- const f = h * 6 - i;
27
- const p = v * (1 - s);
28
- const q = v * (1 - f * s);
29
- const t = v * (1 - (1 - f) * s);
30
- switch (i % 6) {
31
- case 0:
32
- r = v;
33
- g = t;
34
- b = p;
35
- break;
36
- case 1:
37
- r = q;
38
- g = v;
39
- b = p;
40
- break;
41
- case 2:
42
- r = p;
43
- g = v;
44
- b = t;
45
- break;
46
- case 3:
47
- r = p;
48
- g = q;
49
- b = v;
50
- break;
51
- case 4:
52
- r = t;
53
- g = p;
54
- b = v;
55
- break;
56
- case 5:
57
- r = v;
58
- g = p;
59
- b = q;
60
- break;
61
- }
62
- }
63
- return {
64
- r: Math.round(r * 255),
65
- g: Math.round(g * 255),
66
- b: Math.round(b * 255)
67
- };
68
- };
69
- // Convert RGB to HSV
70
- const rgbToHsv = (r, g, b) => {
71
- r /= 255;
72
- g /= 255;
73
- b /= 255;
74
- const max = Math.max(r, g, b);
75
- const min = Math.min(r, g, b);
76
- let h = 0;
77
- const v = max;
78
- const d = max - min;
79
- const s = max === 0 ? 0 : d / max;
80
- if (max === min) {
81
- h = 0;
82
- }
83
- else {
84
- switch (max) {
85
- case r:
86
- h = (g - b) / d + (g < b ? 6 : 0);
87
- break;
88
- case g:
89
- h = (b - r) / d + 2;
90
- break;
91
- case b:
92
- h = (r - g) / d + 4;
93
- break;
94
- }
95
- h /= 6;
96
- }
97
- return {
98
- h: Math.round(h * 360),
99
- s: Math.round(s * 100),
100
- v: Math.round(v * 100)
101
- };
102
- };
103
- // Convert RGB to HEX
104
- const rgbToHex = (r, g, b) => {
105
- return `#${r.toString(16).padStart(2, '0')}${g.toString(16).padStart(2, '0')}${b.toString(16).padStart(2, '0')}`.toUpperCase();
106
- };
107
- // Initialize color values from initial color prop
108
- useEffect(() => {
109
- if (!initialized && initialColor) {
110
- const hexToRgb = (hex) => {
111
- const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
112
- return result ? {
113
- r: parseInt(result[1], 16),
114
- g: parseInt(result[2], 16),
115
- b: parseInt(result[3], 16)
116
- } : { r: 255, g: 255, b: 255 };
117
- };
118
- const initialRgb = hexToRgb(initialColor);
119
- setRgb(initialRgb);
120
- setHexColor(initialColor);
121
- const initialHsv = rgbToHsv(initialRgb.r, initialRgb.g, initialRgb.b);
122
- setHsv(initialHsv);
123
- setInitialized(true);
124
- }
125
- }, [initialColor, initialized]);
126
- // Update color state and notify parent component of changes
127
- const updateColorState = useCallback((newRgb, newHsv) => {
128
- if (isUpdatingRef.current)
129
- return;
130
- isUpdatingRef.current = true;
131
- // Update RGB and HSV
132
- setRgb(newRgb);
133
- setHsv(newHsv);
134
- // Calculate and update HEX
135
- const newHex = rgbToHex(newRgb.r, newRgb.g, newRgb.b);
136
- setHexColor(newHex);
137
- // Notify changes after render cycle
138
- requestAnimationFrame(() => {
139
- onChange(newHex, newRgb, newHsv);
140
- isUpdatingRef.current = false;
141
- });
142
- }, [onChange]);
143
- const handleRgbChange = (e) => {
144
- const { name, value } = e.target;
145
- const numValue = Math.min(255, Math.max(0, parseInt(value, 10) || 0));
146
- const newRgb = { ...rgb, [name]: numValue };
147
- const newHsv = rgbToHsv(newRgb.r, newRgb.g, newRgb.b);
148
- updateColorState(newRgb, newHsv);
149
- };
150
- const toggleInputMode = () => {
151
- setInputMode(inputMode === 'hex' ? 'rgb' : 'hex');
152
- };
153
- const handleHexChange = (e) => {
154
- const { value } = e.target;
155
- setHexColor(value);
156
- // Validate and convert HEX to RGB
157
- const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(value);
158
- if (result) {
159
- const newRgb = {
160
- r: parseInt(result[1], 16),
161
- g: parseInt(result[2], 16),
162
- b: parseInt(result[3], 16)
163
- };
164
- const newHsv = rgbToHsv(newRgb.r, newRgb.g, newRgb.b);
165
- // Update RGB and HSV without triggering full cycle
166
- setRgb(newRgb);
167
- setHsv(newHsv);
168
- // Notify changes
169
- requestAnimationFrame(() => {
170
- onChange(value, newRgb, newHsv);
171
- });
172
- }
173
- };
174
- // Handle hue bar click
175
- const handleHueBarClick = (e) => {
176
- if (!hueBarRef.current)
177
- return;
178
- const rect = hueBarRef.current.getBoundingClientRect();
179
- const height = rect.height;
180
- const y = e.clientY - rect.top;
181
- // Calculate hue value based on vertical position (0-360)
182
- const newHue = Math.round(360 * (1 - Math.min(1, Math.max(0, y / height))));
183
- const newHsv = { ...hsv, h: newHue };
184
- const newRgb = hsvToRgb(newHue, hsv.s, hsv.v);
185
- updateColorState(newRgb, newHsv);
186
- };
187
- // Handle color area click (saturation/value)
188
- const handleColorAreaClick = (e) => {
189
- if (!colorAreaRef.current)
190
- return;
191
- const rect = colorAreaRef.current.getBoundingClientRect();
192
- const width = rect.width;
193
- const height = rect.height;
194
- const x = e.clientX - rect.left;
195
- const y = e.clientY - rect.top;
196
- // Calculate saturation and value based on position
197
- const newSaturation = Math.round(100 * Math.min(1, Math.max(0, x / width)));
198
- const newValue = Math.round(100 * (1 - Math.min(1, Math.max(0, y / height))));
199
- const newHsv = { ...hsv, s: newSaturation, v: newValue };
200
- const newRgb = hsvToRgb(hsv.h, newSaturation, newValue);
201
- updateColorState(newRgb, newHsv);
202
- };
203
- // Calculate background color for the main area based on current hue
204
- const hueColor = hsvToRgb(hsv.h, 100, 100);
205
- const hueHex = rgbToHex(hueColor.r, hueColor.g, hueColor.b);
206
- return (_jsxs("div", { className: "cw-flex-column cw-gap-small", children: [_jsxs("div", { className: "cw-flex-row cw-align-between-center cw-gap-small", children: [_jsx("div", { className: styles.colorPreview, style: { backgroundColor: hexColor, color: getContrastColor(hexColor) }, children: previewText }), _jsx("button", { type: "button", className: "cw-button", onClick: toggleInputMode, style: { minWidth: "3ch" }, children: inputMode === 'hex' ? 'RGB' : 'HEX' })] }), _jsx("div", { className: "color-inputs-row", children: inputMode === 'hex' ? (_jsx("input", { type: "text", value: hexColor, onChange: handleHexChange })) : (_jsxs("div", { className: "cw-grid-base-3 cw-gap-small", children: [_jsxs("div", { children: [_jsx("label", { children: "R:" }), _jsx("input", { type: "number", name: "r", min: "0", max: "255", value: rgb.r, onChange: handleRgbChange })] }), _jsxs("div", { children: [_jsx("label", { children: "G:" }), _jsx("input", { type: "number", name: "g", min: "0", max: "255", value: rgb.g, onChange: handleRgbChange })] }), _jsxs("div", { children: [_jsx("label", { children: "B:" }), _jsx("input", { type: "number", name: "b", min: "0", max: "255", value: rgb.b, onChange: handleRgbChange })] })] })) }), _jsxs("div", { className: styles.colorPickerInteractiveArea, children: [_jsx("div", { className: styles.hueBar, ref: hueBarRef, onClick: handleHueBarClick, children: _jsx("div", { className: styles.hueBarSlider, style: { top: `${(360 - hsv.h) / 360 * 100}%` } }) }), _jsxs("div", { className: styles.colorArea, ref: colorAreaRef, onClick: handleColorAreaClick, children: [_jsxs("div", { className: styles.colorAreaOverlay, children: [_jsx("div", { className: styles.hueBackground, style: { backgroundColor: hueHex } }), _jsx("div", { className: styles.whiteGradient }), _jsx("div", { className: styles.blackGradient })] }), _jsx("div", { className: styles.colorAreaCursor, style: {
207
- left: `${hsv.s}%`,
208
- top: `${100 - hsv.v}%`
209
- } })] })] })] }));
210
- };
@@ -1,142 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect, useMemo, useRef, useState } from 'react';
3
- import { createPortal } from 'react-dom';
4
- import { CwColorPicker } from './CwColorPicker';
5
- import styles from './cw-input-color.module.css';
6
- export const CwInputColor = ({ value, onChange, previewText = "Color preview", disabled = false, width = '4rem', height = '2rem' }) => {
7
- const [isOpen, setIsOpen] = useState(false);
8
- const containerRef = useRef(null);
9
- const dropdownRef = useRef(null);
10
- const DROPDOWN_WIDTH = 280;
11
- const DROPDOWN_HEIGHT = 250;
12
- const MARGIN = 8;
13
- // Calculate dropdown position
14
- const dropdownStyle = useMemo(() => {
15
- if (!isOpen || !containerRef.current) {
16
- return { display: 'none' };
17
- }
18
- const rect = containerRef.current.getBoundingClientRect();
19
- const viewportWidth = window.innerWidth;
20
- const viewportHeight = window.innerHeight;
21
- // Calculate initial positions
22
- let top = rect.bottom + MARGIN;
23
- let left = rect.left;
24
- // Adjust horizontal position if needed
25
- if (left + DROPDOWN_WIDTH > viewportWidth - MARGIN) {
26
- // Try to align with right edge of trigger
27
- left = rect.right - DROPDOWN_WIDTH;
28
- // If still out of bounds, stick to right edge of viewport
29
- if (left < MARGIN) {
30
- left = viewportWidth - DROPDOWN_WIDTH - MARGIN;
31
- }
32
- }
33
- // Adjust vertical position if needed
34
- if (top + DROPDOWN_HEIGHT > viewportHeight - MARGIN) {
35
- // Try to show above the trigger
36
- const topPosition = rect.top - DROPDOWN_HEIGHT - MARGIN;
37
- // Only use top position if there's enough space
38
- if (topPosition > MARGIN) {
39
- top = topPosition;
40
- }
41
- else {
42
- // Keep at bottom but ensure some visibility
43
- top = Math.min(top, viewportHeight - DROPDOWN_HEIGHT - MARGIN);
44
- }
45
- }
46
- return {
47
- position: 'fixed',
48
- top: `${Math.max(MARGIN, top)}px`,
49
- left: `${Math.max(MARGIN, left)}px`,
50
- zIndex: 1000,
51
- width: `${DROPDOWN_WIDTH}px`
52
- };
53
- }, [isOpen]);
54
- const handleToggle = () => {
55
- if (disabled)
56
- return;
57
- setIsOpen(prev => !prev);
58
- };
59
- // Recalculate position on scroll/resize
60
- useEffect(() => {
61
- if (!isOpen)
62
- return;
63
- const handlePositionUpdate = () => {
64
- // Force re-render to recalculate position
65
- setIsOpen(false);
66
- requestAnimationFrame(() => setIsOpen(true));
67
- };
68
- // Debounced handlers
69
- let resizeTimeout;
70
- let scrollTimeout;
71
- const handleResize = () => {
72
- clearTimeout(resizeTimeout);
73
- resizeTimeout = setTimeout(handlePositionUpdate, 100);
74
- };
75
- const handleScroll = () => {
76
- clearTimeout(scrollTimeout);
77
- scrollTimeout = setTimeout(handlePositionUpdate, 50);
78
- };
79
- window.addEventListener('resize', handleResize);
80
- window.addEventListener('scroll', handleScroll, true);
81
- return () => {
82
- window.removeEventListener('resize', handleResize);
83
- window.removeEventListener('scroll', handleScroll, true);
84
- clearTimeout(resizeTimeout);
85
- clearTimeout(scrollTimeout);
86
- };
87
- }, [isOpen]);
88
- // Handle outside clicks and escape
89
- useEffect(() => {
90
- if (!isOpen)
91
- return;
92
- const handleClickOutside = (event) => {
93
- const target = event.target;
94
- // Check if click is outside both container and dropdown
95
- if (containerRef.current &&
96
- !containerRef.current.contains(target) &&
97
- dropdownRef.current &&
98
- !dropdownRef.current.contains(target)) {
99
- setIsOpen(false);
100
- }
101
- };
102
- const handleEscape = (event) => {
103
- if (event.key === 'Escape') {
104
- setIsOpen(false);
105
- // Return focus to trigger
106
- containerRef.current?.focus();
107
- }
108
- };
109
- // Use capture phase for better event handling
110
- document.addEventListener('click', handleClickOutside, true);
111
- document.addEventListener('keydown', handleEscape);
112
- return () => {
113
- document.removeEventListener('click', handleClickOutside, true);
114
- document.removeEventListener('keydown', handleEscape);
115
- };
116
- }, [isOpen]);
117
- const handleColorChange = (color) => {
118
- onChange(color);
119
- };
120
- const handleKeyDown = (e) => {
121
- if (disabled)
122
- return;
123
- switch (e.key) {
124
- case 'Enter':
125
- case ' ':
126
- e.preventDefault();
127
- handleToggle();
128
- break;
129
- case 'Escape':
130
- if (isOpen) {
131
- e.preventDefault();
132
- setIsOpen(false);
133
- }
134
- break;
135
- }
136
- };
137
- return (_jsxs(_Fragment, { children: [_jsx("div", { ref: containerRef, onClick: handleToggle, className: `${styles.selectColor} ${disabled ? styles.disabled : ''}`, style: {
138
- width,
139
- height,
140
- backgroundColor: value,
141
- }, "aria-label": "Open color picker", "aria-expanded": isOpen, "aria-haspopup": "dialog", role: "button", tabIndex: disabled ? -1 : 0, onKeyDown: handleKeyDown }), isOpen && createPortal(_jsx("div", { ref: dropdownRef, className: styles.colorDropdown, style: dropdownStyle, role: "dialog", "aria-modal": "true", "aria-label": "Color picker", children: _jsx(CwColorPicker, { initialColor: value, onChange: handleColorChange, previewText: previewText }) }), document.body)] }));
142
- };
@@ -1,29 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { CwButton } from "../../../../components/control/action/button/CwButton";
3
- import { CwIcon } from "../../../../components/display/graphics/icon/CwIcon";
4
- import { CwLabel } from "../../../../components/display/text/label/CwLabel";
5
- import { CwAlign } from "../../../../components/layout/align/CwAlign";
6
- /**
7
- * Input for entering a string of text.
8
- * @remarks
9
- * ```txt
10
- * CwIcon CwLabel input type=date CwButton
11
- * ↑ ↑ ↑ ↑
12
- * ╭────────────────────╮╭════╮
13
- * ⌂ Birthdate │ 0000 / 00 / 00 │║ Ok ║
14
- * ╰────────────────────╯╰════╯
15
- * ```
16
- * @example
17
- * ```tsx
18
- * <CwInputDate
19
- * iconProps={{ iconId: "Birthdate" }}
20
- * labelProps={{ children: "Name", width: "100px" }}
21
- * buttonProps={{ children: "Ok", onClick:()=>{alert("happy happy joy joy")} }}
22
- * />
23
- * ```
24
- */
25
- export function CwInputDate(props) {
26
- const { alignProps, buttonProps, iconProps, labelProps, ...inputProps } = props;
27
- inputProps.max = inputProps.max ?? "9999-01-01";
28
- return (_jsx("div", { className: "cw-input-date", children: _jsxs(CwAlign, { ...alignProps, itemProp: inputProps.required === true ? "required" : "", children: [labelProps && (_jsxs(CwLabel, { ...labelProps, children: [iconProps && _jsx(CwIcon, { ...iconProps }), labelProps.text] })), _jsx("input", { type: "date", ...inputProps }), buttonProps && _jsx(CwButton, { ...buttonProps })] }) }));
29
- }
@@ -1,109 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import moment from "moment";
3
- import { useEffect, useRef, useState } from "react";
4
- import classes from "./cw-input-date-picker.module.css";
5
- export const CwInputDatePicker = ({ value, onChange }) => {
6
- const [isCalendarOpen, setIsCalendarOpen] = useState(false);
7
- const [internalDate, setInternalDate] = useState(new Date(value || new Date().toISOString()));
8
- const [textDate, setTextDate] = useState(toGermanDate(value));
9
- const inputRef = useRef(null);
10
- const calendarRef = useRef(null);
11
- useEffect(() => {
12
- const handleClickOutside = (event) => {
13
- if (calendarRef.current &&
14
- !calendarRef.current.contains(event.target) &&
15
- inputRef.current &&
16
- !inputRef.current.contains(event.target)) {
17
- setIsCalendarOpen(false);
18
- }
19
- };
20
- document.addEventListener("mousedown", handleClickOutside);
21
- return () => {
22
- document.removeEventListener("mousedown", handleClickOutside);
23
- };
24
- }, []);
25
- useEffect(() => {
26
- setTextDate(toGermanDate(value));
27
- }, [value]);
28
- function toGermanDate(dateString) {
29
- return moment(dateString).format("DD.MM.YYYY");
30
- }
31
- function toISODate(dateString) {
32
- return moment(dateString).format("YYYY-MM-DD");
33
- }
34
- const submitInput = () => {
35
- if (moment(textDate, "DD.MM.YYYY", true).isValid()) {
36
- const inputValue = textDate;
37
- const momentDate = moment(inputValue, "DD.MM.YYYY", true);
38
- if (momentDate.isValid()) {
39
- const newDateString = momentDate.format("YYYY-MM-DD");
40
- if (newDateString !== value) {
41
- const newDateString = momentDate.format("YYYY-MM-DD");
42
- setInternalDate(momentDate.toDate());
43
- onChange?.(newDateString);
44
- }
45
- setIsCalendarOpen(false);
46
- return true;
47
- }
48
- else {
49
- console.error("Invalid date format");
50
- return false;
51
- }
52
- }
53
- else {
54
- setTextDate(toGermanDate(new Date(value)));
55
- return false;
56
- }
57
- };
58
- const handleClickToday = () => {
59
- const today = toISODate(new Date());
60
- const currentDate = value;
61
- if (currentDate != today) {
62
- setTextDate(toGermanDate(today));
63
- setInternalDate(new Date(today));
64
- onChange?.(today);
65
- }
66
- setIsCalendarOpen(false);
67
- };
68
- const handleClickDay = (day) => {
69
- const newDate = new Date(internalDate.getFullYear(), internalDate.getMonth(), day);
70
- const newDateString = toISODate(newDate);
71
- if (newDateString !== value) {
72
- setTextDate(toGermanDate(newDate));
73
- setInternalDate(newDate);
74
- onChange?.(newDateString);
75
- }
76
- setIsCalendarOpen(false);
77
- };
78
- const handleClickMonthArrow = (direction) => {
79
- setInternalDate(prevDate => new Date(prevDate.getFullYear(), prevDate.getMonth() + direction, 1));
80
- };
81
- const handlePressEnter = (event) => {
82
- if (event.key === "Enter" && submitInput()) {
83
- event.currentTarget.blur();
84
- }
85
- };
86
- const handleBlurInput = (event) => {
87
- if (value != toISODate(internalDate) && submitInput()) {
88
- event.currentTarget?.blur();
89
- }
90
- };
91
- const generateCalendarDays = () => {
92
- const daysInMonth = new Date(internalDate.getFullYear(), internalDate.getMonth() + 1, 0).getDate();
93
- const startDay = new Date(internalDate.getFullYear(), internalDate.getMonth(), 1).getDay() - 1;
94
- const calendarDays = new Array;
95
- for (let i = 0; i < startDay; i++) {
96
- calendarDays.push(_jsx("div", { className: classes.emptyDay }, `empty-${i}`));
97
- }
98
- for (let day = 1; day <= daysInMonth; day++) {
99
- const currentDate = new Date(internalDate.getFullYear(), internalDate.getMonth(), day);
100
- const isSelected = moment(currentDate).format("YYYY-MM-DD") === value;
101
- calendarDays.push(_jsx("div", { className: `${classes.calendarDay}${isSelected ? ` ${classes.selected}` : ""}`, onClick: () => handleClickDay(day), children: day }, day));
102
- }
103
- return calendarDays;
104
- };
105
- return (_jsxs("div", { className: classes.datePicker, children: [_jsx("input", { type: "text", value: textDate, onChange: e => setTextDate(e.currentTarget.value), onFocus: () => {
106
- setInternalDate(new Date(value));
107
- setIsCalendarOpen(true);
108
- }, onBlur: handleBlurInput, onKeyDown: handlePressEnter, "data-valid": moment(textDate, "DD.MM.YYYY", true).isValid(), ref: inputRef, className: classes.input }), isCalendarOpen && (_jsxs("div", { className: classes.calendar, ref: calendarRef, children: [_jsxs("div", { className: classes.calendarHeader, children: [_jsx("button", { className: classes.arrowButton, onClick: () => handleClickMonthArrow(-1), children: "<" }), _jsxs("span", { className: classes.calendarTitle, children: [internalDate.toLocaleString("default", { month: "long" }), " ", internalDate.getFullYear()] }), _jsx("button", { className: classes.arrowButton, onClick: () => handleClickMonthArrow(1), children: ">" })] }), _jsx("div", { className: classes.calendarBody, children: generateCalendarDays() }), _jsx("button", { className: classes.todayButton, onClick: handleClickToday, children: "Today" })] }))] }));
109
- };
@@ -1,90 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import moment from "moment";
3
- import { useEffect, useRef, useState } from "react";
4
- import { CwButton } from "../../../../components/control/action/button/CwButton";
5
- import { CwIcon } from "../../../../components/display/graphics/icon/CwIcon";
6
- import { CwLabel } from "../../../../components/display/text/label/CwLabel";
7
- import { CwAlign } from "../../../../components/layout/align/CwAlign";
8
- /**
9
- * Input for entering a string of text as a date
10
- * @remarks
11
- * ```txt
12
- * CwIcon CwLabel (input type=text) CwButton
13
- * ↑ ↑ ↑ ↑
14
- * ╭──────────────────╮╭════╮
15
- * % Birthdate │ yyyy.MM.dd [^] │║ Ok ║
16
- * ╰──────────────────╯╰════╯
17
- * ↓
18
- * (input type=date)
19
- * ```
20
- * - ***_format***: Is "DD.MM.YYYY" by default
21
- * @example
22
- * ```tsx
23
- * <CwInputDateText
24
- * iconProps={{ id: "Birthdate" }}
25
- * labelProps={{ children: "Name", width: "100px" }}
26
- * buttonProps={{ children: "Ok", onClick:()=>{alert("happy happy joy joy")} }}
27
- * />
28
- * ```
29
- */
30
- export function CwInputDateText(props) {
31
- const displayFormat = "DD.MM.YYYY";
32
- const internalFormat = "YYYY-MM-DD";
33
- const { alignProps, buttonProps, iconProps, labelProps, dateFormat, value, size, onChange, name, required, tabIndex, disabled, readOnly, ...inputProps } = props;
34
- const format = dateFormat ?? displayFormat;
35
- const width = size ?? 12;
36
- const formattedDate = (date, inFormat, outFormat) => {
37
- if (moment(date, inFormat, true).isValid()) {
38
- return moment(date, inFormat).format(outFormat);
39
- }
40
- else
41
- return "";
42
- };
43
- const [date, setDate] = useState("");
44
- const [displayedDate, setDisplayedDate] = useState("");
45
- const dateInputRef = useRef(null);
46
- const textInputRef = useRef(null);
47
- const updateDateValidity = () => {
48
- if (dateInputRef?.current && textInputRef?.current) {
49
- dateInputRef.current.required = true;
50
- const isDateValid = required
51
- ? dateInputRef.current.checkValidity()
52
- : dateInputRef.current.checkValidity() || textInputRef.current.value === "";
53
- textInputRef.current.setCustomValidity(isDateValid ? "" : "Invalid date");
54
- dateInputRef.current.required = required !== undefined && required === true;
55
- }
56
- };
57
- const onChangeInputText = (e) => {
58
- const newDate = e.target.value;
59
- setDisplayedDate(newDate);
60
- if (moment(newDate, format, true).isValid()) {
61
- setDate(moment(newDate, format).format(internalFormat));
62
- }
63
- else {
64
- setDate("");
65
- }
66
- };
67
- const onChangeInputDate = (e) => {
68
- const newDate = e.target.value;
69
- setDate(newDate);
70
- if (moment(newDate, internalFormat, true).isValid())
71
- setDisplayedDate(moment(newDate, internalFormat).format(format));
72
- else
73
- setDisplayedDate("");
74
- };
75
- useEffect(() => {
76
- updateDateValidity();
77
- });
78
- useEffect(() => {
79
- if (value) {
80
- setDate(formattedDate(value.toString(), internalFormat, internalFormat));
81
- setDisplayedDate(formattedDate(value.toString(), internalFormat, displayFormat));
82
- }
83
- }, [value]);
84
- useEffect(() => {
85
- if (date) {
86
- onChange?.({ target: { value: date, name: name } });
87
- }
88
- }, [date]);
89
- return (_jsx("div", { className: "cw-input-date-text", children: _jsxs(CwAlign, { ...alignProps, itemProp: required ? "required" : "", children: [labelProps && (_jsxs(CwLabel, { ...labelProps, children: [iconProps && _jsx(CwIcon, { ...iconProps }), labelProps.text] })), _jsxs("div", { children: [_jsx("input", { type: "text", disabled: disabled, maxLength: 10, onChange: onChangeInputText, pattern: "^$ --|[.0-9\\/\\-]{10}", placeholder: format.toLowerCase(), readOnly: readOnly, ref: textInputRef, required: required, size: width, tabIndex: tabIndex, value: displayedDate }), _jsxs("span", { children: [_jsx(CwIcon, { iconId: "calendar" }), _jsx("input", { type: "date", disabled: disabled, onChange: onChangeInputDate, readOnly: readOnly, ref: dateInputRef, tabIndex: -1, value: date, ...inputProps })] })] }), buttonProps && _jsx(CwButton, { ...buttonProps })] }) }));
90
- }
@@ -1,29 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { CwButton } from "../../../../components/control/action/button/CwButton";
3
- import { CwIcon } from "../../../../components/display/graphics/icon/CwIcon";
4
- import { CwLabel } from "../../../../components/display/text/label/CwLabel";
5
- import { CwAlign } from "../../../../components/layout/align/CwAlign";
6
- /**
7
- * Input for entering a string of text.
8
- * @remarks
9
- * ```txt
10
- * CwIcon CwLabel input type=date CwButton
11
- * ↑ ↑ ↑ ↑
12
- * ╭────────────────────╮╭════╮
13
- * ⌂ Birthdate │ 0000 / 00 / 00 │║ Ok ║
14
- * ╰────────────────────╯╰════╯
15
- * ```
16
- * @example
17
- * ```tsx
18
- * <CwInputDate
19
- * iconProps={{ id: "Birthdate" }}
20
- * labelProps={{ children: "Name", width: "100px" }}
21
- * buttonProps={{ children: "Ok", onClick:()=>{alert("happy happy joy joy")} }}
22
- * />
23
- * ```
24
- */
25
- export function CwInputDatetime(props) {
26
- const { alignProps, buttonProps, iconProps, labelProps, ...inputProps } = props;
27
- inputProps.max = inputProps.max ?? "9999-01-01";
28
- return (_jsx("div", { className: "cw-input-date", children: _jsxs(CwAlign, { ...alignProps, itemProp: inputProps.required === true ? "required" : "", children: [labelProps && (_jsxs(CwLabel, { ...labelProps, children: [iconProps && _jsx(CwIcon, { ...iconProps }), labelProps.text] })), _jsx("input", { type: "datetime-local", ...inputProps }), buttonProps && _jsx(CwButton, { ...buttonProps })] }) }));
29
- }
@@ -1,28 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { CwButton } from "../../../../components/control/action/button/CwButton";
3
- import { CwIcon } from "../../../../components/display/graphics/icon/CwIcon";
4
- import { CwLabel } from "../../../../components/display/text/label/CwLabel";
5
- import { CwAlign } from "../../../../components/layout/align/CwAlign";
6
- /**
7
- * Input for entering a string of number.
8
- * @remarks
9
- * ```txt
10
- * CwIcon CwLabel CwSelect CwButton
11
- * ↑ ↑ ↑ ↑
12
- * ╭────────────────────╮╭════╮
13
- * ⌂ Address ││ 2 │║ Ok ║
14
- * ╰────────────────────╯╰════╯
15
- * ```
16
- * @example
17
- * ```tsx
18
- * <CwDigit
19
- * iconProps={{ id: "home" }}
20
- * labelProps={{ children: "Name", width: "100px" }}
21
- * buttonProps={{ children: "Ok", onclick:()=>{alert("hi")} }}
22
- * />
23
- * ```
24
- */
25
- export function CwDigit(props) {
26
- const { alignProps, buttonProps, iconProps, labelProps, ...inputProps } = props;
27
- return (_jsx("div", { className: "cw-input-text", children: _jsxs(CwAlign, { ...alignProps, itemProp: inputProps.required === true ? "required" : "", children: [labelProps && (_jsxs(CwLabel, { ...labelProps, children: [iconProps && _jsx(CwIcon, { ...iconProps }), labelProps.text] })), _jsx("input", { type: "number", ...inputProps }), buttonProps && _jsx(CwButton, { ...buttonProps })] }) }));
28
- }