@cwellt_software/cwellt-reactjs-lib 1.0.9 → 1.1.1

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 (715) hide show
  1. package/dist/content/icons/new-cw-icons/NewCwIcons.html +14 -6
  2. package/dist/content/icons/new-cw-icons/NewCwIcons.json +195 -1
  3. package/dist/content/icons/new-cw-icons/css/new-cw-icons.css +783 -198
  4. package/dist/content/icons/new-cw-icons/fonts/NewCwIcons.woff +0 -0
  5. package/dist/index.cjs.js +1462 -628
  6. package/dist/index.css +2 -2
  7. package/dist/index.d.ts +366 -106
  8. package/dist/index.es.js +1456 -630
  9. package/dist/playground/main.d.ts +4 -0
  10. package/dist/playground/main.d.ts.map +1 -0
  11. package/dist/src/common/classes/CwSelectList.js +12 -0
  12. package/dist/src/common/classes/CwSelectListItems.js +14 -0
  13. package/dist/src/common/functions/collections.js +18 -0
  14. package/dist/src/common/functions/colorManipulation.js +76 -0
  15. package/dist/src/common/functions/dsl/UiEventDSL.js +20 -0
  16. package/dist/src/common/functions/useSingleAndDoubleClicks.js +28 -0
  17. package/dist/src/common/interfaces/CwSelectListProps.js +1 -0
  18. package/dist/src/components/control/action/button/CwButton.js +13 -0
  19. package/dist/src/components/control/action/buttons/CwButtons.js +188 -0
  20. package/dist/src/components/control/action/contextmenu/CwContextMenu.js +43 -0
  21. package/dist/src/components/control/action/contextual-menu/CwContextualMenu.js +55 -0
  22. package/dist/src/components/control/action/search/CwSearch.d.ts +1 -1
  23. package/dist/src/components/control/action/search/CwSearch.d.ts.map +1 -1
  24. package/dist/src/components/control/action/search/CwSearch.js +67 -0
  25. package/dist/src/components/control/action/tooltip-dialog/CwTooltipDialog.js +11 -0
  26. package/dist/src/components/control/choice/checkbox/CwCheckbox.d.ts +1 -1
  27. package/dist/src/components/control/choice/checkbox/CwCheckbox.d.ts.map +1 -1
  28. package/dist/src/components/control/choice/checkbox/CwCheckbox.js +15 -0
  29. package/dist/src/components/control/choice/deprecated/MultiSelect_deprecated_.js +99 -0
  30. package/dist/src/components/control/choice/dropdown/CwDropdown.js +27 -0
  31. package/dist/src/components/control/choice/dropdown/CwDropdownContainer.d.ts.map +1 -1
  32. package/dist/src/components/control/choice/dropdown/CwDropdownContainer.js +30 -0
  33. package/dist/src/components/control/choice/dropdown/CwDropdownFilter.d.ts +10 -20
  34. package/dist/src/components/control/choice/dropdown/CwDropdownFilter.d.ts.map +1 -1
  35. package/dist/src/components/control/choice/dropdown/CwDropdownFilter.js +10 -0
  36. package/dist/src/components/control/choice/multi-filter/CwMultiFilter.js +298 -0
  37. package/dist/src/components/control/choice/multi-filter/components/tag/CwMultiFilterTag.js +17 -0
  38. package/dist/src/components/control/choice/multiselect/CwHeadFilter.d.ts +1 -0
  39. package/dist/src/components/control/choice/multiselect/CwHeadFilter.d.ts.map +1 -1
  40. package/dist/src/components/control/choice/multiselect/CwHeadFilter.js +80 -0
  41. package/dist/src/components/control/choice/multiselect/CwMultiselect.d.ts.map +1 -1
  42. package/dist/src/components/control/choice/multiselect/CwMultiselect.js +393 -0
  43. package/dist/src/components/control/choice/multiselect/CwOptionList.d.ts +0 -1
  44. package/dist/src/components/control/choice/multiselect/CwOptionList.d.ts.map +1 -1
  45. package/dist/src/components/control/choice/multiselect/CwOptionList.js +36 -0
  46. package/dist/src/components/control/choice/option/CwOption.js +16 -0
  47. package/dist/src/components/control/choice/select/CwSelect.js +36 -0
  48. package/dist/src/components/control/choice/toggle/CwToggle.d.ts +8 -21
  49. package/dist/src/components/control/choice/toggle/CwToggle.d.ts.map +1 -1
  50. package/dist/src/components/control/choice/toggle/CwToggle.js +9 -0
  51. package/dist/src/components/control/choice/tree-view/CwTreeView.d.ts +15 -0
  52. package/dist/src/components/control/choice/tree-view/CwTreeView.d.ts.map +1 -0
  53. package/dist/src/components/control/input/any/CwInput.js +16 -0
  54. package/dist/src/components/control/input/color/CwColorPicker.d.ts +17 -0
  55. package/dist/src/components/control/input/color/CwColorPicker.d.ts.map +1 -0
  56. package/dist/src/components/control/input/color/CwColorPicker.js +210 -0
  57. package/dist/src/components/control/input/color/CwInputColor.d.ts +12 -0
  58. package/dist/src/components/control/input/color/CwInputColor.d.ts.map +1 -0
  59. package/dist/src/components/control/input/color/CwInputColor.js +142 -0
  60. package/dist/src/components/control/input/date/CwInputDate.js +29 -0
  61. package/dist/src/components/control/input/date-picker/CwInputDatePicker.js +109 -0
  62. package/dist/src/components/control/input/date-text/CwInputDateText.js +90 -0
  63. package/dist/src/components/control/input/datetime/CwInputDatetime.js +29 -0
  64. package/dist/src/components/control/input/digit/CwDigit.js +28 -0
  65. package/dist/src/components/control/input/file/CwFileUpload.js +52 -0
  66. package/dist/src/components/control/input/file/CwFileUploadMultiple.js +148 -0
  67. package/dist/src/components/control/input/image/CwInputImage.js +52 -0
  68. package/dist/src/components/control/input/image-area/CwImageArea.js +113 -0
  69. package/dist/src/components/control/input/number/CwInputNumber.js +11 -0
  70. package/dist/src/components/control/input/phone/CwInputPhone.js +24 -0
  71. package/dist/src/components/control/input/text/CwInputText.d.ts +1 -1
  72. package/dist/src/components/control/input/text/CwInputText.d.ts.map +1 -1
  73. package/dist/src/components/control/input/text/CwInputText.js +31 -0
  74. package/dist/src/components/control/input/text-area/CwTextArea.js +9 -0
  75. package/dist/src/components/control/input/time/CwTime.js +29 -0
  76. package/dist/src/components/control/input/weekday/CwWeekdaySelector.js +143 -0
  77. package/dist/src/components/custom/find-airport/CwFindAirportComp.d.ts +7 -24
  78. package/dist/src/components/custom/find-airport/CwFindAirportComp.d.ts.map +1 -1
  79. package/dist/src/components/custom/find-airport/CwFindAirportComp.js +240 -0
  80. package/dist/src/components/custom/scheduler/CwSchedulerComp.js +211 -0
  81. package/dist/src/components/custom/scheduler/CwSuperSchedulerComp.d.ts.map +1 -1
  82. package/dist/src/components/custom/scheduler/CwSuperSchedulerComp.js +269 -0
  83. package/dist/src/components/custom/scheduler/components/EventRender.js +142 -0
  84. package/dist/src/components/custom/scheduler/components/ResourceListRender.js +12 -0
  85. package/dist/src/components/custom/scheduler/components/ResourceRender.js +26 -0
  86. package/dist/src/components/custom/scheduler/components/day_headers/DayHeader.js +13 -0
  87. package/dist/src/components/custom/scheduler/components/day_headers/MonthHeader.js +12 -0
  88. package/dist/src/components/custom/scheduler/components/day_headers/MyDaysHeader.js +62 -0
  89. package/dist/src/components/custom/scheduler/components/day_headers/WeekHeader.js +13 -0
  90. package/dist/src/components/custom/scheduler/components/resources_title_list/ResourcesTitleList.js +24 -0
  91. package/dist/src/components/custom/scheduler/components/scheduler_content_area/SchedulerContentArea.js +17 -0
  92. package/dist/src/components/custom/scheduler/components/scheduler_header/SchedulerHeader.js +26 -0
  93. package/dist/src/components/custom/scheduler/components/scheduler_timeline/SchedulerTimeLine.js +23 -0
  94. package/dist/src/components/custom/scheduler/components/time_headers/TimeHeader.js +31 -0
  95. package/dist/src/components/custom/scheduler/components/time_headers/TimeHeaderRow.js +16 -0
  96. package/dist/src/components/custom/scheduler/components/time_line/TimeLine.js +12 -0
  97. package/dist/src/components/custom/scheduler/logic/dates/addMinutesToDateFromPx.js +5 -0
  98. package/dist/src/components/custom/scheduler/logic/dates/daysBetweenTwoDates.js +15 -0
  99. package/dist/src/components/custom/scheduler/logic/dates/daysBetweenTwoDatesWithoutCeil.js +5 -0
  100. package/dist/src/components/custom/scheduler/logic/dates/getFormatedTimeForHeader.js +43 -0
  101. package/dist/src/components/custom/scheduler/logic/dates/getMonthHeaderData.js +35 -0
  102. package/dist/src/components/custom/scheduler/logic/dates/getUtcToday.js +6 -0
  103. package/dist/src/components/custom/scheduler/logic/dates/getWeekHeaderDataFromWeekRange.js +20 -0
  104. package/dist/src/components/custom/scheduler/logic/dates/listOfDatesToWeeks.js +55 -0
  105. package/dist/src/components/custom/scheduler/logic/divisions/calculateDivisionType.js +13 -0
  106. package/dist/src/components/custom/scheduler/logic/divisions/calculateDivisions.js +16 -0
  107. package/dist/src/components/custom/scheduler/logic/filtering/filterEvents.js +33 -0
  108. package/dist/src/components/custom/scheduler/logic/filtering/filterResources.js +14 -0
  109. package/dist/src/components/custom/scheduler/logic/filtering/hasSameProperties.js +10 -0
  110. package/dist/src/components/custom/scheduler/logic/onDrop/OnDrop.js +45 -0
  111. package/dist/src/components/custom/scheduler/logic/pixels/getHeightLineScheduler.js +14 -0
  112. package/dist/src/components/custom/scheduler/logic/pixels/getPixelsForEvent.js +32 -0
  113. package/dist/src/components/custom/scheduler/logic/pixels/heightScheduler.js +14 -0
  114. package/dist/src/components/custom/scheduler/logic/pixels/heightSchedulerPinned.js +9 -0
  115. package/dist/src/components/custom/scheduler/logic/state_handle/doubleClickOnResource.js +5 -0
  116. package/dist/src/components/custom/scheduler/logic/state_handle/handleResourceChange.js +11 -0
  117. package/dist/src/components/custom/scheduler/logic/state_handle/onDragOver.js +9 -0
  118. package/dist/src/components/custom/scheduler/logic/state_handle/onDropEventToResource.js +3 -0
  119. package/dist/src/components/custom/scheduler/logic/strings/compareStrings.js +7 -0
  120. package/dist/src/components/custom/scheduler/logic/strings/getGUID.js +7 -0
  121. package/dist/src/components/custom/scheduler/logic/ui/checkIfSlotAvailable.js +8 -0
  122. package/dist/src/components/custom/scheduler/logic/ui/getEventsOfResource.js +45 -0
  123. package/dist/src/components/custom/scheduler/logic/ui/getTimeHeaders.js +35 -0
  124. package/dist/src/components/custom/scheduler/logic/ui/isAllowedToMove.js +19 -0
  125. package/dist/src/components/custom/scheduler/logic/ui/updateResourceVisibility.js +15 -0
  126. package/dist/src/components/custom/scheduler/state/CblDragAndDrop.js +18 -0
  127. package/dist/src/components/custom/scheduler/state/CwSchedulerProps.js +1 -0
  128. package/dist/src/components/custom/scheduler/state/Resource.js +18 -0
  129. package/dist/src/components/custom/scheduler/state/State.js +1 -0
  130. package/dist/src/components/custom/scheduler/state/cblEvent.js +28 -0
  131. package/dist/src/components/custom/scheduler/state/cblEventCompProps.js +1 -0
  132. package/dist/src/components/custom/scheduler/state/resourceCompProps2.js +1 -0
  133. package/dist/src/components/custom/scheduler-new/presentation/NewScheduler.d.ts.map +1 -1
  134. package/dist/src/components/custom/scheduler-new/presentation/NewScheduler.js +123 -0
  135. package/dist/src/components/custom/scheduler-new/presentation/NewSchedulerUiEvents.js +118 -0
  136. package/dist/src/components/custom/scheduler-new/presentation/SchedulerPresenter.js +166 -0
  137. package/dist/src/components/custom/scheduler-new/presentation/components/header/HeaderDivision.js +26 -0
  138. package/dist/src/components/custom/scheduler-new/presentation/components/header/HeaderTitle.js +8 -0
  139. package/dist/src/components/custom/scheduler-new/presentation/components/header/SchedulerHeader.js +86 -0
  140. package/dist/src/components/custom/scheduler-new/presentation/components/header/SchedulerHeaderState.js +1 -0
  141. package/dist/src/components/custom/scheduler-new/presentation/components/row/BackgroundEvent.js +60 -0
  142. package/dist/src/components/custom/scheduler-new/presentation/components/row/DefaultRowHeader.d.ts.map +1 -1
  143. package/dist/src/components/custom/scheduler-new/presentation/components/row/DefaultRowHeader.js +24 -0
  144. package/dist/src/components/custom/scheduler-new/presentation/components/row/Event.d.ts.map +1 -1
  145. package/dist/src/components/custom/scheduler-new/presentation/components/row/Event.js +150 -0
  146. package/dist/src/components/custom/scheduler-new/presentation/components/row/EventSideDrag.js +11 -0
  147. package/dist/src/components/custom/scheduler-new/presentation/components/row/SchedulerRow.d.ts.map +1 -1
  148. package/dist/src/components/custom/scheduler-new/presentation/components/row/SchedulerRow.js +176 -0
  149. package/dist/src/components/custom/scheduler-new/presentation/components/timeline/DivisionLine.js +8 -0
  150. package/dist/src/components/custom/scheduler-new/presentation/components/timeline/TimeLine.js +39 -0
  151. package/dist/src/components/custom/scheduler-new/presentation/components/timeline/WeekEndLine.js +8 -0
  152. package/dist/src/components/custom/scheduler-new/presentation/helpers.js +43 -0
  153. package/dist/src/components/custom/scheduler-new/presentation/logic/WeekendCalc.d.ts.map +1 -1
  154. package/dist/src/components/custom/scheduler-new/presentation/logic/WeekendCalc.js +24 -0
  155. package/dist/src/components/custom/scheduler-new/presentation/logic/dateFromPercentage.js +7 -0
  156. package/dist/src/components/custom/scheduler-new/presentation/logic/eventIsVisible.js +7 -0
  157. package/dist/src/components/custom/scheduler-new/presentation/logic/getDefaultDivisions.js +113 -0
  158. package/dist/src/components/custom/scheduler-new/presentation/logic/getDivisions.js +21 -0
  159. package/dist/src/components/custom/scheduler-new/presentation/logic/getEventSizes.js +30 -0
  160. package/dist/src/components/custom/scheduler-new/presentation/logic/getLinesByDivisions.js +13 -0
  161. package/dist/src/components/custom/scheduler-new/presentation/logic/getPercentageFromMouseEvent.js +7 -0
  162. package/dist/src/components/custom/scheduler-new/presentation/logic/separateEventsToInnerRows.js +32 -0
  163. package/dist/src/components/custom/scheduler-new/presentation/logic/sortByCategoryAndTitle.js +12 -0
  164. package/dist/src/components/custom/scheduler-new/presentation/state/ui/SchedulerState.js +1 -0
  165. package/dist/src/components/custom/scheduler-new/presentation/state/ui/WeekRange.js +1 -0
  166. package/dist/src/components/custom/scheduler-temporal/CwSchedulerComp2.js +267 -0
  167. package/dist/src/components/custom/scheduler-temporal/CwSuperSchedulerComp.d.ts.map +1 -1
  168. package/dist/src/components/custom/scheduler-temporal/CwSuperSchedulerComp.js +269 -0
  169. package/dist/src/components/custom/scheduler-temporal/components/EventRender.js +142 -0
  170. package/dist/src/components/custom/scheduler-temporal/components/ResourceListRender.js +12 -0
  171. package/dist/src/components/custom/scheduler-temporal/components/ResourceRender.js +26 -0
  172. package/dist/src/components/custom/scheduler-temporal/components/day_headers/DayHeader.js +13 -0
  173. package/dist/src/components/custom/scheduler-temporal/components/day_headers/MonthHeader.js +12 -0
  174. package/dist/src/components/custom/scheduler-temporal/components/day_headers/MyDaysHeader.js +62 -0
  175. package/dist/src/components/custom/scheduler-temporal/components/day_headers/WeekHeader.js +13 -0
  176. package/dist/src/components/custom/scheduler-temporal/components/resources_title_list/ResourcesTitleList.js +22 -0
  177. package/dist/src/components/custom/scheduler-temporal/components/scheduler_content_area/SchedulerContentArea.js +17 -0
  178. package/dist/src/components/custom/scheduler-temporal/components/scheduler_header/SchedulerHeader.js +26 -0
  179. package/dist/src/components/custom/scheduler-temporal/components/scheduler_timeline/SchedulerTimeLine.js +23 -0
  180. package/dist/src/components/custom/scheduler-temporal/components/time_headers/TimeHeader.js +31 -0
  181. package/dist/src/components/custom/scheduler-temporal/components/time_headers/TimeHeaderRow.js +16 -0
  182. package/dist/src/components/custom/scheduler-temporal/components/time_line/TimeLine.js +12 -0
  183. package/dist/src/components/custom/scheduler-temporal/logic/dates/addMinutesToDateFromPx.js +5 -0
  184. package/dist/src/components/custom/scheduler-temporal/logic/dates/daysBetweenTwoDates.js +15 -0
  185. package/dist/src/components/custom/scheduler-temporal/logic/dates/daysBetweenTwoDatesWithoutCeil.js +5 -0
  186. package/dist/src/components/custom/scheduler-temporal/logic/dates/getFormatedTimeForHeader.js +43 -0
  187. package/dist/src/components/custom/scheduler-temporal/logic/dates/getMonthHeaderData.js +35 -0
  188. package/dist/src/components/custom/scheduler-temporal/logic/dates/getUtcToday.js +6 -0
  189. package/dist/src/components/custom/scheduler-temporal/logic/dates/getWeekHeaderDataFromWeekRange.js +20 -0
  190. package/dist/src/components/custom/scheduler-temporal/logic/dates/listOfDatesToWeeks.js +55 -0
  191. package/dist/src/components/custom/scheduler-temporal/logic/divisions/calculateDivisionType.js +13 -0
  192. package/dist/src/components/custom/scheduler-temporal/logic/divisions/calculateDivisions.js +16 -0
  193. package/dist/src/components/custom/scheduler-temporal/logic/filtering/filterAndProcessResources.js +10 -0
  194. package/dist/src/components/custom/scheduler-temporal/logic/filtering/filterEvents.js +34 -0
  195. package/dist/src/components/custom/scheduler-temporal/logic/filtering/filterResources.js +14 -0
  196. package/dist/src/components/custom/scheduler-temporal/logic/filtering/hasSameProperties.js +10 -0
  197. package/dist/src/components/custom/scheduler-temporal/logic/onDrop/OnDrop.js +36 -0
  198. package/dist/src/components/custom/scheduler-temporal/logic/pixels/getHeightLineScheduler.js +14 -0
  199. package/dist/src/components/custom/scheduler-temporal/logic/pixels/getPixelsForEvent.js +32 -0
  200. package/dist/src/components/custom/scheduler-temporal/logic/pixels/heightScheduler.js +14 -0
  201. package/dist/src/components/custom/scheduler-temporal/logic/pixels/heightSchedulerPinned.js +9 -0
  202. package/dist/src/components/custom/scheduler-temporal/logic/state_handle/doubleClickOnResource.js +5 -0
  203. package/dist/src/components/custom/scheduler-temporal/logic/state_handle/handlePropChanges.js +178 -0
  204. package/dist/src/components/custom/scheduler-temporal/logic/state_handle/handleResourceChange.js +11 -0
  205. package/dist/src/components/custom/scheduler-temporal/logic/state_handle/onDragOver.js +9 -0
  206. package/dist/src/components/custom/scheduler-temporal/logic/state_handle/onDropEventToResource.js +3 -0
  207. package/dist/src/components/custom/scheduler-temporal/logic/state_handle/onResizeEvent.js +3 -0
  208. package/dist/src/components/custom/scheduler-temporal/logic/strings/compareStrings.js +7 -0
  209. package/dist/src/components/custom/scheduler-temporal/logic/strings/getGUID.js +7 -0
  210. package/dist/src/components/custom/scheduler-temporal/logic/ui/checkIfSlotAvailable.js +9 -0
  211. package/dist/src/components/custom/scheduler-temporal/logic/ui/getEventsOfResource.js +92 -0
  212. package/dist/src/components/custom/scheduler-temporal/logic/ui/getHasPropsChanged.js +242 -0
  213. package/dist/src/components/custom/scheduler-temporal/logic/ui/getTimeHeaders.js +35 -0
  214. package/dist/src/components/custom/scheduler-temporal/logic/ui/isAllowedToMove.js +19 -0
  215. package/dist/src/components/custom/scheduler-temporal/logic/ui/shouldTriggerScroll.js +241 -0
  216. package/dist/src/components/custom/scheduler-temporal/logic/ui/updateResourceVisibility.js +15 -0
  217. package/dist/src/components/custom/scheduler-temporal/state/CblDragAndDrop.js +18 -0
  218. package/dist/src/components/custom/scheduler-temporal/state/CwSchedulerProps.js +1 -0
  219. package/dist/src/components/custom/scheduler-temporal/state/Resource.js +18 -0
  220. package/dist/src/components/custom/scheduler-temporal/state/State.js +1 -0
  221. package/dist/src/components/custom/scheduler-temporal/state/cblEvent.js +28 -0
  222. package/dist/src/components/custom/scheduler-temporal/state/cblEventCompProps.js +1 -0
  223. package/dist/src/components/custom/scheduler-temporal/state/resourceCompProps2.js +1 -0
  224. package/dist/src/components/custom/super-scheduler/PinRowHeader.d.ts.map +1 -1
  225. package/dist/src/components/custom/super-scheduler/PinRowHeader.js +53 -0
  226. package/dist/src/components/custom/super-scheduler/SuperScheduler.js +23 -0
  227. package/dist/src/components/custom/super-scheduler/SuperSchedulerEvents.js +15 -0
  228. package/dist/src/components/custom/super-scheduler/SuperSchedulerPresenter.js +45 -0
  229. package/dist/src/components/display/data/accordion/CwAccordionContainer.js +20 -0
  230. package/dist/src/components/display/data/generic_tooltip/CwGenericTooltip.js +138 -0
  231. package/dist/src/components/display/data/table/CwTable.d.ts.map +1 -1
  232. package/dist/src/components/display/data/table/CwTable.js +203 -0
  233. package/dist/src/components/display/graphics/icon/CwIcon.d.ts +5 -1
  234. package/dist/src/components/display/graphics/icon/CwIcon.d.ts.map +1 -1
  235. package/dist/src/components/display/graphics/icon/CwIcon.js +23 -0
  236. package/dist/src/components/display/graphics/image-gallery/CwImageGallery.d.ts +30 -0
  237. package/dist/src/components/display/graphics/image-gallery/CwImageGallery.d.ts.map +1 -0
  238. package/dist/src/components/display/graphics/image-zoom/CwImageZoom.d.ts +21 -0
  239. package/dist/src/components/display/graphics/image-zoom/CwImageZoom.d.ts.map +1 -0
  240. package/dist/src/components/display/graphics/loading/CwLoading.d.ts.map +1 -1
  241. package/dist/src/components/display/graphics/loading/CwLoading.js +27 -0
  242. package/dist/src/components/display/graphics/loading-small/CwLoadingSmall.js +20 -0
  243. package/dist/src/components/display/text/heading/CwHeadingMain.js +5 -0
  244. package/dist/src/components/display/text/heading/CwHeadingSecond.js +5 -0
  245. package/dist/src/components/display/text/label/CwLabel.js +13 -0
  246. package/dist/src/components/display/text/message/CwMessage.d.ts +49 -2
  247. package/dist/src/components/display/text/message/CwMessage.d.ts.map +1 -1
  248. package/dist/src/components/display/text/message/CwMessage.js +75 -0
  249. package/dist/src/components/display/text/note/CwNote.d.ts +48 -0
  250. package/dist/src/components/display/text/note/CwNote.d.ts.map +1 -0
  251. package/dist/src/components/display/text/note/CwNote.js +78 -0
  252. package/dist/src/components/display/text/tag/CwChip.d.ts +1 -1
  253. package/dist/src/components/display/text/tag/CwChip.d.ts.map +1 -1
  254. package/dist/src/components/display/text/tag/CwChip.js +57 -0
  255. package/dist/src/components/display/text/tag/CwTag.d.ts +0 -1
  256. package/dist/src/components/display/text/tag/CwTag.d.ts.map +1 -1
  257. package/dist/src/components/display/text/tag/CwTag.js +21 -0
  258. package/dist/src/components/display/text/tooltip/CwTooltip.js +4 -0
  259. package/dist/src/components/layout/align/CwAlign.js +54 -0
  260. package/dist/src/components/layout/card/CwCard.js +55 -0
  261. package/dist/src/components/layout/card/CwCardList.d.ts +3 -5
  262. package/dist/src/components/layout/card/CwCardList.d.ts.map +1 -1
  263. package/dist/src/components/layout/card/CwCardList.js +38 -0
  264. package/dist/src/components/layout/confirmation-popup/CwConfirmationPopup.d.ts +18 -0
  265. package/dist/src/components/layout/confirmation-popup/CwConfirmationPopup.d.ts.map +1 -0
  266. package/dist/src/components/layout/dialog/CwDialog.d.ts +3 -1
  267. package/dist/src/components/layout/dialog/CwDialog.d.ts.map +1 -1
  268. package/dist/src/components/layout/dialog/CwDialog.js +255 -0
  269. package/dist/src/components/layout/dialog/CwDialogManager.js +44 -0
  270. package/dist/src/components/layout/list/details/CwExpandable.js +28 -0
  271. package/dist/src/components/layout/list/key-value/CwKeyValueList.d.ts +1 -0
  272. package/dist/src/components/layout/list/key-value/CwKeyValueList.d.ts.map +1 -1
  273. package/dist/src/components/layout/list/key-value/CwKeyValueList.js +23 -0
  274. package/dist/src/components/layout/list/sortable/CwSortableList.d.ts +60 -0
  275. package/dist/src/components/layout/list/sortable/CwSortableList.d.ts.map +1 -0
  276. package/dist/src/components/layout/list/sortable/CwSortableList.js +73 -0
  277. package/dist/src/components/layout/list/sortable/useSortableList.d.ts +58 -0
  278. package/dist/src/components/layout/list/sortable/useSortableList.d.ts.map +1 -0
  279. package/dist/src/components/layout/list/sortable/useSortableList.js +53 -0
  280. package/dist/src/components/layout/modal/CwModalReportFunctional.js +23 -0
  281. package/dist/src/components/layout/modal/hover/CwModalHover.js +61 -0
  282. package/dist/src/components/layout/modal/legacy/cw_modal.d.ts.map +1 -1
  283. package/dist/src/components/layout/modal/legacy/cw_modal.js +44 -0
  284. package/dist/src/components/layout/modal/legacy/cw_modal_confirm.js +39 -0
  285. package/dist/src/components/layout/modal/legacy/cw_modal_iframe.js +44 -0
  286. package/dist/src/components/layout/modal/legacy/cw_modal_report.js +26 -0
  287. package/dist/{components/layout/table/grouped/CwTableGrouped.d.ts → src/components/layout/table/grouped/CwTableGrouped.js} +13 -23
  288. package/dist/src/components/layout/tabs/CwTabs.d.ts +1 -2
  289. package/dist/src/components/layout/tabs/CwTabs.d.ts.map +1 -1
  290. package/dist/src/components/layout/tabs/CwTabs.js +53 -0
  291. package/dist/src/dev/index.d.ts +5 -0
  292. package/dist/src/dev/index.d.ts.map +1 -0
  293. package/dist/src/dev/palette.d.ts +4 -0
  294. package/dist/src/dev/palette.d.ts.map +1 -0
  295. package/dist/src/dev/previews.d.ts +3 -0
  296. package/dist/src/dev/previews.d.ts.map +1 -0
  297. package/dist/src/dev/useInitial.d.ts +3 -0
  298. package/dist/src/dev/useInitial.d.ts.map +1 -0
  299. package/dist/src/index.d.ts +10 -2
  300. package/dist/src/index.d.ts.map +1 -1
  301. package/dist/src/index.js +187 -0
  302. package/dist/test/components/custom/new-scheduler/presentation/logic/getDefaultDivisions.test.js +48 -0
  303. package/dist/test/components/custom/new-scheduler/presentation/logic/getEventSizes.test.d.ts +2 -0
  304. package/dist/test/components/custom/new-scheduler/presentation/logic/getEventSizes.test.d.ts.map +1 -0
  305. package/dist/test/components/custom/new-scheduler/presentation/logic/hoursBetween.test.js +15 -0
  306. package/dist/test/components/custom/new-scheduler/presentation/logic/monthDivisions.test.js +42 -0
  307. package/dist/test/components/custom/new-scheduler/presentation/logic/weekendCalc.test.js +30 -0
  308. package/dist/test/components/custom/scheduler/addMinutesToDateFromPx.test.js +43 -0
  309. package/dist/test/components/custom/scheduler/checkIfSlotAvailable.test.js +30 -0
  310. package/dist/test/components/custom/scheduler/daysBetweenTwoDates.test.js +61 -0
  311. package/dist/test/components/custom/scheduler/daysBetweenTwoDatesWithoutCeilForEvent.test.js +27 -0
  312. package/dist/test/components/custom/scheduler/getGUID.test.js +30 -0
  313. package/dist/test/components/custom/scheduler/getPixelsForEvent.test.js +38 -0
  314. package/dist/test/components/custom/scheduler/getTimeHeaders.test.js +35 -0
  315. package/dist/test/components/custom/scheduler/hasSameProperties.test.js +51 -0
  316. package/dist/test/components/custom/scheduler/isAllowedToMove.test.js +28 -0
  317. package/dist/test/components/custom/scheduler/listOfDatesToWeeks.test.js +72 -0
  318. package/dist/test/jest.setup.js +1 -0
  319. package/package.json +9 -5
  320. package/dist/common/classes/CwSelectList.d.ts +0 -8
  321. package/dist/common/classes/CwSelectList.d.ts.map +0 -1
  322. package/dist/common/classes/CwSelectListItems.d.ts +0 -9
  323. package/dist/common/classes/CwSelectListItems.d.ts.map +0 -1
  324. package/dist/common/functions/collections.d.ts +0 -15
  325. package/dist/common/functions/collections.d.ts.map +0 -1
  326. package/dist/common/functions/colorManipulation.d.ts +0 -6
  327. package/dist/common/functions/colorManipulation.d.ts.map +0 -1
  328. package/dist/common/functions/dsl/UiEventDSL.d.ts +0 -9
  329. package/dist/common/functions/dsl/UiEventDSL.d.ts.map +0 -1
  330. package/dist/common/functions/useSingleAndDoubleClicks.d.ts +0 -7
  331. package/dist/common/functions/useSingleAndDoubleClicks.d.ts.map +0 -1
  332. package/dist/common/interfaces/CwSelectListProps.d.ts +0 -9
  333. package/dist/common/interfaces/CwSelectListProps.d.ts.map +0 -1
  334. package/dist/components/control/action/button/CwButton.d.ts +0 -26
  335. package/dist/components/control/action/button/CwButton.d.ts.map +0 -1
  336. package/dist/components/control/action/buttons/CwButtons.d.ts +0 -59
  337. package/dist/components/control/action/buttons/CwButtons.d.ts.map +0 -1
  338. package/dist/components/control/action/contextmenu/CwContextMenu.d.ts +0 -23
  339. package/dist/components/control/action/contextmenu/CwContextMenu.d.ts.map +0 -1
  340. package/dist/components/control/action/contextual-menu/CwContextualMenu.d.ts +0 -29
  341. package/dist/components/control/action/contextual-menu/CwContextualMenu.d.ts.map +0 -1
  342. package/dist/components/control/action/search/CwSearch.d.ts +0 -16
  343. package/dist/components/control/action/search/CwSearch.d.ts.map +0 -1
  344. package/dist/components/control/choice/checkbox/CwCheckbox.d.ts +0 -17
  345. package/dist/components/control/choice/checkbox/CwCheckbox.d.ts.map +0 -1
  346. package/dist/components/control/choice/deprecated/MultiSelect_deprecated_.d.ts +0 -24
  347. package/dist/components/control/choice/deprecated/MultiSelect_deprecated_.d.ts.map +0 -1
  348. package/dist/components/control/choice/dropdown/CwDropdown.d.ts +0 -19
  349. package/dist/components/control/choice/dropdown/CwDropdown.d.ts.map +0 -1
  350. package/dist/components/control/choice/dropdown/CwDropdownContainer.d.ts +0 -17
  351. package/dist/components/control/choice/dropdown/CwDropdownContainer.d.ts.map +0 -1
  352. package/dist/components/control/choice/dropdown/CwDropdownFilter.d.ts +0 -28
  353. package/dist/components/control/choice/dropdown/CwDropdownFilter.d.ts.map +0 -1
  354. package/dist/components/control/choice/dropdown/CwDropdownNavigation.d.ts +0 -21
  355. package/dist/components/control/choice/dropdown/CwDropdownNavigation.d.ts.map +0 -1
  356. package/dist/components/control/choice/multi-filter/CwMultiFilter.d.ts +0 -158
  357. package/dist/components/control/choice/multi-filter/CwMultiFilter.d.ts.map +0 -1
  358. package/dist/components/control/choice/multi-filter/components/tag/CwMultiFilterTag.d.ts +0 -33
  359. package/dist/components/control/choice/multi-filter/components/tag/CwMultiFilterTag.d.ts.map +0 -1
  360. package/dist/components/control/choice/multiselect/CwHeadFilter.d.ts +0 -16
  361. package/dist/components/control/choice/multiselect/CwHeadFilter.d.ts.map +0 -1
  362. package/dist/components/control/choice/multiselect/CwMultiselect.d.ts +0 -13
  363. package/dist/components/control/choice/multiselect/CwMultiselect.d.ts.map +0 -1
  364. package/dist/components/control/choice/multiselect/CwOptionList.d.ts +0 -15
  365. package/dist/components/control/choice/multiselect/CwOptionList.d.ts.map +0 -1
  366. package/dist/components/control/choice/option/CwOption.d.ts +0 -17
  367. package/dist/components/control/choice/option/CwOption.d.ts.map +0 -1
  368. package/dist/components/control/choice/select/CwSelect.d.ts +0 -48
  369. package/dist/components/control/choice/select/CwSelect.d.ts.map +0 -1
  370. package/dist/components/control/choice/toggle/CwToggle.d.ts +0 -28
  371. package/dist/components/control/choice/toggle/CwToggle.d.ts.map +0 -1
  372. package/dist/components/control/input/any/CwInput.d.ts +0 -17
  373. package/dist/components/control/input/any/CwInput.d.ts.map +0 -1
  374. package/dist/components/control/input/date/CwInputDate.d.ts +0 -40
  375. package/dist/components/control/input/date/CwInputDate.d.ts.map +0 -1
  376. package/dist/components/control/input/date-picker/CwInputDatePicker.d.ts +0 -7
  377. package/dist/components/control/input/date-picker/CwInputDatePicker.d.ts.map +0 -1
  378. package/dist/components/control/input/date-text/CwInputDateText.d.ts +0 -38
  379. package/dist/components/control/input/date-text/CwInputDateText.d.ts.map +0 -1
  380. package/dist/components/control/input/datetime/CwInputDatetime.d.ts +0 -40
  381. package/dist/components/control/input/datetime/CwInputDatetime.d.ts.map +0 -1
  382. package/dist/components/control/input/digit/CwDigit.d.ts +0 -40
  383. package/dist/components/control/input/digit/CwDigit.d.ts.map +0 -1
  384. package/dist/components/control/input/file/CwFileUpload.d.ts +0 -18
  385. package/dist/components/control/input/file/CwFileUpload.d.ts.map +0 -1
  386. package/dist/components/control/input/file/CwFileUploadMultiple.d.ts +0 -15
  387. package/dist/components/control/input/file/CwFileUploadMultiple.d.ts.map +0 -1
  388. package/dist/components/control/input/image/CwInputImage.d.ts +0 -7
  389. package/dist/components/control/input/image/CwInputImage.d.ts.map +0 -1
  390. package/dist/components/control/input/image-area/CwImageArea.d.ts +0 -53
  391. package/dist/components/control/input/image-area/CwImageArea.d.ts.map +0 -1
  392. package/dist/components/control/input/number/CwInputNumber.d.ts +0 -20
  393. package/dist/components/control/input/number/CwInputNumber.d.ts.map +0 -1
  394. package/dist/components/control/input/phone/CwInputPhone.d.ts +0 -36
  395. package/dist/components/control/input/phone/CwInputPhone.d.ts.map +0 -1
  396. package/dist/components/control/input/text/CwInputText.d.ts +0 -40
  397. package/dist/components/control/input/text/CwInputText.d.ts.map +0 -1
  398. package/dist/components/control/input/text-area/CwTextArea.d.ts +0 -24
  399. package/dist/components/control/input/text-area/CwTextArea.d.ts.map +0 -1
  400. package/dist/components/control/input/time/CwTime.d.ts +0 -40
  401. package/dist/components/control/input/time/CwTime.d.ts.map +0 -1
  402. package/dist/components/control/input/weekday/CwWeekdaySelector.d.ts +0 -53
  403. package/dist/components/control/input/weekday/CwWeekdaySelector.d.ts.map +0 -1
  404. package/dist/components/custom/find-airport/CwFindAirportComp.d.ts +0 -35
  405. package/dist/components/custom/find-airport/CwFindAirportComp.d.ts.map +0 -1
  406. package/dist/components/custom/scheduler/CwSchedulerComp.d.ts +0 -19
  407. package/dist/components/custom/scheduler/CwSchedulerComp.d.ts.map +0 -1
  408. package/dist/components/custom/scheduler/CwSuperSchedulerComp.d.ts +0 -86
  409. package/dist/components/custom/scheduler/CwSuperSchedulerComp.d.ts.map +0 -1
  410. package/dist/components/custom/scheduler/components/EventRender.d.ts +0 -10
  411. package/dist/components/custom/scheduler/components/EventRender.d.ts.map +0 -1
  412. package/dist/components/custom/scheduler/components/ResourceListRender.d.ts +0 -20
  413. package/dist/components/custom/scheduler/components/ResourceListRender.d.ts.map +0 -1
  414. package/dist/components/custom/scheduler/components/ResourceRender.d.ts +0 -14
  415. package/dist/components/custom/scheduler/components/ResourceRender.d.ts.map +0 -1
  416. package/dist/components/custom/scheduler/components/day_headers/DayHeader.d.ts +0 -11
  417. package/dist/components/custom/scheduler/components/day_headers/DayHeader.d.ts.map +0 -1
  418. package/dist/components/custom/scheduler/components/day_headers/MonthHeader.d.ts +0 -11
  419. package/dist/components/custom/scheduler/components/day_headers/MonthHeader.d.ts.map +0 -1
  420. package/dist/components/custom/scheduler/components/day_headers/MyDaysHeader.d.ts +0 -13
  421. package/dist/components/custom/scheduler/components/day_headers/MyDaysHeader.d.ts.map +0 -1
  422. package/dist/components/custom/scheduler/components/day_headers/WeekHeader.d.ts +0 -11
  423. package/dist/components/custom/scheduler/components/day_headers/WeekHeader.d.ts.map +0 -1
  424. package/dist/components/custom/scheduler/components/resources_title_list/ResourcesTitleList.d.ts +0 -14
  425. package/dist/components/custom/scheduler/components/resources_title_list/ResourcesTitleList.d.ts.map +0 -1
  426. package/dist/components/custom/scheduler/components/scheduler_content_area/SchedulerContentArea.d.ts +0 -23
  427. package/dist/components/custom/scheduler/components/scheduler_content_area/SchedulerContentArea.d.ts.map +0 -1
  428. package/dist/components/custom/scheduler/components/scheduler_header/SchedulerHeader.d.ts +0 -8
  429. package/dist/components/custom/scheduler/components/scheduler_header/SchedulerHeader.d.ts.map +0 -1
  430. package/dist/components/custom/scheduler/components/scheduler_timeline/SchedulerTimeLine.d.ts +0 -12
  431. package/dist/components/custom/scheduler/components/scheduler_timeline/SchedulerTimeLine.d.ts.map +0 -1
  432. package/dist/components/custom/scheduler/components/time_headers/TimeHeader.d.ts +0 -12
  433. package/dist/components/custom/scheduler/components/time_headers/TimeHeader.d.ts.map +0 -1
  434. package/dist/components/custom/scheduler/components/time_headers/TimeHeaderRow.d.ts +0 -10
  435. package/dist/components/custom/scheduler/components/time_headers/TimeHeaderRow.d.ts.map +0 -1
  436. package/dist/components/custom/scheduler/components/time_line/TimeLine.d.ts +0 -12
  437. package/dist/components/custom/scheduler/components/time_line/TimeLine.d.ts.map +0 -1
  438. package/dist/components/custom/scheduler/logic/dates/addMinutesToDateFromPx.d.ts +0 -2
  439. package/dist/components/custom/scheduler/logic/dates/addMinutesToDateFromPx.d.ts.map +0 -1
  440. package/dist/components/custom/scheduler/logic/dates/daysBetweenTwoDates.d.ts +0 -2
  441. package/dist/components/custom/scheduler/logic/dates/daysBetweenTwoDates.d.ts.map +0 -1
  442. package/dist/components/custom/scheduler/logic/dates/daysBetweenTwoDatesWithoutCeil.d.ts +0 -2
  443. package/dist/components/custom/scheduler/logic/dates/daysBetweenTwoDatesWithoutCeil.d.ts.map +0 -1
  444. package/dist/components/custom/scheduler/logic/dates/getFormatedTimeForHeader.d.ts +0 -7
  445. package/dist/components/custom/scheduler/logic/dates/getFormatedTimeForHeader.d.ts.map +0 -1
  446. package/dist/components/custom/scheduler/logic/dates/getMonthHeaderData.d.ts +0 -10
  447. package/dist/components/custom/scheduler/logic/dates/getMonthHeaderData.d.ts.map +0 -1
  448. package/dist/components/custom/scheduler/logic/dates/getUtcToday.d.ts +0 -2
  449. package/dist/components/custom/scheduler/logic/dates/getUtcToday.d.ts.map +0 -1
  450. package/dist/components/custom/scheduler/logic/dates/getWeekHeaderDataFromWeekRange.d.ts +0 -7
  451. package/dist/components/custom/scheduler/logic/dates/getWeekHeaderDataFromWeekRange.d.ts.map +0 -1
  452. package/dist/components/custom/scheduler/logic/dates/listOfDatesToWeeks.d.ts +0 -8
  453. package/dist/components/custom/scheduler/logic/dates/listOfDatesToWeeks.d.ts.map +0 -1
  454. package/dist/components/custom/scheduler/logic/divisions/calculateDivisionType.d.ts +0 -2
  455. package/dist/components/custom/scheduler/logic/divisions/calculateDivisionType.d.ts.map +0 -1
  456. package/dist/components/custom/scheduler/logic/divisions/calculateDivisions.d.ts +0 -2
  457. package/dist/components/custom/scheduler/logic/divisions/calculateDivisions.d.ts.map +0 -1
  458. package/dist/components/custom/scheduler/logic/filtering/filterEvents.d.ts +0 -3
  459. package/dist/components/custom/scheduler/logic/filtering/filterEvents.d.ts.map +0 -1
  460. package/dist/components/custom/scheduler/logic/filtering/filterResources.d.ts +0 -3
  461. package/dist/components/custom/scheduler/logic/filtering/filterResources.d.ts.map +0 -1
  462. package/dist/components/custom/scheduler/logic/onDrop/OnDrop.d.ts +0 -13
  463. package/dist/components/custom/scheduler/logic/onDrop/OnDrop.d.ts.map +0 -1
  464. package/dist/components/custom/scheduler/logic/pixels/getPixelsForEvent.d.ts +0 -17
  465. package/dist/components/custom/scheduler/logic/pixels/getPixelsForEvent.d.ts.map +0 -1
  466. package/dist/components/custom/scheduler/logic/pixels/heightScheduler.d.ts +0 -3
  467. package/dist/components/custom/scheduler/logic/pixels/heightScheduler.d.ts.map +0 -1
  468. package/dist/components/custom/scheduler/logic/state_handle/doubleClickOnResource.d.ts +0 -4
  469. package/dist/components/custom/scheduler/logic/state_handle/doubleClickOnResource.d.ts.map +0 -1
  470. package/dist/components/custom/scheduler/logic/state_handle/onDragOver.d.ts +0 -2
  471. package/dist/components/custom/scheduler/logic/state_handle/onDragOver.d.ts.map +0 -1
  472. package/dist/components/custom/scheduler/logic/state_handle/onDropEventToResource.d.ts +0 -5
  473. package/dist/components/custom/scheduler/logic/state_handle/onDropEventToResource.d.ts.map +0 -1
  474. package/dist/components/custom/scheduler/logic/strings/compareStrings.d.ts +0 -2
  475. package/dist/components/custom/scheduler/logic/strings/compareStrings.d.ts.map +0 -1
  476. package/dist/components/custom/scheduler/logic/strings/getGUID.d.ts +0 -2
  477. package/dist/components/custom/scheduler/logic/strings/getGUID.d.ts.map +0 -1
  478. package/dist/components/custom/scheduler/logic/ui/checkIfSlotAvailable.d.ts +0 -3
  479. package/dist/components/custom/scheduler/logic/ui/checkIfSlotAvailable.d.ts.map +0 -1
  480. package/dist/components/custom/scheduler/logic/ui/getEventsOfResource.d.ts +0 -4
  481. package/dist/components/custom/scheduler/logic/ui/getEventsOfResource.d.ts.map +0 -1
  482. package/dist/components/custom/scheduler/logic/ui/getTimeHeaders.d.ts +0 -2
  483. package/dist/components/custom/scheduler/logic/ui/getTimeHeaders.d.ts.map +0 -1
  484. package/dist/components/custom/scheduler/logic/ui/isAllowedToMove.d.ts +0 -3
  485. package/dist/components/custom/scheduler/logic/ui/isAllowedToMove.d.ts.map +0 -1
  486. package/dist/components/custom/scheduler/state/CblDragAndDrop.d.ts +0 -11
  487. package/dist/components/custom/scheduler/state/CblDragAndDrop.d.ts.map +0 -1
  488. package/dist/components/custom/scheduler/state/CwSchedulerProps.d.ts +0 -43
  489. package/dist/components/custom/scheduler/state/CwSchedulerProps.d.ts.map +0 -1
  490. package/dist/components/custom/scheduler/state/Resource.d.ts +0 -14
  491. package/dist/components/custom/scheduler/state/Resource.d.ts.map +0 -1
  492. package/dist/components/custom/scheduler/state/State.d.ts +0 -19
  493. package/dist/components/custom/scheduler/state/State.d.ts.map +0 -1
  494. package/dist/components/custom/scheduler/state/cblEvent.d.ts +0 -18
  495. package/dist/components/custom/scheduler/state/cblEvent.d.ts.map +0 -1
  496. package/dist/components/custom/scheduler/state/cblEventCompProps.d.ts +0 -7
  497. package/dist/components/custom/scheduler/state/cblEventCompProps.d.ts.map +0 -1
  498. package/dist/components/custom/scheduler/state/resourceCompProps2.d.ts +0 -6
  499. package/dist/components/custom/scheduler/state/resourceCompProps2.d.ts.map +0 -1
  500. package/dist/components/custom/scheduler-new/presentation/NewScheduler.d.ts +0 -29
  501. package/dist/components/custom/scheduler-new/presentation/NewScheduler.d.ts.map +0 -1
  502. package/dist/components/custom/scheduler-new/presentation/NewSchedulerUiEvents.d.ts +0 -80
  503. package/dist/components/custom/scheduler-new/presentation/NewSchedulerUiEvents.d.ts.map +0 -1
  504. package/dist/components/custom/scheduler-new/presentation/SchedulerPresenter.d.ts +0 -27
  505. package/dist/components/custom/scheduler-new/presentation/SchedulerPresenter.d.ts.map +0 -1
  506. package/dist/components/custom/scheduler-new/presentation/components/header/HeaderDivision.d.ts +0 -19
  507. package/dist/components/custom/scheduler-new/presentation/components/header/HeaderDivision.d.ts.map +0 -1
  508. package/dist/components/custom/scheduler-new/presentation/components/header/HeaderTitle.d.ts +0 -10
  509. package/dist/components/custom/scheduler-new/presentation/components/header/HeaderTitle.d.ts.map +0 -1
  510. package/dist/components/custom/scheduler-new/presentation/components/header/SchedulerHeader.d.ts +0 -5
  511. package/dist/components/custom/scheduler-new/presentation/components/header/SchedulerHeader.d.ts.map +0 -1
  512. package/dist/components/custom/scheduler-new/presentation/components/header/SchedulerHeaderState.d.ts +0 -17
  513. package/dist/components/custom/scheduler-new/presentation/components/header/SchedulerHeaderState.d.ts.map +0 -1
  514. package/dist/components/custom/scheduler-new/presentation/components/row/BackgroundEvent.d.ts +0 -8
  515. package/dist/components/custom/scheduler-new/presentation/components/row/BackgroundEvent.d.ts.map +0 -1
  516. package/dist/components/custom/scheduler-new/presentation/components/row/DefaultRowHeader.d.ts +0 -17
  517. package/dist/components/custom/scheduler-new/presentation/components/row/DefaultRowHeader.d.ts.map +0 -1
  518. package/dist/components/custom/scheduler-new/presentation/components/row/Event.d.ts +0 -34
  519. package/dist/components/custom/scheduler-new/presentation/components/row/Event.d.ts.map +0 -1
  520. package/dist/components/custom/scheduler-new/presentation/components/row/EventSideDrag.d.ts +0 -8
  521. package/dist/components/custom/scheduler-new/presentation/components/row/EventSideDrag.d.ts.map +0 -1
  522. package/dist/components/custom/scheduler-new/presentation/components/row/SchedulerRow.d.ts +0 -27
  523. package/dist/components/custom/scheduler-new/presentation/components/row/SchedulerRow.d.ts.map +0 -1
  524. package/dist/components/custom/scheduler-new/presentation/components/timeline/DivisionLine.d.ts +0 -10
  525. package/dist/components/custom/scheduler-new/presentation/components/timeline/DivisionLine.d.ts.map +0 -1
  526. package/dist/components/custom/scheduler-new/presentation/components/timeline/TimeLine.d.ts +0 -15
  527. package/dist/components/custom/scheduler-new/presentation/components/timeline/TimeLine.d.ts.map +0 -1
  528. package/dist/components/custom/scheduler-new/presentation/components/timeline/WeekEndLine.d.ts +0 -11
  529. package/dist/components/custom/scheduler-new/presentation/components/timeline/WeekEndLine.d.ts.map +0 -1
  530. package/dist/components/custom/scheduler-new/presentation/helpers.d.ts +0 -19
  531. package/dist/components/custom/scheduler-new/presentation/helpers.d.ts.map +0 -1
  532. package/dist/components/custom/scheduler-new/presentation/logic/WeekendCalc.d.ts +0 -4
  533. package/dist/components/custom/scheduler-new/presentation/logic/WeekendCalc.d.ts.map +0 -1
  534. package/dist/components/custom/scheduler-new/presentation/logic/dateFromPercentage.d.ts +0 -2
  535. package/dist/components/custom/scheduler-new/presentation/logic/dateFromPercentage.d.ts.map +0 -1
  536. package/dist/components/custom/scheduler-new/presentation/logic/eventIsVisible.d.ts +0 -2
  537. package/dist/components/custom/scheduler-new/presentation/logic/eventIsVisible.d.ts.map +0 -1
  538. package/dist/components/custom/scheduler-new/presentation/logic/getDefaultDivisions.d.ts +0 -6
  539. package/dist/components/custom/scheduler-new/presentation/logic/getDefaultDivisions.d.ts.map +0 -1
  540. package/dist/components/custom/scheduler-new/presentation/logic/getDivisions.d.ts +0 -3
  541. package/dist/components/custom/scheduler-new/presentation/logic/getDivisions.d.ts.map +0 -1
  542. package/dist/components/custom/scheduler-new/presentation/logic/getEventSizes.d.ts +0 -6
  543. package/dist/components/custom/scheduler-new/presentation/logic/getEventSizes.d.ts.map +0 -1
  544. package/dist/components/custom/scheduler-new/presentation/logic/getLinesByDivisions.d.ts +0 -4
  545. package/dist/components/custom/scheduler-new/presentation/logic/getLinesByDivisions.d.ts.map +0 -1
  546. package/dist/components/custom/scheduler-new/presentation/logic/getPercentageFromMouseEvent.d.ts +0 -2
  547. package/dist/components/custom/scheduler-new/presentation/logic/getPercentageFromMouseEvent.d.ts.map +0 -1
  548. package/dist/components/custom/scheduler-new/presentation/logic/separateEventsToInnerRows.d.ts +0 -3
  549. package/dist/components/custom/scheduler-new/presentation/logic/separateEventsToInnerRows.d.ts.map +0 -1
  550. package/dist/components/custom/scheduler-new/presentation/logic/sortByCategoryAndTitle.d.ts +0 -4
  551. package/dist/components/custom/scheduler-new/presentation/logic/sortByCategoryAndTitle.d.ts.map +0 -1
  552. package/dist/components/custom/scheduler-new/presentation/state/ui/SchedulerState.d.ts +0 -12
  553. package/dist/components/custom/scheduler-new/presentation/state/ui/SchedulerState.d.ts.map +0 -1
  554. package/dist/components/custom/scheduler-new/presentation/state/ui/WeekRange.d.ts +0 -5
  555. package/dist/components/custom/scheduler-new/presentation/state/ui/WeekRange.d.ts.map +0 -1
  556. package/dist/components/custom/scheduler-temporal/CwSchedulerComp2.d.ts +0 -24
  557. package/dist/components/custom/scheduler-temporal/CwSchedulerComp2.d.ts.map +0 -1
  558. package/dist/components/custom/scheduler-temporal/CwSuperSchedulerComp.d.ts +0 -86
  559. package/dist/components/custom/scheduler-temporal/CwSuperSchedulerComp.d.ts.map +0 -1
  560. package/dist/components/custom/scheduler-temporal/components/EventRender.d.ts +0 -10
  561. package/dist/components/custom/scheduler-temporal/components/EventRender.d.ts.map +0 -1
  562. package/dist/components/custom/scheduler-temporal/components/ResourceListRender.d.ts +0 -20
  563. package/dist/components/custom/scheduler-temporal/components/ResourceListRender.d.ts.map +0 -1
  564. package/dist/components/custom/scheduler-temporal/components/ResourceRender.d.ts +0 -14
  565. package/dist/components/custom/scheduler-temporal/components/ResourceRender.d.ts.map +0 -1
  566. package/dist/components/custom/scheduler-temporal/components/day_headers/DayHeader.d.ts +0 -11
  567. package/dist/components/custom/scheduler-temporal/components/day_headers/DayHeader.d.ts.map +0 -1
  568. package/dist/components/custom/scheduler-temporal/components/day_headers/MonthHeader.d.ts +0 -11
  569. package/dist/components/custom/scheduler-temporal/components/day_headers/MonthHeader.d.ts.map +0 -1
  570. package/dist/components/custom/scheduler-temporal/components/day_headers/MyDaysHeader.d.ts +0 -13
  571. package/dist/components/custom/scheduler-temporal/components/day_headers/MyDaysHeader.d.ts.map +0 -1
  572. package/dist/components/custom/scheduler-temporal/components/day_headers/WeekHeader.d.ts +0 -11
  573. package/dist/components/custom/scheduler-temporal/components/day_headers/WeekHeader.d.ts.map +0 -1
  574. package/dist/components/custom/scheduler-temporal/components/resources_title_list/ResourcesTitleList.d.ts +0 -14
  575. package/dist/components/custom/scheduler-temporal/components/resources_title_list/ResourcesTitleList.d.ts.map +0 -1
  576. package/dist/components/custom/scheduler-temporal/components/scheduler_content_area/SchedulerContentArea.d.ts +0 -23
  577. package/dist/components/custom/scheduler-temporal/components/scheduler_content_area/SchedulerContentArea.d.ts.map +0 -1
  578. package/dist/components/custom/scheduler-temporal/components/scheduler_header/SchedulerHeader.d.ts +0 -8
  579. package/dist/components/custom/scheduler-temporal/components/scheduler_header/SchedulerHeader.d.ts.map +0 -1
  580. package/dist/components/custom/scheduler-temporal/components/scheduler_timeline/SchedulerTimeLine.d.ts +0 -12
  581. package/dist/components/custom/scheduler-temporal/components/scheduler_timeline/SchedulerTimeLine.d.ts.map +0 -1
  582. package/dist/components/custom/scheduler-temporal/components/time_headers/TimeHeader.d.ts +0 -12
  583. package/dist/components/custom/scheduler-temporal/components/time_headers/TimeHeader.d.ts.map +0 -1
  584. package/dist/components/custom/scheduler-temporal/components/time_headers/TimeHeaderRow.d.ts +0 -10
  585. package/dist/components/custom/scheduler-temporal/components/time_headers/TimeHeaderRow.d.ts.map +0 -1
  586. package/dist/components/custom/scheduler-temporal/components/time_line/TimeLine.d.ts +0 -12
  587. package/dist/components/custom/scheduler-temporal/components/time_line/TimeLine.d.ts.map +0 -1
  588. package/dist/components/custom/scheduler-temporal/logic/dates/addMinutesToDateFromPx.d.ts +0 -2
  589. package/dist/components/custom/scheduler-temporal/logic/dates/addMinutesToDateFromPx.d.ts.map +0 -1
  590. package/dist/components/custom/scheduler-temporal/logic/dates/daysBetweenTwoDates.d.ts +0 -2
  591. package/dist/components/custom/scheduler-temporal/logic/dates/daysBetweenTwoDates.d.ts.map +0 -1
  592. package/dist/components/custom/scheduler-temporal/logic/dates/daysBetweenTwoDatesWithoutCeil.d.ts +0 -2
  593. package/dist/components/custom/scheduler-temporal/logic/dates/daysBetweenTwoDatesWithoutCeil.d.ts.map +0 -1
  594. package/dist/components/custom/scheduler-temporal/logic/dates/getFormatedTimeForHeader.d.ts +0 -7
  595. package/dist/components/custom/scheduler-temporal/logic/dates/getFormatedTimeForHeader.d.ts.map +0 -1
  596. package/dist/components/custom/scheduler-temporal/logic/dates/getMonthHeaderData.d.ts +0 -10
  597. package/dist/components/custom/scheduler-temporal/logic/dates/getMonthHeaderData.d.ts.map +0 -1
  598. package/dist/components/custom/scheduler-temporal/logic/dates/getUtcToday.d.ts +0 -2
  599. package/dist/components/custom/scheduler-temporal/logic/dates/getUtcToday.d.ts.map +0 -1
  600. package/dist/components/custom/scheduler-temporal/logic/dates/getWeekHeaderDataFromWeekRange.d.ts +0 -7
  601. package/dist/components/custom/scheduler-temporal/logic/dates/getWeekHeaderDataFromWeekRange.d.ts.map +0 -1
  602. package/dist/components/custom/scheduler-temporal/logic/dates/listOfDatesToWeeks.d.ts +0 -8
  603. package/dist/components/custom/scheduler-temporal/logic/dates/listOfDatesToWeeks.d.ts.map +0 -1
  604. package/dist/components/custom/scheduler-temporal/logic/divisions/calculateDivisionType.d.ts +0 -2
  605. package/dist/components/custom/scheduler-temporal/logic/divisions/calculateDivisionType.d.ts.map +0 -1
  606. package/dist/components/custom/scheduler-temporal/logic/divisions/calculateDivisions.d.ts +0 -2
  607. package/dist/components/custom/scheduler-temporal/logic/divisions/calculateDivisions.d.ts.map +0 -1
  608. package/dist/components/custom/scheduler-temporal/logic/filtering/filterAndProcessResources.d.ts +0 -15
  609. package/dist/components/custom/scheduler-temporal/logic/filtering/filterAndProcessResources.d.ts.map +0 -1
  610. package/dist/components/custom/scheduler-temporal/logic/filtering/filterEvents.d.ts +0 -3
  611. package/dist/components/custom/scheduler-temporal/logic/filtering/filterEvents.d.ts.map +0 -1
  612. package/dist/components/custom/scheduler-temporal/logic/filtering/filterResources.d.ts +0 -3
  613. package/dist/components/custom/scheduler-temporal/logic/filtering/filterResources.d.ts.map +0 -1
  614. package/dist/components/custom/scheduler-temporal/logic/onDrop/OnDrop.d.ts +0 -13
  615. package/dist/components/custom/scheduler-temporal/logic/onDrop/OnDrop.d.ts.map +0 -1
  616. package/dist/components/custom/scheduler-temporal/logic/pixels/getPixelsForEvent.d.ts +0 -17
  617. package/dist/components/custom/scheduler-temporal/logic/pixels/getPixelsForEvent.d.ts.map +0 -1
  618. package/dist/components/custom/scheduler-temporal/logic/pixels/heightScheduler.d.ts +0 -3
  619. package/dist/components/custom/scheduler-temporal/logic/pixels/heightScheduler.d.ts.map +0 -1
  620. package/dist/components/custom/scheduler-temporal/logic/state_handle/doubleClickOnResource.d.ts +0 -4
  621. package/dist/components/custom/scheduler-temporal/logic/state_handle/doubleClickOnResource.d.ts.map +0 -1
  622. package/dist/components/custom/scheduler-temporal/logic/state_handle/onDragOver.d.ts +0 -2
  623. package/dist/components/custom/scheduler-temporal/logic/state_handle/onDragOver.d.ts.map +0 -1
  624. package/dist/components/custom/scheduler-temporal/logic/state_handle/onDropEventToResource.d.ts +0 -5
  625. package/dist/components/custom/scheduler-temporal/logic/state_handle/onDropEventToResource.d.ts.map +0 -1
  626. package/dist/components/custom/scheduler-temporal/logic/state_handle/onResizeEvent.d.ts +0 -4
  627. package/dist/components/custom/scheduler-temporal/logic/state_handle/onResizeEvent.d.ts.map +0 -1
  628. package/dist/components/custom/scheduler-temporal/logic/strings/compareStrings.d.ts +0 -2
  629. package/dist/components/custom/scheduler-temporal/logic/strings/compareStrings.d.ts.map +0 -1
  630. package/dist/components/custom/scheduler-temporal/logic/strings/getGUID.d.ts +0 -2
  631. package/dist/components/custom/scheduler-temporal/logic/strings/getGUID.d.ts.map +0 -1
  632. package/dist/components/custom/scheduler-temporal/logic/ui/checkIfSlotAvailable.d.ts +0 -3
  633. package/dist/components/custom/scheduler-temporal/logic/ui/checkIfSlotAvailable.d.ts.map +0 -1
  634. package/dist/components/custom/scheduler-temporal/logic/ui/getEventsOfResource.d.ts +0 -6
  635. package/dist/components/custom/scheduler-temporal/logic/ui/getEventsOfResource.d.ts.map +0 -1
  636. package/dist/components/custom/scheduler-temporal/logic/ui/getTimeHeaders.d.ts +0 -2
  637. package/dist/components/custom/scheduler-temporal/logic/ui/getTimeHeaders.d.ts.map +0 -1
  638. package/dist/components/custom/scheduler-temporal/logic/ui/isAllowedToMove.d.ts +0 -3
  639. package/dist/components/custom/scheduler-temporal/logic/ui/isAllowedToMove.d.ts.map +0 -1
  640. package/dist/components/custom/scheduler-temporal/state/CblDragAndDrop.d.ts +0 -11
  641. package/dist/components/custom/scheduler-temporal/state/CblDragAndDrop.d.ts.map +0 -1
  642. package/dist/components/custom/scheduler-temporal/state/CwSchedulerProps.d.ts +0 -43
  643. package/dist/components/custom/scheduler-temporal/state/CwSchedulerProps.d.ts.map +0 -1
  644. package/dist/components/custom/scheduler-temporal/state/Resource.d.ts +0 -14
  645. package/dist/components/custom/scheduler-temporal/state/Resource.d.ts.map +0 -1
  646. package/dist/components/custom/scheduler-temporal/state/State.d.ts +0 -25
  647. package/dist/components/custom/scheduler-temporal/state/State.d.ts.map +0 -1
  648. package/dist/components/custom/scheduler-temporal/state/cblEvent.d.ts +0 -18
  649. package/dist/components/custom/scheduler-temporal/state/cblEvent.d.ts.map +0 -1
  650. package/dist/components/custom/scheduler-temporal/state/cblEventCompProps.d.ts +0 -7
  651. package/dist/components/custom/scheduler-temporal/state/cblEventCompProps.d.ts.map +0 -1
  652. package/dist/components/custom/super-scheduler/PinRowHeader.d.ts +0 -15
  653. package/dist/components/custom/super-scheduler/PinRowHeader.d.ts.map +0 -1
  654. package/dist/components/custom/super-scheduler/SuperScheduler.d.ts +0 -25
  655. package/dist/components/custom/super-scheduler/SuperScheduler.d.ts.map +0 -1
  656. package/dist/components/custom/super-scheduler/SuperSchedulerEvents.d.ts +0 -13
  657. package/dist/components/custom/super-scheduler/SuperSchedulerEvents.d.ts.map +0 -1
  658. package/dist/components/custom/super-scheduler/SuperSchedulerPresenter.d.ts +0 -9
  659. package/dist/components/custom/super-scheduler/SuperSchedulerPresenter.d.ts.map +0 -1
  660. package/dist/components/display/data/accordion/CwAccordionContainer.d.ts +0 -14
  661. package/dist/components/display/data/accordion/CwAccordionContainer.d.ts.map +0 -1
  662. package/dist/components/display/data/generic_tooltip/CwGenericTooltip.d.ts +0 -15
  663. package/dist/components/display/data/generic_tooltip/CwGenericTooltip.d.ts.map +0 -1
  664. package/dist/components/display/data/table/CwTable.d.ts +0 -102
  665. package/dist/components/display/data/table/CwTable.d.ts.map +0 -1
  666. package/dist/components/display/graphics/icon/CwIcon.d.ts +0 -15
  667. package/dist/components/display/graphics/icon/CwIcon.d.ts.map +0 -1
  668. package/dist/components/display/graphics/loading/CwLoading.d.ts +0 -42
  669. package/dist/components/display/graphics/loading/CwLoading.d.ts.map +0 -1
  670. package/dist/components/display/graphics/loading-small/CwLoadingSmall.d.ts +0 -18
  671. package/dist/components/display/graphics/loading-small/CwLoadingSmall.d.ts.map +0 -1
  672. package/dist/components/display/text/heading/CwHeadingMain.d.ts +0 -3
  673. package/dist/components/display/text/heading/CwHeadingMain.d.ts.map +0 -1
  674. package/dist/components/display/text/heading/CwHeadingSecond.d.ts +0 -3
  675. package/dist/components/display/text/heading/CwHeadingSecond.d.ts.map +0 -1
  676. package/dist/components/display/text/label/CwLabel.d.ts +0 -28
  677. package/dist/components/display/text/label/CwLabel.d.ts.map +0 -1
  678. package/dist/components/display/text/message/CwMessage.d.ts +0 -31
  679. package/dist/components/display/text/message/CwMessage.d.ts.map +0 -1
  680. package/dist/components/display/text/tag/CwChip.d.ts +0 -36
  681. package/dist/components/display/text/tag/CwChip.d.ts.map +0 -1
  682. package/dist/components/display/text/tag/CwTag.d.ts +0 -16
  683. package/dist/components/display/text/tag/CwTag.d.ts.map +0 -1
  684. package/dist/components/display/text/tooltip/CwTooltip.d.ts +0 -8
  685. package/dist/components/display/text/tooltip/CwTooltip.d.ts.map +0 -1
  686. package/dist/components/layout/align/CwAlign.d.ts +0 -54
  687. package/dist/components/layout/align/CwAlign.d.ts.map +0 -1
  688. package/dist/components/layout/card/CwCard.d.ts +0 -61
  689. package/dist/components/layout/card/CwCard.d.ts.map +0 -1
  690. package/dist/components/layout/card/CwCardList.d.ts +0 -32
  691. package/dist/components/layout/card/CwCardList.d.ts.map +0 -1
  692. package/dist/components/layout/dialog/CwDialog.d.ts +0 -28
  693. package/dist/components/layout/dialog/CwDialog.d.ts.map +0 -1
  694. package/dist/components/layout/dialog/CwDialogManager.d.ts +0 -11
  695. package/dist/components/layout/dialog/CwDialogManager.d.ts.map +0 -1
  696. package/dist/components/layout/list/details/CwExpandable.d.ts +0 -23
  697. package/dist/components/layout/list/details/CwExpandable.d.ts.map +0 -1
  698. package/dist/components/layout/list/key-value/CwKeyValueList.d.ts +0 -33
  699. package/dist/components/layout/list/key-value/CwKeyValueList.d.ts.map +0 -1
  700. package/dist/components/layout/modal/CwModalReportFunctional.d.ts +0 -15
  701. package/dist/components/layout/modal/CwModalReportFunctional.d.ts.map +0 -1
  702. package/dist/components/layout/modal/hover/CwModalHover.d.ts +0 -19
  703. package/dist/components/layout/modal/hover/CwModalHover.d.ts.map +0 -1
  704. package/dist/components/layout/modal/legacy/cw_modal.d.ts +0 -22
  705. package/dist/components/layout/modal/legacy/cw_modal.d.ts.map +0 -1
  706. package/dist/components/layout/modal/legacy/cw_modal_confirm.d.ts +0 -16
  707. package/dist/components/layout/modal/legacy/cw_modal_confirm.d.ts.map +0 -1
  708. package/dist/components/layout/modal/legacy/cw_modal_iframe.d.ts +0 -21
  709. package/dist/components/layout/modal/legacy/cw_modal_iframe.d.ts.map +0 -1
  710. package/dist/components/layout/modal/legacy/cw_modal_report.d.ts +0 -32
  711. package/dist/components/layout/modal/legacy/cw_modal_report.d.ts.map +0 -1
  712. package/dist/components/layout/table/grouped/CwTableGrouped.d.ts.map +0 -1
  713. package/dist/components/layout/tabs/CwTabs.d.ts +0 -46
  714. package/dist/components/layout/tabs/CwTabs.d.ts.map +0 -1
  715. package/dist/index.d.ts.map +0 -1
