@cwellt_software/cwellt-reactjs-lib 1.1.6 → 1.2.0

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 (637) hide show
  1. package/dist/content/icons/new-cw-icons/NewCwIcons.html +13 -3
  2. package/dist/content/icons/new-cw-icons/NewCwIcons.json +10 -1
  3. package/dist/content/icons/new-cw-icons/css/new-cw-icons.css +39 -2
  4. package/dist/content/icons/new-cw-icons/fonts/NewCwIcons.woff +0 -0
  5. package/dist/index.cjs.js +2169 -1653
  6. package/dist/index.css +1 -7
  7. package/dist/index.d.ts +446 -327
  8. package/dist/index.es.js +2167 -1607
  9. package/dist/src/common/classes/CwSelectList.js +12 -0
  10. package/dist/src/common/classes/CwSelectListItems.js +14 -0
  11. package/dist/src/common/functions/collections.js +18 -0
  12. package/dist/src/common/functions/colorManipulation.js +76 -0
  13. package/dist/src/common/functions/dsl/UiEventDSL.js +20 -0
  14. package/dist/src/common/functions/useSingleAndDoubleClicks.js +28 -0
  15. package/dist/src/components/control/action/button/CwButton.d.ts +5 -2
  16. package/dist/src/components/control/action/button/CwButton.d.ts.map +1 -1
  17. package/dist/src/components/control/action/button/CwButton.js +13 -0
  18. package/dist/src/components/control/action/buttons/CwButtons.d.ts +24 -54
  19. package/dist/src/components/control/action/buttons/CwButtons.d.ts.map +1 -1
  20. package/dist/src/components/control/action/buttons/CwButtons.js +188 -0
  21. package/dist/src/components/control/action/contextmenu/CwAnchoredMenu.d.ts +80 -0
  22. package/dist/src/components/control/action/contextmenu/CwAnchoredMenu.d.ts.map +1 -0
  23. package/dist/src/components/control/action/contextmenu/CwContextMenu.d.ts +0 -11
  24. package/dist/src/components/control/action/contextmenu/CwContextMenu.d.ts.map +1 -1
  25. package/dist/src/components/control/action/contextmenu/CwContextMenu.js +43 -0
  26. package/dist/src/components/control/action/contextual-menu/CwContextualMenu.js +55 -0
  27. package/dist/src/components/control/action/search/CwSearch.d.ts +6 -2
  28. package/dist/src/components/control/action/search/CwSearch.d.ts.map +1 -1
  29. package/dist/src/components/control/action/search/CwSearch.js +67 -0
  30. package/dist/src/components/control/action/tooltip-dialog/CwTooltipDialog.js +11 -0
  31. package/dist/src/components/control/choice/checkbox/CwCheckbox.js +15 -0
  32. package/dist/src/components/control/choice/deprecated/MultiSelect_deprecated_.js +99 -0
  33. package/dist/src/components/control/choice/dropdown/CwDropdown.js +27 -0
  34. package/dist/src/components/control/choice/dropdown/CwDropdownContainer.js +30 -0
  35. package/dist/src/components/control/choice/dropdown/CwDropdownFilter.js +10 -0
  36. package/dist/src/components/control/choice/multi-filter/CwMultiFilter.d.ts +1 -5
  37. package/dist/src/components/control/choice/multi-filter/CwMultiFilter.d.ts.map +1 -1
  38. package/dist/src/components/control/choice/multi-filter/CwMultiFilter.js +298 -0
  39. package/dist/src/components/control/choice/multi-filter/components/tag/CwMultiFilterTag.d.ts +2 -2
  40. package/dist/src/components/control/choice/multi-filter/components/tag/CwMultiFilterTag.d.ts.map +1 -1
  41. package/dist/src/components/control/choice/multi-filter/components/tag/CwMultiFilterTag.js +17 -0
  42. package/dist/src/components/control/choice/multiselect/CwHeadFilter.js +80 -0
  43. package/dist/src/components/control/choice/multiselect/CwMultiselect.js +393 -0
  44. package/dist/src/components/control/choice/multiselect/CwOptionList.js +36 -0
  45. package/dist/src/components/control/choice/option/CwOption.js +16 -0
  46. package/dist/src/components/control/choice/select/CwSelect.js +36 -0
  47. package/dist/src/components/control/choice/toggle/CwToggle.d.ts.map +1 -1
  48. package/dist/src/components/control/choice/toggle/CwToggle.js +9 -0
  49. package/dist/src/components/control/input/any/CwInput.js +16 -0
  50. package/dist/src/components/control/input/color/CwColorPicker.js +210 -0
  51. package/dist/src/components/control/input/color/CwInputColor.js +142 -0
  52. package/dist/src/components/control/input/date/CwInputDate.js +29 -0
  53. package/dist/src/components/control/input/date-picker/CwInputDatePicker.js +109 -0
  54. package/dist/src/components/control/input/date-text/CwInputDateText.js +90 -0
  55. package/dist/src/components/control/input/datetime/CwInputDatetime.js +29 -0
  56. package/dist/src/components/control/input/digit/CwDigit.js +28 -0
  57. package/dist/src/components/control/input/file/CwFileUpload.js +52 -0
  58. package/dist/src/components/control/input/file/CwFileUploadMultiple.d.ts +1 -0
  59. package/dist/src/components/control/input/file/CwFileUploadMultiple.d.ts.map +1 -1
  60. package/dist/src/components/control/input/file/CwFileUploadMultiple.js +148 -0
  61. package/dist/src/components/control/input/image/CwInputImage.js +52 -0
  62. package/dist/src/components/control/input/image-area/CwImageArea.js +113 -0
  63. package/dist/src/components/control/input/new-dates/CwDatePicker.d.ts +44 -0
  64. package/dist/src/components/control/input/new-dates/CwDatePicker.d.ts.map +1 -0
  65. package/dist/src/components/control/input/new-dates/CwDateRangePicker.d.ts +65 -0
  66. package/dist/src/components/control/input/new-dates/CwDateRangePicker.d.ts.map +1 -0
  67. package/dist/src/components/control/input/new-dates/CwDateTimePicker.d.ts +47 -0
  68. package/dist/src/components/control/input/new-dates/CwDateTimePicker.d.ts.map +1 -0
  69. package/dist/src/components/control/input/new-dates/CwDateTimePickerCompact.d.ts +46 -0
  70. package/dist/src/components/control/input/new-dates/CwDateTimePickerCompact.d.ts.map +1 -0
  71. package/dist/src/components/control/input/new-dates/CwTimePicker.d.ts +38 -0
  72. package/dist/src/components/control/input/new-dates/CwTimePicker.d.ts.map +1 -0
  73. package/dist/src/components/control/input/new-dates/dateRangePresets.d.ts +19 -0
  74. package/dist/src/components/control/input/new-dates/dateRangePresets.d.ts.map +1 -0
  75. package/dist/src/components/control/input/number/CwInputNumber.js +11 -0
  76. package/dist/src/components/control/input/phone/CwInputPhone.js +24 -0
  77. package/dist/src/components/control/input/text/CwInputText.d.ts.map +1 -1
  78. package/dist/src/components/control/input/text/CwInputText.js +31 -0
  79. package/dist/src/components/control/input/text-area/CwTextArea.js +9 -0
  80. package/dist/src/components/control/input/time/CwTime.js +29 -0
  81. package/dist/src/components/control/input/weekday/CwWeekdaySelector.js +143 -0
  82. package/dist/src/components/custom/find-airport/CwFindAirportComp.d.ts +4 -1
  83. package/dist/src/components/custom/find-airport/CwFindAirportComp.d.ts.map +1 -1
  84. package/dist/src/components/custom/find-airport/CwFindAirportComp.js +240 -0
  85. package/dist/src/components/custom/scheduler/CwSchedulerComp.js +211 -0
  86. package/dist/src/components/custom/scheduler/CwSuperSchedulerComp.js +269 -0
  87. package/dist/src/components/custom/scheduler/components/EventRender.js +142 -0
  88. package/dist/src/components/custom/scheduler/components/ResourceListRender.d.ts +1 -1
  89. package/dist/src/components/custom/scheduler/components/ResourceListRender.d.ts.map +1 -1
  90. package/dist/src/components/custom/scheduler/components/ResourceListRender.js +12 -0
  91. package/dist/src/components/custom/scheduler/components/ResourceRender.js +26 -0
  92. package/dist/src/components/custom/scheduler/components/day_headers/DayHeader.js +13 -0
  93. package/dist/src/components/custom/scheduler/components/day_headers/MonthHeader.js +12 -0
  94. package/dist/src/components/custom/scheduler/components/day_headers/MyDaysHeader.js +62 -0
  95. package/dist/src/components/custom/scheduler/components/day_headers/WeekHeader.js +13 -0
  96. package/dist/src/components/custom/scheduler/components/resources_title_list/ResourcesTitleList.js +24 -0
  97. package/dist/src/components/custom/scheduler/components/scheduler_content_area/SchedulerContentArea.js +17 -0
  98. package/dist/src/components/custom/scheduler/components/scheduler_header/SchedulerHeader.js +26 -0
  99. package/dist/src/components/custom/scheduler/components/scheduler_timeline/SchedulerTimeLine.js +23 -0
  100. package/dist/src/components/custom/scheduler/components/time_headers/TimeHeader.js +31 -0
  101. package/dist/src/components/custom/scheduler/components/time_headers/TimeHeaderRow.js +16 -0
  102. package/dist/src/components/custom/scheduler/components/time_line/TimeLine.js +12 -0
  103. package/dist/src/components/custom/scheduler/logic/dates/addMinutesToDateFromPx.js +5 -0
  104. package/dist/src/components/custom/scheduler/logic/dates/daysBetweenTwoDates.js +15 -0
  105. package/dist/src/components/custom/scheduler/logic/dates/daysBetweenTwoDatesWithoutCeil.js +5 -0
  106. package/dist/src/components/custom/scheduler/logic/dates/getFormatedTimeForHeader.js +43 -0
  107. package/dist/src/components/custom/scheduler/logic/dates/getMonthHeaderData.js +35 -0
  108. package/dist/src/components/custom/scheduler/logic/dates/getUtcToday.js +6 -0
  109. package/dist/src/components/custom/scheduler/logic/dates/getWeekHeaderDataFromWeekRange.js +20 -0
  110. package/dist/src/components/custom/scheduler/logic/dates/listOfDatesToWeeks.js +55 -0
  111. package/dist/src/components/custom/scheduler/logic/divisions/calculateDivisionType.js +13 -0
  112. package/dist/src/components/custom/scheduler/logic/divisions/calculateDivisions.js +16 -0
  113. package/dist/src/components/custom/scheduler/logic/filtering/filterEvents.js +33 -0
  114. package/dist/src/components/custom/scheduler/logic/filtering/filterResources.js +14 -0
  115. package/dist/src/components/custom/scheduler/logic/filtering/hasSameProperties.js +10 -0
  116. package/dist/src/components/custom/scheduler/logic/onDrop/OnDrop.js +45 -0
  117. package/dist/src/components/custom/scheduler/logic/pixels/getHeightLineScheduler.js +14 -0
  118. package/dist/src/components/custom/scheduler/logic/pixels/getPixelsForEvent.js +32 -0
  119. package/dist/src/components/custom/scheduler/logic/pixels/heightScheduler.js +14 -0
  120. package/dist/src/components/custom/scheduler/logic/pixels/heightSchedulerPinned.js +9 -0
  121. package/dist/src/components/custom/scheduler/logic/state_handle/doubleClickOnResource.js +5 -0
  122. package/dist/src/components/custom/scheduler/logic/state_handle/handleResourceChange.js +11 -0
  123. package/dist/src/components/custom/scheduler/logic/state_handle/onDragOver.js +9 -0
  124. package/dist/src/components/custom/scheduler/logic/state_handle/onDropEventToResource.js +3 -0
  125. package/dist/src/components/custom/scheduler/logic/strings/compareStrings.js +7 -0
  126. package/dist/src/components/custom/scheduler/logic/strings/getGUID.js +7 -0
  127. package/dist/src/components/custom/scheduler/logic/ui/checkIfSlotAvailable.js +8 -0
  128. package/dist/src/components/custom/scheduler/logic/ui/getEventsOfResource.js +45 -0
  129. package/dist/src/components/custom/scheduler/logic/ui/getTimeHeaders.js +35 -0
  130. package/dist/src/components/custom/scheduler/logic/ui/isAllowedToMove.js +19 -0
  131. package/dist/src/components/custom/scheduler/logic/ui/updateResourceVisibility.js +15 -0
  132. package/dist/src/components/custom/scheduler/state/CblDragAndDrop.js +18 -0
  133. package/dist/src/components/custom/scheduler/state/CwSchedulerProps.js +1 -0
  134. package/dist/src/components/custom/scheduler/state/Resource.js +18 -0
  135. package/dist/src/components/custom/scheduler/state/State.js +1 -0
  136. package/dist/src/components/custom/scheduler/state/cblEvent.js +28 -0
  137. package/dist/src/components/custom/scheduler/state/cblEventCompProps.js +1 -0
  138. package/dist/src/components/custom/scheduler/state/resourceCompProps2.js +1 -0
  139. package/dist/src/components/custom/scheduler-new/presentation/NewScheduler.d.ts +3 -4
  140. package/dist/src/components/custom/scheduler-new/presentation/NewScheduler.d.ts.map +1 -1
  141. package/dist/src/components/custom/scheduler-new/presentation/NewScheduler.js +123 -0
  142. package/dist/src/components/custom/scheduler-new/presentation/NewSchedulerUiEvents.d.ts +2 -1
  143. package/dist/src/components/custom/scheduler-new/presentation/NewSchedulerUiEvents.d.ts.map +1 -1
  144. package/dist/src/components/custom/scheduler-new/presentation/NewSchedulerUiEvents.js +118 -0
  145. package/dist/src/components/custom/scheduler-new/presentation/SchedulerPresenter.js +166 -0
  146. package/dist/src/components/custom/scheduler-new/presentation/components/header/HeaderDivision.js +26 -0
  147. package/dist/src/components/custom/scheduler-new/presentation/components/header/HeaderTitle.js +8 -0
  148. package/dist/src/components/custom/scheduler-new/presentation/components/header/SchedulerHeader.js +86 -0
  149. package/dist/src/components/custom/scheduler-new/presentation/components/row/BackgroundEvent.js +60 -0
  150. package/dist/src/components/custom/scheduler-new/presentation/components/row/DefaultRowHeader.d.ts.map +1 -1
  151. package/dist/src/components/custom/scheduler-new/presentation/components/row/DefaultRowHeader.js +24 -0
  152. package/dist/src/components/custom/scheduler-new/presentation/components/row/Event.d.ts +2 -2
  153. package/dist/src/components/custom/scheduler-new/presentation/components/row/Event.d.ts.map +1 -1
  154. package/dist/src/components/custom/scheduler-new/presentation/components/row/Event.js +150 -0
  155. package/dist/src/components/custom/scheduler-new/presentation/components/row/EventSideDrag.js +11 -0
  156. package/dist/src/components/custom/scheduler-new/presentation/components/row/SchedulerRow.d.ts +2 -2
  157. package/dist/src/components/custom/scheduler-new/presentation/components/row/SchedulerRow.d.ts.map +1 -1
  158. package/dist/src/components/custom/scheduler-new/presentation/components/row/SchedulerRow.js +176 -0
  159. package/dist/src/components/custom/scheduler-new/presentation/components/timeline/DivisionLine.js +8 -0
  160. package/dist/src/components/custom/scheduler-new/presentation/components/timeline/TimeLine.js +39 -0
  161. package/dist/src/components/custom/scheduler-new/presentation/components/timeline/WeekEndLine.js +8 -0
  162. package/dist/src/components/custom/scheduler-new/presentation/helpers.js +43 -0
  163. package/dist/src/components/custom/scheduler-new/presentation/logic/WeekendCalc.js +24 -0
  164. package/dist/src/components/custom/scheduler-new/presentation/logic/dateFromPercentage.js +7 -0
  165. package/dist/src/components/custom/scheduler-new/presentation/logic/eventIsVisible.js +7 -0
  166. package/dist/src/components/custom/scheduler-new/presentation/logic/getDefaultDivisions.js +113 -0
  167. package/dist/src/components/custom/scheduler-new/presentation/logic/getDivisions.js +21 -0
  168. package/dist/src/components/custom/scheduler-new/presentation/logic/getEventSizes.js +30 -0
  169. package/dist/src/components/custom/scheduler-new/presentation/logic/getLinesByDivisions.js +13 -0
  170. package/dist/src/components/custom/scheduler-new/presentation/logic/getPercentageFromMouseEvent.d.ts +1 -0
  171. package/dist/src/components/custom/scheduler-new/presentation/logic/getPercentageFromMouseEvent.d.ts.map +1 -1
  172. package/dist/src/components/custom/scheduler-new/presentation/logic/getPercentageFromMouseEvent.js +7 -0
  173. package/dist/src/components/custom/scheduler-new/presentation/logic/separateEventsToInnerRows.js +32 -0
  174. package/dist/src/components/custom/scheduler-new/presentation/logic/sortByCategoryAndTitle.js +12 -0
  175. package/dist/src/components/custom/scheduler-temporal/CwSchedulerComp2.js +267 -0
  176. package/dist/src/components/custom/scheduler-temporal/CwSuperSchedulerComp.js +269 -0
  177. package/dist/src/components/custom/scheduler-temporal/components/EventRender.js +142 -0
  178. package/dist/src/components/custom/scheduler-temporal/components/ResourceListRender.js +12 -0
  179. package/dist/src/components/custom/scheduler-temporal/components/ResourceRender.js +26 -0
  180. package/dist/src/components/custom/scheduler-temporal/components/day_headers/DayHeader.js +13 -0
  181. package/dist/src/components/custom/scheduler-temporal/components/day_headers/MonthHeader.js +12 -0
  182. package/dist/src/components/custom/scheduler-temporal/components/day_headers/MyDaysHeader.js +62 -0
  183. package/dist/src/components/custom/scheduler-temporal/components/day_headers/WeekHeader.js +13 -0
  184. package/dist/src/components/custom/scheduler-temporal/components/resources_title_list/ResourcesTitleList.js +22 -0
  185. package/dist/src/components/custom/scheduler-temporal/components/scheduler_content_area/SchedulerContentArea.js +17 -0
  186. package/dist/src/components/custom/scheduler-temporal/components/scheduler_header/SchedulerHeader.js +26 -0
  187. package/dist/src/components/custom/scheduler-temporal/components/scheduler_timeline/SchedulerTimeLine.js +23 -0
  188. package/dist/src/components/custom/scheduler-temporal/components/time_headers/TimeHeader.js +31 -0
  189. package/dist/src/components/custom/scheduler-temporal/components/time_headers/TimeHeaderRow.js +16 -0
  190. package/dist/src/components/custom/scheduler-temporal/components/time_line/TimeLine.js +12 -0
  191. package/dist/src/components/custom/scheduler-temporal/logic/dates/addMinutesToDateFromPx.js +5 -0
  192. package/dist/src/components/custom/scheduler-temporal/logic/dates/daysBetweenTwoDates.js +15 -0
  193. package/dist/src/components/custom/scheduler-temporal/logic/dates/daysBetweenTwoDatesWithoutCeil.js +5 -0
  194. package/dist/src/components/custom/scheduler-temporal/logic/dates/getFormatedTimeForHeader.js +43 -0
  195. package/dist/src/components/custom/scheduler-temporal/logic/dates/getMonthHeaderData.js +35 -0
  196. package/dist/src/components/custom/scheduler-temporal/logic/dates/getUtcToday.js +6 -0
  197. package/dist/src/components/custom/scheduler-temporal/logic/dates/getWeekHeaderDataFromWeekRange.js +20 -0
  198. package/dist/src/components/custom/scheduler-temporal/logic/dates/listOfDatesToWeeks.js +55 -0
  199. package/dist/src/components/custom/scheduler-temporal/logic/divisions/calculateDivisionType.js +13 -0
  200. package/dist/src/components/custom/scheduler-temporal/logic/divisions/calculateDivisions.js +16 -0
  201. package/dist/src/components/custom/scheduler-temporal/logic/filtering/filterAndProcessResources.js +10 -0
  202. package/dist/src/components/custom/scheduler-temporal/logic/filtering/filterEvents.js +34 -0
  203. package/dist/src/components/custom/scheduler-temporal/logic/filtering/filterResources.js +14 -0
  204. package/dist/src/components/custom/scheduler-temporal/logic/filtering/hasSameProperties.js +10 -0
  205. package/dist/src/components/custom/scheduler-temporal/logic/onDrop/OnDrop.js +36 -0
  206. package/dist/src/components/custom/scheduler-temporal/logic/pixels/getHeightLineScheduler.js +14 -0
  207. package/dist/src/components/custom/scheduler-temporal/logic/pixels/getPixelsForEvent.js +32 -0
  208. package/dist/src/components/custom/scheduler-temporal/logic/pixels/heightScheduler.js +14 -0
  209. package/dist/src/components/custom/scheduler-temporal/logic/pixels/heightSchedulerPinned.js +9 -0
  210. package/dist/src/components/custom/scheduler-temporal/logic/state_handle/doubleClickOnResource.js +5 -0
  211. package/dist/src/components/custom/scheduler-temporal/logic/state_handle/handlePropChanges.js +178 -0
  212. package/dist/src/components/custom/scheduler-temporal/logic/state_handle/handleResourceChange.js +11 -0
  213. package/dist/src/components/custom/scheduler-temporal/logic/state_handle/onDragOver.js +9 -0
  214. package/dist/src/components/custom/scheduler-temporal/logic/state_handle/onDropEventToResource.js +3 -0
  215. package/dist/src/components/custom/scheduler-temporal/logic/state_handle/onResizeEvent.js +3 -0
  216. package/dist/src/components/custom/scheduler-temporal/logic/strings/compareStrings.js +7 -0
  217. package/dist/src/components/custom/scheduler-temporal/logic/strings/getGUID.js +7 -0
  218. package/dist/src/components/custom/scheduler-temporal/logic/ui/checkIfSlotAvailable.js +9 -0
  219. package/dist/src/components/custom/scheduler-temporal/logic/ui/getEventsOfResource.js +92 -0
  220. package/dist/src/components/custom/scheduler-temporal/logic/ui/getHasPropsChanged.js +242 -0
  221. package/dist/src/components/custom/scheduler-temporal/logic/ui/getTimeHeaders.js +35 -0
  222. package/dist/src/components/custom/scheduler-temporal/logic/ui/isAllowedToMove.js +19 -0
  223. package/dist/src/components/custom/scheduler-temporal/logic/ui/shouldTriggerScroll.js +241 -0
  224. package/dist/src/components/custom/scheduler-temporal/logic/ui/updateResourceVisibility.js +15 -0
  225. package/dist/src/components/custom/scheduler-temporal/state/CblDragAndDrop.js +18 -0
  226. package/dist/src/components/custom/scheduler-temporal/state/Resource.js +18 -0
  227. package/dist/src/components/custom/scheduler-temporal/state/cblEvent.js +28 -0
  228. package/dist/src/components/custom/scheduler-temporal/state/cblEventCompProps.js +1 -0
  229. package/dist/src/components/custom/scheduler-temporal/state/resourceCompProps2.js +1 -0
  230. package/dist/src/components/custom/super-scheduler/PinRowHeader.d.ts +2 -2
  231. package/dist/src/components/custom/super-scheduler/PinRowHeader.d.ts.map +1 -1
  232. package/dist/src/components/custom/super-scheduler/PinRowHeader.js +53 -0
  233. package/dist/src/components/custom/super-scheduler/SuperScheduler.d.ts +2 -2
  234. package/dist/src/components/custom/super-scheduler/SuperScheduler.d.ts.map +1 -1
  235. package/dist/src/components/custom/super-scheduler/SuperScheduler.js +23 -0
  236. package/dist/src/components/custom/super-scheduler/SuperSchedulerEvents.js +15 -0
  237. package/dist/src/components/custom/super-scheduler/SuperSchedulerPresenter.js +45 -0
  238. package/dist/src/components/display/data/accordion/CwAccordionContainer.js +20 -0
  239. package/dist/src/components/display/data/generic_tooltip/CwGenericTooltip.d.ts +1 -0
  240. package/dist/src/components/display/data/generic_tooltip/CwGenericTooltip.d.ts.map +1 -1
  241. package/dist/src/components/display/data/generic_tooltip/CwGenericTooltip.js +138 -0
  242. package/dist/src/components/display/data/table/CwTable.d.ts +25 -20
  243. package/dist/src/components/display/data/table/CwTable.d.ts.map +1 -1
  244. package/dist/src/components/display/data/table/CwTable.js +203 -0
  245. package/dist/src/components/display/graphics/icon/CwIcon.d.ts.map +1 -1
  246. package/dist/src/components/display/graphics/icon/CwIcon.js +23 -0
  247. package/dist/src/components/display/graphics/icon/svg-icons.d.ts +6 -0
  248. package/dist/src/components/display/graphics/icon/svg-icons.d.ts.map +1 -0
  249. package/dist/src/components/display/graphics/loading/CwLoading.js +27 -0
  250. package/dist/src/components/display/graphics/loading-small/CwLoadingSmall.js +20 -0
  251. package/dist/src/components/display/text/heading/CwHeadingMain.js +5 -0
  252. package/dist/src/components/display/text/heading/CwHeadingSecond.js +5 -0
  253. package/dist/src/components/display/text/label/CwLabel.d.ts +1 -4
  254. package/dist/src/components/display/text/label/CwLabel.d.ts.map +1 -1
  255. package/dist/src/components/display/text/label/CwLabel.js +13 -0
  256. package/dist/src/components/display/text/message/CwMessage.js +75 -0
  257. package/dist/src/components/display/text/note/CwNote.js +78 -0
  258. package/dist/src/components/display/text/tag/CwChip.d.ts.map +1 -1
  259. package/dist/src/components/display/text/tag/CwChip.js +57 -0
  260. package/dist/src/components/display/text/tag/CwTag.js +21 -0
  261. package/dist/src/components/display/text/tooltip/CwTooltip.js +4 -0
  262. package/dist/src/components/layout/align/CwAlign.js +54 -0
  263. package/dist/src/components/layout/card/CwCard.js +55 -0
  264. package/dist/src/components/layout/card/CwCardList.js +38 -0
  265. package/dist/src/components/layout/dialog/CwDialog.d.ts.map +1 -1
  266. package/dist/src/components/layout/dialog/CwDialog.js +255 -0
  267. package/dist/src/components/layout/dialog/CwDialogManager.js +44 -0
  268. package/dist/src/components/layout/list/details/CwExpandable.js +28 -0
  269. package/dist/src/components/layout/list/key-value/CwKeyValueList.d.ts +2 -3
  270. package/dist/src/components/layout/list/key-value/CwKeyValueList.d.ts.map +1 -1
  271. package/dist/src/components/layout/list/key-value/CwKeyValueList.js +23 -0
  272. package/dist/src/components/layout/list/sortable/CwSortableList.js +73 -0
  273. package/dist/src/components/layout/list/sortable/useSortableList.js +53 -0
  274. package/dist/src/components/layout/modal/CwModalReportFunctional.d.ts.map +1 -1
  275. package/dist/src/components/layout/modal/CwModalReportFunctional.js +23 -0
  276. package/dist/src/components/layout/modal/hover/CwModalHover.js +61 -0
  277. package/dist/src/components/layout/modal/legacy/cw_modal.d.ts +4 -0
  278. package/dist/src/components/layout/modal/legacy/cw_modal.d.ts.map +1 -1
  279. package/dist/src/components/layout/modal/legacy/cw_modal.js +44 -0
  280. package/dist/src/components/layout/modal/legacy/cw_modal_confirm.js +39 -0
  281. package/dist/src/components/layout/modal/legacy/cw_modal_iframe.js +44 -0
  282. package/dist/src/components/layout/modal/legacy/cw_modal_report.js +26 -0
  283. package/dist/src/components/layout/table/grouped/CwTableGrouped.js +70 -0
  284. package/dist/src/components/layout/tabs/CwTabs.d.ts +2 -0
  285. package/dist/src/components/layout/tabs/CwTabs.d.ts.map +1 -1
  286. package/dist/src/components/layout/tabs/CwTabs.js +53 -0
  287. package/dist/src/dev/palette.d.ts +1 -1
  288. package/dist/src/dev/palette.d.ts.map +1 -1
  289. package/dist/src/index.d.ts +8 -12
  290. package/dist/src/index.d.ts.map +1 -1
  291. package/dist/src/index.js +187 -0
  292. package/dist/test/components/custom/new-scheduler/presentation/logic/getDefaultDivisions.test.js +48 -0
  293. package/dist/test/components/custom/new-scheduler/presentation/logic/hoursBetween.test.js +15 -0
  294. package/dist/test/components/custom/new-scheduler/presentation/logic/monthDivisions.test.js +42 -0
  295. package/dist/test/components/custom/new-scheduler/presentation/logic/weekendCalc.test.js +30 -0
  296. package/dist/test/components/custom/scheduler/addMinutesToDateFromPx.test.js +43 -0
  297. package/dist/test/components/custom/scheduler/checkIfSlotAvailable.test.js +30 -0
  298. package/dist/test/components/custom/scheduler/daysBetweenTwoDates.test.js +61 -0
  299. package/dist/test/components/custom/scheduler/daysBetweenTwoDatesWithoutCeilForEvent.test.js +27 -0
  300. package/dist/test/components/custom/scheduler/getGUID.test.js +30 -0
  301. package/dist/test/components/custom/scheduler/getPixelsForEvent.test.js +38 -0
  302. package/dist/test/components/custom/scheduler/getTimeHeaders.test.js +35 -0
  303. package/dist/test/components/custom/scheduler/hasSameProperties.test.js +51 -0
  304. package/dist/test/components/custom/scheduler/isAllowedToMove.test.js +28 -0
  305. package/dist/test/components/custom/scheduler/listOfDatesToWeeks.test.js +72 -0
  306. package/dist/test/jest.setup.js +1 -0
  307. package/package.json +11 -12
  308. package/dist/assets/asset-DnHaq7m- +0 -50
  309. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-full-normal.woff2 +0 -0
  310. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-grad-normal.woff2 +0 -0
  311. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-opsz-normal.woff2 +0 -0
  312. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-slnt-normal.woff2 +0 -0
  313. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-standard-normal.woff2 +0 -0
  314. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-wdth-normal.woff2 +0 -0
  315. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-wght-normal.woff2 +0 -0
  316. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-xopq-normal.woff2 +0 -0
  317. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-xtra-normal.woff2 +0 -0
  318. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-yopq-normal.woff2 +0 -0
  319. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-ytas-normal.woff2 +0 -0
  320. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-ytde-normal.woff2 +0 -0
  321. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-ytfi-normal.woff2 +0 -0
  322. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-ytlc-normal.woff2 +0 -0
  323. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-ytuc-normal.woff2 +0 -0
  324. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-full-normal.woff2 +0 -0
  325. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-grad-normal.woff2 +0 -0
  326. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-opsz-normal.woff2 +0 -0
  327. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-slnt-normal.woff2 +0 -0
  328. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-standard-normal.woff2 +0 -0
  329. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-wdth-normal.woff2 +0 -0
  330. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-wght-normal.woff2 +0 -0
  331. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-xopq-normal.woff2 +0 -0
  332. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-xtra-normal.woff2 +0 -0
  333. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-yopq-normal.woff2 +0 -0
  334. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ytas-normal.woff2 +0 -0
  335. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ytde-normal.woff2 +0 -0
  336. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ytfi-normal.woff2 +0 -0
  337. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ytlc-normal.woff2 +0 -0
  338. package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ytuc-normal.woff2 +0 -0
  339. package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-full-normal.woff2 +0 -0
  340. package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-grad-normal.woff2 +0 -0
  341. package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-opsz-normal.woff2 +0 -0
  342. package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-slnt-normal.woff2 +0 -0
  343. package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-standard-normal.woff2 +0 -0
  344. package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-wdth-normal.woff2 +0 -0
  345. package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-wght-normal.woff2 +0 -0
  346. package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-xopq-normal.woff2 +0 -0
  347. package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-xtra-normal.woff2 +0 -0
  348. package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-yopq-normal.woff2 +0 -0
  349. package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-ytas-normal.woff2 +0 -0
  350. package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-ytde-normal.woff2 +0 -0
  351. package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-ytfi-normal.woff2 +0 -0
  352. package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-ytlc-normal.woff2 +0 -0
  353. package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-ytuc-normal.woff2 +0 -0
  354. package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-full-normal.woff2 +0 -0
  355. package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-grad-normal.woff2 +0 -0
  356. package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-opsz-normal.woff2 +0 -0
  357. package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-slnt-normal.woff2 +0 -0
  358. package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-standard-normal.woff2 +0 -0
  359. package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-wdth-normal.woff2 +0 -0
  360. package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-wght-normal.woff2 +0 -0
  361. package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-xopq-normal.woff2 +0 -0
  362. package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-xtra-normal.woff2 +0 -0
  363. package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-yopq-normal.woff2 +0 -0
  364. package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-ytas-normal.woff2 +0 -0
  365. package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-ytde-normal.woff2 +0 -0
  366. package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-ytfi-normal.woff2 +0 -0
  367. package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-ytlc-normal.woff2 +0 -0
  368. package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-ytuc-normal.woff2 +0 -0
  369. package/dist/content/icons/cw-icons/css/cw-icons.css +0 -2784
  370. package/dist/content/icons/cw-icons/fonts/cwAvinodeFont/CblAvinodeIcon.eot +0 -0
  371. package/dist/content/icons/cw-icons/fonts/cwAvinodeFont/CblAvinodeIcon.svg +0 -11
  372. package/dist/content/icons/cw-icons/fonts/cwAvinodeFont/CblAvinodeIcon.ttf +0 -0
  373. package/dist/content/icons/cw-icons/fonts/cwAvinodeFont/CblAvinodeIcon.woff +0 -0
  374. package/dist/content/icons/cw-icons/fonts/cwCrewControlFont/CblCrewControl.eot +0 -0
  375. package/dist/content/icons/cw-icons/fonts/cwCrewControlFont/CblCrewControl.svg +0 -38
  376. package/dist/content/icons/cw-icons/fonts/cwCrewControlFont/CblCrewControl.ttf +0 -0
  377. package/dist/content/icons/cw-icons/fonts/cwCrewControlFont/CblCrewControl.woff +0 -0
  378. package/dist/content/icons/cw-icons/fonts/cwCrewControlFont/CblCrewControl.woff2 +0 -0
  379. package/dist/content/icons/cw-icons/fonts/cwCrewControlFont/Crew Control.eot +0 -0
  380. package/dist/content/icons/cw-icons/fonts/cwCrewControlFont/Crew Control.svg +0 -29
  381. package/dist/content/icons/cw-icons/fonts/cwCrewControlFont/Crew Control.ttf +0 -0
  382. package/dist/content/icons/cw-icons/fonts/cwCrewControlFont/Crew Control.woff +0 -0
  383. package/dist/content/icons/cw-icons/fonts/cwCrewControlFont/Crew Control.woff2 +0 -0
  384. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/CblCrewControlReact.eot +0 -0
  385. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/CblCrewControlReact.svg +0 -12
  386. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/CblCrewControlReact.ttf +0 -0
  387. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/CblCrewControlReact.woff +0 -0
  388. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/CblDutyIcon.eot +0 -0
  389. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/CblDutyIcon.svg +0 -11
  390. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/CblDutyIcon.ttf +0 -0
  391. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/CblDutyIcon.woff +0 -0
  392. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/SessionWarning.eot +0 -0
  393. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/SessionWarning.svg +0 -12
  394. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/SessionWarning.ttf +0 -0
  395. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/SessionWarning.woff +0 -0
  396. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblDuty.eot +0 -0
  397. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblDuty.svg +0 -26
  398. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblDuty.ttf +0 -0
  399. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblDuty.woff +0 -0
  400. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblDuty.woff2 +0 -0
  401. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblcrewcontrol.eot +0 -0
  402. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblcrewcontrol.svg +0 -13
  403. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblcrewcontrol.ttf +0 -0
  404. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblcrewcontrol.woff +0 -0
  405. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblcrewcontrolfont.eot +0 -0
  406. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblcrewcontrolfont.svg +0 -29
  407. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblcrewcontrolfont.ttf +0 -0
  408. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblcrewcontrolfont.woff +0 -0
  409. package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblcrewcontrolfont.woff2 +0 -0
  410. package/dist/content/icons/cw-icons/fonts/cwCrewFont/Crew.eot +0 -0
  411. package/dist/content/icons/cw-icons/fonts/cwCrewFont/Crew.svg +0 -29
  412. package/dist/content/icons/cw-icons/fonts/cwCrewFont/Crew.ttf +0 -0
  413. package/dist/content/icons/cw-icons/fonts/cwCrewFont/Crew.woff +0 -0
  414. package/dist/content/icons/cw-icons/fonts/cwCrewFont/Crew.woff2 +0 -0
  415. package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/Crew Planning.eot +0 -0
  416. package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/Crew Planning.svg +0 -17
  417. package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/Crew Planning.ttf +0 -0
  418. package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/Crew Planning.woff +0 -0
  419. package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/Crew Planning.woff2 +0 -0
  420. package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/CrewPlanningFont.eot +0 -0
  421. package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/CrewPlanningFont.svg +0 -20
  422. package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/CrewPlanningFont.ttf +0 -0
  423. package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/CrewPlanningFont.woff +0 -0
  424. package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/CrewPlanningFont.woff2 +0 -0
  425. package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/CrewSchedulingFont.eot +0 -0
  426. package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/CrewSchedulingFont.svg +0 -12
  427. package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/CrewSchedulingFont.ttf +0 -0
  428. package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/CrewSchedulingFont.woff +0 -0
  429. package/dist/content/icons/cw-icons/fonts/cwDispatchFont/Dispatch.eot +0 -0
  430. package/dist/content/icons/cw-icons/fonts/cwDispatchFont/Dispatch.svg +0 -20
  431. package/dist/content/icons/cw-icons/fonts/cwDispatchFont/Dispatch.ttf +0 -0
  432. package/dist/content/icons/cw-icons/fonts/cwDispatchFont/Dispatch.woff +0 -0
  433. package/dist/content/icons/cw-icons/fonts/cwDispatchFont/Dispatch.woff2 +0 -0
  434. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/ArchiveEmanual.eot +0 -0
  435. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/ArchiveEmanual.svg +0 -12
  436. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/ArchiveEmanual.ttf +0 -0
  437. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/ArchiveEmanual.woff +0 -0
  438. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/CblEmanualNewIcons.eot +0 -0
  439. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/CblEmanualNewIcons.svg +0 -14
  440. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/CblEmanualNewIcons.ttf +0 -0
  441. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/CblEmanualNewIcons.woff +0 -0
  442. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/Emanual.eot +0 -0
  443. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/Emanual.svg +0 -38
  444. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/Emanual.ttf +0 -0
  445. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/Emanual.woff +0 -0
  446. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/Emanual.woff2 +0 -0
  447. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualApprovedFile.eot +0 -0
  448. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualApprovedFile.svg +0 -11
  449. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualApprovedFile.ttf +0 -0
  450. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualApprovedFile.woff +0 -0
  451. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualBookMark.eot +0 -0
  452. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualBookMark.svg +0 -17
  453. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualBookMark.ttf +0 -0
  454. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualBookMark.woff +0 -0
  455. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualBookMark.woff2 +0 -0
  456. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualBookMarkLink.eot +0 -0
  457. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualBookMarkLink.svg +0 -11
  458. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualBookMarkLink.ttf +0 -0
  459. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualBookMarkLink.woff +0 -0
  460. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFolder.eot +0 -0
  461. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFolder.svg +0 -11
  462. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFolder.ttf +0 -0
  463. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFolder.woff +0 -0
  464. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFont.eot +0 -0
  465. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFont.svg +0 -13
  466. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFont.ttf +0 -0
  467. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFont.woff +0 -0
  468. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFontNew.eot +0 -0
  469. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFontNew.svg +0 -32
  470. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFontNew.ttf +0 -0
  471. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFontNew.woff +0 -0
  472. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFontNew.woff2 +0 -0
  473. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPendingIcon.eot +0 -0
  474. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPendingIcon.svg +0 -11
  475. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPendingIcon.ttf +0 -0
  476. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPendingIcon.woff +0 -0
  477. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPublishFile.eot +0 -0
  478. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPublishFile.svg +0 -11
  479. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPublishFile.ttf +0 -0
  480. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPublishFile.woff +0 -0
  481. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPublishIconFile.eot +0 -0
  482. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPublishIconFile.svg +0 -11
  483. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPublishIconFile.ttf +0 -0
  484. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPublishIconFile.woff +0 -0
  485. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualRestoreTrash.eot +0 -0
  486. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualRestoreTrash.svg +0 -11
  487. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualRestoreTrash.ttf +0 -0
  488. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualRestoreTrash.woff +0 -0
  489. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualRestoreTrashRight.eot +0 -0
  490. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualRestoreTrashRight.svg +0 -11
  491. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualRestoreTrashRight.ttf +0 -0
  492. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualRestoreTrashRight.woff +0 -0
  493. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/LibraryIcon.eot +0 -0
  494. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/LibraryIcon.svg +0 -12
  495. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/LibraryIcon.ttf +0 -0
  496. package/dist/content/icons/cw-icons/fonts/cwEmanualFont/LibraryIcon.woff +0 -0
  497. package/dist/content/icons/cw-icons/fonts/cwFavoritesElement/Favorites.eot +0 -0
  498. package/dist/content/icons/cw-icons/fonts/cwFavoritesElement/Favorites.svg +0 -158
  499. package/dist/content/icons/cw-icons/fonts/cwFavoritesElement/Favorites.ttf +0 -0
  500. package/dist/content/icons/cw-icons/fonts/cwFavoritesElement/Favorites.woff +0 -0
  501. package/dist/content/icons/cw-icons/fonts/cwFavoritesElement/Favorites.woff2 +0 -0
  502. package/dist/content/icons/cw-icons/fonts/cwFavoritesElement/cwellt_icon.eot +0 -0
  503. package/dist/content/icons/cw-icons/fonts/cwFavoritesElement/cwellt_icon.svg +0 -18
  504. package/dist/content/icons/cw-icons/fonts/cwFavoritesElement/cwellt_icon.ttf +0 -0
  505. package/dist/content/icons/cw-icons/fonts/cwFavoritesElement/cwellt_icon.woff +0 -0
  506. package/dist/content/icons/cw-icons/fonts/cwFavoritesFont/Favorites.eot +0 -0
  507. package/dist/content/icons/cw-icons/fonts/cwFavoritesFont/Favorites.svg +0 -62
  508. package/dist/content/icons/cw-icons/fonts/cwFavoritesFont/Favorites.ttf +0 -0
  509. package/dist/content/icons/cw-icons/fonts/cwFavoritesFont/Favorites.woff +0 -0
  510. package/dist/content/icons/cw-icons/fonts/cwFavoritesFont/Favorites.woff2 +0 -0
  511. package/dist/content/icons/cw-icons/fonts/cwFavoritesIcons/CblFavoritesIcons.eot +0 -0
  512. package/dist/content/icons/cw-icons/fonts/cwFavoritesIcons/CblFavoritesIcons.svg +0 -43
  513. package/dist/content/icons/cw-icons/fonts/cwFavoritesIcons/CblFavoritesIcons.ttf +0 -0
  514. package/dist/content/icons/cw-icons/fonts/cwFavoritesIcons/CblFavoritesIcons.woff +0 -0
  515. package/dist/content/icons/cw-icons/fonts/cwFgIconsFonts/CblFigIcons.eot +0 -0
  516. package/dist/content/icons/cw-icons/fonts/cwFgIconsFonts/CblFigIcons.svg +0 -49
  517. package/dist/content/icons/cw-icons/fonts/cwFgIconsFonts/CblFigIcons.ttf +0 -0
  518. package/dist/content/icons/cw-icons/fonts/cwFgIconsFonts/CblFigIcons.woff +0 -0
  519. package/dist/content/icons/cw-icons/fonts/cwFlightOpsFont/FlightOps.eot +0 -0
  520. package/dist/content/icons/cw-icons/fonts/cwFlightOpsFont/FlightOps.svg +0 -41
  521. package/dist/content/icons/cw-icons/fonts/cwFlightOpsFont/FlightOps.ttf +0 -0
  522. package/dist/content/icons/cw-icons/fonts/cwFlightOpsFont/FlightOps.woff +0 -0
  523. package/dist/content/icons/cw-icons/fonts/cwFlightOpsFont/FlightOps.woff2 +0 -0
  524. package/dist/content/icons/cw-icons/fonts/cwGeneralFont/CblUndoIcon.eot +0 -0
  525. package/dist/content/icons/cw-icons/fonts/cwGeneralFont/CblUndoIcon.svg +0 -11
  526. package/dist/content/icons/cw-icons/fonts/cwGeneralFont/CblUndoIcon.ttf +0 -0
  527. package/dist/content/icons/cw-icons/fonts/cwGeneralFont/CblUndoIcon.woff +0 -0
  528. package/dist/content/icons/cw-icons/fonts/cwGeneralFont/FlightWatchOnTimeIcon.eot +0 -0
  529. package/dist/content/icons/cw-icons/fonts/cwGeneralFont/FlightWatchOnTimeIcon.svg +0 -11
  530. package/dist/content/icons/cw-icons/fonts/cwGeneralFont/FlightWatchOnTimeIcon.ttf +0 -0
  531. package/dist/content/icons/cw-icons/fonts/cwGeneralFont/FlightWatchOnTimeIcon.woff +0 -0
  532. package/dist/content/icons/cw-icons/fonts/cwGeneralFont/General.eot +0 -0
  533. package/dist/content/icons/cw-icons/fonts/cwGeneralFont/General.svg +0 -41
  534. package/dist/content/icons/cw-icons/fonts/cwGeneralFont/General.ttf +0 -0
  535. package/dist/content/icons/cw-icons/fonts/cwGeneralFont/General.woff +0 -0
  536. package/dist/content/icons/cw-icons/fonts/cwGeneralFont/General.woff2 +0 -0
  537. package/dist/content/icons/cw-icons/fonts/cwGeneralFont/IDCardStatusIcon.eot +0 -0
  538. package/dist/content/icons/cw-icons/fonts/cwGeneralFont/IDCardStatusIcon.svg +0 -12
  539. package/dist/content/icons/cw-icons/fonts/cwGeneralFont/IDCardStatusIcon.ttf +0 -0
  540. package/dist/content/icons/cw-icons/fonts/cwGeneralFont/IDCardStatusIcon.woff +0 -0
  541. package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/Favorites.eot +0 -0
  542. package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/Favorites.svg +0 -17
  543. package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/Favorites.ttf +0 -0
  544. package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/Favorites.woff +0 -0
  545. package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/Favorites.woff2 +0 -0
  546. package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/calculator.eot +0 -0
  547. package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/calculator.svg +0 -11
  548. package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/calculator.ttf +0 -0
  549. package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/calculator.woff +0 -0
  550. package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/icons_cwellt.eot +0 -0
  551. package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/icons_cwellt.svg +0 -11
  552. package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/icons_cwellt.ttf +0 -0
  553. package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/icons_cwellt.woff +0 -0
  554. package/dist/content/icons/cw-icons/fonts/cwOpstoolReactFont/opstoolReactIcons.eot +0 -0
  555. package/dist/content/icons/cw-icons/fonts/cwOpstoolReactFont/opstoolReactIcons.svg +0 -12
  556. package/dist/content/icons/cw-icons/fonts/cwOpstoolReactFont/opstoolReactIcons.ttf +0 -0
  557. package/dist/content/icons/cw-icons/fonts/cwOpstoolReactFont/opstoolReactIcons.woff +0 -0
  558. package/dist/content/icons/cw-icons/fonts/cwPaxRelationsFont/Pax Relations.eot +0 -0
  559. package/dist/content/icons/cw-icons/fonts/cwPaxRelationsFont/Pax Relations.svg +0 -17
  560. package/dist/content/icons/cw-icons/fonts/cwPaxRelationsFont/Pax Relations.ttf +0 -0
  561. package/dist/content/icons/cw-icons/fonts/cwPaxRelationsFont/Pax Relations.woff +0 -0
  562. package/dist/content/icons/cw-icons/fonts/cwPaxRelationsFont/Pax Relations.woff2 +0 -0
  563. package/dist/content/icons/cw-icons/fonts/cwSalesFont/Sales.eot +0 -0
  564. package/dist/content/icons/cw-icons/fonts/cwSalesFont/Sales.svg +0 -50
  565. package/dist/content/icons/cw-icons/fonts/cwSalesFont/Sales.ttf +0 -0
  566. package/dist/content/icons/cw-icons/fonts/cwSalesFont/Sales.woff +0 -0
  567. package/dist/content/icons/cw-icons/fonts/cwSalesFont/Sales.woff2 +0 -0
  568. package/dist/content/icons/cw-icons/fonts/cwTrainingFont/Training.eot +0 -0
  569. package/dist/content/icons/cw-icons/fonts/cwTrainingFont/Training.svg +0 -17
  570. package/dist/content/icons/cw-icons/fonts/cwTrainingFont/Training.ttf +0 -0
  571. package/dist/content/icons/cw-icons/fonts/cwTrainingFont/Training.woff +0 -0
  572. package/dist/content/icons/cw-icons/fonts/cwTrainingFont/Training.woff2 +0 -0
  573. package/dist/content/icons/font-awesome/webfonts/fa-brands-400.ttf +0 -0
  574. package/dist/content/icons/font-awesome/webfonts/fa-regular-400.ttf +0 -0
  575. package/dist/content/icons/font-awesome/webfonts/fa-solid-900.ttf +0 -0
  576. package/dist/content/icons/font-awesome/webfonts/fa-v4compatibility.ttf +0 -0
  577. package/dist/index.cjs.js.map +0 -1
  578. package/dist/index.css.map +0 -1
  579. package/dist/index.d.ts.map +0 -1
  580. package/dist/index.esm.js +0 -4836
  581. package/dist/src/common/functions/reactor.d.ts +0 -2
  582. package/dist/src/common/functions/reactor.d.ts.map +0 -1
  583. package/dist/src/components/control/input/chipper/CwChip.d.ts +0 -12
  584. package/dist/src/components/control/input/chipper/CwChip.d.ts.map +0 -1
  585. package/dist/src/components/custom/scheduler/components/ClearSchedulerButton.d.ts +0 -8
  586. package/dist/src/components/custom/scheduler/components/ClearSchedulerButton.d.ts.map +0 -1
  587. package/dist/src/components/custom/scheduler/logic/filtering/filterAndProcessResources.d.ts +0 -14
  588. package/dist/src/components/custom/scheduler/logic/filtering/filterAndProcessResources.d.ts.map +0 -1
  589. package/dist/src/components/custom/scheduler/logic/pixels/calculateMaxPxFromDateRange.d.ts +0 -2
  590. package/dist/src/components/custom/scheduler/logic/pixels/calculateMaxPxFromDateRange.d.ts.map +0 -1
  591. package/dist/src/components/custom/scheduler/logic/state_handle/handleDateChange.d.ts +0 -5
  592. package/dist/src/components/custom/scheduler/logic/state_handle/handleDateChange.d.ts.map +0 -1
  593. package/dist/src/components/custom/scheduler/logic/state_handle/handlePropChanges.d.ts +0 -5
  594. package/dist/src/components/custom/scheduler/logic/state_handle/handlePropChanges.d.ts.map +0 -1
  595. package/dist/src/components/custom/scheduler/logic/state_handle/onResizeEvent.d.ts +0 -3
  596. package/dist/src/components/custom/scheduler/logic/state_handle/onResizeEvent.d.ts.map +0 -1
  597. package/dist/src/components/custom/scheduler/logic/ui/getHasPropsChanged.d.ts +0 -3
  598. package/dist/src/components/custom/scheduler/logic/ui/getHasPropsChanged.d.ts.map +0 -1
  599. package/dist/src/components/custom/scheduler/logic/ui/shouldTriggerScroll.d.ts +0 -3
  600. package/dist/src/components/custom/scheduler/logic/ui/shouldTriggerScroll.d.ts.map +0 -1
  601. package/dist/src/components/custom/scheduler/state/EventProps.d.ts +0 -7
  602. package/dist/src/components/custom/scheduler/state/EventProps.d.ts.map +0 -1
  603. package/dist/src/components/custom/scheduler-new/presentation/components/row/BackgrounEvent.d.ts +0 -1
  604. package/dist/src/components/custom/scheduler-new/presentation/components/row/BackgrounEvent.d.ts.map +0 -1
  605. package/dist/src/components/custom/scheduler-new/presentation/components/row/cancellablePromise.d.ts +0 -7
  606. package/dist/src/components/custom/scheduler-new/presentation/components/row/cancellablePromise.d.ts.map +0 -1
  607. package/dist/src/components/custom/scheduler-new/presentation/components/row/useCancellablePromise.d.ts +0 -7
  608. package/dist/src/components/custom/scheduler-new/presentation/components/row/useCancellablePromise.d.ts.map +0 -1
  609. package/dist/src/components/custom/scheduler-new/presentation/logic/separateEventsByResource.d.ts +0 -5
  610. package/dist/src/components/custom/scheduler-new/presentation/logic/separateEventsByResource.d.ts.map +0 -1
  611. package/dist/src/components/custom/scheduler-new/presentation/state/external/Event.d.ts +0 -9
  612. package/dist/src/components/custom/scheduler-new/presentation/state/external/Event.d.ts.map +0 -1
  613. package/dist/src/components/custom/scheduler-new/presentation/state/external/Row.d.ts +0 -5
  614. package/dist/src/components/custom/scheduler-new/presentation/state/external/Row.d.ts.map +0 -1
  615. package/dist/src/components/custom/scheduler-new/presentation/state/ui/EventSideDragState.d.ts +0 -6
  616. package/dist/src/components/custom/scheduler-new/presentation/state/ui/EventSideDragState.d.ts.map +0 -1
  617. package/dist/src/components/custom/scheduler-new/presentation/state/ui/HeaderDivision.d.ts +0 -5
  618. package/dist/src/components/custom/scheduler-new/presentation/state/ui/HeaderDivision.d.ts.map +0 -1
  619. package/dist/src/components/custom/scheduler-new/presentation/state/ui/SchedulerEventState.d.ts +0 -14
  620. package/dist/src/components/custom/scheduler-new/presentation/state/ui/SchedulerEventState.d.ts.map +0 -1
  621. package/dist/src/components/custom/scheduler-new/presentation/state/ui/SchedulerHeaderState.d.ts +0 -11
  622. package/dist/src/components/custom/scheduler-new/presentation/state/ui/SchedulerHeaderState.d.ts.map +0 -1
  623. package/dist/src/components/custom/scheduler-new/presentation/state/ui/SchedulerRow.d.ts +0 -8
  624. package/dist/src/components/custom/scheduler-new/presentation/state/ui/SchedulerRow.d.ts.map +0 -1
  625. package/dist/test/components/custom/newScheduler/presentation/logic/getDefaultDivisions.test.d.ts.map +0 -1
  626. package/dist/test/components/custom/scheduler/calculateMaxPxFromDateRange.test.d.ts +0 -2
  627. package/dist/test/components/custom/scheduler/calculateMaxPxFromDateRange.test.d.ts.map +0 -1
  628. package/dist/test/components/custom/scheduler/filterEvents.test.d.ts.map +0 -1
  629. package/dist/test/components/custom/scheduler/shouldTriggerScroll.test.d.ts.map +0 -1
  630. package/dist/test/example.test.d.ts +0 -1
  631. package/dist/test/example.test.d.ts.map +0 -1
  632. /package/dist/src/{components/custom/scheduler-new/presentation/TestScheduler.d.ts → common/interfaces/CwSelectListProps.js} +0 -0
  633. /package/dist/{test/components/custom/newScheduler/presentation/logic/getDefaultDivisions.test.d.ts → src/components/custom/scheduler-new/presentation/components/header/SchedulerHeaderState.js} +0 -0
  634. /package/dist/{test/components/custom/newScheduler/presentation/logic/hoursBetween.test.d.ts → src/components/custom/scheduler-new/presentation/state/ui/SchedulerState.js} +0 -0
  635. /package/dist/{test/components/custom/newScheduler/presentation/logic/weekendCalc.test.d.ts → src/components/custom/scheduler-new/presentation/state/ui/WeekRange.js} +0 -0
  636. /package/dist/{test/components/custom/scheduler/filterEvents.test.d.ts → src/components/custom/scheduler-temporal/state/CwSchedulerProps.js} +0 -0
  637. /package/dist/{test/components/custom/scheduler/shouldTriggerScroll.test.d.ts → src/components/custom/scheduler-temporal/state/State.js} +0 -0
