@cwellt_software/cwellt-reactjs-lib 1.2.16 → 1.3.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.
package/dist/index.es.js CHANGED
@@ -231,7 +231,7 @@ const CwMessage = props => {
231
231
  }, props.duration ?? CW_DEFAULT_MESSAGE_DURATION);
232
232
  return () => clearTimeout(timer);
233
233
  }, [props]);
234
- return (jsxs("div", { className: "cw-message", "data-message-type": Object.keys(CwMessageType).find(key => CwMessageType[key] === props.messageType), children: [props.messageType && jsx(CwIcon, { iconId: props.messageType.toString(), size: "large" }), props.message] }));
234
+ return (jsxs("div", { className: "cw-message", "data-message-type": Object.keys(CwMessageType).find(key => CwMessageType[key] === props.messageType), onClick: props.onClick, style: props.onClick ? { cursor: "pointer" } : undefined, children: [props.messageType && jsx(CwIcon, { iconId: props.messageType.toString(), size: "large" }), props.message] }));
235
235
  };
236
236
  /**
237
237
  * Hook for displaying inline messages within specific components.
@@ -294,11 +294,11 @@ class CwMessageManager {
294
294
  document.body.prepend(this.messageWrapper);
295
295
  this.root = createRoot(this.messageWrapper); // Create a root at the messageWrapper
296
296
  }
297
- showMessage(message, type, duration) {
297
+ showMessage(message, type, duration, onClick) {
298
298
  const msg = document.createElement("div");
299
299
  this.messageWrapper?.prepend(msg);
300
300
  const msgRoot = createRoot(msg); // Create a root for the new message
301
- msgRoot.render(jsx(CwMessage, { message: message, messageType: type, duration: duration, onClose: () => this.closeMessage(msgRoot) }));
301
+ msgRoot.render(jsx(CwMessage, { message: message, messageType: type, duration: duration, onClick: onClick, onClose: () => this.closeMessage(msgRoot) }));
302
302
  }
303
303
  closeMessage(msgRoot) {
304
304
  msgRoot.unmount(); // Unmount the message root
@@ -320,8 +320,8 @@ class CwMessageManager {
320
320
  *
321
321
  * @note For inline messages within components, use `CwNote` or `useCwMessage` hook instead
322
322
  */