@@ -0,0 +1,52 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from "react";
3
+ export function CwFileUpload(fileUploadProps) {
4
+ const [previewURL, setPreviewURL] = useState("");
5
+ const [error, setError] = useState(null);
6
+ const [_selectedFileName, setSelectedFileName] = useState("");
7
+ const [_currentHexContent, setCurrentHexContent] = useState("");
8
+ useEffect(() => {
9
+ // If there is hexadecimal preview content, set the Preview URL
10
+ if (fileUploadProps.file?.Bindata) {
11
+ setPreviewURL(`data:image/png;base64,${fileUploadProps.file.Bindata}`);
12
+ }
13
+ }, [fileUploadProps.file?.Bindata]);
14
+ const handleFileChange = (event) => {
15
+ const file = event.target.files?.[0];
16
+ setSelectedFileName(file?.name ?? "");
17
+ if (file) {
18
+ const allowedExts = fileUploadProps.accept.split(',').map(ext => ext.trim().replace('.', '').toLowerCase());
19
+ const fileExt = file.name.split('.').pop()?.toLowerCase() ?? "";
20
+ if (!allowedExts.includes(fileExt)) {
21
+ setError(`Invalid file type. Only ${fileUploadProps.acceptString} files are allowed.`);
22
+ setPreviewURL("");
23
+ return;
24
+ }
25
+ setError(null);
26
+ const reader = new FileReader();
27
+ reader.onloadend = () => {
28
+ if (typeof reader.result === "string") {
29
+ const hexContent = arrayBufferToHex(reader.result);
30
+ setCurrentHexContent(hexContent);
31
+ setPreviewURL(reader.result);
32
+ setCurrentHexContent(arrayBufferToHex(reader.result));
33
+ // Call function to store hexadecimal content
34
+ fileUploadProps.onSaveHexContent(arrayBufferToHex(reader.result));
35
+ }
36
+ };
37
+ reader.readAsDataURL(file);
38
+ }
39
+ };
40
+ // Function to convert the image buffer into hexadecimal content
41
+ const arrayBufferToHex = (dataUrl) => {
42
+ // Decodes the base64 of the URL data
43
+ const base64 = dataUrl.split(",")[1];
44
+ const binary = atob(base64);
45
+ let hex = "";
46
+ for (let i = 0; i < binary.length; i++) {
47
+ hex += binary.charCodeAt(i).toString(16).padStart(2, "0");
48
+ }
49
+ return hex;
50
+ };
51
+ return (_jsxs("div", { children: [_jsxs("div", { className: "row", children: [_jsx("input", { className: "cw-button", type: "file", accept: fileUploadProps.accept, readOnly: true, placeholder: "No file selected...", onChange: handleFileChange }), previewURL && (_jsx("div", { className: "row", children: _jsx("img", { src: previewURL, alt: "Preview", style: { maxWidth: "200px", maxHeight: "200px" } }) }))] }), error && _jsx("div", { className: "row error", children: error }), _jsx("div", { className: "row", children: _jsxs("label", { children: ["Please note: File/image has to be in ", fileUploadProps.acceptString, " format", fileUploadProps.sizeString && `, ${fileUploadProps.sizeString}`] }) })] }));
52
+ }
@@ -0,0 +1,148 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef, useState } from 'react';
3
+ import { CwIcon } from '../../../display/graphics/icon/CwIcon';
4
+ import { CwButton } from '../../action/button/CwButton';
5
+ import styles from "./cw-file-upload-multiple.module.css";
6
+ export function CwFileUploadMultiple(fileUploadProps) {
7
+ const fileInputRef = useRef(null);
8
+ const [selectedFiles, setSelectedFiles] = useState([]);
9
+ const getFileExtension = (filename) => {
10
+ return filename.split('.').pop()?.toUpperCase() || '';
11
+ };
12
+ const validateFile = (file) => {
13
+ // Validate the size of the file
14
+ if (fileUploadProps.maxFileSize) {
15
+ const fileSizeInMB = file.size / (1024 * 1024);
16
+ if (fileSizeInMB > fileUploadProps.maxFileSize) {
17
+ return {
18
+ isValid: false,
19
+ error: `File "${file.name}" is too large. Maximum size allowed is ${fileUploadProps.maxFileSize}MB.`
20
+ };
21
+ }
22
+ }
23
+ // Validate file type by extension (based in accept)
24
+ if (fileUploadProps.accept) {
25
+ const acceptedExtensions = fileUploadProps.accept.split(',').map(ext => ext.trim().toLowerCase());
26
+ const fileExtension = '.' + file.name.split('.').pop()?.toLowerCase();
27
+ const isExtensionValid = acceptedExtensions.some(ext => {
28
+ if (ext.startsWith('.')) {
29
+ return ext === fileExtension;
30
+ }
31
+ return false;
32
+ });
33
+ if (!isExtensionValid) {
34
+ return {
35
+ isValid: false,
36
+ error: `File "${file.name}" has an invalid format. Allowed formats: ${fileUploadProps.accept}`
37
+ };
38
+ }
39
+ }
40
+ // Validate MIME type if specified
41
+ if (fileUploadProps.allowedTypes && fileUploadProps.allowedTypes.length > 0) {
42
+ const isMimeTypeValid = fileUploadProps.allowedTypes.includes(file.type);
43
+ if (!isMimeTypeValid) {
44
+ return {
45
+ isValid: false,
46
+ error: `File "${file.name}" has an invalid MIME type. Allowed types: ${fileUploadProps.allowedTypes.join(', ')}`
47
+ };
48
+ }
49
+ }
50
+ return { isValid: true };
51
+ };
52
+ const processFiles = (files, existingFiles = []) => {
53
+ const fileArray = Array.from(files);
54
+ const validFiles = [...existingFiles]; // Start with existing files
55
+ const errors = [];
56
+ for (const file of fileArray) {
57
+ // Check if the file already exists (by name and size)
58
+ const isDuplicate = existingFiles.some(existingFile => existingFile.name === file.name && existingFile.size === file.size);
59
+ if (isDuplicate) {
60
+ errors.push(`File "${file.name}" is already selected.`);
61
+ continue;
62
+ }
63
+ const validation = validateFile(file);
64
+ if (!validation.isValid) {
65
+ errors.push(validation.error);
66
+ continue;
67
+ }
68
+ validFiles.push(file);
69
+ }
70
+ // Show errors if any
71
+ if (errors.length > 0) {
72
+ if (fileUploadProps.onError) {
73
+ fileUploadProps.onError(errors.join('\n'));
74
+ }
75
+ else {
76
+ console.error(errors.join('\n'));
77
+ alert(errors.join('\n')); // Fallback if there is no onError
78
+ }
79
+ }
80
+ // If not multiple, only take the first valid file (replace)
81
+ if (!fileUploadProps.multiple && validFiles.length > 1) {
82
+ return [validFiles[validFiles.length - 1]]; // Take the last file added
83
+ }
84
+ return validFiles;
85
+ };
86
+ const updateFileInput = (files) => {
87
+ // Create FileList with all files
88
+ const dataTransfer = new DataTransfer();
89
+ files.forEach(file => dataTransfer.items.add(file));
90
+ if (fileInputRef.current) {
91
+ fileInputRef.current.files = dataTransfer.files;
92
+ }
93
+ if (fileUploadProps.onSelect) {
94
+ fileUploadProps.onSelect(dataTransfer.files);
95
+ }
96
+ };
97
+ const handleFileSelect = (event) => {
98
+ const files = event.target.files;
99
+ if (files && files.length > 0) {
100
+ const updatedFiles = processFiles(files, selectedFiles);
101
+ if (updatedFiles.length > selectedFiles.length || !fileUploadProps.multiple) {
102
+ setSelectedFiles(updatedFiles);
103
+ updateFileInput(updatedFiles);
104
+ }
105
+ else {
106
+ // Clear input if no new valid files were added
107
+ if (fileInputRef.current) {
108
+ fileInputRef.current.value = '';
109
+ }
110
+ }
111
+ }
112
+ };
113
+ const removeFile = (indexToRemove) => {
114
+ const newFiles = selectedFiles.filter((_, index) => index !== indexToRemove);
115
+ setSelectedFiles(newFiles);
116
+ updateFileInput(newFiles);
117
+ };
118
+ const removeAllFiles = () => {
119
+ setSelectedFiles([]);
120
+ if (fileInputRef.current) {
121
+ fileInputRef.current.value = '';
122
+ }
123
+ if (fileUploadProps.onSelect) {
124
+ fileUploadProps.onSelect(null);
125
+ }
126
+ };
127
+ const handleButtonClick = () => {
128
+ fileInputRef.current?.click();
129
+ };
130
+ const handleDragOver = (event) => {
131
+ event.preventDefault();
132
+ event.stopPropagation();
133
+ };
134
+ const handleDrop = (event) => {
135
+ event.preventDefault();
136
+ event.stopPropagation();
137
+ const files = event.dataTransfer.files;
138
+ if (files && files.length > 0) {
139
+ const updatedFiles = processFiles(files, selectedFiles);
140
+ if (updatedFiles.length > selectedFiles.length || !fileUploadProps.multiple) {
141
+ setSelectedFiles(updatedFiles);
142
+ updateFileInput(updatedFiles);
143
+ }
144
+ }
145
+ };
146
+ return (_jsxs("div", { className: `${styles.fileUploadContainer} ${fileUploadProps.className}`, children: [_jsx("input", { ref: fileInputRef, type: "file", name: fileUploadProps.name, accept: fileUploadProps.accept, multiple: fileUploadProps.multiple, onChange: handleFileSelect, disabled: fileUploadProps.disabled, "aria-label": "files", className: styles.hiddenInput }), selectedFiles.length === 0 ? (_jsxs("div", { className: `${styles.uploadArea} ${fileUploadProps.disabled ? styles.uploadAreaDisabled : ''}`, onDragOver: handleDragOver, onDrop: handleDrop, onClick: !fileUploadProps.disabled ? handleButtonClick : undefined, children: [_jsx(CwIcon, { iconId: "upload" }), _jsx("p", { className: `${styles.uploadTitle}`, children: fileUploadProps.disabled ? 'Upload disabled' : 'Click to upload or drag and drop' }), _jsxs("p", { className: `${styles.uploadSubtitle}`, children: [fileUploadProps.accept ? `Accepted files: ${fileUploadProps.accept}` : 'All file types accepted', !fileUploadProps.multiple && ' (Single file only)'] })] })) : (_jsxs("div", { className: styles.filesContainer, children: [_jsxs("div", { className: "cw-flex-row cw-align-between-center", children: [_jsxs("small", { className: styles.filesCount, children: [selectedFiles.length, " file", selectedFiles.length !== 1 ? 's' : '', " selected"] }), _jsx(CwButton, { onClick: removeAllFiles, disabled: fileUploadProps.disabled, color: "danger", variant: "outline", icon: "delete", text: "Clear all" })] }), selectedFiles.map((file, index) => (_jsxs("div", { className: styles.fileItem, children: [_jsxs("div", { className: styles.fileIcon, children: [_jsx(CwIcon, { iconId: "page" }), _jsx("span", { className: styles.fileExtension, children: getFileExtension(file.name) })] }), _jsxs("div", { className: styles.fileInfo, children: [_jsx("p", { className: styles.fileName, children: file.name }), _jsxs("p", { className: styles.fileSize, children: [(file.size / 1024).toFixed(1), " KB"] })] }), _jsx(CwButton, { variant: "icon", icon: "close", color: "neutral", onClick: () => removeFile(index), className: styles.smallButton })] }, index))), fileUploadProps.multiple && (_jsx(CwButton, { text: "Add More Files", icon: "plus", variant: "outline", onClick: handleButtonClick, disabled: fileUploadProps.disabled })), !fileUploadProps.multiple && (_jsx(CwButton, { text: "Change File", icon: "refresh", onClick: handleButtonClick, disabled: fileUploadProps.disabled }))] }))] }));
147
+ }
148
+ ;
@@ -0,0 +1,52 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef, useState } from "react";
3
+ import { CwButton } from "../../../../components/control/action/button/CwButton";
4
+ import { CwIcon } from "../../../../components/display/graphics/icon/CwIcon";
5
+ export function CwInputImage(props) {
6
+ const [_uploadedImage, setUploadedImage] = useState(null);
7
+ const inputRef = useRef(null);
8
+ const { allowedImageFormats, onChange, ...inputProps } = props;
9
+ const allowedFormats = allowedImageFormats || ["image/jpeg", "image/png", "image/gif"];
10
+ const isValidFileType = (type) => allowedFormats.includes(type);
11
+ const handleFile = (file) => {
12
+ if (file && isValidFileType(file.type)) {
13
+ const imgURL = URL.createObjectURL(file);
14
+ setUploadedImage(imgURL);
15
+ if (onChange)
16
+ onChange(imgURL);
17
+ }
18
+ else {
19
+ // Optionally handle unsupported file types
20
+ if (onChange)
21
+ onChange(null);
22
+ }
23
+ };
24
+ const handleDrop = (e) => {
25
+ e.preventDefault();
26
+ const file = e.dataTransfer.files[0];
27
+ handleFile(file);
28
+ };
29
+ const onPasteButtonClick = async () => {
30
+ try {
31
+ const clipboard = navigator.clipboard;
32
+ const clipboardItems = await clipboard.read();
33
+ for (const clipboardItem of clipboardItems) {
34
+ for (const type of clipboardItem.types) {
35
+ if (type.startsWith("image/")) {
36
+ const blob = await clipboardItem.getType(type);
37
+ handleFile(blob);
38
+ }
39
+ }
40
+ }
41
+ }
42
+ catch (err) {
43
+ console.error("Failed to read clipboard:", err);
44
+ alert("Failed to read from clipboard. Ensure the app has permission to access clipboard.");
45
+ }
46
+ };
47
+ const handleFileChange = (e) => {
48
+ const file = e.target.files?.[0];
49
+ handleFile(file ?? null);
50
+ };
51
+ return (_jsxs("div", { className: "cw-input-image", children: [_jsxs("div", { onDragOver: (e) => e.preventDefault(), onDrop: handleDrop, style: { border: "2px dashed #ccc", padding: "20px", textAlign: "center" }, children: [_jsx("p", { children: "Drop image here" }), _jsxs("small", { children: ["(", allowedFormats.join(", ").replace(/image\//g, ""), ")"] })] }), _jsxs("div", { style: { display: "flex", justifyContent: "center" }, children: [_jsxs(CwButton, { style: { margin: "2px" }, onClick: onPasteButtonClick, children: [_jsx(CwIcon, { iconId: "paste" }), "\u2002Paste"] }), _jsxs(CwButton, { style: { margin: "2px" }, onClick: () => inputRef.current?.click(), children: [_jsx(CwIcon, { iconId: "folder-open" }), "\u2002Browse"] })] }), _jsx("input", { ref: inputRef, type: "file", accept: allowedFormats.join(","), onChange: handleFileChange, style: { display: "none" }, ...inputProps })] }));
52
+ }
@@ -0,0 +1,113 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { forwardRef, useCallback, useImperativeHandle, useRef, useState } from "react";
3
+ import { CwAlign } from "../../../../components/layout/align/CwAlign";
4
+ /**
5
+ * An image with a selectable rectangle region, useful for cropping or selecting a section of the image
6
+ * @remarks ```txt
7
+ * ╭――――――――――――――――――――――――――――――――――――╮
8
+ * │ +═══════════════════+ │
9
+ * │ ║ .:::::::. ║ │
10
+ * │ ║ .' '::: ║ │
11
+ * │ ║ : ::. ║ │
12
+ * │ ║ :- -- ' : ║ │
13
+ * │ ║ : ..: ║ │
14
+ * │ ║ :.-- .'::; ║ │
15
+ * │ ║ ::.__ .' ':;_ ║ │
16
+ * │ ║ ::/""". .' ""║._ │
17
+ * │ +═══════════════════+ : │
18
+ * │ .::: .'..' ' │
19
+ * │ . :' . ' ': │
20
+ * │ : ' .: . . . │
21
+ * │ :' .: : .: "--__ │
22
+ * │ /' .:: : . │
23
+ * │ _: . :::: ' . │
24
+ * │.' '-----------: . │
25
+ * │ : '---''--'-- │
26
+ * │ '--'"""""----------'' │
27
+ * ╰――――――――――――――――――――――――――――――――――――╯
28
+ * ```
29
+ * @example
30
+ * <CwImageArea src="path/to/image.png" _onSelectionSuccess={img => setImage(img)} />
31
+ */
32
+ export const CwImageArea = forwardRef((props, ref) => {
33
+ const { alignProps: alignProps, initialSelectionArea: initialSelectionArea, onSelectionEnd, onSelectionStart, onSelectionSuccess, selectionAreaAttenuation: selectionAreaAttenuation, selectionAreaStyle: selectionAreaStyle, ...imgProps } = props;
34
+ // Default no-op functions for selection callbacks
35
+ const onSelectionStartHandler = onSelectionStart || (() => true);
36
+ const onSelectionEndHandler = onSelectionEnd || (() => true);
37
+ const onSelectionSuccessHandler = onSelectionSuccess || (() => { });
38
+ // Ref to the image element and state management hooks
39
+ const imageRef = useRef(null);
40
+ const [selectedImage, setSelectedImage] = useState();
41
+ const [opacity, setOpacity] = useState(selectionAreaAttenuation ?? selectionAreaStyle?.opacity ?? "1.0");
42
+ // Track drag start position and selected area
43
+ const [dragStart, setDragStart] = useState(null);
44
+ const [selectedArea, setSelectedArea] = useState(initialSelectionArea ?? null);
45
+ // Expose component methods using ref
46
+ useImperativeHandle(ref, () => ({
47
+ getSelectedImage: () => selectedImage
48
+ }));
49
+ // Handle mouse down event to initiate selection
50
+ const onMouseDown = useCallback((event) => {
51
+ const rect = imageRef.current?.getBoundingClientRect();
52
+ if (rect) {
53
+ const x = event.clientX - rect.left;
54
+ const y = event.clientY - rect.top;
55
+ if (onSelectionStartHandler(x, y)) {
56
+ setDragStart({ x, y });
57
+ }
58
+ setSelectedArea(null);
59
+ setOpacity(selectionAreaStyle?.opacity ?? 1);
60
+ }
61
+ }, [onSelectionStartHandler]);
62
+ // Update selection area as mouse moves
63
+ const onMouseMove = useCallback((event) => {
64
+ if (dragStart && imageRef.current) {
65
+ const rect = imageRef.current.getBoundingClientRect();
66
+ const currentX = event.clientX - rect.left;
67
+ const currentY = event.clientY - rect.top;
68
+ const width = Math.abs(currentX - dragStart.x);
69
+ const height = Math.abs(currentY - dragStart.y);
70
+ setSelectedArea(new DOMRect(Math.min(dragStart.x, currentX), Math.min(dragStart.y, currentY), width, height));
71
+ }
72
+ }, [dragStart]);
73
+ // Finalize selection on mouse up
74
+ const onMouseUp = useCallback(() => {
75
+ if (selectedArea && imageRef.current) {
76
+ // Calculate and scale the selected area to the image's natural size
77
+ const rect = imageRef.current.getBoundingClientRect();
78
+ const scaleX = imageRef.current.naturalWidth / rect.width;
79
+ const scaleY = imageRef.current.naturalHeight / rect.height;
80
+ const scaledArea = new DOMRect(selectedArea.x * scaleX, selectedArea.y * scaleY, selectedArea.width * scaleX, selectedArea.height * scaleY);
81
+ if (onSelectionEndHandler(scaledArea))
82
+ createSelectedImage(scaledArea);
83
+ setOpacity(selectionAreaAttenuation ?? selectionAreaStyle?.opacity ?? 1);
84
+ setDragStart(null);
85
+ }
86
+ }, [selectedArea, onSelectionEndHandler]);
87
+ // Create an image from the selected area
88
+ const createSelectedImage = useCallback((scaledArea) => {
89
+ const canvas = document.createElement("canvas");
90
+ canvas.width = scaledArea.width;
91
+ canvas.height = scaledArea.height;
92
+ const ctx = canvas.getContext("2d");
93
+ if (imageRef.current && ctx) {
94
+ ctx.drawImage(imageRef.current, scaledArea.x, scaledArea.y, scaledArea.width, scaledArea.height, 0, 0, canvas.width, canvas.height);
95
+ const selectedImageURL = canvas.toDataURL("image/png");
96
+ setSelectedImage(selectedImageURL);
97
+ onSelectionSuccessHandler(selectedImageURL);
98
+ }
99
+ }, [onSelectionSuccessHandler]);
100
+ // Render the component UI
101
+ return (_jsx("div", { className: "cw-image-area", children: _jsxs(CwAlign, { position: "relative", ...alignProps, children: [_jsx("img", { ref: imageRef, onMouseDown: onMouseDown, onMouseMove: onMouseMove, onMouseUp: onMouseUp, onDragStart: e => e.preventDefault(), ...imgProps }), selectedArea && (_jsx("section", { style: {
102
+ ...selectionAreaStyle,
103
+ height: `${selectedArea.height}px`,
104
+ left: `${selectedArea.x}px`,
105
+ opacity: opacity,
106
+ pointerEvents: "none",
107
+ position: "absolute",
108
+ top: `${selectedArea.y}px`,
109
+ transition: "opacity 0.5s ease-in-out",
110
+ width: `${selectedArea.width}px`
111
+ } }))] }) }));
112
+ });
113
+ CwImageArea.displayName = "CwImageArea";
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export function CwInputNumber(CwInputNumberProps) {
3
+ const handleChange = (e) => {
4
+ CwInputNumberProps.onChange(e.target.value);
5
+ };
6
+ return (_jsxs("div", { className: CwInputNumberProps.labelPosition == "column"
7
+ ? "cw-flex-column cw-gap-none"
8
+ : "cw-flex-row", children: [_jsx("label", { className: CwInputNumberProps.disabled === true
9
+ ? CwInputNumberProps.labelClassName + " " + "cw_label_text cw_label_text_disabled"
10
+ : CwInputNumberProps.labelClassName + " " + "cw_label_text", children: CwInputNumberProps.labelName }), _jsx("input", { id: CwInputNumberProps.id, type: "number", value: CwInputNumberProps.value, onChange: e => handleChange(e), className: CwInputNumberProps.className + " " + " cw-input-number", placeholder: CwInputNumberProps.placeholder == undefined ? "Write a number please" : CwInputNumberProps.placeholder, style: CwInputNumberProps.style, disabled: CwInputNumberProps.disabled, required: CwInputNumberProps.required, step: CwInputNumberProps.step, min: CwInputNumberProps.min, max: CwInputNumberProps.max })] }));
11
+ }
@@ -0,0 +1,24 @@
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 telephone number.
8
+ * @remarks
9
+ * ```txt
10
+ * CwIcon CwLabel CwSelect CwButton
11
+ * ↑ ↑ ↑ ↑
12
+ * ╭────────────────────╮╭════╮
13
+ * ( Phone ││ 0123456789+ │║ Ok ║
14
+ * ╰────────────────────╯╰════╯
15
+ * ```
16
+ * @example
17
+ * ```tsx
18
+ * <CwInputPhone iconProps={{iconId:"phone"}} labelProps={{children:"Phone"}} />
19
+ * ```
20
+ */
21
+ export function CwInputPhone(props) {
22
+ const { alignProps, buttonProps, iconProps, labelProps, ...inputProps } = props;
23
+ return (_jsx("div", { className: "cw-input-phone", children: _jsxs(CwAlign, { ...alignProps, itemProp: inputProps.required === true ? "required" : "", children: [labelProps && (_jsxs(CwLabel, { ...labelProps, children: [iconProps && _jsx(CwIcon, { ...iconProps }), labelProps.text] })), _jsx("input", { type: "tel", placeholder: "+## ### ### ###", pattern: "[+0-9 ]*", maxLength: 16, ...inputProps }), buttonProps && _jsx(CwButton, { ...buttonProps })] }) }));
24
+ }
@@ -3,7 +3,7 @@ import { CwButtonProps } from "../../../../components/control/action/button/CwBu
3
3
  import { CwIconProps } from "../../../../components/display/graphics/icon/CwIcon";
4
4
  import { CwLabelProps } from "../../../../components/display/text/label/CwLabel";
5
5
  import { CwAlignProps } from "../../../../components/layout/align/CwAlign";
6
- export interface CwInputTextProps extends Omit<HTMLProps<HTMLInputElement>, "className"> {
6
+ export interface CwInputTextProps extends Omit<HTMLProps<HTMLInputElement>, never> {
7
7
  /** Props to define alignment and size; undefined == column
8
8
  * @example alignProps={{direction:"row"}} */
9
9
  alignProps?: CwAlignProps;
@@ -1 +1 @@
1
- {"version":3,"file":"CwInputText.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/input/text/CwInputText.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAY,aAAa,EAAE,MAAM,uDAAuD,CAAC;AAChG,OAAO,EAAU,WAAW,EAAE,MAAM,qDAAqD,CAAC;AAC1F,OAAO,EAAW,YAAY,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAW,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAEpF,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC;IACvF;iDAC6C;IAC7C,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B;gDAC4C;IAC5C,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B;8DAC0D;IAC1D,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B;+CAC2C;IAC3C,SAAS,CAAC,EAAE,WAAW,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAiBlD"}
1
+ {"version":3,"file":"CwInputText.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/input/text/CwInputText.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAY,aAAa,EAAE,MAAM,uDAAuD,CAAC;AAChG,OAAO,EAAU,WAAW,EAAE,MAAM,qDAAqD,CAAC;AAC1F,OAAO,EAAW,YAAY,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAW,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAEpF,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC;IACjF;iDAC6C;IAC7C,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B;gDAC4C;IAC5C,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B;8DAC0D;IAC1D,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B;+CAC2C;IAC3C,SAAS,CAAC,EAAE,WAAW,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAqBlD"}
@@ -0,0 +1,31 @@
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 CwSelect CwButton
11
+ * ↑ ↑ ↑ ↑
12
+ * ╭────────────────────╮╭════╮
13
+ * ⌂ Address ││ Sunset Valley, 2 │║ Ok ║
14
+ * ╰────────────────────╯╰════╯
15
+ * ```
16
+ * @example
17
+ * ```tsx
18
+ * <CwInputText
19
+ * iconProps={{ id: "home" }}
20
+ * labelProps={{ children: "Name", width: "100px" }}
21
+ * buttonProps={{ children: "Ok", onclick:()=>{alert("hi")} }}
22
+ * />
23
+ * ```
24
+ */
25
+ export function CwInputText(props) {
26
+ const { alignProps, buttonProps, iconProps, labelProps, className, ...inputProps } = props;
27
+ const containerClassName = className
28
+ ? `cw-input-text ${className}`
29
+ : "cw-input-text";
30
+ return (_jsx("div", { className: containerClassName, children: _jsxs(CwAlign, { ...alignProps, itemProp: inputProps.required === true ? "required" : "", children: [labelProps && (_jsxs(CwLabel, { ...labelProps, children: [iconProps && _jsx(CwIcon, { ...iconProps }), labelProps.text] })), _jsx("input", { type: props.type ?? "text", ...inputProps }), buttonProps && _jsx(CwButton, { ...buttonProps })] }) }));
31
+ }
@@ -0,0 +1,9 @@
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
+ export function CwTextArea(props) {
7
+ const { alignProps, buttonProps, iconProps, labelProps, resize, ...textareaProps } = props;
8
+ return (_jsx("div", { className: "cw-text-area", children: _jsxs(CwAlign, { ...alignProps, children: [labelProps && (_jsxs(CwLabel, { ...labelProps, children: [iconProps && _jsx(CwIcon, { ...iconProps }), labelProps.text] })), _jsx("textarea", { ...textareaProps, itemProp: textareaProps.required === true ? "required" : "", style: { ...textareaProps.style, resize: resize } }), buttonProps && _jsx(CwButton, { ...buttonProps })] }) }));
9
+ }
@@ -0,0 +1,29 @@
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=time CwButton
11
+ * ↑ ↑ ↑ ↑
12
+ * ╭────────────────────╮╭════╮
13
+ * ⌂ Birthdate │ 00:00 │║ Ok ║
14
+ * ╰────────────────────╯╰════╯
15
+ * ```
16
+ * @example
17
+ * ```tsx
18
+ * <CwTime
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 CwTime(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: "time", ...inputProps }), buttonProps && _jsx(CwButton, { ...buttonProps })] }) }));
29
+ }
@@ -0,0 +1,143 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useState } from "react";
3
+ import styles from "./cw-weekday-selector.module.css";
4
+ /**
5
+ * This class represents a week where days can be selected or unselected
6
+ * @remark Selected days are in UPPERCASE, unselected days are in lowercase
7
+ * ```
8
+ * Monday = "M" | "m"
9
+ * Tuesday = "T" | "t"
10
+ * Wendnesday = "W" | "w"
11
+ * thuRsday = "R" | "r"
12
+ * Friday = "F" | "f"
13
+ * Saturday = "S" | "s"
14
+ * sUnday = "U" | "u"
15
+ * ```
16
+ */
17
+ export class Weekdays {
18
+ static WEEKDAYS_STANDARD_ARRAY_FULL = ["M", "T", "W", "R", "F", "S", "U"];
19
+ static WEEKDAYS_STANDARD_ARRAY_EMPTY = ["m", "t", "w", "r", "f", "s", "u"];
20
+ static WEEKDAYS_STANDARD_STRING_FULL = "MTWRFSU";
21
+ static WEEKDAYS_STANDARD_STRING_EMPTY = "mtwrfsu";
22
+ static WEEKDAYS_TO_USA_LETTER_FORMAT = new Map([
23
+ ["M", "M"],
24
+ ["T", "T"],
25
+ ["W", "W"],
26
+ ["R", "T"],
27
+ ["F", "F"],
28
+ ["S", "S"],
29
+ ["U", "S"]
30
+ ]);
31
+ static WEEKDAYS_TO_USA_SHORT_FORMAT = new Map([
32
+ ["M", "Mon"],
33
+ ["T", "Tue"],
34
+ ["W", "Wed"],
35
+ ["R", "Thu"],
36
+ ["F", "Fri"],
37
+ ["S", "Sat"],
38
+ ["U", "Sun"]
39
+ ]);
40
+ static WEEKDAY_MAP = {
41
+ 0: "U",
42
+ 1: "M",
43
+ 2: "T",
44
+ 3: "W",
45
+ 4: "R",
46
+ 5: "F",
47
+ 6: "S"
48
+ };
49
+ days;
50
+ constructor(days = Weekdays.WEEKDAYS_STANDARD_ARRAY_FULL) {
51
+ if (typeof days === "string")
52
+ this.days = this.normalize(days.split(""));
53
+ else
54
+ this.days = this.normalize(days);
55
+ }
56
+ includes(day) {
57
+ return this.days.includes(day);
58
+ }
59
+ static fromString(value) {
60
+ return new Weekdays(value.split(""));
61
+ }
62
+ static isValidToday(validFrom, validUntil, validWeekdays) {
63
+ const today = new Date();
64
+ // Check if today is within the validity period
65
+ if (today < validFrom || today > validUntil) {
66
+ return false;
67
+ }
68
+ // Convert today's weekday to Weekday type
69
+ const todayWeekday = Weekdays.WEEKDAY_MAP[today.getDay()];
70
+ // Check if today's weekday is in the validWeekdays array
71
+ return validWeekdays.includes(todayWeekday);
72
+ }
73
+ normalize(weekdays) {
74
+ const uniqueWeekdays = new Set(weekdays);
75
+ if (uniqueWeekdays.size != 7)
76
+ throw Error(`Illegal weekday string ${Array.from(uniqueWeekdays).join("")}`);
77
+ return Weekdays.WEEKDAYS_STANDARD_STRING_FULL.split("").map(day => {
78
+ if (uniqueWeekdays.has(day)) {
79
+ return day;
80
+ }
81
+ else if (uniqueWeekdays.has(day.toLowerCase())) {
82
+ return day.toLowerCase();
83
+ }
84
+ else {
85
+ throw Error(`Illegal weekday string ${weekdays.join("")}`);
86
+ }
87
+ });
88
+ }
89
+ toString() {
90
+ return this.days.join("").trim();
91
+ }
92
+ toStringFormatted(limiters = { startExistingDay: "{", endExsitingDay: "}", startMissingDay: "(", endMissingDay: ")", separator: " " }, format = Weekdays.WEEKDAYS_TO_USA_SHORT_FORMAT) {
93
+ const result = new Array();
94
+ [...this.days].forEach((letter, index) => {
95
+ if (letter === letter.toUpperCase()) {
96
+ result.push(limiters.startExistingDay + format.get(letter) + limiters.endExsitingDay);
97
+ }
98
+ else if (letter === letter.toLowerCase()) {
99
+ result.push(limiters.startMissingDay +
100
+ format.get(Weekdays.WEEKDAYS_STANDARD_STRING_FULL.charAt(index)) +
101
+ limiters.endMissingDay);
102
+ }
103
+ });
104
+ return result.join(limiters.separator).trim();
105
+ }
106
+ toArray() {
107
+ return [...this.days];
108
+ }
109
+ isEmpty() {
110
+ return this.toString() === Weekdays.WEEKDAYS_STANDARD_STRING_EMPTY;
111
+ }
112
+ isFull() {
113
+ return this.toString() === Weekdays.WEEKDAYS_STANDARD_STRING_FULL;
114
+ }
115
+ static getFullWeek() {
116
+ return Weekdays.WEEKDAYS_STANDARD_ARRAY_FULL;
117
+ }
118
+ static getEmptyWeek() {
119
+ return Weekdays.WEEKDAYS_STANDARD_ARRAY_EMPTY;
120
+ }
121
+ }
122
+ export const CwWeekdaySelector = ({ value = "", onChange, disabled = false }) => {
123
+ const [selectedDays, setSelectedDays] = useState(Weekdays.fromString(value));
124
+ useEffect(() => {
125
+ setSelectedDays(Weekdays.fromString(value));
126
+ }, [value]);
127
+ const handleChange = (day, checked) => {
128
+ const currentDays = selectedDays.toArray();
129
+ let updated;
130
+ if (checked) {
131
+ updated = currentDays.filter(d => d !== day.toLowerCase());
132
+ updated.push(day);
133
+ }
134
+ else {
135
+ updated = currentDays.filter(d => d !== day);
136
+ updated.push(day.toLowerCase());
137
+ }
138
+ const newWeekdays = new Weekdays(updated);
139
+ setSelectedDays(newWeekdays);
140
+ onChange?.(newWeekdays.toString());
141
+ };
142
+ return (_jsx("div", { className: styles["cw-weekday-selector"], children: Weekdays.getFullWeek().map(day => (_jsx("input", { type: "checkbox", "data-day": day, checked: selectedDays.toArray().includes(day), onChange: (e) => handleChange(day, e.target.checked), disabled: disabled }, day))) }));
143
+ };