@cwellt_software/cwellt-reactjs-lib 1.2.17 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -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"}
@@ -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":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cwellt_software/cwellt-reactjs-lib",
3
- "version": "1.2.17",
3
+ "version": "1.3.1",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
package/readme.md CHANGED
@@ -1,106 +1,119 @@
1
- # Project Configuration Documentation
2
-
3
- This document provides a comprehensive overview of the configuration files for
4
- this React+TypeScript library using rollup as the build tool.
5
-
6
- ## Project Structure
7
-
8
- - Source code in `src` directory
9
- - Test files in `test` directory
10
-
11
- ## Build Pipeline
12
-
13
- Static output configured for MVC integration
14
-
15
- 1. TypeScript compilation
16
- 2. Bundling via Rollup
17
- 3. Automated testing
18
- 4. Code quality checks
19
-
20
- ---
21
-
22
- ## Core Configuration Files
23
-
24
- ### TypeScript Config (`tsconfig.json`)
25
-
26
- The project uses a split TypeScript configuration approach:
27
-
28
- - Targets modern JavaScript (ESNext)
29
- - Configured specifically for React with JSX support
30
- - Enables strict type checking with some exceptions:
31
- - Permits unused local variables
32
- - Includes module resolution settings
33
- - Excludes deprecated code and handles specific source paths
34
-
35
- ### Build Tool Configuration
36
-
37
- #### Rollup Configuration (`rollup.config.js`)
38
-
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)
44
-
45
- - Actions:
46
- - Processes CSS using PostCSS with import and URL handling
47
- - 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
51
-
52
- ### Testing Configuration
53
-
54
- #### Jest Configuration (`jest.config.js`)
55
-
56
- - Node.js test environment
57
- - TypeScript support via ts-jest
58
-
59
- ### Code Quality Configuration
60
-
61
- #### ESLint Configuration (`eslint.config.mjs`)
62
-
63
- - Modern flat config format
64
- - 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
69
-
70
- #### StyleLint Configuration (`.stylelintrc.json`)
71
-
72
- - Enforces CSS/styling conventions:
73
- - Prohibits `!important`
74
- - Requires full-length hex colors
75
- - Disallows cursed units
76
- - Prevents duplicate properties
77
-
78
- #### Editor Configuration (`.editorconfig`)
79
-
80
- - Ensures consistent coding styles:
81
- - Tab-based indentation
82
- - Windows-style line endings (CRLF)
83
- - UTF-8 encoding
84
- - 120 character line length limit
85
- - Automatic final newline
86
- - Trailing whitespace trimming
87
-
88
- ### Package Management (`package.json`)
89
-
90
- - Script commands:
91
- - Build
92
- - Testing
93
- - Linting
94
- - Style checking
95
- - Peer Dependencies:
96
- - React 18
97
- - React Draggable
98
- - Moment
99
- - Ant Design 4.24.16 (deprecated)
100
- - Lodash and throttle (deprecated)
101
- - Dev Dependencies:
102
- - TypeScript 5.6.3
103
- - Rollup for bundling
104
- - Jest for testing
105
- - PostCSS for CSS processing
106
- - ESLint and StyleLint for code quality
1
+ # @cwellt_software/cwellt-reactjs-lib
2
+
3
+ A React component library built with TypeScript, designed for aviation operations management applications.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @cwellt_software/cwellt-reactjs-lib
9
+ ```
10
+
11
+ ## Setup
12
+
13
+ Import the library styles in your application entry point:
14
+
15
+ ```tsx
16
+ import "@cwellt_software/cwellt-reactjs-lib/dist/index.css";
17
+ ```
18
+
19
+ ## Peer Dependencies
20
+
21
+ This library requires the following peer dependencies:
22
+
23
+ ```json
24
+ {
25
+ "react": "^18",
26
+ "react-dom": "^18",
27
+ "react-draggable": "^4",
28
+ "react-window": "^1",
29
+ "moment": "^2"
30
+ }
31
+ ```
32
+
33
+ ## Components
34
+
35
+ ### Display
36
+
37
+ | Component | Description |
38
+ | ----------------------------------- | ------------------------------------------------ |
39
+ | `CwLabel` | Label for form fields and data display |
40
+ | `CwChip` | Tag/chip element with color schemes and variants |
41
+ | `CwMessage` | Toast and inline message system |
42
+ | `CwNote` | Note/callout display |
43
+ | `CwIcon` | Icon component with custom font support |
44
+ | `CwLoading` | Loading indicator |
45
+ | `CwImageGallery` / `CwImageZoom` | Image display components |
46
+ | `CwTooltipNew` / `CwTooltipManager` | Tooltip system |
47
+
48
+ ### Layout
49
+
50
+ | Component | Description |
51
+ | ----------------------- | ----------------------------------------------------------- |
52
+ | `CwDialog` | Modal dialog with scrim, save/cancel actions, custom sizing |
53
+ | `CwMasterDetail` | Master-detail layout pattern |
54
+ | `CwCard` / `CwCardList` | Card display components |
55
+ | `CwTabs` | Tabbed navigation with badge support |
56
+ | `CwAlign` | Alignment utility component |
57
+ | `CwExpandable` | Expandable detail sections |
58
+ | `CwKeyValueList` | Key-value pair list display |
59
+ | `CwSortableList` | Drag-and-drop sortable list |
60
+ | `CwTable` | Data table with sorting and pagination |
61
+ | `CwTableServerSide` | Server-side paginated table |
62
+ | `CwSortableTable` | Drag-and-drop sortable table |
63
+ | `CwTableGrouped` | Grouped data table |
64
+
65
+ ### Control Input
66
+
67
+ | Component | Description |
68
+ | ----------------------------------------------------- | ------------------------------ |
69
+ | `CwInput` / `CwInputText` / `CwInputNumber` | Text and number inputs |
70
+ | `CwInputPhone` | Phone number input |
71
+ | `CwTextArea` | Multi-line text input |
72
+ | `CwDigit` | Digit/number input |
73
+ | `CwInputDate` / `CwInputDateText` / `CwInputDatetime` | Date and datetime inputs |
74
+ | `CwDatePicker` / `CwTimePicker` / `CwDateTimePicker` | Modern date/time pickers |
75
+ | `CwDateRangePicker` | Date range selection |
76
+ | `CwInputImage` / `CwImageArea` | Image input components |
77
+ | `CwInputColor` / `CwColorPicker` | Color selection |
78
+ | `CwWeekdaySelector` | Weekday multi-select |
79
+ | `CwFileUpload` / `CwFileUploadMultiple` | File upload with drag-and-drop |
80
+
81
+ ### Control — Choice
82
+
83
+ | Component | Description |
84
+ | -------------------------------------------- | ----------------------------- |
85
+ | `CwSelect` | Dropdown select |
86
+ | `CwCheck` / `CwCheckbox` / `CwCheckboxGroup` | Checkbox components |
87
+ | `CwToggle` | Toggle switch |
88
+ | `CwDropdownFilter` | Dropdown filter navigation |
89
+ | `CwPopoverButton` | Button with popover content |
90
+ | `CwMultiFilter` | Multi-select filter with tags |
91
+ | `CwTreeView` | Tree structure selection |
92
+
93
+ ### Control — Action
94
+
95
+ | Component | Description |
96
+ | ---------------------------------- | ------------------------------------------- |
97
+ | `CwButton` | Primary button component with icon variants |
98
+ | `CwSearchInput` | Search input with filtering |
99
+ | `CwAnchoredMenu` / `CwContextMenu` | Context menu components |
100
+
101
+ ### Custom / Domain
102
+
103
+ | Component | Description |
104
+ | ---------------------------------------------- | -------------------------------- |
105
+ | `Scheduler` / `CwScheduler` / `SuperScheduler` | Scheduling timeline components |
106
+ | `CwFindAirport` | Airport search and selection |
107
+ | `CwFindCrewmember` | Crew member search and selection |
108
+
109
+ ## Module Formats
110
+
111
+ The library is distributed as:
112
+
113
+ - **ES Module**: `dist/index.es.js`
114
+ - **CommonJS**: `dist/index.cjs.js`
115
+ - **TypeScript Declarations**: `dist/index.d.ts`
116
+
117
+ ## License
118
+
119
+ Proprietary — Cwellt Software