323
- function CwDisplayMessage(message, type, duration) {
324
- CwMessageManager.getInstance().showMessage(message, type, duration);
323
+ function CwDisplayMessage(message, type, duration, onClick) {
324
+ CwMessageManager.getInstance().showMessage(message, type, duration, onClick);
325
325
  }
326
326
 
327
327
  /**
@@ -9029,4 +9029,168 @@ const CwFindAirport = ({ handleChange, searchType = "OnlyDatabase", placeHolder
9029
9029
  }, "data-direction": direction, children: [jsxs(CwAlign, { ...alignProps, itemProp: required ? "required" : "", children: [labelProps && (jsx(CwLabel, { ...labelProps, children: labelProps.text })), jsxs("div", { className: "cw-search-input-wrapper", children: [jsx("input", { ref: inputRef, type: "text", value: inputValue, onChange: handleInputChange, onKeyDown: handleKeyDown, onFocus: handleInputFocus, placeholder: isInitialLoading ? "Loading…" : placeHolder, disabled: disabled, required: required, autoComplete: "off", "aria-expanded": showDropdown, "aria-haspopup": "listbox", role: "combobox", title: tooltipText }), (isLoading || isInitialLoading) && (jsx("div", { className: "cw-search-input-loading", children: jsx(CwIcon, { iconId: "spinner" }) })), jsx("div", { className: "cw-search-input-icons", children: inputValue && !disabled && !isInitialLoading ? (jsx(CwButton, { type: "button", onClick: handleClear, "aria-label": "Clear selected airport", variant: "icon", icon: "close", color: "neutral" })) : (jsx(CwIcon, { iconId: "control-tower" })) })] })] }), showDropdown && options.length > 0 && (jsx("div", { ref: dropdownRef, className: "cw-input-search-dropdown", role: "listbox", children: jsx("ul", { children: options.map((option, index) => (jsx("li", { className: index === highlightedIndex ? "highlighted" : "", onClick: () => handleOptionSelect(option.value), onMouseDown: (e) => e.preventDefault(), role: "option", "aria-selected": index === highlightedIndex, children: option.text }, option.value))) }) }))] }));
9030
9030
  };
9031
9031
 
9032
- export { CblDragAndDrop, CwAccordionContainer, CwAlign, CwAnchoredMenu, CwBtnDelete, CwBtnEdit, CwBtnSave, CwButton, CwCard, CwCardList, CwCheck, CwCheckbox, CwCheckboxGroup, CwChip, CwColorPicker, CwConfirmationPopup, CwContextMenu, CwDatePicker, CwDateRangePicker, CwDateTimePicker, CwDateTimePickerCompact, CwDialog, CwDialogManager, CwDigit, CwDisplayMessage, CwDropdownFilter, CwExpandable, CwFileUpload, CwFileUploadMultiple, CwFindAirport, CwGenericTooltip, CwHeadingMain, CwHeadingSecond, CwIcon, CwImageArea, CwImageGallery, CwImageZoom, CwInput, CwInputColor, CwInputDate, CwInputDatePicker, CwInputDateText, CwInputDatetime, CwInputImage, CwInputNumber, CwInputPhone, CwInputText, CwKeyValueList, CwLabel, CwLoading, CwLoadingSmall, CwMasterDetail, CwMessage, CwMessageManager, CwMessageType, CwModal, CwModalHover, CwModalReportFunctional, CwMultiFilter, CwMultiFilterTag, CwNote, CwOption, CwPopoverButton, CwReportModal, CwScheduler, CwSearchInput, CwSelect, CwSelectList, CwSelectListItems, CwSortableList, CwSortableTable, CwSuperScheduler, CwTable, CwTableGrouped, CwTableServerSide, CwTabs, CwTextArea, CwTime, CwTimePicker, CwToggle, CwTooltipManager, CwTooltipNew, CwTreeView, CwWeekdaySelector, DefaultRowHeader, OnClearPinned, OnClickContextMenu, OnClickEvent, OnClickRowEvent, OnClickRowHeader, OnClickUtc, OnDoubleClickEvent, OnDoubleClickRowEvent, OnDragEvent, OnDropCtrlEvent, OnDropEvent, OnEndClickHeaderEvent, OnLeftDragStart, OnMultiClickEvent, OnPinRow, OnRangeClickEvent, OnRightClickEvent, OnRightClickRow, OnRightDragStart, OnStartClickHeaderEvent, OnUnpinRow, PinRowHeader, Resource, Scheduler, SchedulerEvent, SuperScheduler, UiEvent, Weekdays, cblEvent, eventIsVisible, getDefaultDivisions, getEventSizes, itemsToMultiFilterTags, useCwMessage, useSortableList, useSortableTable };
9032
+ const CwFindCrewmember = ({ handleChange, placeHolder = "Search crew…", required = false, cblConfig, className = "", value, disabled = false, initialDisplayText, labelProps, alignProps, width }) => {
9033
+ const [inputValue, setInputValue] = useState("");
9034
+ const [options, setOptions] = useState([]);
9035
+ const [crewmembers, setCrewmembers] = useState([]);
9036
+ const [isLoading, setIsLoading] = useState(false);
9037
+ const [isInitialLoading, setIsInitialLoading] = useState(false);
9038
+ const [showDropdown, setShowDropdown] = useState(false);
9039
+ const [highlightedIndex, setHighlightedIndex] = useState(-1);
9040
+ const [tooltipText, setTooltipText] = useState("");
9041
+ const inputRef = useRef(null);
9042
+ const dropdownRef = useRef(null);
9043
+ const searchTimeoutRef = useRef();
9044
+ const getDisplayText = useCallback((crew) => {
9045
+ return `${crew.threeLetterCode} - ${crew.lastName} ${crew.firstName}`;
9046
+ }, []);
9047
+ const fetchCrewmemberData = useCallback(async (crewmemberId) => {
9048
+ setIsInitialLoading(true);
9049
+ try {
9050
+ const response = await fetch(`${cblConfig}controls/cblFindCrew/cblFindCrew/GetCrewmember?crewmemberId=${crewmemberId}`);
9051
+ const result = await response.json();
9052
+ const display = getDisplayText(result);
9053
+ setCrewmembers([result]);
9054
+ setOptions([{ value: result.id, text: display }]);
9055
+ setInputValue(display);
9056
+ setTooltipText(display);
9057
+ }
9058
+ catch (error) {
9059
+ console.error("Error fetching crewmember data:", error);
9060
+ }
9061
+ finally {
9062
+ setIsInitialLoading(false);
9063
+ }
9064
+ }, [cblConfig, getDisplayText]);
9065
+ const searchCrewmembers = useCallback(async (searchText) => {
9066
+ if (searchText.length < 2) {
9067
+ setOptions([]);
9068
+ setCrewmembers([]);
9069
+ setShowDropdown(false);
9070
+ return;
9071
+ }
9072
+ setIsLoading(true);
9073
+ try {
9074
+ const response = await fetch(`${cblConfig}controls/cblFindCrew/cblFindCrew/SearchCrewCodeName?text=${encodeURIComponent(searchText)}`);
9075
+ const results = await response.json();
9076
+ const newOptions = results.map(crew => ({
9077
+ value: crew.id,
9078
+ text: getDisplayText(crew)
9079
+ }));
9080
+ setOptions(newOptions);
9081
+ setCrewmembers(results);
9082
+ setShowDropdown(newOptions.length > 0);
9083
+ setHighlightedIndex(-1);
9084
+ }
9085
+ catch (error) {
9086
+ console.error("Error searching crewmembers:", error);
9087
+ setOptions([]);
9088
+ setCrewmembers([]);
9089
+ setShowDropdown(false);
9090
+ }
9091
+ finally {
9092
+ setIsLoading(false);
9093
+ }
9094
+ }, [cblConfig, getDisplayText]);
9095
+ const debouncedSearch = useCallback((searchText) => {
9096
+ if (searchTimeoutRef.current) {
9097
+ window.clearTimeout(searchTimeoutRef.current);
9098
+ }
9099
+ searchTimeoutRef.current = window.setTimeout(() => {
9100
+ searchCrewmembers(searchText);
9101
+ }, 300);
9102
+ }, [searchCrewmembers]);
9103
+ const handleInputChange = (e) => {
9104
+ const newValue = e.target.value;
9105
+ setInputValue(newValue);
9106
+ if (newValue !== inputValue) {
9107
+ debouncedSearch(newValue);
9108
+ }
9109
+ };
9110
+ const handleOptionSelect = (optionValue) => {
9111
+ const selectedCrew = crewmembers.find(c => c.id === optionValue);
9112
+ if (!selectedCrew)
9113
+ return;
9114
+ setShowDropdown(false);
9115
+ const display = getDisplayText(selectedCrew);
9116
+ setInputValue(display);
9117
+ setTooltipText(display);
9118
+ handleChange(optionValue);
9119
+ };
9120
+ const handleKeyDown = (e) => {
9121
+ if (!showDropdown || options.length === 0)
9122
+ return;
9123
+ switch (e.key) {
9124
+ case "ArrowDown":
9125
+ e.preventDefault();
9126
+ setHighlightedIndex(prev => prev < options.length - 1 ? prev + 1 : 0);
9127
+ break;
9128
+ case "ArrowUp":
9129
+ e.preventDefault();
9130
+ setHighlightedIndex(prev => prev > 0 ? prev - 1 : options.length - 1);
9131
+ break;
9132
+ case "Enter":
9133
+ e.preventDefault();
9134
+ if (highlightedIndex >= 0 && highlightedIndex < options.length) {
9135
+ handleOptionSelect(options[highlightedIndex].value);
9136
+ }
9137
+ break;
9138
+ case "Escape":
9139
+ setShowDropdown(false);
9140
+ setHighlightedIndex(-1);
9141
+ break;
9142
+ }
9143
+ };
9144
+ useEffect(() => {
9145
+ const handleClickOutside = (event) => {
9146
+ if (dropdownRef.current &&
9147
+ !dropdownRef.current.contains(event.target) &&
9148
+ !inputRef.current?.contains(event.target)) {
9149
+ setShowDropdown(false);
9150
+ setHighlightedIndex(-1);
9151
+ }
9152
+ };
9153
+ document.addEventListener("mousedown", handleClickOutside);
9154
+ return () => document.removeEventListener("mousedown", handleClickOutside);
9155
+ }, []);
9156
+ useEffect(() => {
9157
+ if (value && value !== 0 && value !== -1) {
9158
+ if (initialDisplayText) {
9159
+ setInputValue(initialDisplayText);
9160
+ setTooltipText(initialDisplayText);
9161
+ }
9162
+ else {
9163
+ fetchCrewmemberData(value);
9164
+ }
9165
+ }
9166
+ }, [value, fetchCrewmemberData, initialDisplayText]);
9167
+ useEffect(() => {
9168
+ if (!value || value === 0 || value === -1) {
9169
+ setInputValue("");
9170
+ setTooltipText("");
9171
+ setOptions([]);
9172
+ setCrewmembers([]);
9173
+ }
9174
+ }, [value]);
9175
+ const handleInputFocus = () => {
9176
+ if (options.length > 0) {
9177
+ setShowDropdown(true);
9178
+ }
9179
+ };
9180
+ const handleClear = () => {
9181
+ setInputValue("");
9182
+ setTooltipText("");
9183
+ setOptions([]);
9184
+ setCrewmembers([]);
9185
+ setShowDropdown(false);
9186
+ handleChange(0);
9187
+ inputRef.current?.focus();
9188
+ };
9189
+ const direction = alignProps?.flexDirection || "row";
9190
+ return (jsxs("div", { className: `cw-search-input ${className}`, style: {
9191
+ ...(width ? { width } : {}),
9192
+ ...(labelProps?.labelWidth ? { '--label-width': labelProps.labelWidth } : {})
9193
+ }, "data-direction": direction, children: [jsxs(CwAlign, { ...alignProps, itemProp: required ? "required" : "", children: [labelProps && (jsx(CwLabel, { ...labelProps, children: labelProps.text })), jsxs("div", { className: "cw-search-input-wrapper", children: [jsx("input", { ref: inputRef, type: "text", value: inputValue, onChange: handleInputChange, onKeyDown: handleKeyDown, onFocus: handleInputFocus, placeholder: isInitialLoading ? "Loading…" : placeHolder, disabled: disabled, required: required, autoComplete: "off", "aria-expanded": showDropdown, "aria-haspopup": "listbox", role: "combobox", title: tooltipText }), (isLoading || isInitialLoading) && (jsx("div", { className: "cw-search-input-loading", children: jsx(CwIcon, { iconId: "spinner" }) })), jsx("div", { className: "cw-search-input-icons", children: inputValue && !disabled && !isInitialLoading ? (jsx(CwButton, { type: "button", onClick: handleClear, "aria-label": "Clear selected crewmember", variant: "icon", icon: "close", color: "neutral" })) : (jsx(CwIcon, { iconId: "person" })) })] })] }), showDropdown && options.length > 0 && (jsx("div", { ref: dropdownRef, className: "cw-input-search-dropdown", role: "listbox", children: jsx("ul", { children: options.map((option, index) => (jsx("li", { className: index === highlightedIndex ? "highlighted" : "", onClick: () => handleOptionSelect(option.value), onMouseDown: (e) => e.preventDefault(), role: "option", "aria-selected": index === highlightedIndex, children: option.text }, option.value))) }) }))] }));
9194
+ };
9195
+
9196
+ export { CblDragAndDrop, CwAccordionContainer, CwAlign, CwAnchoredMenu, CwBtnDelete, CwBtnEdit, CwBtnSave, CwButton, CwCard, CwCardList, CwCheck, CwCheckbox, CwCheckboxGroup, CwChip, CwColorPicker, CwConfirmationPopup, CwContextMenu, CwDatePicker, CwDateRangePicker, CwDateTimePicker, CwDateTimePickerCompact, CwDialog, CwDialogManager, CwDigit, CwDisplayMessage, CwDropdownFilter, CwExpandable, CwFileUpload, CwFileUploadMultiple, CwFindAirport, CwFindCrewmember, CwGenericTooltip, CwHeadingMain, CwHeadingSecond, CwIcon, CwImageArea, CwImageGallery, CwImageZoom, CwInput, CwInputColor, CwInputDate, CwInputDatePicker, CwInputDateText, CwInputDatetime, CwInputImage, CwInputNumber, CwInputPhone, CwInputText, CwKeyValueList, CwLabel, CwLoading, CwLoadingSmall, CwMasterDetail, CwMessage, CwMessageManager, CwMessageType, CwModal, CwModalHover, CwModalReportFunctional, CwMultiFilter, CwMultiFilterTag, CwNote, CwOption, CwPopoverButton, CwReportModal, CwScheduler, CwSearchInput, CwSelect, CwSelectList, CwSelectListItems, CwSortableList, CwSortableTable, CwSuperScheduler, CwTable, CwTableGrouped, CwTableServerSide, CwTabs, CwTextArea, CwTime, CwTimePicker, CwToggle, CwTooltipManager, CwTooltipNew, CwTreeView, CwWeekdaySelector, DefaultRowHeader, OnClearPinned, OnClickContextMenu, OnClickEvent, OnClickRowEvent, OnClickRowHeader, OnClickUtc, OnDoubleClickEvent, OnDoubleClickRowEvent, OnDragEvent, OnDropCtrlEvent, OnDropEvent, OnEndClickHeaderEvent, OnLeftDragStart, OnMultiClickEvent, OnPinRow, OnRangeClickEvent, OnRightClickEvent, OnRightClickRow, OnRightDragStart, OnStartClickHeaderEvent, OnUnpinRow, PinRowHeader, Resource, Scheduler, SchedulerEvent, SuperScheduler, UiEvent, Weekdays, cblEvent, eventIsVisible, getDefaultDivisions, getEventSizes, itemsToMultiFilterTags, useCwMessage, useSortableList, useSortableTable };
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ import { type CwLabelProps } from "../../display/text/label/CwLabel";
3
+ import { type CwAlignProps } from "../../layout/align/CwAlign";
4
+ export interface CwFindCrewmemberProps {
5
+ handleChange: (value: number) => void;
6
+ placeHolder?: string;
7
+ required?: boolean;
8
+ cblConfig: string;
9
+ className?: string;
10
+ value?: number;
11
+ disabled?: boolean;
12
+ width?: string;
13
+ initialDisplayText?: string;
14
+ labelProps?: CwLabelProps;
15
+ alignProps?: CwAlignProps;
16
+ }
17
+ export declare const CwFindCrewmember: React.FC<CwFindCrewmemberProps>;
18
+ //# sourceMappingURL=CwFindCrewmemberComp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CwFindCrewmemberComp.d.ts","sourceRoot":"","sources":["../../../../../src/components/custom/find-crewmember/CwFindCrewmemberComp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAGxE,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAexE,MAAM,WAAW,qBAAqB;IACrC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,UAAU,CAAC,EAAE,YAAY,CAAC;CAC1B;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAiR5D,CAAC"}
@@ -16,6 +16,7 @@ export interface CwMessageProps {
16
16
  messageType?: CwMessageType;
17
17
  duration?: number;
18
18
  onClose?: () => void;
19
+ onClick?: () => void;
19
20
  }
20
21
  export declare const CwMessage: FC<CwMessageProps>;
21
22
  /**
@@ -55,7 +56,7 @@ export declare class CwMessageManager {
55
56
  root: any;
56
57
  static getInstance(): CwMessageManager;
57
58
  private init;
58
- showMessage(message: string, type?: CwMessageType, duration?: number): void;
59
+ showMessage(message: string, type?: CwMessageType, duration?: number, onClick?: () => void): void;
59
60
  private closeMessage;
60
61
  }
61
62
  /**
@@ -74,5 +75,5 @@ export declare class CwMessageManager {
74
75
  *
75
76
  * @note For inline messages within components, use `CwNote` or `useCwMessage` hook instead
76
77
  */
77
- export declare function CwDisplayMessage(message: string, type?: CwMessageType, duration?: number): void;
78
+ export declare function CwDisplayMessage(message: string, type?: CwMessageType, duration?: number, onClick?: () => void): void;
78
79
  //# sourceMappingURL=CwMessage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CwMessage.d.ts","sourceRoot":"","sources":["../../../../../../src/components/display/text/message/CwMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAIrD,eAAO,MAAM,2BAA2B,EAAE,MAAa,CAAC;AAExD,oBAAY,aAAa;IACxB,KAAK,iBAAiB;IACtB,IAAI,YAAY;IAChB,IAAI,gBAAgB;IACpB,OAAO,iBAAiB;CACxB;AAED;;;;GAIG;AAEH,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAoBxC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,YAAY;yBAMI,cAAc;;CAgB1C,CAAC;AAEF,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmB;IAC1C,OAAO,CAAC,cAAc,CAA+B;IACrD,IAAI,EAAE,GAAG,CAAC;WAGI,WAAW,IAAI,gBAAgB;IAQ7C,OAAO,CAAC,IAAI;IAOL,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM;IAS3E,OAAO,CAAC,YAAY;CAGpB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM,QAExF"}
1
+ {"version":3,"file":"CwMessage.d.ts","sourceRoot":"","sources":["../../../../../../src/components/display/text/message/CwMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAIrD,eAAO,MAAM,2BAA2B,EAAE,MAAa,CAAC;AAExD,oBAAY,aAAa;IACxB,KAAK,iBAAiB;IACtB,IAAI,YAAY;IAChB,IAAI,gBAAgB;IACpB,OAAO,iBAAiB;CACxB;AAED;;;;GAIG;AAEH,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAsBxC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,YAAY;yBAMI,cAAc;;CAgB1C,CAAC;AAEF,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmB;IAC1C,OAAO,CAAC,cAAc,CAA+B;IACrD,IAAI,EAAE,GAAG,CAAC;WAGI,WAAW,IAAI,gBAAgB;IAQ7C,OAAO,CAAC,IAAI;IAOL,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,IAAI;IASjG,OAAO,CAAC,YAAY;CAGpB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,IAAI,QAE9G"}
@@ -102,6 +102,7 @@ import { PinRowHeader, PinRowHeaderProps } from "./components/custom/super-sched
102
102
  import { SuperScheduler, SuperSchedulerProps } from "./components/custom/super-scheduler/SuperScheduler";
103
103
  import { OnClearPinned, OnPinRow, OnUnpinRow } from "./components/custom/super-scheduler/SuperSchedulerEvents";
104
104
  export { CwFindAirport } from "./components/custom/find-airport/CwFindAirportComp";
105
+ export { CwFindCrewmember } from "./components/custom/find-crewmember/CwFindCrewmemberComp";
105
106
  export { OnClearPinned, OnPinRow, OnUnpinRow, PinRowHeader, SuperScheduler, type PinRowHeaderProps, type SuperSchedulerProps };
106
107
  export { OnClickContextMenu, OnClickEvent, OnClickRowEvent, OnClickRowHeader, OnClickUtc, OnDoubleClickEvent, OnDoubleClickRowEvent, OnDragEvent, OnDropCtrlEvent, OnDropEvent, OnEndClickHeaderEvent, OnLeftDragStart, OnMultiClickEvent, OnRangeClickEvent, OnRightClickEvent, OnRightClickRow, OnRightDragStart, OnStartClickHeaderEvent } from "./components/custom/scheduler-new/presentation/NewSchedulerUiEvents";
107
108
  export type { BackgroundEventDm } from "./components/custom/scheduler-new/presentation/components/row/BackgroundEvent";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAOA,OAAO,aAAa,CAAC;AAKrB,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAQ/E,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAGpF,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAGrF,OAAO,EAAE,MAAM,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAIxH,OAAO,EACN,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,KAAK,cAAc,EACnB,MAAM,6CAA6C,CAAC;AAGrD,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAGjF,OAAO,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,4DAA4D,CAAC;AAC5G,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,sDAAsD,CAAC;AAIvG,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,iDAAiD,CAAC;AAG5E,OAAO,EAAE,cAAc,EAAE,MAAM,4DAA4D,CAAC;AAK5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,4DAA4D,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,4DAA4D,CAAC;AAQ9F,OAAO,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAC;AAGpE,OAAO,EAAE,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,MAAM,4DAA4D,CAAC;AAG9H,OAAO,EAAE,uBAAuB,EAAE,KAAK,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AAE/H,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AAGjF,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AAGpG,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAGnF,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAG7E,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAG/E,OAAO,EAAE,MAAM,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAMvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0DAA0D,CAAC;AAGhG,OAAO,EAAE,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,0DAA0D,CAAC;AAC3I,OAAO,EAAE,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,KAAK,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AAGvJ,OAAO,EAAE,iBAAiB,EAAE,KAAK,oBAAoB,EAAE,MAAM,8DAA8D,CAAC;AAG5H,OAAO,EAAE,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,iCAAiC,CAAC;AAGnE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAGrG,OAAO,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AAGrI,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAG7G,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AAC5G,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAMpF,OAAO,EACN,cAAc,EACd,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,MAAM,kDAAkD,CAAC;AAQ1D,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AAG5F,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAGjE,OAAO,EAAE,OAAO,EAAE,MAAM,0CAA0C,CAAC;AAGnE,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAG7E,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAGjG,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAGrG,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAGzG,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAGnG,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAGjG,OAAO,EACN,iBAAiB,EAAE,KAAK,sBAAsB,EAC9C,MAAM,0DAA0D,CAAC;AAGlE,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAGjH,OAAO,EAAE,MAAM,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAGvF,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AAGlH,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAGrG,OAAO,EACN,WAAW,EAAE,KAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAC3D,MAAM,mDAAmD,CAAC;AAG3D,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,sDAAsD,CAAC;AAMjH,OAAO,EAAE,OAAO,EAAE,MAAM,8CAA8C,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AAGvF,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AAGvE,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AAGvE,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AAGvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uDAAuD,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AAIlH,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAGxE,OAAO,EACN,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,KAAK,iBAAiB,EACpE,MAAM,0EAA0E,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAGhH,OAAO,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,kDAAkD,CAAC;AAM/F,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAG5E,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,wDAAwD,CAAC;AACzG,OAAO,EAAE,aAAa,EAAE,MAAM,uDAAuD,CAAC;AAGtF,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AAIvE,OAAO,EACN,WAAW,EACX,SAAS,EACT,SAAS,EACT,MAAM,+CAA+C,CAAC;AAIvD,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAC3F,YAAY,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,uDAAuD,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8DAA8D,CAAC;AACvG,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AAKjF,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,CAAC;AAIvB,OAAO,EAAE,SAAS,EAAE,MAAM,6DAA6D,CAAC;AAGxF,OAAO,EACN,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,MAAM,gFAAgF,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,qEAAqE,CAAC;AAG5H,YAAY,EAAE,mBAAmB,EAAE,MAAM,qEAAqE,CAAC;AAC/G,YAAY,EAAE,cAAc,EAAE,MAAM,wEAAwE,CAAC;AAG7G,YAAY,EAAE,iBAAiB,EAAE,MAAM,4EAA4E,CAAC;AAGpH,OAAO,EAAE,cAAc,EAAE,MAAM,0EAA0E,CAAC;AAC1G,OAAO,EAAE,mBAAmB,EAAE,MAAM,0EAA0E,CAAC;AAC/G,OAAO,EAAE,aAAa,EAAE,MAAM,oEAAoE,CAAC;AAGnG,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,YAAY,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAMjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oDAAoD,CAAC;AAGtF,OAAO,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAC;AAGxE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAC/F,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAEjG,OAAO,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AAEpF,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AACzG,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,0DAA0D,CAAC;AAI/G,OAAO,EAAE,aAAa,EAAE,MAAM,oDAAoD,CAAC;AAEnF,OAAO,EACN,aAAa,EACb,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,CAAC;AAEF,OAAO,EACN,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,MAAM,qEAAqE,CAAC;AAG7E,YAAY,EACX,iBAAiB,EACjB,MAAM,+EAA+E,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAOA,OAAO,aAAa,CAAC;AAKrB,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAQ/E,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAGpF,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAGrF,OAAO,EAAE,MAAM,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAIxH,OAAO,EACN,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,KAAK,cAAc,EACnB,MAAM,6CAA6C,CAAC;AAGrD,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAGjF,OAAO,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,4DAA4D,CAAC;AAC5G,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,sDAAsD,CAAC;AAIvG,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,iDAAiD,CAAC;AAG5E,OAAO,EAAE,cAAc,EAAE,MAAM,4DAA4D,CAAC;AAK5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,4DAA4D,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,4DAA4D,CAAC;AAQ9F,OAAO,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAC;AAGpE,OAAO,EAAE,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,MAAM,4DAA4D,CAAC;AAG9H,OAAO,EAAE,uBAAuB,EAAE,KAAK,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AAE/H,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AAGjF,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AAGpG,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAGnF,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAG7E,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAG/E,OAAO,EAAE,MAAM,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAMvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0DAA0D,CAAC;AAGhG,OAAO,EAAE,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,0DAA0D,CAAC;AAC3I,OAAO,EAAE,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,KAAK,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AAGvJ,OAAO,EAAE,iBAAiB,EAAE,KAAK,oBAAoB,EAAE,MAAM,8DAA8D,CAAC;AAG5H,OAAO,EAAE,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,iCAAiC,CAAC;AAGnE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAGrG,OAAO,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AAGrI,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAG7G,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AAC5G,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAMpF,OAAO,EACN,cAAc,EACd,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,MAAM,kDAAkD,CAAC;AAQ1D,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AAG5F,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAGjE,OAAO,EAAE,OAAO,EAAE,MAAM,0CAA0C,CAAC;AAGnE,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAG7E,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAGjG,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAGrG,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAGzG,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAGnG,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAGjG,OAAO,EACN,iBAAiB,EAAE,KAAK,sBAAsB,EAC9C,MAAM,0DAA0D,CAAC;AAGlE,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAGjH,OAAO,EAAE,MAAM,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAGvF,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AAGlH,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAGrG,OAAO,EACN,WAAW,EAAE,KAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAC3D,MAAM,mDAAmD,CAAC;AAG3D,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,sDAAsD,CAAC;AAMjH,OAAO,EAAE,OAAO,EAAE,MAAM,8CAA8C,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AAGvF,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AAGvE,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AAGvE,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AAGvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uDAAuD,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AAIlH,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAGxE,OAAO,EACN,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,KAAK,iBAAiB,EACpE,MAAM,0EAA0E,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAGhH,OAAO,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,kDAAkD,CAAC;AAM/F,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAG5E,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,wDAAwD,CAAC;AACzG,OAAO,EAAE,aAAa,EAAE,MAAM,uDAAuD,CAAC;AAGtF,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AAIvE,OAAO,EACN,WAAW,EACX,SAAS,EACT,SAAS,EACT,MAAM,+CAA+C,CAAC;AAIvD,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAC3F,YAAY,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,uDAAuD,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8DAA8D,CAAC;AACvG,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AAKjF,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,CAAC;AAIvB,OAAO,EAAE,SAAS,EAAE,MAAM,6DAA6D,CAAC;AAGxF,OAAO,EACN,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,MAAM,gFAAgF,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,qEAAqE,CAAC;AAG5H,YAAY,EAAE,mBAAmB,EAAE,MAAM,qEAAqE,CAAC;AAC/G,YAAY,EAAE,cAAc,EAAE,MAAM,wEAAwE,CAAC;AAG7G,YAAY,EAAE,iBAAiB,EAAE,MAAM,4EAA4E,CAAC;AAGpH,OAAO,EAAE,cAAc,EAAE,MAAM,0EAA0E,CAAC;AAC1G,OAAO,EAAE,mBAAmB,EAAE,MAAM,0EAA0E,CAAC;AAC/G,OAAO,EAAE,aAAa,EAAE,MAAM,oEAAoE,CAAC;AAGnG,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,YAAY,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAMjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oDAAoD,CAAC;AAGtF,OAAO,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAC;AAGxE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAC/F,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAEjG,OAAO,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AAEpF,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AACzG,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,0DAA0D,CAAC;AAI/G,OAAO,EAAE,aAAa,EAAE,MAAM,oDAAoD,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0DAA0D,CAAC;AAE5F,OAAO,EACN,aAAa,EACb,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,CAAC;AAEF,OAAO,EACN,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,MAAM,qEAAqE,CAAC;AAG7E,YAAY,EACX,iBAAiB,EACjB,MAAM,+EAA+E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cwellt_software/cwellt-reactjs-lib",
3
- "version": "1.2.16",
3
+ "version": "1.3.0",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -75,4 +75,4 @@
75
75
  "react-day-picker": "^9.0.0",
76
76
  "@react-buddy/ide-toolbox": "^2.4.0"
77
77
  }
78
- }
78
+ }
package/readme.md CHANGED
@@ -1,12 +1,13 @@
1
1
  # Project Configuration Documentation
