@lax-wp/design-system 0.3.114 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/dist/components/button/Button.d.ts +25 -0
  2. package/dist/components/button/ButtonGroup.d.ts +6 -0
  3. package/dist/components/button/ButtonThreeDots.d.ts +3 -0
  4. package/dist/components/button/IconButton.d.ts +14 -0
  5. package/dist/components/button/Radio.d.ts +8 -0
  6. package/dist/components/buttons/option-button/OptionButton.d.ts +60 -0
  7. package/dist/components/cards/card-header-view/CardHeaderView.d.ts +33 -0
  8. package/dist/components/cards/card-header-view/index.d.ts +2 -0
  9. package/dist/components/cards/card-main/CardMain.d.ts +25 -0
  10. package/dist/components/cards/card-main/index.d.ts +2 -0
  11. package/dist/components/cards/tab-content/TabContent.d.ts +30 -0
  12. package/dist/components/cards/tab-content/index.d.ts +2 -0
  13. package/dist/components/data-display/access-denied-modal/AccessDeniedModal.d.ts +21 -0
  14. package/dist/components/data-display/badge/Badge.d.ts +44 -0
  15. package/dist/components/data-display/banner/Banner.d.ts +37 -0
  16. package/dist/components/data-display/card/Card.d.ts +31 -0
  17. package/dist/components/data-display/code-editor/CodeEditor.d.ts +6 -0
  18. package/dist/components/data-display/code-editor/JsonGrid.d.ts +37 -0
  19. package/dist/components/data-display/code-editor/Tabs.d.ts +12 -0
  20. package/dist/components/data-display/comparison/Comparison.d.ts +34 -0
  21. package/dist/components/data-display/comparison/ComparisonContext.d.ts +36 -0
  22. package/dist/components/data-display/comparison/components/GridItemHandle.d.ts +7 -0
  23. package/dist/components/data-display/comparison/components/GridLayout.d.ts +3 -0
  24. package/dist/components/data-display/comparison/components/Header.d.ts +9 -0
  25. package/dist/components/data-display/comparison/components/NoAvailableContent.d.ts +2 -0
  26. package/dist/components/data-display/comparison/components/SortableItem.d.ts +7 -0
  27. package/dist/components/data-display/comparison/constants.d.ts +15 -0
  28. package/dist/components/data-display/comparison/icons/CloseIcon.d.ts +7 -0
  29. package/dist/components/data-display/comparison/icons/ExitIcon.d.ts +6 -0
  30. package/dist/components/data-display/comparison/icons/LayoutOneIcon.d.ts +6 -0
  31. package/dist/components/data-display/comparison/icons/LayoutThreeIcon.d.ts +6 -0
  32. package/dist/components/data-display/comparison/icons/LayoutTwoIcon.d.ts +6 -0
  33. package/dist/components/data-display/comparison/icons/SearchIcon.d.ts +8 -0
  34. package/dist/components/data-display/comparison/icons/index.d.ts +12 -0
  35. package/dist/components/data-display/comparison/index.d.ts +9 -0
  36. package/dist/components/data-display/comparison/utils.d.ts +15 -0
  37. package/dist/components/data-display/context-menu/ContextMenu.d.ts +42 -0
  38. package/dist/components/data-display/datatype-icon/DataTypeIcon.d.ts +104 -0
  39. package/dist/components/data-display/delete-modal/DeleteModal.d.ts +40 -0
  40. package/dist/components/data-display/diff-viewer/DiffViewer.d.ts +64 -0
  41. package/dist/components/data-display/divider/Divider.d.ts +21 -0
  42. package/dist/components/data-display/dynamic-data-modal/DynamicDataModal.d.ts +26 -0
  43. package/dist/components/data-display/dynamic-items-cell/DynamicItemsCell.d.ts +50 -0
  44. package/dist/components/data-display/empty-state/EmptyEvent.d.ts +5 -0
  45. package/dist/components/data-display/empty-state/NoDataFound.d.ts +27 -0
  46. package/dist/components/data-display/empty-state/NoDataFoundWidgets.d.ts +20 -0
  47. package/dist/components/data-display/empty-state/PageNotFound.d.ts +33 -0
  48. package/dist/components/data-display/empty-state/UserNotFound.d.ts +28 -0
  49. package/dist/components/data-display/empty-state/empty-widget/EmptyBarChartData.d.ts +1 -0
  50. package/dist/components/data-display/empty-state/empty-widget/EmptyCardChartData.d.ts +1 -0
  51. package/dist/components/data-display/empty-state/empty-widget/EmptyContentChart.d.ts +1 -0
  52. package/dist/components/data-display/empty-state/empty-widget/EmptyCountWidgetData.d.ts +1 -0
  53. package/dist/components/data-display/empty-state/empty-widget/EmptyDonutChartData.d.ts +1 -0
  54. package/dist/components/data-display/empty-state/empty-widget/EmptyPieChatData.d.ts +1 -0
  55. package/dist/components/data-display/empty-state/empty-widget/EmptyTableWidgetData.d.ts +1 -0
  56. package/dist/components/data-display/empty-state/empty-widget/EmptyTimelineChartData.d.ts +1 -0
  57. package/dist/components/data-display/empty-state/empty-widget/index.d.ts +8 -0
  58. package/dist/components/data-display/empty-state/index.d.ts +11 -0
  59. package/dist/components/data-display/error-modal/ErrorModal.d.ts +22 -0
  60. package/dist/components/data-display/floating-element-wrapper/floating-element-dragger.d.ts +1 -0
  61. package/dist/components/data-display/in-progress/InProgress.d.ts +13 -0
  62. package/dist/components/data-display/json-grid-viewer/AddKeyModal.d.ts +7 -0
  63. package/dist/components/data-display/json-grid-viewer/JsonGridBulkFloatingBar.d.ts +2 -0
  64. package/dist/components/data-display/json-grid-viewer/JsonGridCore.d.ts +3 -0
  65. package/dist/components/data-display/json-grid-viewer/JsonGridViewer.d.ts +47 -0
  66. package/dist/components/data-display/json-grid-viewer/JsonGridViewerContext.d.ts +4 -0
  67. package/dist/components/data-display/json-grid-viewer/JsonValueDisplay.d.ts +8 -0
  68. package/dist/components/data-display/json-grid-viewer/NestedJsonGrid.d.ts +7 -0
  69. package/dist/components/data-display/json-grid-viewer/hooks.d.ts +6 -0
  70. package/dist/components/data-display/json-grid-viewer/index.d.ts +12 -0
  71. package/dist/components/data-display/json-grid-viewer/types.d.ts +64 -0
  72. package/dist/components/data-display/json-grid-viewer/utils.d.ts +4 -0
  73. package/dist/components/data-display/label/Label.d.ts +10 -0
  74. package/dist/components/data-display/label-value/LabelValue.d.ts +139 -0
  75. package/dist/components/data-display/lottie-animation/LottieAnimation.d.ts +34 -0
  76. package/dist/components/data-display/modal/Modal.d.ts +41 -0
  77. package/dist/components/data-display/pdf-viewer/PdfViewer.d.ts +45 -0
  78. package/dist/components/data-display/permission-wrapper/PermissionWrapper.d.ts +28 -0
  79. package/dist/components/data-display/popper/Popper.d.ts +57 -0
  80. package/dist/components/data-display/progress-bar/CircularProgressBar.d.ts +23 -0
  81. package/dist/components/data-display/progress-bar/LinearProgressBar.d.ts +27 -0
  82. package/dist/components/data-display/progress-bar/index.d.ts +4 -0
  83. package/dist/components/data-display/resizable-sidebar/ResizableSidebar.d.ts +48 -0
  84. package/dist/components/data-display/skeleton/Skeleton.d.ts +18 -0
  85. package/dist/components/data-display/status-color-mapping/StatusColorMapping.d.ts +29 -0
  86. package/dist/components/data-display/tag/Tag.d.ts +53 -0
  87. package/dist/components/data-display/text/Text.d.ts +41 -0
  88. package/dist/components/data-display/text-with-strike/TextWithStrike.d.ts +19 -0
  89. package/dist/components/data-display/typography/Typography.d.ts +15 -0
  90. package/dist/components/data-display/unsaved-changes-modal/UnsavedChangesModal.d.ts +30 -0
  91. package/dist/components/drag-and-drop/drag-overlay/DragOverlay.d.ts +25 -0
  92. package/dist/components/drag-and-drop/drag-overlay/index.d.ts +2 -0
  93. package/dist/components/drag-and-drop/draggable-container/DraggableContainer.d.ts +29 -0
  94. package/dist/components/drag-and-drop/draggable-container/index.d.ts +2 -0
  95. package/dist/components/feedback/confirmation-modal/ConfirmationModal.d.ts +38 -0
  96. package/dist/components/feedback/toast/Toast.d.ts +29 -0
  97. package/dist/components/floating-bar/FloatingBar.d.ts +91 -0
  98. package/dist/components/forms/base-input-field/BaseInputField.d.ts +128 -0
  99. package/dist/components/forms/checkbox/Checkbox.d.ts +55 -0
  100. package/dist/components/forms/checkbox/CheckboxComponent.d.ts +9 -0
  101. package/dist/components/forms/color-picker/ColorPicker.d.ts +60 -0
  102. package/dist/components/forms/creatable-select/CreatableSelect.d.ts +86 -0
  103. package/dist/components/forms/currency-input/CurrencyInputField.d.ts +110 -0
  104. package/dist/components/forms/currency-input/currency.constant.d.ts +13 -0
  105. package/dist/components/forms/customizable-select-field/CustomizableSelectField.d.ts +126 -0
  106. package/dist/components/forms/date-range/DateRange.d.ts +73 -0
  107. package/dist/components/forms/date-range/DateRange2.d.ts +72 -0
  108. package/dist/components/forms/date-time-field/DateTimeField.d.ts +129 -0
  109. package/dist/components/forms/debounce-input/DebounceInputField.d.ts +66 -0
  110. package/dist/components/forms/dynamic-data-input/DynamicDataInput.d.ts +64 -0
  111. package/dist/components/forms/dynamic-data-input/DynamicDataInputField.d.ts +118 -0
  112. package/dist/components/forms/field-options/FieldOptions.d.ts +5 -0
  113. package/dist/components/forms/field-options/Header.d.ts +7 -0
  114. package/dist/components/forms/field-options/Icon.d.ts +6 -0
  115. package/dist/components/forms/field-options/Item.d.ts +7 -0
  116. package/dist/components/forms/field-options/index.d.ts +2 -0
  117. package/dist/components/forms/field-options/types.d.ts +11 -0
  118. package/dist/components/forms/file-upload-dragger/FileUpload.d.ts +83 -0
  119. package/dist/components/forms/file-upload-dragger/icons.d.ts +12 -0
  120. package/dist/components/forms/formula-input/FormulaInput.d.ts +33 -0
  121. package/dist/components/forms/formula-input/index.d.ts +3 -0
  122. package/dist/components/forms/formula-input/utils.d.ts +31 -0
  123. package/dist/components/forms/icon-picker/IconPicker.d.ts +20 -0
  124. package/dist/components/forms/input-field/InputField.d.ts +62 -0
  125. package/dist/components/forms/master-data-input/MasterDataInputField.d.ts +135 -0
  126. package/dist/components/forms/md-input/MdInput.d.ts +46 -0
  127. package/dist/components/forms/multi-file-upload/MultiFileUpload.d.ts +78 -0
  128. package/dist/components/forms/number-input-field/NumberInputField.d.ts +47 -0
  129. package/dist/components/forms/percentage-input/PercentageInputField.d.ts +107 -0
  130. package/dist/components/forms/search-bar/SearchBar.d.ts +28 -0
  131. package/dist/components/forms/select-field/SelectField.d.ts +162 -0
  132. package/dist/components/forms/text-area-field/TextAreaField.d.ts +114 -0
  133. package/dist/components/forms/text-field/TextField.d.ts +48 -0
  134. package/dist/components/forms/toggle/Toggle.d.ts +108 -0
  135. package/dist/components/icons/AIExtractedIndicator.d.ts +7 -0
  136. package/dist/components/icons/AIStarIcon.d.ts +8 -0
  137. package/dist/components/icons/ArchivedIcon.d.ts +7 -0
  138. package/dist/components/icons/CheckCircle.d.ts +7 -0
  139. package/dist/components/icons/CheckSmallIcon.d.ts +7 -0
  140. package/dist/components/icons/CloseIcon.d.ts +16 -0
  141. package/dist/components/icons/CloseRounded.d.ts +9 -0
  142. package/dist/components/icons/ComingSoonIcon.d.ts +7 -0
  143. package/dist/components/icons/EditIcon.d.ts +7 -0
  144. package/dist/components/icons/HelpIcon.d.ts +6 -0
  145. package/dist/components/icons/InfoAlert.d.ts +7 -0
  146. package/dist/components/icons/InfoCircleIcon.d.ts +7 -0
  147. package/dist/components/icons/LaxIcon.d.ts +6 -0
  148. package/dist/components/icons/Required.d.ts +3 -0
  149. package/dist/components/icons/SearchIcon.d.ts +9 -0
  150. package/dist/components/layout/ComponentLoader.d.ts +20 -0
  151. package/dist/components/layout/CustomScrollbar.d.ts +46 -0
  152. package/dist/components/layout/Helmet.d.ts +29 -0
  153. package/dist/components/layout/HelmetTitle.d.ts +23 -0
  154. package/dist/components/layout/LogoLoader.d.ts +22 -0
  155. package/dist/components/layout/PageContainer.d.ts +51 -0
  156. package/dist/components/layout/index.d.ts +12 -0
  157. package/dist/components/modal/confirm-popup/ConfirmPopUp.d.ts +26 -0
  158. package/dist/components/modal/confirm-popup/index.d.ts +2 -0
  159. package/dist/components/modal/drawer/Drawer.d.ts +35 -0
  160. package/dist/components/modal/drawer/index.d.ts +2 -0
  161. package/dist/components/navigation/accordion/Accordion.d.ts +39 -0
  162. package/dist/components/navigation/accordion/index.d.ts +2 -0
  163. package/dist/components/navigation/breadcrumbs/BreadCrumb.d.ts +52 -0
  164. package/dist/components/navigation/breadcrumbs/BreadCrumbItem.d.ts +39 -0
  165. package/dist/components/navigation/breadcrumbs/index.d.ts +4 -0
  166. package/dist/components/navigation/stepper/Stepper.d.ts +45 -0
  167. package/dist/components/navigation/stepper/index.d.ts +2 -0
  168. package/dist/components/shortcut-kbd/ShortcutKbd.d.ts +26 -0
  169. package/dist/components/shortcut-kbd/index.d.ts +2 -0
  170. package/dist/components/sidebar/Sidebar.d.ts +15 -0
  171. package/dist/components/sidebar/index.d.ts +2 -0
  172. package/dist/components/tooltip/Tooltip.d.ts +16 -0
  173. package/dist/components/user-avatar/NameInitialLogo.d.ts +15 -0
  174. package/dist/components/user-avatar/PersonIcon.d.ts +7 -0
  175. package/dist/components/user-avatar/StatusInfoRow.d.ts +5 -0
  176. package/dist/components/user-avatar/UserAvatar.d.ts +53 -0
  177. package/dist/components/user-avatar/UserAvatarPopper.d.ts +11 -0
  178. package/dist/components/user-avatar/UserProfilePic.d.ts +15 -0
  179. package/dist/components/user-avatar/constants.d.ts +8 -0
  180. package/dist/components/user-avatar/index.d.ts +13 -0
  181. package/dist/components/user-avatar/useDynamicPosition.d.ts +13 -0
  182. package/dist/constants/colors.d.ts +263 -0
  183. package/dist/constants/layout.d.ts +15 -0
  184. package/dist/constants/toggle.d.ts +12 -0
  185. package/dist/hooks/useEventListener.d.ts +4 -0
  186. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +2 -0
  187. package/dist/hooks/useModalContainer.d.ts +23 -0
  188. package/dist/hooks/useOS.d.ts +32 -0
  189. package/dist/hooks/useOutsideClick.d.ts +28 -0
  190. package/dist/hooks/usePythonSyntax.d.ts +28 -0
  191. package/dist/hooks/useScrollToTop.d.ts +5 -0
  192. package/dist/hooks/useTheme.d.ts +6 -0
  193. package/dist/index.d.ts +214 -0
  194. package/dist/index.es.js +25 -1
  195. package/dist/index.umd.js +1 -1
  196. package/dist/lib/utils.d.ts +2 -0
  197. package/dist/services/monacoManager.d.ts +28 -0
  198. package/dist/types/icon-picker.d.ts +2 -0
  199. package/dist/types/index.d.ts +70 -0
  200. package/dist/utils/countryFlags.d.ts +5 -0
  201. package/dist/utils/formatters.d.ts +24 -0
  202. package/dist/utils/messageConstants.d.ts +88 -0
  203. package/dist/utils/tagUtils.d.ts +12 -0
  204. package/dist/utils/utilities.d.ts +24 -0
  205. package/package.json +1 -1