@@ -0,0 +1,54 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * General purpose aligner flex container, useful for column or row view.
4
+ * @remarks
5
+ * ```txt
6
+ * flexDirection="row" (default):
7
+ *
8
+ * <Row A> | - item 1 - item 2 - item 3 |
9
+ * <Row B> | - item 1 - item 2 - item 3 |
10
+ *
11
+ * flexDirection="column":
12
+ *
13
+ * <Col A> <Col B>
14
+ * | - item 1 | - item 1 |
15
+ * | - item 2 | - item 2 |
16
+ * | - item 3 | - item 3 |
17
+ *
18
+ * ```
19
+ * @example
20
+ * <CwAlign flexDirection="column">
21
+ * <div>
22
+ * <h2>ColumnA</h2>
23
+ * </div>
24
+ * <div>
25
+ * <h2>ColumnB</h2>
26
+ * </div>
27
+ * </CwAlign>
28
+ */
29
+ export function CwAlign(props) {
30
+ const { alignContent, alignItems, alignSelf, bottom, display, flexBasis, flexDirection, flexGrow, flexShrink, flexWrap, cssHeight, justifyContent, left, margin, order, padding, position, right, top, cssWidth, gap, ...divProps } = props;
31
+ return (_jsx("div", { className: "cw-align", ...divProps, style: {
32
+ alignContent: alignContent,
33
+ alignItems: alignItems,
34
+ alignSelf: alignSelf,
35
+ bottom: bottom,
36
+ display: display ?? "flex",
37
+ flexBasis: flexBasis,
38
+ flexDirection: flexDirection,
39
+ flexGrow: flexGrow,
40
+ flexShrink: flexShrink,
41
+ flexWrap: flexWrap,
42
+ height: cssHeight,
43
+ justifyContent: justifyContent,
44
+ left: left,
45
+ margin: margin,
46
+ order: order,
47
+ padding: padding,
48
+ position: position,
49
+ right: right,
50
+ top: top,
51
+ width: cssWidth,
52
+ gap: gap
53
+ }, children: props.children }));
54
+ }
@@ -0,0 +1,55 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { CwButton } from '../../control/action/button/CwButton';
3
+ import { CwLoading } from '../../display/graphics/loading/CwLoading';
4
+ import { CwChip } from '../../display/text/tag/CwChip';
5
+ import styles from './cw-card.module.css';
6
+ /**
7
+ * CwCard - A simple card component for displaying content in a contained format
8
+ *
9
+ * @example
10
+ * <CwCard
11
+ * title="Card Title"
12
+ * subtitle="Card Subtitle"
13
+ * onEdit={handleEdit}
14
+ * onDelete={confirmDeletion}
15
+ * footer="Last updated: 2 days ago"
16
+ * chips={[
17
+ * { label: 'Important', colorScheme: 'danger' },
18
+ * { label: 'Custom', colorScheme: 'custom', customColor: '#8a2be2' }
19
+ * ]}
20
+ * >
21
+ * <p>This is the main content of the card.</p>
22
+ * </CwCard>
23
+ **/
24
+ export const CwCard = ({ id, title, subtitle, alignment = 'center', children, footer, onEdit, onDelete, extraActions, className = '', clickable = false, onClick, isLoading = false, disabled = false, style, chips = [], variant = "border", direction = "column", }) => {
25
+ // Construct class names using CSS modules
26
+ const cardClassNames = [
27
+ 'cw-card',
28
+ styles.card,
29
+ className,
30
+ clickable ? styles.clickable : '',
31
+ disabled ? styles.disabled : '',
32
+ isLoading ? styles.loading : '',
33
+ ].filter(Boolean).join(' ');
34
+ // Handle click event when card is clickable
35
+ const handleClick = () => {
36
+ if (clickable && onClick && !disabled && !isLoading) {
37
+ onClick();
38
+ }
39
+ };
40
+ // Determine if actions should be rendered
41
+ const hasActions = onEdit || onDelete || extraActions;
42
+ // Determine if header should be rendered
43
+ const hasHeader = title || subtitle || (hasActions && direction === "column");
44
+ // Determine if chips should be rendered
45
+ const hasChips = chips.length > 0;
46
+ // Determine if footer should be rendered
47
+ const hasFooter = hasChips || footer || (hasActions && direction === "row");
48
+ // Actions component to reuse
49
+ const ActionsComponent = hasActions && !disabled ? (_jsxs("div", { className: styles.actions, children: [extraActions ?? null, onEdit && _jsx(CwButton, { variant: "icon", icon: "edit", onClick: onEdit }), onDelete && _jsx(CwButton, { variant: "icon", icon: "delete", color: "danger", onClick: onDelete })] })) : null;
50
+ return (_jsxs("div", { ...(id && { id }), className: cardClassNames, ...(style && { style }), ...(clickable && {
51
+ role: 'button',
52
+ tabIndex: 0,
53
+ onClick: handleClick,
54
+ }), "data-variant": variant, "data-direction": direction, children: [hasHeader && (_jsxs("header", { children: [(title || subtitle) && (_jsxs("div", { className: styles.headerContent, "data-alignment": alignment, children: [title && _jsx("h5", { children: title }), subtitle && _jsx("strong", { children: subtitle })] })), direction === "column" && ActionsComponent] })), _jsx("div", { className: styles.content, children: children }), hasFooter && (_jsxs("footer", { children: [hasChips && (_jsx("div", { className: styles.footerTags, children: chips.map((chip, index) => (_jsx(CwChip, { label: chip.label, colorScheme: chip.colorScheme, className: styles.chip, ...(chip.customColor && { customColor: chip.customColor }), ...(chip.variant && { variant: chip.variant }), ...(chip.icon && { icon: chip.icon }) }, index))) })), footer && (_jsx("div", { className: styles.footerContent, children: footer }))] })), direction === "row" && ActionsComponent, isLoading && (_jsx("div", { className: styles.loadingOverlay, children: _jsx(CwLoading, { isLoading: isLoading, size: "small" }) }))] }));
55
+ };
@@ -0,0 +1,38 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useMemo, useState } from 'react';
3
+ import { CwLoading } from '../../display/graphics/loading/CwLoading';
4
+ import styles from './cw-card-list.module.css';
5
+ export function CwCardList({ items, renderCard, pageSize = 10, className = '', layout = 'grid', defaultCardWidth = 320, cardGap = 16, isLoading = false, emptyState, sortOptions = [], defaultSortKey }) {
6
+ const [currentPage, setCurrentPage] = useState(1);
7
+ const [sortKey, setSortKey] = useState(defaultSortKey || sortOptions[0]?.key || '');
8
+ const [sortDirection, setSortDirection] = useState('asc');
9
+ // Sort items based on selected criteria
10
+ const sortedItems = useMemo(() => {
11
+ if (!sortKey || sortOptions.length === 0)
12
+ return items;
13
+ const sortOption = sortOptions.find(option => option.key === sortKey);
14
+ if (!sortOption)
15
+ return items;
16
+ const sorted = [...items].sort(sortOption.sortFn);
17
+ return sortDirection === 'desc' ? sorted.reverse() : sorted;
18
+ }, [items, sortKey, sortDirection, sortOptions]);
19
+ const totalPages = Math.ceil(sortedItems.length / pageSize);
20
+ const startIndex = (currentPage - 1) * pageSize;
21
+ const visibleItems = sortedItems.slice(startIndex, startIndex + pageSize);
22
+ // Reset to first page when sorting changes
23
+ const handleSortChange = (newSortKey) => {
24
+ if (newSortKey === sortKey) {
25
+ setSortDirection(prev => prev === 'asc' ? 'desc' : 'asc');
26
+ }
27
+ else {
28
+ setSortKey(newSortKey);
29
+ setSortDirection('asc');
30
+ }
31
+ setCurrentPage(1);
32
+ };
33
+ const gridStyle = {
34
+ '--card-width': `${defaultCardWidth}px`,
35
+ '--card-gap': `${cardGap}px`
36
+ };
37
+ return (_jsxs("div", { className: `${className}`, children: [sortOptions.length > 0 && (_jsxs("div", { className: styles.sortControls, children: [_jsx("label", { htmlFor: "cardlist-sort-select", children: "Sort by:" }), _jsx("select", { id: "cardlist-sort-select", value: sortKey, onChange: (e) => handleSortChange(e.target.value), className: styles.sortSelect, children: sortOptions.map(option => (_jsx("option", { value: option.key, children: option.label }, option.key))) }), _jsx("button", { onClick: () => setSortDirection(prev => prev === 'asc' ? 'desc' : 'asc'), className: `cw-button-icon ${sortDirection === 'asc' ? 'cwi-arrow-up' : 'cwi-arrow-down'}`, title: `Sort ${sortDirection === 'asc' ? 'descending' : 'ascending'}` })] })), isLoading ? (_jsx("div", { className: styles.loading, children: _jsx(CwLoading, { isLoading: isLoading }) })) : sortedItems.length === 0 ? (_jsx("div", { className: styles.emptyState, children: emptyState || _jsx("p", { children: "No items to display" }) })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: `${styles.cardContainer}`, "data-layout": layout, style: gridStyle, children: visibleItems.map((item, index) => (_jsx("div", { className: styles.cardWrapper, children: renderCard(item, index) }, index))) }), totalPages > 1 && (_jsxs("div", { className: styles.pagination, children: [_jsx("button", { disabled: currentPage === 1, onClick: () => setCurrentPage(p => Math.max(1, p - 1)), className: "cw-button-icon cwi-chevron-left" }), _jsxs("span", { className: styles.pageInfo, children: [currentPage, " of ", totalPages] }), _jsx("button", { disabled: currentPage === totalPages, onClick: () => setCurrentPage(p => Math.min(totalPages, p + 1)), className: "cw-button-icon cwi-chevron-right" })] }))] }))] }));
38
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"CwDialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/layout/dialog/CwDialog.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,YAAY,EAAsE,KAAK,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AA2C5J,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACrF,2DAA2D;IAC3D,YAAY,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IACnC,2DAA2D;IAC3D,YAAY,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IACnC,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,kIAAkI;IAClI,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,uEAAuE;IACvE,UAAU,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACnE,uFAAuF;IACvF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4HAA4H;IAC5H,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB;AAWD,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CA2TtC,CAAC"}
1
+ {"version":3,"file":"CwDialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/layout/dialog/CwDialog.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,YAAY,EAAsE,KAAK,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AA4C5J,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACrF,2DAA2D;IAC3D,YAAY,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IACnC,2DAA2D;IAC3D,YAAY,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IACnC,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,kIAAkI;IAClI,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,uEAAuE;IACvE,UAAU,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACnE,uFAAuF;IACvF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4HAA4H;IAC5H,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB;AAWD,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAkWtC,CAAC"}
@@ -0,0 +1,255 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
3
+ import { createPortal } from "react-dom";
4
+ import styles from "./cw-dialog.module.css";
5
+ // Helper function to parse size values
6
+ const parseSize = (size) => {
7
+ if (typeof size === 'number')
8
+ return { value: size, unit: 'px' };
9
+ // Match numeric value and unit
10
+ const match = String(size).match(/^([\d.]+)(\D+)$/);
11
+ if (match) {
12
+ const unit = match[2];
13
+ // Only allow px, rem, vw, vh
14
+ if (['px', 'rem', 'vw', 'vh'].includes(unit)) {
15
+ return { value: parseFloat(match[1]), unit };
16
+ }
17
+ }
18
+ // Default to pixels if no unit specified or unit not supported
19
+ return { value: parseFloat(String(size)), unit: 'px' };
20
+ };
21
+ // Helper to convert size to px for calculations
22
+ const convertToPx = (size) => {
23
+ switch (size.unit) {
24
+ case 'px': return size.value;
25
+ case 'rem': return size.value * 16; // Assuming 1rem = 16px
26
+ case 'vh': return (window.innerHeight * size.value) / 100;
27
+ case 'vw': return (window.innerWidth * size.value) / 100;
28
+ default: return size.value; // Default fallback
29
+ }
30
+ };
31
+ // Function to convert from px back to original unit
32
+ const convertFromPx = (px, unit) => {
33
+ switch (unit) {
34
+ case 'px': return px;
35
+ case 'rem': return px / 16;
36
+ case 'vh': return (px * 100) / window.innerHeight;
37
+ case 'vw': return (px * 100) / window.innerWidth;
38
+ default: return px;
39
+ }
40
+ };
41
+ export const CwDialog = props => {
42
+ const { customFooter, customHeader, headline, width, height, dialogSize, scrim, onSave, onClose, hideFooter, children, open, autoReposition = false, ...domProps } = props;
43
+ const dialogRef = useRef(null);
44
+ const initialSetup = useMemo(() => {
45
+ // Default width and height with units
46
+ const defaultWidth = 800;
47
+ // Priority: direct props > dialogSize > default values
48
+ const initialWidth = width !== undefined
49
+ ? width
50
+ : dialogSize?.width !== undefined
51
+ ? dialogSize.width
52
+ : defaultWidth;
53
+ const initialHeight = height !== undefined
54
+ ? height
55
+ : dialogSize?.height !== undefined
56
+ ? dialogSize.height
57
+ : undefined; // Undefined for autoHeight
58
+ // Determine if height is automatic when height is not provided
59
+ const isAutoHeight = initialHeight === undefined;
60
+ // Parse the sizes to separate value and unit
61
+ const parsedWidth = parseSize(initialWidth);
62
+ const parsedHeight = isAutoHeight
63
+ ? { value: 0, unit: 'auto' }
64
+ : parseSize(initialHeight);
65
+ // Convert to px for internal calculations
66
+ const initialWidthPx = convertToPx(parsedWidth);
67
+ const initialHeightPx = isAutoHeight ? 0 : convertToPx(parsedHeight);
68
+ // Use estimated height for initial positioning when autoHeight is true
69
+ const initialEstimatedHeight = isAutoHeight ? 300 : initialHeightPx;
70
+ const initialDialogSize = {
71
+ width: initialWidthPx,
72
+ height: initialHeightPx,
73
+ widthUnit: parsedWidth.unit,
74
+ heightUnit: parsedHeight.unit,
75
+ autoHeight: isAutoHeight
76
+ };
77
+ const initialPosition = {
78
+ x: window.document.body.clientWidth / 2 - initialWidthPx / 2,
79
+ y: window.document.body.clientHeight / 2 - initialEstimatedHeight / 2
80
+ };
81
+ return { initialDialogSize, initialPosition };
82
+ }, [width, height, dialogSize]); // Only recalculate when these props change
83
+ const [isDragging, setIsDragging] = useState(false);
84
+ const [resizeDirection, setResizeDirection] = useState(null);
85
+ const [position, setPosition] = useState(initialSetup.initialPosition);
86
+ const [size, setSize] = useState(initialSetup.initialDialogSize);
87
+ const [dragStart, setDragStart] = useState({ x: 0, y: 0 });
88
+ // scrim is true by default
89
+ const hasScrim = scrim !== false;
90
+ // Adjust position after the dialog is rendered when using autoHeight
91
+ useLayoutEffect(() => {
92
+ let resizeObserver = null;
93
+ if (size.autoHeight && dialogRef.current && open) {
94
+ const recalculatePosition = () => {
95
+ const actualHeight = dialogRef.current?.offsetHeight;
96
+ if (actualHeight && actualHeight > 0) {
97
+ setPosition({
98
+ x: Math.max(0, window.document.body.clientWidth / 2 - size.width / 2),
99
+ y: Math.max(0, window.document.body.clientHeight / 2 - actualHeight / 2)
100
+ });
101
+ }
102
+ };
103
+ setTimeout(recalculatePosition, 0);
104
+ // For modals with delayed loading content (inner fetchs and similar)
105
+ if (autoReposition) {
106
+ resizeObserver = new ResizeObserver(() => {
107
+ const dialog = dialogRef.current;
108
+ if (!dialog)
109
+ return;
110
+ const dialogRect = dialog.getBoundingClientRect();
111
+ const viewportHeight = window.innerHeight;
112
+ const margin = 50;
113
+ // Only reposition if modal tries to grow over window limits
114
+ const isOverflowingTop = dialogRect.top < margin;
115
+ const isOverflowingBottom = dialogRect.bottom > viewportHeight - margin;
116
+ if (isOverflowingTop || isOverflowingBottom) {
117
+ recalculatePosition();
118
+ }
119
+ });
120
+ resizeObserver.observe(dialogRef.current);
121
+ }
122
+ }
123
+ return () => {
124
+ resizeObserver?.disconnect();
125
+ };
126
+ }, [size.autoHeight, open, autoReposition]);
127
+ useEffect(() => {
128
+ const handleMouseMove = (e) => {
129
+ if (isDragging) {
130
+ const parent = dialogRef.current?.parentElement;
131
+ if (parent) {
132
+ const parentRect = parent.getBoundingClientRect();
133
+ const dialogRect = dialogRef.current?.getBoundingClientRect();
134
+ if (dialogRect) {
135
+ const minVisiblePx = 48;
136
+ const newX = e.clientX - dragStart.x;
137
+ const newY = e.clientY - dragStart.y;
138
+ const clampedX = Math.min(Math.max(newX, minVisiblePx - dialogRect.width), parentRect.width - minVisiblePx);
139
+ const clampedY = Math.min(Math.max(newY, minVisiblePx - dialogRect.height), parentRect.height - minVisiblePx);
140
+ setPosition({ x: clampedX, y: clampedY });
141
+ }
142
+ }
143
+ }
144
+ else if (resizeDirection) {
145
+ const parent = dialogRef.current?.parentElement;
146
+ if (parent) {
147
+ const parentRect = parent.getBoundingClientRect();
148
+ const dialogRect = dialogRef.current?.getBoundingClientRect();
149
+ if (dialogRect) {
150
+ let newWidth = size.width;
151
+ let newHeight = size.height;
152
+ let newX = position.x;
153
+ let newY = position.y;
154
+ const minVisiblePx = 64;
155
+ const minSize = 100;
156
+ // Only allow horizontal resizing if autoHeight is true
157
+ if (!size.autoHeight || (!resizeDirection.includes("n") && !resizeDirection.includes("s"))) {
158
+ // Logic for horizontal resizing
159
+ if (resizeDirection.includes("w")) {
160
+ const dx = e.clientX - position.x;
161
+ newWidth = Math.max(size.width - dx, minSize);
162
+ newX = Math.min(Math.max(position.x + dx, minVisiblePx - newWidth), position.x + size.width - minSize);
163
+ }
164
+ if (resizeDirection.includes("e")) {
165
+ newWidth = Math.min(Math.max(e.clientX - position.x, minSize), parentRect.width - position.x + dialogRect.width - minVisiblePx);
166
+ }
167
+ }
168
+ // Only apply vertical resizing if autoHeight is false
169
+ if (!size.autoHeight) {
170
+ if (resizeDirection.includes("n")) {
171
+ const dy = e.clientY - position.y;
172
+ newHeight = Math.max(size.height - dy, minSize);
173
+ newY = Math.min(Math.max(position.y + dy, minVisiblePx - newHeight), position.y + size.height - minSize);
174
+ }
175
+ if (resizeDirection.includes("s")) {
176
+ newHeight = Math.min(Math.max(e.clientY - position.y, minSize), parentRect.height - position.y + dialogRect.height - minVisiblePx);
177
+ }
178
+ }
179
+ // Ensure the modal stays within bounds after resizing
180
+ newX = Math.min(Math.max(newX, minVisiblePx - newWidth), parentRect.width - minVisiblePx);
181
+ newY = Math.min(Math.max(newY, minVisiblePx - newHeight), parentRect.height - minVisiblePx);
182
+ // Update state maintaining original units
183
+ setSize({
184
+ width: newWidth,
185
+ height: newHeight,
186
+ widthUnit: size.widthUnit,
187
+ heightUnit: size.heightUnit,
188
+ autoHeight: size.autoHeight
189
+ });
190
+ setPosition({ x: newX, y: newY });
191
+ }
192
+ }
193
+ }
194
+ };
195
+ const handleMouseUp = () => {
196
+ setIsDragging(false);
197
+ setResizeDirection(null);
198
+ };
199
+ document.addEventListener("mousemove", handleMouseMove);
200
+ document.addEventListener("mouseup", handleMouseUp);
201
+ return () => {
202
+ document.removeEventListener("mousemove", handleMouseMove);
203
+ document.removeEventListener("mouseup", handleMouseUp);
204
+ };
205
+ }, [isDragging, resizeDirection, dragStart, position, size]);
206
+ const handleMouseDown = useCallback((e) => {
207
+ setIsDragging(true);
208
+ setDragStart({ x: e.clientX - position.x, y: e.clientY - position.y });
209
+ }, [position]);
210
+ const handleResizeMouseDown = useCallback((direction) => (e) => {
211
+ e.stopPropagation();
212
+ setResizeDirection(direction);
213
+ }, []);
214
+ const handleScrimClick = useCallback((e) => {
215
+ if (e.target === e.currentTarget && onClose) {
216
+ onClose();
217
+ }
218
+ }, [onClose]);
219
+ const header = useMemo(() => (_jsxs("header", { onMouseDown: handleMouseDown, children: [_jsx("span", { children: headline }), customHeader || (_jsx("button", { className: styles["cw-dialog-button-close"], onClick: onClose }))] })), [handleMouseDown, headline, customHeader, onClose]);
220
+ const content = useMemo(() => (_jsx("section", { children: children })), [children]);
221
+ const footer = useMemo(() => (_jsx("footer", { children: customFooter || (_jsx("button", { className: "cw-button-icon cwi-save", onClick: onSave })) })), [customFooter, onSave]);
222
+ const resizeHandles = useMemo(() => size.autoHeight
223
+ ? [
224
+ // Only horizontal handles if autoHeight is true
225
+ _jsx("div", { "data-handle-e": true, onMouseDown: handleResizeMouseDown("e") }, "handle-e"),
226
+ _jsx("div", { "data-handle-w": true, onMouseDown: handleResizeMouseDown("w") }, "handle-w")
227
+ ]
228
+ : [
229
+ // All handles if autoHeight is false
230
+ _jsx("div", { "data-handle-n": true, onMouseDown: handleResizeMouseDown("n") }, "handle-n"),
231
+ _jsx("div", { "data-handle-s": true, onMouseDown: handleResizeMouseDown("s") }, "handle-s"),
232
+ _jsx("div", { "data-handle-e": true, onMouseDown: handleResizeMouseDown("e") }, "handle-e"),
233
+ _jsx("div", { "data-handle-w": true, onMouseDown: handleResizeMouseDown("w") }, "handle-w"),
234
+ _jsx("div", { "data-handle-ne": true, onMouseDown: handleResizeMouseDown("ne") }, "handle-ne"),
235
+ _jsx("div", { "data-handle-nw": true, onMouseDown: handleResizeMouseDown("nw") }, "handle-nw"),
236
+ _jsx("div", { "data-handle-se": true, onMouseDown: handleResizeMouseDown("se") }, "handle-se"),
237
+ _jsx("div", { "data-handle-sw": true, onMouseDown: handleResizeMouseDown("sw") }, "handle-sw")
238
+ ], [size.autoHeight, handleResizeMouseDown]);
239
+ const displayDimensions = useMemo(() => {
240
+ // Prepare width and height with original units for display
241
+ const displayWidth = `${convertFromPx(size.width, size.widthUnit)}${size.widthUnit}`;
242
+ // If autoHeight, don't specify height and let it adapt to content
243
+ const displayHeight = size.autoHeight
244
+ ? 'auto'
245
+ : `${convertFromPx(size.height, size.heightUnit)}${size.heightUnit}`;
246
+ return { displayWidth, displayHeight };
247
+ }, [size.width, size.height, size.widthUnit, size.heightUnit, size.autoHeight]);
248
+ const dialogContent = (_jsx("div", { "data-has-scrim": hasScrim, className: styles["cw-dialog-main"], onClick: handleScrimClick, children: _jsxs("dialog", { ...domProps, ref: dialogRef, style: {
249
+ left: `${position.x}px`,
250
+ top: `${position.y}px`,
251
+ width: displayDimensions.displayWidth,
252
+ height: displayDimensions.displayHeight
253
+ }, children: [header, content, hideFooter !== true && footer, resizeHandles] }) }));
254
+ return open ? createPortal(dialogContent, document.body) : null;
255
+ };
@@ -0,0 +1,44 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createRoot } from "react-dom/client";
3
+ import { CwDialog } from "./CwDialog";
4
+ export class CwDialogManager {
5
+ static openDialogs = new Map();
6
+ static OpenDialog(id, props) {
7
+ if (!CwDialogManager.openDialogs.has(id)) {
8
+ const container = document.createElement("div");
9
+ document.body.appendChild(container);
10
+ const root = createRoot(container);
11
+ root.render(_jsx(CwDialog, { ...props }));
12
+ CwDialogManager.openDialogs.set(id, { props, container });
13
+ }
14
+ }
15
+ static CloseDialog(id) {
16
+ const dialog = CwDialogManager.openDialogs.get(id);
17
+ if (dialog) {
18
+ const root = createRoot(dialog.container);
19
+ root.unmount();
20
+ dialog.container.remove();
21
+ CwDialogManager.openDialogs.delete(id);
22
+ }
23
+ }
24
+ static CloseAllDialogs() {
25
+ CwDialogManager.openDialogs.forEach((_dialog, id) => {
26
+ CwDialogManager.CloseDialog(id);
27
+ });
28
+ }
29
+ static CloseLastDialog() {
30
+ const lastDialogId = Array.from(CwDialogManager.openDialogs.keys()).pop();
31
+ if (lastDialogId) {
32
+ CwDialogManager.CloseDialog(lastDialogId);
33
+ }
34
+ }
35
+ static CloseFirstDialog() {
36
+ const firstDialogId = Array.from(CwDialogManager.openDialogs.keys())[0];
37
+ if (firstDialogId) {
38
+ CwDialogManager.CloseDialog(firstDialogId);
39
+ }
40
+ }
41
+ static GetOpenDialogCount() {
42
+ return CwDialogManager.openDialogs.size;
43
+ }
44
+ }
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useRef } from "react";
3
+ /**
4
+ * An expandable element with briefing and children displayed when clicked
5
+ * @param briefing Title of the expandable
6
+ * @param onToggle Function to run when expandable is toggled open/closed
7
+ * @param onClose Function to run when expandable is closed
8
+ * @param onOpen Function to run when expandable is opened
9
+ * @example
10
+ * <CwExpandable briefing="Title here">Contents here</CwExpandable>
11
+ */
12
+ export const CwExpandable = ({ briefing, onToggle, onOpen, onClose, children, ...detailsProps }) => {
13
+ const myRef = useRef(null);
14
+ useEffect(() => {
15
+ myRef.current?.addEventListener("click", ev => {
16
+ const isOpen = ev.currentTarget.open;
17
+ onToggle?.(!isOpen);
18
+ if (!isOpen)
19
+ onOpen?.(ev);
20
+ else
21
+ onClose?.(ev);
22
+ });
23
+ }, [onClose, onOpen, onToggle]);
24
+ return (_jsx("div", { className: "cw-expandable", children: _jsxs("details", { ref: myRef, ...detailsProps, children: [_jsx("summary", { children: briefing }), children && _jsx("section", { children: children })] }) }));
25
+ };
26
+ export const _CwExpandableTest = () => {
27
+ return _jsx(CwExpandable, { briefing: "a", children: "hola" });
28
+ };
@@ -1,9 +1,9 @@
1
- import React from "react";
1
+ import React, { type HTMLAttributes } from "react";
2
2
  import "./cw-key-value-list.css";