2
2
 
3
3
  This document provides a comprehensive overview of the configuration files for
4
- this React+TypeScript library using rollup as the build tool.
4
+ this React+TypeScript library using Rollup as the build tool.
5
5
 
6
6
  ## Project Structure
7
7
 
8
8
  - Source code in `src` directory
9
9
  - Test files in `test` directory
10
+ - Output in `dist` directory (CommonJS + ES modules + type declarations)
10
11
 
11
12
  ## Build Pipeline
12
13
 
@@ -14,8 +15,45 @@ Static output configured for MVC integration
14
15
 
15
16
  1. TypeScript compilation
16
17
  2. Bundling via Rollup
17
- 3. Automated testing
18
- 4. Code quality checks
18
+ 3. Automated testing (Vitest)
19
+ 4. Code quality checks (ESLint + StyleLint)
20
+
21
+ ---
22
+
23
+ ## NPM Scripts
24
+
25
+ | Script | Command | Description |
26
+ |---|---|---|
27
+ | `dev` | `vite` | Start Vite dev server |
28
+ | `start` | `rollup -c --watch` | Start Rollup in watch mode |
29
+ | `test` | `vitest run` | Run all tests |
30
+ | `lint` | `eslint **/*.{ts,tsx} --fix` | Lint and auto-fix TypeScript files |
31
+ | `style` | `stylelint "./src/**/*.css" --fix` | Lint and auto-fix CSS files |
32
+ | `build` | `npm run lint && npm test && rollup -c` | Full build (lint + test + bundle) |
33
+ | `release` | `rollup -c` | Bundle only (no lint/test) |
34
+ | `link` | `npm link` | Link package locally for development |
35
+ | `build:quick` | `rollup -c` | Quick bundle without checks |
36
+
37
+ ---
38
+
39
+ ## VS Code Action Buttons
40
+
41
+ The workspace includes pre-configured action buttons (via the Action Buttons extension) in the status bar:
42
+
43
+ | Icon | Color | Action | Description |
44
+ |---|---|---|---|
45
+ | $(debug-restart) | Blue | `typescript.restartTsServer` | Restart TypeScript language server |
46
+ | $(sparkle) | Plum | `fresh-start` | Clean install and fresh start |
47
+ | $(bug) | Salmon | `cwreact lint` | Check code errors |
48
+ | $(beaker) | Flamingo | `cwreact test` | Run all tests |
49
+ | $(zap) | Gold | `cwreact R` | Release CwLibrary (quick) |
50
+ | $(rocket) | Hot pink | `cwreact purge` | Rebuild & release CwLibrary |
51
+ | $(wrench) | Turquoise | `devtestutil-rebuild` | Rebuild backend |
52
+ | $(multiple-windows) | Plum | Launch MVC, ASPX and Service | Start all backend services |
53
+ | $(run) | Deep sky blue | `cwreact start` | Launch React Library |
54
+ | $(globe) | Violet | Debug in Chrome | Debug React in Chrome |
55
+ | $(link) | Medium spring green | `cwreact link` | Link & start Library |
56
+ | $(package) | Medium sea green | `npm run build && npm version patch && npm publish` | Publish Library to NPM |
19
57
 
