@cwellt_software/cwellt-reactjs-lib 1.1.5 → 1.1.7
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.
- package/dist/index.cjs.js +1314 -70
- package/dist/index.css +2 -2
- package/dist/index.d.ts +235 -4
- package/dist/index.es.js +1310 -71
- package/dist/playground/main.d.ts.map +1 -1
- package/dist/src/common/classes/CwSelectList.js +12 -0
- package/dist/src/common/classes/CwSelectListItems.js +14 -0
- package/dist/src/common/functions/collections.js +18 -0
- package/dist/src/common/functions/colorManipulation.js +76 -0
- package/dist/src/common/functions/dsl/UiEventDSL.js +20 -0
- package/dist/src/common/functions/useSingleAndDoubleClicks.js +28 -0
- package/dist/src/components/control/action/button/CwButton.js +13 -0
- package/dist/src/components/control/action/buttons/CwButtons.js +188 -0
- package/dist/src/components/control/action/contextmenu/CwContextMenu.js +43 -0
- package/dist/src/components/control/action/contextual-menu/CwContextualMenu.js +55 -0
- package/dist/src/components/control/action/search/CwSearch.js +67 -0
- package/dist/src/components/control/action/tooltip-dialog/CwTooltipDialog.js +11 -0
- package/dist/src/components/control/choice/checkbox/CwCheckbox.js +15 -0
- package/dist/src/components/control/choice/deprecated/MultiSelect_deprecated_.js +99 -0
- package/dist/src/components/control/choice/dropdown/CwDropdown.js +27 -0
- package/dist/src/components/control/choice/dropdown/CwDropdownContainer.js +30 -0
- package/dist/src/components/control/choice/dropdown/CwDropdownFilter.js +10 -0
- package/dist/src/components/control/choice/multi-filter/CwMultiFilter.js +298 -0
- package/dist/src/components/control/choice/multi-filter/components/tag/CwMultiFilterTag.js +17 -0
- package/dist/src/components/control/choice/multiselect/CwHeadFilter.js +80 -0
- package/dist/src/components/control/choice/multiselect/CwMultiselect.js +393 -0
- package/dist/src/components/control/choice/multiselect/CwOptionList.js +36 -0
- package/dist/src/components/control/choice/option/CwOption.js +16 -0
- package/dist/src/components/control/choice/select/CwSelect.js +36 -0
- package/dist/src/components/control/choice/toggle/CwToggle.js +9 -0
- package/dist/src/components/control/input/any/CwInput.js +16 -0
- package/dist/src/components/control/input/color/CwColorPicker.js +210 -0
- package/dist/src/components/control/input/color/CwInputColor.js +142 -0
- package/dist/src/components/control/input/date/CwInputDate.js +29 -0
- package/dist/src/components/control/input/date-picker/CwInputDatePicker.js +109 -0
- package/dist/src/components/control/input/date-text/CwInputDateText.js +90 -0
- package/dist/src/components/control/input/datetime/CwInputDatetime.js +29 -0
- package/dist/src/components/control/input/digit/CwDigit.js +28 -0
- package/dist/src/components/control/input/file/CwFileUpload.js +52 -0
- package/dist/src/components/control/input/file/CwFileUploadMultiple.js +148 -0
- package/dist/src/components/control/input/image/CwInputImage.js +52 -0
- package/dist/src/components/control/input/image-area/CwImageArea.js +113 -0
- package/dist/src/components/control/input/new-dates/CwDatePicker.d.ts +42 -0
- package/dist/src/components/control/input/new-dates/CwDatePicker.d.ts.map +1 -0
- package/dist/src/components/control/input/new-dates/CwDateRangePicker.d.ts +63 -0
- package/dist/src/components/control/input/new-dates/CwDateRangePicker.d.ts.map +1 -0
- package/dist/src/components/control/input/new-dates/CwDateTimePicker.d.ts +47 -0
- package/dist/src/components/control/input/new-dates/CwDateTimePicker.d.ts.map +1 -0
- package/dist/src/components/control/input/new-dates/CwDateTimePickerCompact.d.ts +46 -0
- package/dist/src/components/control/input/new-dates/CwDateTimePickerCompact.d.ts.map +1 -0
- package/dist/src/components/control/input/new-dates/CwTimePicker.d.ts +38 -0
- package/dist/src/components/control/input/new-dates/CwTimePicker.d.ts.map +1 -0
- package/dist/src/components/control/input/new-dates/dateRangePresets.d.ts +19 -0
- package/dist/src/components/control/input/new-dates/dateRangePresets.d.ts.map +1 -0
- package/dist/src/components/control/input/number/CwInputNumber.js +11 -0
- package/dist/src/components/control/input/phone/CwInputPhone.js +24 -0
- package/dist/src/components/control/input/text/CwInputText.js +31 -0
- package/dist/src/components/control/input/text-area/CwTextArea.js +9 -0
- package/dist/src/components/control/input/time/CwTime.js +29 -0
- package/dist/src/components/control/input/weekday/CwWeekdaySelector.js +143 -0
- package/dist/src/components/custom/find-airport/CwFindAirportComp.js +240 -0
- package/dist/src/components/custom/scheduler/CwSchedulerComp.js +211 -0
- package/dist/src/components/custom/scheduler/CwSuperSchedulerComp.js +269 -0
- package/dist/src/components/custom/scheduler/components/EventRender.js +142 -0
- package/dist/src/components/custom/scheduler/components/ResourceListRender.js +12 -0
- package/dist/src/components/custom/scheduler/components/ResourceRender.js +26 -0
- package/dist/src/components/custom/scheduler/components/day_headers/DayHeader.js +13 -0
- package/dist/src/components/custom/scheduler/components/day_headers/MonthHeader.js +12 -0
- package/dist/src/components/custom/scheduler/components/day_headers/MyDaysHeader.js +62 -0
- package/dist/src/components/custom/scheduler/components/day_headers/WeekHeader.js +13 -0
- package/dist/src/components/custom/scheduler/components/resources_title_list/ResourcesTitleList.js +24 -0
- package/dist/src/components/custom/scheduler/components/scheduler_content_area/SchedulerContentArea.js +17 -0
- package/dist/src/components/custom/scheduler/components/scheduler_header/SchedulerHeader.js +26 -0
- package/dist/src/components/custom/scheduler/components/scheduler_timeline/SchedulerTimeLine.js +23 -0
- package/dist/src/components/custom/scheduler/components/time_headers/TimeHeader.js +31 -0
- package/dist/src/components/custom/scheduler/components/time_headers/TimeHeaderRow.js +16 -0
- package/dist/src/components/custom/scheduler/components/time_line/TimeLine.js +12 -0
- package/dist/src/components/custom/scheduler/logic/dates/addMinutesToDateFromPx.js +5 -0
- package/dist/src/components/custom/scheduler/logic/dates/daysBetweenTwoDates.js +15 -0
- package/dist/src/components/custom/scheduler/logic/dates/daysBetweenTwoDatesWithoutCeil.js +5 -0
- package/dist/src/components/custom/scheduler/logic/dates/getFormatedTimeForHeader.js +43 -0
- package/dist/src/components/custom/scheduler/logic/dates/getMonthHeaderData.js +35 -0
- package/dist/src/components/custom/scheduler/logic/dates/getUtcToday.js +6 -0
- package/dist/src/components/custom/scheduler/logic/dates/getWeekHeaderDataFromWeekRange.js +20 -0
- package/dist/src/components/custom/scheduler/logic/dates/listOfDatesToWeeks.js +55 -0
- package/dist/src/components/custom/scheduler/logic/divisions/calculateDivisionType.js +13 -0
- package/dist/src/components/custom/scheduler/logic/divisions/calculateDivisions.js +16 -0
- package/dist/src/components/custom/scheduler/logic/filtering/filterEvents.js +33 -0
- package/dist/src/components/custom/scheduler/logic/filtering/filterResources.js +14 -0
- package/dist/src/components/custom/scheduler/logic/filtering/hasSameProperties.js +10 -0
- package/dist/src/components/custom/scheduler/logic/onDrop/OnDrop.js +45 -0
- package/dist/src/components/custom/scheduler/logic/pixels/getHeightLineScheduler.js +14 -0
- package/dist/src/components/custom/scheduler/logic/pixels/getPixelsForEvent.js +32 -0
- package/dist/src/components/custom/scheduler/logic/pixels/heightScheduler.js +14 -0
- package/dist/src/components/custom/scheduler/logic/pixels/heightSchedulerPinned.js +9 -0
- package/dist/src/components/custom/scheduler/logic/state_handle/doubleClickOnResource.js +5 -0
- package/dist/src/components/custom/scheduler/logic/state_handle/handleResourceChange.js +11 -0
- package/dist/src/components/custom/scheduler/logic/state_handle/onDragOver.js +9 -0
- package/dist/src/components/custom/scheduler/logic/state_handle/onDropEventToResource.js +3 -0
- package/dist/src/components/custom/scheduler/logic/strings/compareStrings.js +7 -0
- package/dist/src/components/custom/scheduler/logic/strings/getGUID.js +7 -0
- package/dist/src/components/custom/scheduler/logic/ui/checkIfSlotAvailable.js +8 -0
- package/dist/src/components/custom/scheduler/logic/ui/getEventsOfResource.js +45 -0
- package/dist/src/components/custom/scheduler/logic/ui/getTimeHeaders.js +35 -0
- package/dist/src/components/custom/scheduler/logic/ui/isAllowedToMove.js +19 -0
- package/dist/src/components/custom/scheduler/logic/ui/updateResourceVisibility.js +15 -0
- package/dist/src/components/custom/scheduler/state/CblDragAndDrop.js +18 -0
- package/dist/src/components/custom/scheduler/state/CwSchedulerProps.js +1 -0
- package/dist/src/components/custom/scheduler/state/Resource.js +18 -0
- package/dist/src/components/custom/scheduler/state/State.js +1 -0
- package/dist/src/components/custom/scheduler/state/cblEvent.js +28 -0
- package/dist/src/components/custom/scheduler/state/cblEventCompProps.js +1 -0
- package/dist/src/components/custom/scheduler/state/resourceCompProps2.js +1 -0
- package/dist/src/components/custom/scheduler-new/presentation/NewScheduler.js +123 -0
- package/dist/src/components/custom/scheduler-new/presentation/NewSchedulerUiEvents.d.ts +2 -1
- package/dist/src/components/custom/scheduler-new/presentation/NewSchedulerUiEvents.d.ts.map +1 -1
- package/dist/src/components/custom/scheduler-new/presentation/NewSchedulerUiEvents.js +118 -0
- package/dist/src/components/custom/scheduler-new/presentation/SchedulerPresenter.js +166 -0
- package/dist/src/components/custom/scheduler-new/presentation/components/header/HeaderDivision.js +26 -0
- package/dist/src/components/custom/scheduler-new/presentation/components/header/HeaderTitle.js +8 -0
- package/dist/src/components/custom/scheduler-new/presentation/components/header/SchedulerHeader.js +86 -0
- package/dist/src/components/custom/scheduler-new/presentation/components/row/BackgroundEvent.js +60 -0
- package/dist/src/components/custom/scheduler-new/presentation/components/row/DefaultRowHeader.js +24 -0
- package/dist/src/components/custom/scheduler-new/presentation/components/row/Event.js +150 -0
- package/dist/src/components/custom/scheduler-new/presentation/components/row/EventSideDrag.js +11 -0
- package/dist/src/components/custom/scheduler-new/presentation/components/row/SchedulerRow.js +176 -0
- package/dist/src/components/custom/scheduler-new/presentation/components/timeline/DivisionLine.js +8 -0
- package/dist/src/components/custom/scheduler-new/presentation/components/timeline/TimeLine.js +39 -0
- package/dist/src/components/custom/scheduler-new/presentation/components/timeline/WeekEndLine.js +8 -0
- package/dist/src/components/custom/scheduler-new/presentation/helpers.js +43 -0
- package/dist/src/components/custom/scheduler-new/presentation/logic/WeekendCalc.js +24 -0
- package/dist/src/components/custom/scheduler-new/presentation/logic/dateFromPercentage.js +7 -0
- package/dist/src/components/custom/scheduler-new/presentation/logic/eventIsVisible.js +7 -0
- package/dist/src/components/custom/scheduler-new/presentation/logic/getDefaultDivisions.js +113 -0
- package/dist/src/components/custom/scheduler-new/presentation/logic/getDivisions.js +21 -0
- package/dist/src/components/custom/scheduler-new/presentation/logic/getEventSizes.js +30 -0
- package/dist/src/components/custom/scheduler-new/presentation/logic/getLinesByDivisions.js +13 -0
- package/dist/src/components/custom/scheduler-new/presentation/logic/getPercentageFromMouseEvent.js +7 -0
- package/dist/src/components/custom/scheduler-new/presentation/logic/separateEventsToInnerRows.js +32 -0
- package/dist/src/components/custom/scheduler-new/presentation/logic/sortByCategoryAndTitle.js +12 -0
- package/dist/src/components/custom/scheduler-temporal/CwSchedulerComp2.js +267 -0
- package/dist/src/components/custom/scheduler-temporal/CwSuperSchedulerComp.js +269 -0
- package/dist/src/components/custom/scheduler-temporal/components/EventRender.js +142 -0
- package/dist/src/components/custom/scheduler-temporal/components/ResourceListRender.js +12 -0
- package/dist/src/components/custom/scheduler-temporal/components/ResourceRender.js +26 -0
- package/dist/src/components/custom/scheduler-temporal/components/day_headers/DayHeader.js +13 -0
- package/dist/src/components/custom/scheduler-temporal/components/day_headers/MonthHeader.js +12 -0
- package/dist/src/components/custom/scheduler-temporal/components/day_headers/MyDaysHeader.js +62 -0
- package/dist/src/components/custom/scheduler-temporal/components/day_headers/WeekHeader.js +13 -0
- package/dist/src/components/custom/scheduler-temporal/components/resources_title_list/ResourcesTitleList.js +22 -0
- package/dist/src/components/custom/scheduler-temporal/components/scheduler_content_area/SchedulerContentArea.js +17 -0
- package/dist/src/components/custom/scheduler-temporal/components/scheduler_header/SchedulerHeader.js +26 -0
- package/dist/src/components/custom/scheduler-temporal/components/scheduler_timeline/SchedulerTimeLine.js +23 -0
- package/dist/src/components/custom/scheduler-temporal/components/time_headers/TimeHeader.js +31 -0
- package/dist/src/components/custom/scheduler-temporal/components/time_headers/TimeHeaderRow.js +16 -0
- package/dist/src/components/custom/scheduler-temporal/components/time_line/TimeLine.js +12 -0
- package/dist/src/components/custom/scheduler-temporal/logic/dates/addMinutesToDateFromPx.js +5 -0
- package/dist/src/components/custom/scheduler-temporal/logic/dates/daysBetweenTwoDates.js +15 -0
- package/dist/src/components/custom/scheduler-temporal/logic/dates/daysBetweenTwoDatesWithoutCeil.js +5 -0
- package/dist/src/components/custom/scheduler-temporal/logic/dates/getFormatedTimeForHeader.js +43 -0
- package/dist/src/components/custom/scheduler-temporal/logic/dates/getMonthHeaderData.js +35 -0
- package/dist/src/components/custom/scheduler-temporal/logic/dates/getUtcToday.js +6 -0
- package/dist/src/components/custom/scheduler-temporal/logic/dates/getWeekHeaderDataFromWeekRange.js +20 -0
- package/dist/src/components/custom/scheduler-temporal/logic/dates/listOfDatesToWeeks.js +55 -0
- package/dist/src/components/custom/scheduler-temporal/logic/divisions/calculateDivisionType.js +13 -0
- package/dist/src/components/custom/scheduler-temporal/logic/divisions/calculateDivisions.js +16 -0
- package/dist/src/components/custom/scheduler-temporal/logic/filtering/filterAndProcessResources.js +10 -0
- package/dist/src/components/custom/scheduler-temporal/logic/filtering/filterEvents.js +34 -0
- package/dist/src/components/custom/scheduler-temporal/logic/filtering/filterResources.js +14 -0
- package/dist/src/components/custom/scheduler-temporal/logic/filtering/hasSameProperties.js +10 -0
- package/dist/src/components/custom/scheduler-temporal/logic/onDrop/OnDrop.js +36 -0
- package/dist/src/components/custom/scheduler-temporal/logic/pixels/getHeightLineScheduler.js +14 -0
- package/dist/src/components/custom/scheduler-temporal/logic/pixels/getPixelsForEvent.js +32 -0
- package/dist/src/components/custom/scheduler-temporal/logic/pixels/heightScheduler.js +14 -0
- package/dist/src/components/custom/scheduler-temporal/logic/pixels/heightSchedulerPinned.js +9 -0
- package/dist/src/components/custom/scheduler-temporal/logic/state_handle/doubleClickOnResource.js +5 -0
- package/dist/src/components/custom/scheduler-temporal/logic/state_handle/handlePropChanges.js +178 -0
- package/dist/src/components/custom/scheduler-temporal/logic/state_handle/handleResourceChange.js +11 -0
- package/dist/src/components/custom/scheduler-temporal/logic/state_handle/onDragOver.js +9 -0
- package/dist/src/components/custom/scheduler-temporal/logic/state_handle/onDropEventToResource.js +3 -0
- package/dist/src/components/custom/scheduler-temporal/logic/state_handle/onResizeEvent.js +3 -0
- package/dist/src/components/custom/scheduler-temporal/logic/strings/compareStrings.js +7 -0
- package/dist/src/components/custom/scheduler-temporal/logic/strings/getGUID.js +7 -0
- package/dist/src/components/custom/scheduler-temporal/logic/ui/checkIfSlotAvailable.js +9 -0
- package/dist/src/components/custom/scheduler-temporal/logic/ui/getEventsOfResource.js +92 -0
- package/dist/src/components/custom/scheduler-temporal/logic/ui/getHasPropsChanged.js +242 -0
- package/dist/src/components/custom/scheduler-temporal/logic/ui/getTimeHeaders.js +35 -0
- package/dist/src/components/custom/scheduler-temporal/logic/ui/isAllowedToMove.js +19 -0
- package/dist/src/components/custom/scheduler-temporal/logic/ui/shouldTriggerScroll.js +241 -0
- package/dist/src/components/custom/scheduler-temporal/logic/ui/updateResourceVisibility.js +15 -0
- package/dist/src/components/custom/scheduler-temporal/state/CblDragAndDrop.js +18 -0
- package/dist/src/components/custom/scheduler-temporal/state/Resource.js +18 -0
- package/dist/src/components/custom/scheduler-temporal/state/cblEvent.js +28 -0
- package/dist/src/components/custom/scheduler-temporal/state/cblEventCompProps.js +1 -0
- package/dist/src/components/custom/scheduler-temporal/state/resourceCompProps2.js +1 -0
- package/dist/src/components/custom/super-scheduler/PinRowHeader.d.ts.map +1 -1
- package/dist/src/components/custom/super-scheduler/PinRowHeader.js +53 -0
- package/dist/src/components/custom/super-scheduler/SuperScheduler.js +23 -0
- package/dist/src/components/custom/super-scheduler/SuperSchedulerEvents.js +15 -0
- package/dist/src/components/custom/super-scheduler/SuperSchedulerPresenter.js +45 -0
- package/dist/src/components/display/data/accordion/CwAccordionContainer.js +20 -0
- package/dist/src/components/display/data/generic_tooltip/CwGenericTooltip.js +138 -0
- package/dist/src/components/display/data/table/CwTable.d.ts.map +1 -1
- package/dist/src/components/display/data/table/CwTable.js +203 -0
- package/dist/src/components/display/graphics/icon/CwIcon.js +23 -0
- package/dist/src/components/display/graphics/loading/CwLoading.js +27 -0
- package/dist/src/components/display/graphics/loading-small/CwLoadingSmall.js +20 -0
- package/dist/src/components/display/text/heading/CwHeadingMain.js +5 -0
- package/dist/src/components/display/text/heading/CwHeadingSecond.js +5 -0
- package/dist/src/components/display/text/label/CwLabel.js +13 -0
- package/dist/src/components/display/text/message/CwMessage.js +75 -0
- package/dist/src/components/display/text/note/CwNote.js +78 -0
- package/dist/src/components/display/text/tag/CwChip.js +57 -0
- package/dist/src/components/display/text/tag/CwTag.js +21 -0
- package/dist/src/components/display/text/tooltip/CwTooltip.js +4 -0
- package/dist/src/components/layout/align/CwAlign.js +54 -0
- package/dist/src/components/layout/card/CwCard.js +55 -0
- package/dist/src/components/layout/card/CwCardList.js +38 -0
- package/dist/src/components/layout/dialog/CwDialog.js +255 -0
- package/dist/src/components/layout/dialog/CwDialogManager.js +44 -0
- package/dist/src/components/layout/list/details/CwExpandable.js +28 -0
- package/dist/src/components/layout/list/key-value/CwKeyValueList.d.ts +2 -3
- package/dist/src/components/layout/list/key-value/CwKeyValueList.d.ts.map +1 -1
- package/dist/src/components/layout/list/key-value/CwKeyValueList.js +23 -0
- package/dist/src/components/layout/list/sortable/CwSortableList.js +73 -0
- package/dist/src/components/layout/list/sortable/useSortableList.js +53 -0
- package/dist/src/components/layout/modal/CwModalReportFunctional.js +23 -0
- package/dist/src/components/layout/modal/hover/CwModalHover.js +61 -0
- package/dist/src/components/layout/modal/legacy/cw_modal.js +44 -0
- package/dist/src/components/layout/modal/legacy/cw_modal_confirm.js +39 -0
- package/dist/src/components/layout/modal/legacy/cw_modal_iframe.js +44 -0
- package/dist/src/components/layout/modal/legacy/cw_modal_report.js +26 -0
- package/dist/src/components/layout/table/grouped/CwTableGrouped.js +70 -0
- package/dist/src/components/layout/tabs/CwTabs.js +53 -0
- package/dist/src/index.d.ts +6 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +187 -0
- package/dist/test/components/custom/new-scheduler/presentation/logic/getDefaultDivisions.test.js +48 -0
- package/dist/test/components/custom/new-scheduler/presentation/logic/hoursBetween.test.js +15 -0
- package/dist/test/components/custom/new-scheduler/presentation/logic/monthDivisions.test.js +42 -0
- package/dist/test/components/custom/new-scheduler/presentation/logic/weekendCalc.test.js +30 -0
- package/dist/test/components/custom/scheduler/addMinutesToDateFromPx.test.js +43 -0
- package/dist/test/components/custom/scheduler/checkIfSlotAvailable.test.js +30 -0
- package/dist/test/components/custom/scheduler/daysBetweenTwoDates.test.js +61 -0
- package/dist/test/components/custom/scheduler/daysBetweenTwoDatesWithoutCeilForEvent.test.js +27 -0
- package/dist/test/components/custom/scheduler/getGUID.test.js +30 -0
- package/dist/test/components/custom/scheduler/getPixelsForEvent.test.js +38 -0
- package/dist/test/components/custom/scheduler/getTimeHeaders.test.js +35 -0
- package/dist/test/components/custom/scheduler/hasSameProperties.test.js +51 -0
- package/dist/test/components/custom/scheduler/isAllowedToMove.test.js +28 -0
- package/dist/test/components/custom/scheduler/listOfDatesToWeeks.test.js +72 -0
- package/dist/test/jest.setup.js +1 -0
- package/package.json +6 -2
- package/dist/assets/asset-DnHaq7m- +0 -50
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-full-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-grad-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-opsz-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-slnt-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-standard-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-wdth-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-wght-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-xopq-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-xtra-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-yopq-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-ytas-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-ytde-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-ytfi-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-ytlc-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ext-ytuc-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-full-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-grad-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-opsz-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-slnt-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-standard-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-wdth-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-wght-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-xopq-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-xtra-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-yopq-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ytas-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ytde-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ytfi-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ytlc-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-cyrillic-ytuc-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-full-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-grad-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-opsz-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-slnt-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-standard-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-wdth-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-wght-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-xopq-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-xtra-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-yopq-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-ytas-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-ytde-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-ytfi-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-ytlc-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-greek-ytuc-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-full-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-grad-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-opsz-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-slnt-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-standard-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-wdth-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-wght-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-xopq-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-xtra-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-yopq-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-ytas-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-ytde-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-ytfi-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-ytlc-normal.woff2 +0 -0
- package/dist/content/fonts/roboto-flex/files/roboto-flex-vietnamese-ytuc-normal.woff2 +0 -0
- package/dist/content/icons/cw-icons/css/cw-icons.css +0 -2784
- package/dist/content/icons/cw-icons/fonts/cwAvinodeFont/CblAvinodeIcon.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwAvinodeFont/CblAvinodeIcon.svg +0 -11
- package/dist/content/icons/cw-icons/fonts/cwAvinodeFont/CblAvinodeIcon.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwAvinodeFont/CblAvinodeIcon.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlFont/CblCrewControl.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlFont/CblCrewControl.svg +0 -38
- package/dist/content/icons/cw-icons/fonts/cwCrewControlFont/CblCrewControl.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlFont/CblCrewControl.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlFont/CblCrewControl.woff2 +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlFont/Crew Control.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlFont/Crew Control.svg +0 -29
- package/dist/content/icons/cw-icons/fonts/cwCrewControlFont/Crew Control.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlFont/Crew Control.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlFont/Crew Control.woff2 +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/CblCrewControlReact.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/CblCrewControlReact.svg +0 -12
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/CblCrewControlReact.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/CblCrewControlReact.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/CblDutyIcon.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/CblDutyIcon.svg +0 -11
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/CblDutyIcon.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/CblDutyIcon.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/SessionWarning.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/SessionWarning.svg +0 -12
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/SessionWarning.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/SessionWarning.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblDuty.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblDuty.svg +0 -26
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblDuty.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblDuty.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblDuty.woff2 +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblcrewcontrol.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblcrewcontrol.svg +0 -13
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblcrewcontrol.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblcrewcontrol.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblcrewcontrolfont.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblcrewcontrolfont.svg +0 -29
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblcrewcontrolfont.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblcrewcontrolfont.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewControlNewIcon/cblcrewcontrolfont.woff2 +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewFont/Crew.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewFont/Crew.svg +0 -29
- package/dist/content/icons/cw-icons/fonts/cwCrewFont/Crew.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewFont/Crew.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewFont/Crew.woff2 +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/Crew Planning.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/Crew Planning.svg +0 -17
- package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/Crew Planning.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/Crew Planning.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/Crew Planning.woff2 +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/CrewPlanningFont.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/CrewPlanningFont.svg +0 -20
- package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/CrewPlanningFont.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/CrewPlanningFont.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/CrewPlanningFont.woff2 +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/CrewSchedulingFont.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/CrewSchedulingFont.svg +0 -12
- package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/CrewSchedulingFont.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwCrewPlanningFont/CrewSchedulingFont.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwDispatchFont/Dispatch.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwDispatchFont/Dispatch.svg +0 -20
- package/dist/content/icons/cw-icons/fonts/cwDispatchFont/Dispatch.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwDispatchFont/Dispatch.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwDispatchFont/Dispatch.woff2 +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/ArchiveEmanual.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/ArchiveEmanual.svg +0 -12
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/ArchiveEmanual.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/ArchiveEmanual.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/CblEmanualNewIcons.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/CblEmanualNewIcons.svg +0 -14
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/CblEmanualNewIcons.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/CblEmanualNewIcons.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/Emanual.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/Emanual.svg +0 -38
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/Emanual.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/Emanual.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/Emanual.woff2 +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualApprovedFile.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualApprovedFile.svg +0 -11
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualApprovedFile.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualApprovedFile.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualBookMark.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualBookMark.svg +0 -17
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualBookMark.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualBookMark.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualBookMark.woff2 +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualBookMarkLink.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualBookMarkLink.svg +0 -11
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualBookMarkLink.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualBookMarkLink.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFolder.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFolder.svg +0 -11
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFolder.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFolder.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFont.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFont.svg +0 -13
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFont.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFont.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFontNew.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFontNew.svg +0 -32
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFontNew.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFontNew.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualFontNew.woff2 +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPendingIcon.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPendingIcon.svg +0 -11
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPendingIcon.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPendingIcon.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPublishFile.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPublishFile.svg +0 -11
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPublishFile.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPublishFile.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPublishIconFile.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPublishIconFile.svg +0 -11
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPublishIconFile.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualPublishIconFile.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualRestoreTrash.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualRestoreTrash.svg +0 -11
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualRestoreTrash.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualRestoreTrash.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualRestoreTrashRight.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualRestoreTrashRight.svg +0 -11
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualRestoreTrashRight.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/EmanualRestoreTrashRight.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/LibraryIcon.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/LibraryIcon.svg +0 -12
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/LibraryIcon.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwEmanualFont/LibraryIcon.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwFavoritesElement/Favorites.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwFavoritesElement/Favorites.svg +0 -158
- package/dist/content/icons/cw-icons/fonts/cwFavoritesElement/Favorites.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwFavoritesElement/Favorites.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwFavoritesElement/Favorites.woff2 +0 -0
- package/dist/content/icons/cw-icons/fonts/cwFavoritesElement/cwellt_icon.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwFavoritesElement/cwellt_icon.svg +0 -18
- package/dist/content/icons/cw-icons/fonts/cwFavoritesElement/cwellt_icon.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwFavoritesElement/cwellt_icon.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwFavoritesFont/Favorites.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwFavoritesFont/Favorites.svg +0 -62
- package/dist/content/icons/cw-icons/fonts/cwFavoritesFont/Favorites.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwFavoritesFont/Favorites.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwFavoritesFont/Favorites.woff2 +0 -0
- package/dist/content/icons/cw-icons/fonts/cwFavoritesIcons/CblFavoritesIcons.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwFavoritesIcons/CblFavoritesIcons.svg +0 -43
- package/dist/content/icons/cw-icons/fonts/cwFavoritesIcons/CblFavoritesIcons.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwFavoritesIcons/CblFavoritesIcons.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwFgIconsFonts/CblFigIcons.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwFgIconsFonts/CblFigIcons.svg +0 -49
- package/dist/content/icons/cw-icons/fonts/cwFgIconsFonts/CblFigIcons.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwFgIconsFonts/CblFigIcons.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwFlightOpsFont/FlightOps.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwFlightOpsFont/FlightOps.svg +0 -41
- package/dist/content/icons/cw-icons/fonts/cwFlightOpsFont/FlightOps.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwFlightOpsFont/FlightOps.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwFlightOpsFont/FlightOps.woff2 +0 -0
- package/dist/content/icons/cw-icons/fonts/cwGeneralFont/CblUndoIcon.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwGeneralFont/CblUndoIcon.svg +0 -11
- package/dist/content/icons/cw-icons/fonts/cwGeneralFont/CblUndoIcon.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwGeneralFont/CblUndoIcon.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwGeneralFont/FlightWatchOnTimeIcon.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwGeneralFont/FlightWatchOnTimeIcon.svg +0 -11
- package/dist/content/icons/cw-icons/fonts/cwGeneralFont/FlightWatchOnTimeIcon.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwGeneralFont/FlightWatchOnTimeIcon.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwGeneralFont/General.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwGeneralFont/General.svg +0 -41
- package/dist/content/icons/cw-icons/fonts/cwGeneralFont/General.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwGeneralFont/General.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwGeneralFont/General.woff2 +0 -0
- package/dist/content/icons/cw-icons/fonts/cwGeneralFont/IDCardStatusIcon.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwGeneralFont/IDCardStatusIcon.svg +0 -12
- package/dist/content/icons/cw-icons/fonts/cwGeneralFont/IDCardStatusIcon.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwGeneralFont/IDCardStatusIcon.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/Favorites.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/Favorites.svg +0 -17
- package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/Favorites.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/Favorites.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/Favorites.woff2 +0 -0
- package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/calculator.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/calculator.svg +0 -11
- package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/calculator.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/calculator.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/icons_cwellt.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/icons_cwellt.svg +0 -11
- package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/icons_cwellt.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwNewGeneralFontIcon/icons_cwellt.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwOpstoolReactFont/opstoolReactIcons.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwOpstoolReactFont/opstoolReactIcons.svg +0 -12
- package/dist/content/icons/cw-icons/fonts/cwOpstoolReactFont/opstoolReactIcons.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwOpstoolReactFont/opstoolReactIcons.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwPaxRelationsFont/Pax Relations.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwPaxRelationsFont/Pax Relations.svg +0 -17
- package/dist/content/icons/cw-icons/fonts/cwPaxRelationsFont/Pax Relations.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwPaxRelationsFont/Pax Relations.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwPaxRelationsFont/Pax Relations.woff2 +0 -0
- package/dist/content/icons/cw-icons/fonts/cwSalesFont/Sales.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwSalesFont/Sales.svg +0 -50
- package/dist/content/icons/cw-icons/fonts/cwSalesFont/Sales.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwSalesFont/Sales.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwSalesFont/Sales.woff2 +0 -0
- package/dist/content/icons/cw-icons/fonts/cwTrainingFont/Training.eot +0 -0
- package/dist/content/icons/cw-icons/fonts/cwTrainingFont/Training.svg +0 -17
- package/dist/content/icons/cw-icons/fonts/cwTrainingFont/Training.ttf +0 -0
- package/dist/content/icons/cw-icons/fonts/cwTrainingFont/Training.woff +0 -0
- package/dist/content/icons/cw-icons/fonts/cwTrainingFont/Training.woff2 +0 -0
- package/dist/content/icons/font-awesome/webfonts/fa-brands-400.ttf +0 -0
- package/dist/content/icons/font-awesome/webfonts/fa-regular-400.ttf +0 -0
- package/dist/content/icons/font-awesome/webfonts/fa-solid-900.ttf +0 -0
- package/dist/content/icons/font-awesome/webfonts/fa-v4compatibility.ttf +0 -0
- package/dist/index.cjs.js.map +0 -1
- package/dist/index.css.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.esm.js +0 -4836
- package/dist/src/common/functions/reactor.d.ts +0 -2
- package/dist/src/common/functions/reactor.d.ts.map +0 -1
- package/dist/src/components/control/input/chipper/CwChip.d.ts +0 -12
- package/dist/src/components/control/input/chipper/CwChip.d.ts.map +0 -1
- package/dist/src/components/custom/scheduler/components/ClearSchedulerButton.d.ts +0 -8
- package/dist/src/components/custom/scheduler/components/ClearSchedulerButton.d.ts.map +0 -1
- package/dist/src/components/custom/scheduler/logic/filtering/filterAndProcessResources.d.ts +0 -14
- package/dist/src/components/custom/scheduler/logic/filtering/filterAndProcessResources.d.ts.map +0 -1
- package/dist/src/components/custom/scheduler/logic/pixels/calculateMaxPxFromDateRange.d.ts +0 -2
- package/dist/src/components/custom/scheduler/logic/pixels/calculateMaxPxFromDateRange.d.ts.map +0 -1
- package/dist/src/components/custom/scheduler/logic/state_handle/handleDateChange.d.ts +0 -5
- package/dist/src/components/custom/scheduler/logic/state_handle/handleDateChange.d.ts.map +0 -1
- package/dist/src/components/custom/scheduler/logic/state_handle/handlePropChanges.d.ts +0 -5
- package/dist/src/components/custom/scheduler/logic/state_handle/handlePropChanges.d.ts.map +0 -1
- package/dist/src/components/custom/scheduler/logic/state_handle/onResizeEvent.d.ts +0 -3
- package/dist/src/components/custom/scheduler/logic/state_handle/onResizeEvent.d.ts.map +0 -1
- package/dist/src/components/custom/scheduler/logic/ui/getHasPropsChanged.d.ts +0 -3
- package/dist/src/components/custom/scheduler/logic/ui/getHasPropsChanged.d.ts.map +0 -1
- package/dist/src/components/custom/scheduler/logic/ui/shouldTriggerScroll.d.ts +0 -3
- package/dist/src/components/custom/scheduler/logic/ui/shouldTriggerScroll.d.ts.map +0 -1
- package/dist/src/components/custom/scheduler/state/EventProps.d.ts +0 -7
- package/dist/src/components/custom/scheduler/state/EventProps.d.ts.map +0 -1
- package/dist/src/components/custom/scheduler-new/presentation/components/row/BackgrounEvent.d.ts +0 -1
- package/dist/src/components/custom/scheduler-new/presentation/components/row/BackgrounEvent.d.ts.map +0 -1
- package/dist/src/components/custom/scheduler-new/presentation/components/row/cancellablePromise.d.ts +0 -7
- package/dist/src/components/custom/scheduler-new/presentation/components/row/cancellablePromise.d.ts.map +0 -1
- package/dist/src/components/custom/scheduler-new/presentation/components/row/useCancellablePromise.d.ts +0 -7
- package/dist/src/components/custom/scheduler-new/presentation/components/row/useCancellablePromise.d.ts.map +0 -1
- package/dist/src/components/custom/scheduler-new/presentation/logic/separateEventsByResource.d.ts +0 -5
- package/dist/src/components/custom/scheduler-new/presentation/logic/separateEventsByResource.d.ts.map +0 -1
- package/dist/src/components/custom/scheduler-new/presentation/state/external/Event.d.ts +0 -9
- package/dist/src/components/custom/scheduler-new/presentation/state/external/Event.d.ts.map +0 -1
- package/dist/src/components/custom/scheduler-new/presentation/state/external/Row.d.ts +0 -5
- package/dist/src/components/custom/scheduler-new/presentation/state/external/Row.d.ts.map +0 -1
- package/dist/src/components/custom/scheduler-new/presentation/state/ui/EventSideDragState.d.ts +0 -6
- package/dist/src/components/custom/scheduler-new/presentation/state/ui/EventSideDragState.d.ts.map +0 -1
- package/dist/src/components/custom/scheduler-new/presentation/state/ui/HeaderDivision.d.ts +0 -5
- package/dist/src/components/custom/scheduler-new/presentation/state/ui/HeaderDivision.d.ts.map +0 -1
- package/dist/src/components/custom/scheduler-new/presentation/state/ui/SchedulerEventState.d.ts +0 -14
- package/dist/src/components/custom/scheduler-new/presentation/state/ui/SchedulerEventState.d.ts.map +0 -1
- package/dist/src/components/custom/scheduler-new/presentation/state/ui/SchedulerHeaderState.d.ts +0 -11
- package/dist/src/components/custom/scheduler-new/presentation/state/ui/SchedulerHeaderState.d.ts.map +0 -1
- package/dist/src/components/custom/scheduler-new/presentation/state/ui/SchedulerRow.d.ts +0 -8
- package/dist/src/components/custom/scheduler-new/presentation/state/ui/SchedulerRow.d.ts.map +0 -1
- package/dist/test/components/custom/newScheduler/presentation/logic/getDefaultDivisions.test.d.ts.map +0 -1
- package/dist/test/components/custom/scheduler/calculateMaxPxFromDateRange.test.d.ts +0 -2
- package/dist/test/components/custom/scheduler/calculateMaxPxFromDateRange.test.d.ts.map +0 -1
- package/dist/test/components/custom/scheduler/filterEvents.test.d.ts.map +0 -1
- package/dist/test/components/custom/scheduler/shouldTriggerScroll.test.d.ts.map +0 -1
- package/dist/test/example.test.d.ts +0 -1
- package/dist/test/example.test.d.ts.map +0 -1
- /package/dist/src/{components/custom/scheduler-new/presentation/TestScheduler.d.ts → common/interfaces/CwSelectListProps.js} +0 -0
- /package/dist/{test/components/custom/newScheduler/presentation/logic/getDefaultDivisions.test.d.ts → src/components/custom/scheduler-new/presentation/components/header/SchedulerHeaderState.js} +0 -0
- /package/dist/{test/components/custom/newScheduler/presentation/logic/hoursBetween.test.d.ts → src/components/custom/scheduler-new/presentation/state/ui/SchedulerState.js} +0 -0
- /package/dist/{test/components/custom/newScheduler/presentation/logic/weekendCalc.test.d.ts → src/components/custom/scheduler-new/presentation/state/ui/WeekRange.js} +0 -0
- /package/dist/{test/components/custom/scheduler/filterEvents.test.d.ts → src/components/custom/scheduler-temporal/state/CwSchedulerProps.js} +0 -0
- /package/dist/{test/components/custom/scheduler/shouldTriggerScroll.test.d.ts → src/components/custom/scheduler-temporal/state/State.js} +0 -0
|
@@ -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,42 @@
|
|
|
1
|
+
import { Matcher } from "react-day-picker";
|
|
2
|
+
import "react-day-picker/dist/style.css";
|
|
3
|
+
import { CwLabelProps } from "../../../../components/display/text/label/CwLabel";
|
|
4
|
+
import { CwAlignProps } from "../../../../components/layout/align/CwAlign";
|
|
5
|
+
export type DateMatcher = Matcher;
|
|
6
|
+
export interface CwDatePickerProps {
|
|
7
|
+
/** Current selected date */
|
|
8
|
+
value?: Date;
|
|
9
|
+
/** Callback when date changes */
|
|
10
|
+
onChange: (date: Date | undefined) => void;
|
|
11
|
+
/** Minimum selectable date */
|
|
12
|
+
minDate?: Date;
|
|
13
|
+
/** Maximum selectable date */
|
|
14
|
+
maxDate?: Date;
|
|
15
|
+
/** Array of specific dates to disable */
|
|
16
|
+
disabledDates?: Date[];
|
|
17
|
+
/** Function to determine if a date should be disabled */
|
|
18
|
+
disabledMatcher?: DateMatcher;
|
|
19
|
+
/** Props for label component */
|
|
20
|
+
labelProps?: CwLabelProps;
|
|
21
|
+
/** Props for alignment */
|
|
22
|
+
alignProps?: CwAlignProps;
|
|
23
|
+
/** Placeholder text for input */
|
|
24
|
+
placeholder?: string;
|
|
25
|
+
/** Display format for the input (default: dd/MM/yyyy) */
|
|
26
|
+
displayFormat?: string;
|
|
27
|
+
/** Is the input disabled */
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
/** Is the input required */
|
|
30
|
+
required?: boolean;
|
|
31
|
+
/** Additional CSS class for container */
|
|
32
|
+
className?: string;
|
|
33
|
+
/** Show clear button */
|
|
34
|
+
showClear?: boolean;
|
|
35
|
+
/** Pop Up Position */
|
|
36
|
+
popupPosition?: "left-bottom" | "left-top" | "right-top" | "right-bottom";
|
|
37
|
+
/** Number of months to display (default: 1) */
|
|
38
|
+
numberOfMonths?: number;
|
|
39
|
+
showTodayButton?: boolean;
|
|
40
|
+
}
|
|
41
|
+
export declare function CwDatePicker({ value, onChange, minDate, maxDate, disabledDates, disabledMatcher, labelProps, alignProps, placeholder, displayFormat, disabled, required, className, showClear, popupPosition, numberOfMonths, showTodayButton, }: Readonly<CwDatePickerProps>): import("react/jsx-runtime").JSX.Element;
|
|
42
|
+
//# sourceMappingURL=CwDatePicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CwDatePicker.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/input/new-dates/CwDatePicker.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAY,OAAO,EAAmC,MAAM,kBAAkB,CAAC;AACtF,OAAO,iCAAiC,CAAC;AAEzC,OAAO,EAAU,YAAY,EAAC,MAAM,mDAAmD,CAAC;AACxF,OAAO,EAAU,YAAY,EAAC,MAAM,6CAA6C,CAAC;AAIlF,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC;AAElC,MAAM,WAAW,iBAAiB;IACjC,4BAA4B;IAC5B,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,iCAAiC;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAG3C,8BAA8B;IAC9B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,8BAA8B;IAC9B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,yCAAyC;IACzC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;IACvB,yDAAyD;IACzD,eAAe,CAAC,EAAE,WAAW,CAAC;IAG9B,gCAAgC;IAChC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,YAAY,CAAC;IAG1B,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,sBAAsB;IACtB,aAAa,CAAC,EAAE,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC;IAG1E,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B;AA+BD,wBAAgB,YAAY,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,OAAO,EACP,OAAO,EACP,aAAa,EACb,eAAe,EACf,UAAU,EACV,UAAU,EACV,WAA6B,EAC7B,aAA4B,EAC5B,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAgB,EAChB,aAA6B,EAC7B,cAAkB,EAClB,eAAuB,GACvB,EAAE,QAAQ,CAAC,iBAAiB,CAAC,2CAqS7B"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Matcher } from "react-day-picker";
|
|
2
|
+
import { CwLabelProps } from "../../../../components/display/text/label/CwLabel";
|
|
3
|
+
import { CwAlignProps } from "../../../../components/layout/align/CwAlign";
|
|
4
|
+
import { type DateRangePreset } from "./dateRangePresets";
|
|
5
|
+
export type DateMatcher = Matcher;
|
|
6
|
+
export interface DateRangeValue {
|
|
7
|
+
from: Date | undefined;
|
|
8
|
+
to: Date | undefined;
|
|
9
|
+
}
|
|
10
|
+
export interface CwDateRangePickerProps {
|
|
11
|
+
/** Current selected date range */
|
|
12
|
+
value?: DateRangeValue;
|
|
13
|
+
/** Callback when date range changes */
|
|
14
|
+
onChange: (range: DateRangeValue | undefined) => void;
|
|
15
|
+
/** Minimum selectable date */
|
|
16
|
+
minDate?: Date;
|
|
17
|
+
/** Maximum selectable date */
|
|
18
|
+
maxDate?: Date;
|
|
19
|
+
/** Array of specific dates to disable */
|
|
20
|
+
disabledDates?: Date[];
|
|
21
|
+
/** Function to determine if a date should be disabled */
|
|
22
|
+
disabledMatcher?: DateMatcher;
|
|
23
|
+
/** Maximum number of days allowed in range (optional) */
|
|
24
|
+
maxRangeDays?: number;
|
|
25
|
+
/** Props for label component */
|
|
26
|
+
labelProps?: CwLabelProps;
|
|
27
|
+
/** Props for alignment */
|
|
28
|
+
alignProps?: CwAlignProps;
|
|
29
|
+
/** Placeholder text for "from" input */
|
|
30
|
+
placeholderFrom?: string;
|
|
31
|
+
/** Placeholder text for "to" input */
|
|
32
|
+
placeholderTo?: string;
|
|
33
|
+
/** Display format for the inputs (default: dd.MM.yyyy) */
|
|
34
|
+
displayFormat?: string;
|
|
35
|
+
/** Is the input disabled */
|
|
36
|
+
disabled?: boolean;
|
|
37
|
+
/** Is the input required */
|
|
38
|
+
required?: boolean;
|
|
39
|
+
/** Additional CSS class for container */
|
|
40
|
+
className?: string;
|
|
41
|
+
/** Show clear buttons */
|
|
42
|
+
showClear?: boolean;
|
|
43
|
+
/** Pop Up Position */
|
|
44
|
+
popupPosition?: "left-bottom" | "left-top" | "right-top" | "right-bottom";
|
|
45
|
+
/** Number of months to display (default: 2 for ranges) */
|
|
46
|
+
numberOfMonths?: number;
|
|
47
|
+
/**
|
|
48
|
+
* Show preset buttons
|
|
49
|
+
* @default false
|
|
50
|
+
*/
|
|
51
|
+
showPresets?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Keys of presets to display from PRESET_LIBRARY
|
|
54
|
+
* @example ['thisWeek', 'past7Days', 'past30Days']
|
|
55
|
+
*/
|
|
56
|
+
presetKeys?: string[];
|
|
57
|
+
/**
|
|
58
|
+
* Custom presets to add alongside library presets
|
|
59
|
+
*/
|
|
60
|
+
customPresets?: DateRangePreset[];
|
|
61
|
+
}
|
|
62
|
+
export declare function CwDateRangePicker({ value, onChange, minDate, maxDate, disabledDates, disabledMatcher, maxRangeDays, labelProps, alignProps, placeholderFrom, placeholderTo, displayFormat, disabled, required, className, showClear, popupPosition, numberOfMonths, showPresets, presetKeys, customPresets, }: Readonly<CwDateRangePickerProps>): import("react/jsx-runtime").JSX.Element;
|
|
63
|
+
//# sourceMappingURL=CwDateRangePicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CwDateRangePicker.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/input/new-dates/CwDateRangePicker.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAuB,OAAO,EAAmC,MAAM,kBAAkB,CAAC;AAEjG,OAAO,EAAU,YAAY,EAAC,MAAM,mDAAmD,CAAC;AACxF,OAAO,EAAU,YAAY,EAAC,MAAM,6CAA6C,CAAC;AAIlF,OAAO,EAAmB,KAAK,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAE1E,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC;AAElC,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,EAAE,EAAE,IAAI,GAAG,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACtC,kCAAkC;IAClC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,uCAAuC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,KAAK,IAAI,CAAC;IAGtD,8BAA8B;IAC9B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,8BAA8B;IAC9B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,yCAAyC;IACzC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;IACvB,yDAAyD;IACzD,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,gCAAgC;IAChC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,YAAY,CAAC;IAG1B,wCAAwC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sCAAsC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB;IACtB,aAAa,CAAC,EAAE,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC;IAG1E,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;OAEG;IACH,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;CAClC;AA8BD,wBAAgB,iBAAiB,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,OAAO,EACP,OAAO,EACP,aAAa,EACb,eAAe,EACf,YAAY,EACZ,UAAU,EACV,UAAU,EACV,eAA6B,EAC7B,aAAyB,EACzB,aAA4B,EAC5B,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAgB,EAChB,aAA6B,EAC7B,cAAkB,EAClB,WAAmB,EACnB,UAAU,EACV,aAAa,GACb,EAAE,QAAQ,CAAC,sBAAsB,CAAC,2CA6clC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { CwLabelProps } from "../../../display/text/label/CwLabel";
|
|
2
|
+
import { CwAlignProps } from "../../../layout/align/CwAlign";
|
|
3
|
+
import { DateMatcher } from "./CwDatePicker";
|
|
4
|
+
export interface CwDateTimePickerProps {
|
|
5
|
+
/** Current selected datetime */
|
|
6
|
+
value?: Date;
|
|
7
|
+
/** Callback when datetime changes */
|
|
8
|
+
onChange: (datetime: Date | undefined) => void;
|
|
9
|
+
/** Minimum selectable datetime */
|
|
10
|
+
minDateTime?: Date;
|
|
11
|
+
/** Maximum selectable datetime */
|
|
12
|
+
maxDateTime?: Date;
|
|
13
|
+
/** Array of specific dates to disable */
|
|
14
|
+
disabledDates?: Date[];
|
|
15
|
+
/** Function to determine if a date should be disabled */
|
|
16
|
+
disabledMatcher?: DateMatcher;
|
|
17
|
+
/** Interval in minutes for time selection (default: 15) */
|
|
18
|
+
timeInterval?: 5 | 10 | 15 | 30 | 60;
|
|
19
|
+
/** Minimum selectable time in format "HH:mm" */
|
|
20
|
+
minTime?: string;
|
|
21
|
+
/** Maximum selectable time in format "HH:mm" */
|
|
22
|
+
maxTime?: string;
|
|
23
|
+
/** Props for label component (applies to the container) */
|
|
24
|
+
labelProps?: CwLabelProps;
|
|
25
|
+
/** Props for alignment (applies to the container) */
|
|
26
|
+
alignProps?: CwAlignProps;
|
|
27
|
+
/** Placeholder text for date input */
|
|
28
|
+
datePlaceholder?: string;
|
|
29
|
+
/** Placeholder text for time input */
|
|
30
|
+
timePlaceholder?: string;
|
|
31
|
+
/** Is the input disabled */
|
|
32
|
+
disabled?: boolean;
|
|
33
|
+
/** Is the input required */
|
|
34
|
+
required?: boolean;
|
|
35
|
+
/** Additional CSS class for container */
|
|
36
|
+
className?: string;
|
|
37
|
+
/** Show clear buttons on individual inputs */
|
|
38
|
+
showClear?: boolean;
|
|
39
|
+
/** Pop Up Position */
|
|
40
|
+
popupPosition?: "left-bottom" | "left-top" | "right-top" | "right-bottom";
|
|
41
|
+
/** Number of months to display in calendar (default: 1) */
|
|
42
|
+
numberOfMonths?: number;
|
|
43
|
+
/** Show "Now" button to select current date and time */
|
|
44
|
+
showNowButton?: boolean;
|
|
45
|
+
}
|
|
46
|
+
export declare function CwDateTimePicker({ value, onChange, minDateTime, maxDateTime, disabledDates, disabledMatcher, timeInterval, minTime, maxTime, labelProps, alignProps, datePlaceholder, timePlaceholder, disabled, required, className, showClear, popupPosition, numberOfMonths, showNowButton, }: Readonly<CwDateTimePickerProps>): import("react/jsx-runtime").JSX.Element;
|
|
47
|
+
//# sourceMappingURL=CwDateTimePicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CwDateTimePicker.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/input/new-dates/CwDateTimePicker.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAU,YAAY,EAAC,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAU,YAAY,EAAC,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAAe,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAGzD,MAAM,WAAW,qBAAqB;IACrC,gCAAgC;IAChC,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,qCAAqC;IACrC,QAAQ,EAAE,CAAC,QAAQ,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAG/C,kCAAkC;IAClC,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,kCAAkC;IAClC,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,yCAAyC;IACzC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;IACvB,yDAAyD;IACzD,eAAe,CAAC,EAAE,WAAW,CAAC;IAG9B,2DAA2D;IAC3D,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACrC,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,qDAAqD;IACrD,UAAU,CAAC,EAAE,YAAY,CAAC;IAG1B,sCAAsC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sCAAsC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB;IACtB,aAAa,CAAC,EAAE,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC;IAG1E,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wDAAwD;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAAC,EAChC,KAAK,EACL,QAAQ,EACR,WAAW,EACX,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAiB,EACjB,OAAO,EACP,OAAO,EACP,UAAU,EACV,UAAU,EACV,eAA8B,EAC9B,eAAyB,EACzB,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAgB,EAChB,aAA6B,EAC7B,cAAkB,EAClB,aAAqB,GACrB,EAAE,QAAQ,CAAC,qBAAqB,CAAC,2CA6HjC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Matcher } from "react-day-picker";
|
|
2
|
+
import "react-day-picker/dist/style.css";
|
|
3
|
+
import { CwLabelProps } from "../../../display/text/label/CwLabel";
|
|
4
|
+
import { CwAlignProps } from "../../../layout/align/CwAlign";
|
|
5
|
+
export type DateMatcher = Matcher;
|
|
6
|
+
export interface CwDateTimePickerCompactProps {
|
|
7
|
+
/** Current selected datetime */
|
|
8
|
+
value?: Date;
|
|
9
|
+
/** Callback when datetime changes */
|
|
10
|
+
onChange: (datetime: Date | undefined) => void;
|
|
11
|
+
/** Minimum selectable datetime */
|
|
12
|
+
minDateTime?: Date;
|
|
13
|
+
/** Maximum selectable datetime */
|
|
14
|
+
maxDateTime?: Date;
|
|
15
|
+
/** Array of specific dates to disable */
|
|
16
|
+
disabledDates?: Date[];
|
|
17
|
+
/** Function to determine if a date should be disabled */
|
|
18
|
+
disabledMatcher?: DateMatcher;
|
|
19
|
+
/** Interval in minutes for time selection (default: 15) */
|
|
20
|
+
timeInterval?: 5 | 10 | 15 | 30 | 60;
|
|
21
|
+
/** Minimum selectable time in format "HH:mm" */
|
|
22
|
+
minTime?: string;
|
|
23
|
+
/** Maximum selectable time in format "HH:mm" */
|
|
24
|
+
maxTime?: string;
|
|
25
|
+
/** Props for label component */
|
|
26
|
+
labelProps?: CwLabelProps;
|
|
27
|
+
/** Props for alignment */
|
|
28
|
+
alignProps?: CwAlignProps;
|
|
29
|
+
/** Placeholder text for input */
|
|
30
|
+
placeholder?: string;
|
|
31
|
+
/** Is the input disabled */
|
|
32
|
+
disabled?: boolean;
|
|
33
|
+
/** Is the input required */
|
|
34
|
+
required?: boolean;
|
|
35
|
+
/** Additional CSS class for container */
|
|
36
|
+
className?: string;
|
|
37
|
+
/** Show clear button */
|
|
38
|
+
showClear?: boolean;
|
|
39
|
+
/** Pop Up Position */
|
|
40
|
+
popupPosition?: "left-bottom" | "left-top" | "right-top" | "right-bottom";
|
|
41
|
+
/** Number of months to display (default: 1) */
|
|
42
|
+
numberOfMonths?: number;
|
|
43
|
+
showTodayButton?: boolean;
|
|
44
|
+
}
|
|
45
|
+
export declare function CwDateTimePickerCompact({ value, onChange, minDateTime, maxDateTime, disabledDates, disabledMatcher, timeInterval, minTime, maxTime, labelProps, alignProps, placeholder, disabled, required, className, showClear, popupPosition, numberOfMonths, showTodayButton, }: Readonly<CwDateTimePickerCompactProps>): import("react/jsx-runtime").JSX.Element;
|
|
46
|
+
//# sourceMappingURL=CwDateTimePickerCompact.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CwDateTimePickerCompact.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/input/new-dates/CwDateTimePickerCompact.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAa,OAAO,EAAoC,MAAM,kBAAkB,CAAC;AACxF,OAAO,iCAAiC,CAAC;AAEzC,OAAO,EAAW,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAW,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAMtE,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC;AAElC,MAAM,WAAW,4BAA4B;IAC5C,gCAAgC;IAChC,KAAK,CAAC,EAAE,IAAI,CAAE;IACd,qCAAqC;IACrC,QAAQ,EAAE,CAAC,QAAQ,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAG/C,kCAAkC;IAClC,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,kCAAkC;IAClC,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,yCAAyC;IACzC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;IACvB,yDAAyD;IACzD,eAAe,CAAC,EAAE,WAAW,CAAC;IAG9B,2DAA2D;IAC3D,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACrC,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,gCAAgC;IAChC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,YAAY,CAAC;IAG1B,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB;IACtB,aAAa,CAAC,EAAE,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC;IAE1E,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B;AA8BD,wBAAgB,uBAAuB,CAAC,EACvC,KAAK,EACL,QAAQ,EACR,WAAW,EACX,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAiB,EACjB,OAAO,EACP,OAAO,EACP,UAAU,EACV,UAAU,EACV,WAAgC,EAChC,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAgB,EAChB,aAA6B,EAC7B,cAAkB,EAClB,eAAuB,GACvB,EAAE,QAAQ,CAAC,4BAA4B,CAAC,2CA4YxC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { CwLabelProps } from "../../../../components/display/text/label/CwLabel";
|
|
2
|
+
import { CwAlignProps } from "../../../../components/layout/align/CwAlign";
|
|
3
|
+
export interface CwTimePickerProps {
|
|
4
|
+
/** Current selected time in format "HH:mm" (24h format) */
|
|
5
|
+
value?: string;
|
|
6
|
+
/** Callback when time changes - returns format "HH:mm" */
|
|
7
|
+
onChange: (time: string | undefined) => void;
|
|
8
|
+
/** Interval in minutes for time selection (default: 15) */
|
|
9
|
+
interval?: 5 | 10 | 15 | 30 | 60;
|
|
10
|
+
/** Minimum selectable time in format "HH:mm" */
|
|
11
|
+
minTime?: string;
|
|
12
|
+
/** Maximum selectable time in format "HH:mm" */
|
|
13
|
+
maxTime?: string;
|
|
14
|
+
/** Props for label component */
|
|
15
|
+
labelProps?: CwLabelProps;
|
|
16
|
+
/** Props for alignment */
|
|
17
|
+
alignProps?: CwAlignProps;
|
|
18
|
+
/** Placeholder text for input */
|
|
19
|
+
placeholder?: string;
|
|
20
|
+
/** Is the input disabled */
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
/** Is the input required */
|
|
23
|
+
required?: boolean;
|
|
24
|
+
/** Additional CSS class for container */
|
|
25
|
+
className?: string;
|
|
26
|
+
/** Show clear button */
|
|
27
|
+
showClear?: boolean;
|
|
28
|
+
/** Pop Up Position */
|
|
29
|
+
popupPosition?: "left-bottom" | "left-top" | "right-bottom" | "right-top";
|
|
30
|
+
/**
|
|
31
|
+
* Use native time input instead of custom picker
|
|
32
|
+
* Recommended for mobile devices and better accessibility
|
|
33
|
+
* @default false on desktop, true on mobile
|
|
34
|
+
*/
|
|
35
|
+
useNative?: boolean;
|
|
36
|
+
}
|
|
37
|
+
export declare function CwTimePicker({ value, onChange, interval, minTime, maxTime, labelProps, alignProps, placeholder, disabled, required, className, showClear, popupPosition, useNative, }: CwTimePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
38
|
+
//# sourceMappingURL=CwTimePicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CwTimePicker.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/input/new-dates/CwTimePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAU,YAAY,EAAC,MAAM,mDAAmD,CAAC;AACxF,OAAO,EAAU,YAAY,EAAC,MAAM,6CAA6C,CAAC;AAKlF,MAAM,WAAW,iBAAiB;IACjC,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAG7C,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACjC,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,gCAAgC;IAChC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,YAAY,CAAC;IAG1B,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB;IACtB,aAAa,CAAC,EAAE,aAAa,GAAG,UAAU,GAAG,cAAc,GAAG,WAAW,CAAC;IAC1E;;;;OAIG;IAEH,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAQD,wBAAgB,YAAY,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,QAAa,EACb,OAAO,EACP,OAAO,EACP,UAAU,EACV,UAAU,EACV,WAAqB,EACrB,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAgB,EAChB,aAA6B,EAC7B,SAA4B,GAC5B,EAAE,iBAAiB,2CAqRnB"}
|