3
3
  /**
4
4
  * Props for the CwKeyValueList component
5
5
  */
6
- interface CwKeyValueListProps {
6
+ export interface CwKeyValueListProps extends HTMLAttributes<HTMLDListElement> {
7
7
  items: Array<{
8
8
  key: string;
9
9
  label: string;
@@ -30,5 +30,4 @@ interface CwKeyValueListProps {
30
30
  * />
31
31
  */
32
32
  export declare const CwKeyValueList: React.FC<CwKeyValueListProps>;
33
- export type { CwKeyValueListProps };
34
33
  //# sourceMappingURL=CwKeyValueList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CwKeyValueList.d.ts","sourceRoot":"","sources":["../../../../../../src/components/layout/list/key-value/CwKeyValueList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,yBAAyB,CAAC;AACjC;;GAEG;AACH,UAAU,mBAAmB;IAE5B,KAAK,EAAE,KAAK,CAAC;QAEZ,GAAG,EAAE,MAAM,CAAC;QAEZ,KAAK,EAAE,MAAM,CAAC;QAEd,KAAK,EAAE,GAAG,CAAC;QACX,4EAA4E;QAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IAEH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,kEAAkE;IAClE,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;CAC7B;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAyBxD,CAAC;AAEF,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"CwKeyValueList.d.ts","sourceRoot":"","sources":["../../../../../../src/components/layout/list/key-value/CwKeyValueList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,yBAAyB,CAAC;AACjC;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,cAAc,CAAC,gBAAgB,CAAC;IAE5E,KAAK,EAAE,KAAK,CAAC;QAEZ,GAAG,EAAE,MAAM,CAAC;QAEZ,KAAK,EAAE,MAAM,CAAC;QAEd,KAAK,EAAE,GAAG,CAAC;QACX,4EAA4E;QAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IAEH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,kEAAkE;IAClE,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;CAC7B;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA2BxD,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import "./cw-key-value-list.css";
4
+ /**
5
+ * A component for displaying key-value pairs in a definition list format
6
+ * Used for read-only display of structured data
7
+ *
8
+ * @example
9
+ * <CwKeyValueList
10
+ * items={[
11
+ * { key: "length", label: "Length", value: "10", suffix: "m" },
12
+ * { key: "width", label: "Width", value: null, suffix: "m" }
13
+ * ]}
14
+ * emptyValue="N/A"
15
+ * />
16
+ */
17
+ export const CwKeyValueList = ({ items, className = "", emptyValue = "-", direction = "row" }) => {
18
+ return (_jsx("dl", { className: `cw-keyvalue-list ${className}`, children: items.map(item => (_jsxs("div", { className: `cw-keyvalue-list-item cw-flex-${direction}`, children: [_jsx("dt", { children: item.label }), _jsx("dd", { children: item.value !== undefined && item.value !== null && item.value !== ""
19
+ ? (React.isValidElement(item.value)
20
+ ? item.value
21
+ : `${item.value}${item.suffix ? ` ${item.suffix}` : ''}`)
22
+ : emptyValue })] }, item.key))) }));
23
+ };
@@ -0,0 +1,73 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { useState } from 'react';
3
+ import { CwButton } from '../../../control/action/button/CwButton';
4
+ import { CwIcon } from '../../../display/graphics/icon/CwIcon';
5
+ import styles from "./cw-sortable-list.module.css";
6
+ export function CwSortableList({ items, onReorder, renderItem, className = '', movedItems = new Set(), emptyMessage = "No elements to show", }) {
7
+ const [draggedItem, setDraggedItem] = useState(null);
8
+ const [dropIndicatorIndex, setDropIndicatorIndex] = useState(null);
9
+ const [lastValidDropIndex, setLastValidDropIndex] = useState(null);
10
+ const [expandedItems, setExpandedItems] = useState(new Set());
11
+ const toggleExpanded = (itemId) => {
12
+ setExpandedItems(prev => {
13
+ const newSet = new Set(prev);
14
+ if (newSet.has(itemId)) {
15
+ newSet.delete(itemId);
16
+ }
17
+ else {
18
+ newSet.add(itemId);
19
+ }
20
+ return newSet;
21
+ });
22
+ };
23
+ const cleanupDragState = () => {
24
+ setDraggedItem(null);
25
+ setDropIndicatorIndex(null);
26
+ setLastValidDropIndex(null);
27
+ };
28
+ const handleDragStart = (e, item) => {
29
+ setDraggedItem(item);
30
+ setLastValidDropIndex(null);
31
+ e.dataTransfer.effectAllowed = 'move';
32
+ };
33
+ const handleDragEnd = () => {
34
+ if (draggedItem && lastValidDropIndex !== null) {
35
+ const dragIndex = items.findIndex(item => item.id === draggedItem.id);
36
+ if (dragIndex !== lastValidDropIndex && dragIndex !== lastValidDropIndex - 1) {
37
+ const newItems = [...items];
38
+ const [draggedElement] = newItems.splice(dragIndex, 1);
39
+ let finalIndex = lastValidDropIndex;
40
+ if (dragIndex < finalIndex)
41
+ finalIndex -= 1;
42
+ newItems.splice(finalIndex, 0, draggedElement);
43
+ // Ahora pasamos el id del elemento movido al callback
44
+ onReorder(newItems, draggedItem.id);
45
+ }
46
+ }
47
+ cleanupDragState();
48
+ };
49
+ const handleDragOver = (e, index) => {
50
+ e.preventDefault();
51
+ if (!draggedItem)
52
+ return;
53
+ const rect = e.currentTarget.getBoundingClientRect();
54
+ const mouseY = e.clientY;
55
+ const elementCenterY = rect.top + (rect.height / 2);
56
+ const dropIndex = mouseY < elementCenterY ? index : index + 1;
57
+ setLastValidDropIndex(dropIndex);
58
+ if (dropIndicatorIndex !== dropIndex) {
59
+ setDropIndicatorIndex(dropIndex);
60
+ }
61
+ };
62
+ if (items.length === 0) {
63
+ return (_jsx("div", { className: `${styles.sortableList} ${styles.emptyState} ${className}`, children: _jsx("div", { className: styles.emptyMessage, children: emptyMessage }) }));
64
+ }
65
+ return (_jsx("div", { className: `${styles.sortableList} ${className}`, children: items.map((item, index) => {
66
+ const { title, extraContent, actions, showHandle = true, expandedContent } = renderItem(item);
67
+ const isDragging = draggedItem?.id === item.id;
68
+ const isMoved = movedItems.has(item.id);
69
+ const canExpand = Boolean(expandedContent);
70
+ const isExpanded = expandedItems.has(item.id);
71
+ return (_jsxs(React.Fragment, { children: [dropIndicatorIndex === index && _jsx("div", { className: styles.dropIndicator }), _jsxs("div", { className: `${styles.sortableItem} ${isDragging ? styles.dragging : ''} ${isMoved ? styles.moved : ''}`, draggable: true, onDragStart: (e) => handleDragStart(e, item), onDragOver: (e) => handleDragOver(e, index), onDragEnd: handleDragEnd, children: [_jsxs("header", { children: [canExpand ? (_jsx(CwButton, { variant: "icon", onClick: () => toggleExpanded(item.id), type: "button", title: isExpanded ? "Collapse" : "Expand", icon: isExpanded ? "chevron-up" : "chevron-down" })) : showHandle ? (_jsx("div", { className: styles.sortableHandle, children: _jsx(CwIcon, { iconId: "grip-dots" }) })) : null, _jsxs("div", { className: styles.sortableContent, children: [_jsx("div", { className: styles.sortableTitle, children: title }), extraContent && _jsx("div", { className: styles.sortableExtraContent, children: extraContent })] }), _jsx("div", { className: styles.sortableActions, children: actions })] }), isExpanded && expandedContent && (_jsx("div", { className: styles.expandedContent, children: expandedContent }))] }), dropIndicatorIndex === items.length && index === items.length - 1 && (_jsx("div", { className: styles.dropIndicator }))] }, item.id));
72
+ }) }));
73
+ }