20
58
  ---
21
59
 
@@ -23,38 +61,37 @@ Static output configured for MVC integration
23
61
 
24
62
  ### TypeScript Config (`tsconfig.json`)
25
63
 
26
- The project uses a split TypeScript configuration approach:
27
-
28
- - Targets modern JavaScript (ESNext)
29
- - Configured specifically for React with JSX support
64
+ - Targets modern JavaScript (ESNext) with ESNext module system
65
+ - Configured for React with `react-jsx` transform
66
+ - Uses `bundler` module resolution (required by Rollup)
30
67
  - Enables strict type checking with some exceptions:
31
68
  - Permits unused local variables
32
- - Includes module resolution settings
33
- - Excludes deprecated code and handles specific source paths
69
+ - Disallows unused parameters, implicit returns, implicit `this`, implicit `any`
70
+ - Vitest globals enabled via `"types": ["vitest/globals"]`
71
+ - CSS Modules support via `typescript-plugin-css-modules`
72
+ - Outputs declarations and declaration maps to `dist`
34
73
 
35
74
  ### Build Tool Configuration
36
75
 
37
76
  #### Rollup Configuration (`rollup.config.js`)
38
77
 
39
- The configuration handles bundling a React-based package with TypeScript support
40
-
41
- - It sets up two main build configurations:
42
- - One for the actual code bundling, outputting both CommonJS and ES modules formats
43
- - Another for generating TypeScript declaration files (.d.ts)
78
+ The configuration handles bundling a React-based package with TypeScript support.
44
79
 