@@ -0,0 +1,110 @@
1
+ import type { LabelType } from "../../data-display/label/Label";
2
+ /**
3
+ * Risk details interface for risk analysis integration
4
+ */
5
+ export interface RiskDetails {
6
+ color?: string;
7
+ description?: string;
8
+ hexBgColor?: string;
9
+ hexBorderColor?: string;
10
+ [key: string]: any;
11
+ }
12
+ /**
13
+ * Risk details card component props - generic to allow consumer-specific risk types
14
+ */
15
+ export interface RiskDetailsCardProps<T = any> {
16
+ riskDetails: T;
17
+ maxWidth?: string;
18
+ showAllRisksSuggestions?: boolean;
19
+ }
20
+ /**
21
+ * Props for the CurrencyInputField component
22
+ */
23
+ export interface CurrencyInputFieldProps {
24
+ /** Unique identifier for the currency input */
25
+ id: string;
26
+ /** Label text to display above the input */
27
+ label?: string;
28
+ /** Current value of the input (string for compatibility) */
29
+ value: string;
30
+ /** Callback function called when value changes */
31
+ onChange: (data: any, currencyCode?: string) => void;
32
+ /** Error message to display below the input */
33
+ errorMessage?: string;
34
+ /** Default value for the input */
35
+ defaultValue?: string;
36
+ /** Whether the field is required */
37
+ required?: boolean;
38
+ /** Whether the required indicator shows as conditional (yellow instead of red) */
39
+ isRequiredConditional?: boolean;
40
+ /** Tags/labels to display next to the label */
41
+ tags?: (string | LabelType)[];
42
+ /** Additional CSS classes for the wrapper */
43
+ className?: string;
44
+ /** Whether to preserve original case in the label */
45
+ originalCase?: boolean;
46
+ /** Tooltip text for the help icon */
47
+ tooltip?: string;
48
+ /** Whether to use simple mode (inline label style) */
49
+ simpleMode?: boolean;
50
+ /** Additional CSS classes for the input field */
51
+ inputFieldClassName?: string;
52
+ /** Whether the value was AI extracted */
53
+ isAiExtracted?: boolean;
54
+ /** Whether this is a GTN (Global Term Name) field */
55
+ isGTN?: boolean;
56
+ /** GTN field name for document integration */
57
+ gtnName?: any;
58
+ /** Whether to allow multi-currency selection with dropdown */
59
+ allowMultiCurrency?: boolean;
60
+ /** Placeholder text for the input */
61
+ placeholder?: string;
62
+ /** Whether the input is disabled */
63
+ disabled?: boolean;
64
+ /** Current currency code */
65
+ currencyCode?: string;
66
+ /** Inline styles for the input element */
67
+ inputStyle?: React.CSSProperties;
68
+ /** Additional CSS classes for the label */
69
+ labelClassName?: string;
70
+ /** Whether this is a live field */
71
+ isLiveField?: boolean;
72
+ /** Callback function called when input loses focus */
73
+ onBlur?: () => void;
74
+ /** Whether the input should auto-focus */
75
+ autoFocus?: boolean;
76
+ /** Whether recording is active (for pilot context) */
77
+ isRecording?: boolean;
78
+ /** Whether playback is active (for pilot context) */
79
+ isPlaying?: boolean;
80
+ /** Handler for adding GTN to document */
81
+ onAddGTNToDocument?: (keyValuePair: {
82
+ key: string;
83
+ value: string;
84
+ }) => void;
85
+ /** Risk details data */
86
+ riskDetails?: RiskDetails;
87
+ /** Whether risk analysis is open */
88
+ isRiskAnalysisOpen?: boolean;
89
+ /** Custom risk details card component */
90
+ RiskDetailsCard?: React.ComponentType<RiskDetailsCardProps<any>>;
91
+ }
92
+ /**
93
+ * A highly customizable currency input component with label, validation, and styling support.
94
+ * Features currency selection, formatting, validation, GTN integration, risk analysis support,
95
+ * and comprehensive prop support for various use cases.
96
+ *
97
+ * @example
98
+ * ```tsx
99
+ * <CurrencyInputField
100
+ * id="price"
101
+ * label="Price"
102
+ * value={price}
103
+ * onChange={(value, currency) => setPrice(value)}
104
+ * currencyCode="USD"
105
+ * allowMultiCurrency
106
+ * required
107
+ * />
108
+ * ```
109
+ */
110
+ export declare const CurrencyInputField: import("react").ForwardRefExoticComponent<CurrencyInputFieldProps & import("react").RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Available currencies for the CurrencyInputField component
3
+ */
4
+ export declare const CURRENCIES: {
5
+ value: string;
6
+ label: string;
7
+ }[];
8
+ /**
9
+ * Currency symbols mapping for display purposes
10
+ */
11
+ export declare const CURRENCY_SYMBOLS: {
12
+ [key: string]: string;
13
+ };
@@ -0,0 +1,126 @@
1
+ interface ColorShades {
2
+ 50: string;
3
+ 100: string;
4
+ 200: string;
5
+ 300: string;
6
+ 400: string;
7
+ 500: string;
8
+ 600: string;
9
+ 700: string;
10
+ 800: string;
11
+ 850: string;
12
+ 900: string;
13
+ 950: string;
14
+ 975: string;
15
+ }
16
+ /**
17
+ * Option type for CustomizableSelectField
18
+ */
19
+ export interface CustomizableSelectOption {
20
+ label: string;
21
+ value: string;
22
+ [key: string]: any;
23
+ }
24
+ /**
25
+ * Option config for customizing option rendering
26
+ */
27
+ export interface OptionConfig {
28
+ /** Custom component to render for options */
29
+ component?: React.ComponentType<any>;
30
+ /** Props to pass to the custom component */
31
+ componentProps?: Record<string, any>;
32
+ /** Indicator to show when option is selected */
33
+ selectIndecator?: React.ReactNode;
34
+ }
35
+ /**
36
+ * Menu config for customizing menu rendering
37
+ */
38
+ export interface MenuConfig {
39
+ /** Additional CSS class for the menu */
40
+ className?: string;
41
+ /** Additional CSS class for each option */
42
+ optionClassName?: string;
43
+ }
44
+ /**
45
+ * Props for the CustomizableSelectField component
46
+ */
47
+ export interface CustomizableSelectFieldProps {
48
+ /** Unique identifier for the select */
49
+ id: string;
50
+ /** Label text to display above the select */
51
+ label?: string;
52
+ /** Array of select options */
53
+ options: CustomizableSelectOption[];
54
+ /** Placeholder text for the select */
55
+ placeholder: string;
56
+ /** Callback function called when selection changes */
57
+ onChange: (_value: any) => void;
58
+ /** Whether the select is in loading state */
59
+ isLoading?: boolean;
60
+ /** Whether to hide the label */
61
+ hideLabel?: boolean;
62
+ /** Error message to display */
63
+ errorMessage?: string;
64
+ /** Whether the field is required */
65
+ required?: boolean;
66
+ /** Configuration for option rendering */
67
+ optionConfig?: OptionConfig;
68
+ /** Configuration for menu rendering */
69
+ menuConfig?: MenuConfig;
70
+ /** Parent container selector (deprecated, not used) */
71
+ parentContainer?: string;
72
+ /** Current value of the select */
73
+ value?: any;
74
+ /** Whether multiple selections are allowed */
75
+ isMulti?: boolean;
76
+ /** Whether the select is clearable */
77
+ isClearable?: boolean;
78
+ /** Whether the select is disabled */
79
+ disabled?: boolean;
80
+ /** Additional CSS classes */
81
+ className?: string;
82
+ /** Whether dark mode is enabled */
83
+ isDark?: boolean;
84
+ /** Primary color shades for styling */
85
+ primaryColorShades?: ColorShades;
86
+ /** Additional props */
87
+ [key: string]: any;
88
+ }
89
+ /**
90
+ * A highly customizable select field component with custom option and menu rendering support.
91
+ * Features dark mode support, multi-select capability, and comprehensive prop support.
92
+ * Built on top of react-select for advanced functionality.
93
+ *
94
+ * @example
95
+ * ```tsx
96
+ * <CustomizableSelectField
97
+ * id="country"
98
+ * label="Country"
99
+ * options={[
100
+ * { label: 'United States', value: 'us' },
101
+ * { label: 'Canada', value: 'ca' }
102
+ * ]}
103
+ * placeholder="Select a country"
104
+ * onChange={(value) => console.log(value)}
105
+ * />
106
+ *
107
+ * // With custom option rendering
108
+ * <CustomizableSelectField
109
+ * id="user"
110
+ * label="User"
111
+ * options={users}
112
+ * placeholder="Select a user"
113
+ * onChange={(value) => console.log(value)}
114
+ * optionConfig={{
115
+ * component: UserOption,
116
+ * componentProps: { showAvatar: true },
117
+ * selectIndecator: <CheckIcon />
118
+ * }}
119
+ * />
120
+ * ```
121
+ */
122
+ export declare const CustomizableSelectField: {
123
+ ({ id, label, options, placeholder, onChange, isLoading, hideLabel, errorMessage, required, optionConfig, menuConfig, value, isMulti, isClearable, disabled, className, isDark, primaryColorShades, }: CustomizableSelectFieldProps): import("react/jsx-runtime").JSX.Element;
124
+ displayName: string;
125
+ };
126
+ export {};
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Props for the DateRange component
3
+ * Matches the lax-web-portal implementation for drop-in replacement
4
+ */
5
+ export type TDateRangeProps = {
6
+ /** Unique identifier for the date range */
7
+ id: string;
8
+ /** Label text to display above the date range */
9
+ label?: string;
10
+ /** Start date value (ISO string or formatted date string) */
11
+ startDate: string;
12
+ /** End date value (ISO string or formatted date string) */
13
+ endDate: string;
14
+ /** Callback function called when date range changes */
15
+ onChange(data: any): void;
16
+ /** Callback function called when calendar selection changes */
17
+ onCalendarChange?(data: any): void;
18
+ /** Whether the field is required */
19
+ required?: boolean;
20
+ /** Error message to display below the date range */
21
+ errorMessage?: string;
22
+ /** Additional CSS classes for the wrapper */
23
+ className?: string;
24
+ /** Whether the date range is disabled */
25
+ disabled?: boolean;
26
+ /** Custom date format */
27
+ dateFormat?: string;
28
+ /** Whether popup should render inside parent element */
29
+ shouldPopOnParent?: boolean;
30
+ /** Custom function to get popup container */
31
+ getPopupContainer?: (trigger: HTMLElement | null) => HTMLElement;
32
+ /** Maximum date range in days */
33
+ maxDateRange?: number;
34
+ /** Whether the picker is open */
35
+ open?: boolean;
36
+ /** Callback function called when open state changes */
37
+ onOpenChange?(open: boolean): void;
38
+ /** Placement of the dropdown */
39
+ placement?: "bottomLeft" | "bottomRight" | "topLeft" | "topRight";
40
+ /** Whether to render as an icon button that triggers the date picker */
41
+ renderAsIconButton?: boolean;
42
+ /** Additional CSS classes for the icon button */
43
+ iconButtonClassName?: string;
44
+ /** Additional CSS classes for the calendar icon inside the button */
45
+ iconClassName?: string;
46
+ };
47
+ /**
48
+ * A date range picker component with label, validation, and styling support.
49
+ * Features proper date handling, validation, and comprehensive prop support.
50
+ * Built on top of Ant Design's RangePicker for advanced functionality.
51
+ *
52
+ * This component is designed as a drop-in replacement for the lax-web-portal
53
+ * DateRange component.
54
+ *
55
+ * @example
56
+ * ```tsx
57
+ * <DateRange
58
+ * id="event-dates"
59
+ * label="Event Duration"
60
+ * startDate={startDate}
61
+ * endDate={endDate}
62
+ * onChange={(dates) => {
63
+ * setStartDate(dates[0]);
64
+ * setEndDate(dates[1]);
65
+ * }}
66
+ * required
67
+ * />
68
+ * ```
69
+ */
70
+ export declare const DateRange: {
71
+ ({ onCalendarChange, onChange, required, label, startDate, endDate, errorMessage, className, id, disabled, dateFormat, shouldPopOnParent, getPopupContainer: customGetPopupContainer, maxDateRange, open, onOpenChange, placement, renderAsIconButton, iconButtonClassName, iconClassName, }: TDateRangeProps): import("react/jsx-runtime").JSX.Element;
72
+ displayName: string;
73
+ };
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Date range value type
3
+ */
4
+ export interface DateRangeValue {
5
+ /** Start date */
6
+ startDate: Date | null;
7
+ /** End date */
8
+ endDate: Date | null;
9
+ }
10
+ /**
11
+ * Props for the DateRange component
12
+ */
13
+ export interface DateRangeProps {
14
+ /** Unique identifier for the date range */
15
+ id: string;
16
+ /** Label text to display above the date range */
17
+ label?: string;
18
+ /** Current date range value */
19
+ value?: DateRangeValue;
20
+ /** Default date range value */
21
+ defaultValue?: DateRangeValue;
22
+ /** Callback function called when date range changes */
23
+ onChange: (value: DateRangeValue) => void;
24
+ /** Whether the date range is disabled */
25
+ disabled?: boolean;
26
+ /** Whether the field is required */
27
+ required?: boolean;
28
+ /** Message to display below the date range */
29
+ message?: string;
30
+ /** Type of message to display */
31
+ messageType?: "success" | "error" | "info" | "default";
32
+ /** Additional CSS classes for the wrapper container */
33
+ wrapperClassName?: string;
34
+ /** Additional CSS classes for the input containers */
35
+ inputClassName?: string;
36
+ /** Additional CSS classes for the label */
37
+ labelClassName?: string;
38
+ /** Help text to display below the label */
39
+ helpText?: string;
40
+ /** Size variant for the inputs */
41
+ size?: "small" | "medium" | "large";
42
+ /** Date format for display */
43
+ dateFormat?: string;
44
+ /** Minimum date allowed */
45
+ minDate?: Date;
46
+ /** Maximum date allowed */
47
+ maxDate?: Date;
48
+ /** Placeholder text for start date */
49
+ startPlaceholder?: string;
50
+ /** Placeholder text for end date */
51
+ endPlaceholder?: string;
52
+ /** Whether to allow clearing the selection */
53
+ allowClear?: boolean;
54
+ /** Additional props to pass to the input elements */
55
+ inputProps?: React.InputHTMLAttributes<HTMLInputElement>;
56
+ }
57
+ /**
58
+ * A highly customizable date range component with label, validation, and styling support.
59
+ * Features proper date handling, validation, and comprehensive prop support.
60
+ *
61
+ * @example
62
+ * ```tsx
63
+ * <DateRange
64
+ * id="event-dates"
65
+ * label="Event Duration"
66
+ * value={dateRange}
67
+ * onChange={(range) => setDateRange(range)}
68
+ * required
69
+ * />
70
+ * ```
71
+ */
72
+ export declare const DateRange2: import("react").ForwardRefExoticComponent<DateRangeProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,129 @@
1
+ import { type DatePickerProps } from "antd";
2
+ import type { LabelType } from "../../data-display/label/Label";
3
+ export declare const UNIVERSAL_DATE_FORMAT = "MM/DD/YYYY";
4
+ export declare const UNIVERSAL_DATETIME_FORMAT = "MM/DD/YYYY - hh:mm A";
5
+ /**
6
+ * Risk details interface
7
+ */
8
+ export interface RiskDetails {
9
+ color?: string;
10
+ description?: string;
11
+ hexBgColor?: string;
12
+ hexBorderColor?: string;
13
+ [key: string]: any;
14
+ }
15
+ /**
16
+ * Risk details card component props - generic to allow consumer-specific risk types
17
+ */
18
+ export interface RiskDetailsCardProps<T = any> {
19
+ riskDetails: T;
20
+ maxWidth?: string;
21
+ showAllRisksSuggestions?: boolean;
22
+ }
23
+ /**
24
+ * Props for the DateTimeField component
25
+ */
26
+ export interface DateTimeFieldProps extends Omit<DatePickerProps, "onChange" | "value"> {
27
+ /** The label text to display above the date picker */
28
+ label?: string;
29
+ /** Current value of the date picker (ISO string or formatted date string) */
30
+ value?: string;
31
+ /** Additional CSS classes for the wrapper */
32
+ className?: string;
33
+ /** Whether the field is required */
34
+ required?: boolean;
35
+ /** Whether the required indicator shows as conditional (yellow instead of red) */
36
+ isRequiredConditional?: boolean;
37
+ /** Error message to display */
38
+ errorMessage?: string;
39
+ /** Whether the date picker is disabled */
40
+ disabled?: boolean;
41
+ /** Callback function called when date changes */
42
+ handleOnChange: (value: string | null) => void;
43
+ /** Whether to use simple mode (minimal styling) */
44
+ simpleMode?: boolean;
45
+ /** Whether to show time picker */
46
+ showTime?: boolean;
47
+ /** Custom date format */
48
+ dateFormat?: string;
49
+ /** Tooltip text for the help icon */
50
+ tooltip?: string;
51
+ /** Tags to display with the label */
52
+ tags?: (string | LabelType)[];
53
+ /** Whether to preserve original case in the label */
54
+ originalCase?: boolean;
55
+ /** Whether the value was AI extracted */
56
+ isAiExtracted?: boolean;
57
+ /** Whether this is a GTN (Global Term Name) field */
58
+ isGTN?: boolean;
59
+ /** GTN name for the field */
60
+ gtnName?: any;
61
+ /** Whether to allow timezone conversion */
62
+ allowTimezoneConversion?: boolean;
63
+ /** Whether to allow copying */
64
+ allowCopy?: boolean;
65
+ /** Unique identifier for the date picker */
66
+ id: string;
67
+ /** Date picker type */
68
+ picker?: "date" | "week" | "month" | "quarter" | "year";
69
+ /** Whether popup should render inside parent element */
70
+ shouldPopOnParent?: boolean;
71
+ /** Custom inline styles for the input */
72
+ inputStyle?: React.CSSProperties;
73
+ /** Additional CSS classes for the label */
74
+ labelClassName?: string;
75
+ /** Whether this is a live field */
76
+ isLiveField?: boolean;
77
+ /** Risk details data */
78
+ riskDetails?: RiskDetails;
79
+ /** Whether risk analysis is open */
80
+ isRiskAnalysisOpen?: boolean;
81
+ /** Custom risk details card component */
82
+ RiskDetailsCard?: React.ComponentType<RiskDetailsCardProps<any>>;
83
+ /** Handler for adding GTN to document */
84
+ onAddGTNToDocument?: (keyValuePair: {
85
+ key: string;
86
+ value: string;
87
+ }) => void;
88
+ /** Custom format date function for GTN values */
89
+ formatDateForGTN?: (value: string, options: {
90
+ skipTimezone: boolean;
91
+ withTime: boolean;
92
+ }) => string;
93
+ }
94
+ /**
95
+ * DateTimeField component - A feature-rich date/time picker with support for
96
+ * GTN integration, risk analysis, AI extraction indicators, and more.
97
+ *
98
+ * @example
99
+ * ```tsx
100
+ * // Basic usage
101
+ * <DateTimeField
102
+ * id="start-date"
103
+ * label="Start Date"
104
+ * value={startDate}
105
+ * handleOnChange={(date) => setStartDate(date)}
106
+ * />
107
+ *
108
+ * // With time picker
109
+ * <DateTimeField
110
+ * id="event-datetime"
111
+ * label="Event Date & Time"
112
+ * value={eventDateTime}
113
+ * handleOnChange={(date) => setEventDateTime(date)}
114
+ * showTime={true}
115
+ * />
116
+ *
117
+ * // With GTN integration
118
+ * <DateTimeField
119
+ * id="contract-date"
120
+ * label="Contract Date"
121
+ * value={contractDate}
122
+ * handleOnChange={(date) => setContractDate(date)}
123
+ * isGTN={true}
124
+ * gtnName="contract_date"
125
+ * onAddGTNToDocument={(kv) => dispatch(setVariableValueToEditor(kv))}
126
+ * />
127
+ * ```
128
+ */
129
+ export declare const DateTimeField: import("react").ForwardRefExoticComponent<Omit<DateTimeFieldProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,66 @@
1
+ import { DebounceInput } from "react-debounce-input";
2
+ import type { LabelType } from "../../data-display/label/Label";
3
+ import type { ComponentProps } from "react";
4
+ /**
5
+ * Props for the DebounceInputField component
6
+ * Drop-in replacement matching the lax-web-portal API
7
+ */
8
+ export type DebounceInputFieldProps = Omit<ComponentProps<typeof DebounceInput>, 'onChange'> & {
9
+ /** Current value of the input */
10
+ value: string;
11
+ /** Callback function called when the input value changes (debounced) */
12
+ onChange(data: any): void;
13
+ /** Error message to display */
14
+ errorMessage?: string;
15
+ /** Default value for the input */
16
+ defaultValue?: string;
17
+ /** Whether the input is disabled */
18
+ disabled?: boolean;
19
+ /** Maximum value for number inputs */
20
+ max?: number;
21
+ /** Minimum value for number inputs */
22
+ min?: number;
23
+ /** Whether the field is required */
24
+ required?: boolean;
25
+ /** Background color class */
26
+ bg?: string;
27
+ /** Tags to display with the label */
28
+ tags?: (string | LabelType)[];
29
+ /** Text color class */
30
+ color?: string;
31
+ /** Unique identifier for the input */
32
+ id: string;
33
+ /** Label text for the input */
34
+ label?: string;
35
+ /** Input type (text, email, password, number, etc.) */
36
+ type?: string;
37
+ /** Placeholder text */
38
+ placeholder?: string;
39
+ /** Debounce timeout in milliseconds */
40
+ debounceTimeout?: number;
41
+ /** Additional CSS classes */
42
+ className?: string;
43
+ /** Whether dark mode is enabled (optional - uses CSS dark: classes if not provided) */
44
+ isDarkMode?: boolean;
45
+ };
46
+ /**
47
+ * A debounced input field component that delays onChange calls until the user stops typing.
48
+ * This is a drop-in replacement for the lax-web-portal DebounceInputField component.
49
+ *
50
+ * @example
51
+ * ```tsx
52
+ * <DebounceInputField
53
+ * id="search"
54
+ * label="Search"
55
+ * value={searchTerm}
56
+ * onChange={(value) => setSearchTerm(value)}
57
+ * debounceTimeout={300}
58
+ * placeholder="Type to search..."
59
+ * errorMessage=""
60
+ * />
61
+ * ```
62
+ */
63
+ export declare const DebounceInputField: {
64
+ ({ id, label, onChange, errorMessage, required, bg, tags, color, debounceTimeout, className, isDarkMode, ...props }: DebounceInputFieldProps): import("react/jsx-runtime").JSX.Element;
65
+ displayName: string;
66
+ };
@@ -0,0 +1,64 @@
1
+ import { type FC } from "react";
2
+ import type { LabelType } from "../../data-display/label/Label";
3
+ /**
4
+ * Props for the DynamicDataInput component
5
+ * Drop-in replacement matching the lax-web-portal API
6
+ */
7
+ export type DynamicDataInputProps = {
8
+ /** Unique identifier for the input */
9
+ id: string;
10
+ /** Label text to display above the input */
11
+ label?: string;
12
+ /** Input type (text, email, password, number, etc.) */
13
+ type?: string;
14
+ /** Placeholder text for the input */
15
+ placeholder?: string;
16
+ /** Current value of the input (JSON string for dynamic data) */
17
+ value: string;
18
+ /** Callback function called when value changes */
19
+ onChange: (value: string) => void;
20
+ /** Error message to display below the input */
21
+ errorMessage?: string;
22
+ /** Whether to preserve original case in the label */
23
+ originalCase?: boolean;
24
+ /** Whether the field is required */
25
+ required?: boolean;
26
+ /** Background color class */
27
+ bg?: string;
28
+ /** Tags/labels to display next to the label */
29
+ tags?: (string | LabelType)[];
30
+ /** Index prop used for resetting input state */
31
+ index?: number;
32
+ /** Additional CSS classes for the wrapper */
33
+ className?: string;
34
+ /** Tooltip text for the help icon */
35
+ tooltip?: string;
36
+ /** Whether to use simple mode (no label, just input with edit button) */
37
+ simpleMode?: boolean;
38
+ /** Additional CSS classes for the input field in simple mode */
39
+ inputFieldClassName?: string;
40
+ /** Whether the value was AI extracted */
41
+ isAiExtracted?: boolean;
42
+ /** Whether the input is disabled */
43
+ disabled?: boolean;
44
+ } & Record<string, any>;
45
+ /**
46
+ * A dynamic data input component that displays a text input with a button to open
47
+ * a modal for editing JSON data. The input shows "{DYNAMIC}" when there's a value.
48
+ *
49
+ * This is a drop-in replacement for the lax-web-portal DynamicDataInput component.
50
+ *
51
+ * @example
52
+ * ```tsx
53
+ * <DynamicDataInput
54
+ * id="dynamic-field"
55
+ * label="Dynamic Field"
56
+ * type="text"
57
+ * placeholder="Enter value..."
58
+ * value={jsonData}
59
+ * onChange={(value) => setJsonData(value)}
60
+ * errorMessage=""
61
+ * />
62
+ * ```
63
+ */
64
+ export declare const DynamicDataInput: FC<DynamicDataInputProps>;