80
+ - Outputs both CommonJS (`index.cjs.js`) and ES modules (`index.es.js`) formats
81
+ - Generates TypeScript declaration files (`.d.ts`) via a separate build pass
45
82
  - Actions:
46
83
  - Processes CSS using PostCSS with import and URL handling
47
84
  - Extracts and minimizes CSS into a separate file
48
- - Copies content from src/content to dist/content
49
- - Excludes several external dependencies including React, Ant Design, Lodash, and Moment
50
- - Reads package.json for input/output configurations
85
+ - Copies content from `src/content` to `dist/content`
86
+ - Excludes peer dependencies from the bundle (React, Moment, etc.)
51
87
 
52
88
  ### Testing Configuration
53
89
 
54
- #### Jest Configuration (`jest.config.js`)
90
+ #### Vitest Configuration
55
91
 
56
- - Node.js test environment
57
- - TypeScript support via ts-jest
92
+ - Configured via `package.json` scripts: `vitest run`
93
+ - Uses Vitest globals (no explicit imports needed for `describe`, `it`, `expect`)
94
+ - Testing utilities: `@testing-library/react`, `@testing-library/jest-dom`
58
95
 
59
96
  ### Code Quality Configuration
60
97
 
@@ -62,18 +99,18 @@ The configuration handles bundling a React-based package with TypeScript support
62
99
 
63
100
  - Modern flat config format
64
101
  - TypeScript and React-specific rules:
65
- - Disables React import requirement
66
- - Configures TypeScript unused variable warnings
67
- - Enforces .tsx extension for JSX files
68
- - Controls Fragment usage
102
+ - Disables React import requirement (`react-in-jsx-scope: off`)
103
+ - Configures TypeScript unused variable warnings (ignores `_` prefixed)
104
+ - Enforces `.tsx` extension for JSX files
105
+ - Controls Fragment usage (no useless fragments)
69
106
 
70
107
  #### StyleLint Configuration (`.stylelintrc.json`)
71
108
 
72
109
  - Enforces CSS/styling conventions:
73
110
  - Prohibits `!important`
74
111
  - Requires full-length hex colors
75
- - Disallows cursed units
76
- - Prevents duplicate properties
112
+ - Disallows cursed units (`em`, `pc`, `cm`, `mm`, `in`)
113
+ - Prevents duplicate properties and custom properties
77
114
 
78
115
  #### Editor Configuration (`.editorconfig`)
79
116
 
@@ -87,20 +124,20 @@ The configuration handles bundling a React-based package with TypeScript support
87
124
 
88
125
  ### Package Management (`package.json`)
89
126
 
90
- - Script commands:
91
- - Build
92
- - Testing
93
- - Linting
94
- - Style checking
127
+ - **Package**: `@cwellt_software/cwellt-reactjs-lib` (ESM, `"type": "module"`)
128
+ - **Exports**: Dual CJS/ESM with TypeScript declarations
95
129
  - Peer Dependencies:
96
- - React 18
130
+ - React 18 + React DOM
97
131
  - React Draggable
132
+ - React Window
98
133
  - Moment
99
- - Ant Design 4.24.16 (deprecated)
100
- - Lodash and throttle (deprecated)
134
+ - Globals
135
+ - Dependencies:
136
+ - date-fns, moment-timezone, react-day-picker, @react-buddy/ide-toolbox
101
137
  - Dev Dependencies:
102
- - TypeScript 5.6.3
138
+ - TypeScript 5.9.3
103
139
  - Rollup for bundling
104
- - Jest for testing
140
+ - Vitest + Testing Library for testing
141
+ - Vite + @vitejs/plugin-react for dev server
105
142
  - PostCSS for CSS processing
106
143
  - ESLint and StyleLint for code quality