solace-ui-components 16.1.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 (171) hide show
  1. package/LICENSE +200 -0
  2. package/NOTICE +35 -0
  3. package/README.md +60 -0
  4. package/THIRD_PARTY_LICENSES.txt +1144 -0
  5. package/dist/components/NoAccess.d.ts +4 -0
  6. package/dist/components/SolaceAccordion.d.ts +61 -0
  7. package/dist/components/SolaceAttributeBadge.d.ts +68 -0
  8. package/dist/components/SolaceBackDrop.d.ts +3 -0
  9. package/dist/components/SolaceBreadcrumb.d.ts +50 -0
  10. package/dist/components/SolaceCard.d.ts +10 -0
  11. package/dist/components/SolaceCardHeader.d.ts +10 -0
  12. package/dist/components/SolaceCategorizedSearch.d.ts +4 -0
  13. package/dist/components/SolaceChip.d.ts +91 -0
  14. package/dist/components/SolaceCircularProgress.d.ts +37 -0
  15. package/dist/components/SolaceComponentProps.d.ts +14 -0
  16. package/dist/components/SolaceDatePicker.d.ts +46 -0
  17. package/dist/components/SolaceDetailMessage.d.ts +22 -0
  18. package/dist/components/SolaceDonutChart.d.ts +40 -0
  19. package/dist/components/SolaceDrawer.d.ts +49 -0
  20. package/dist/components/SolaceEmptyStateBanner.d.ts +3 -0
  21. package/dist/components/SolaceEnvironmentChip.d.ts +33 -0
  22. package/dist/components/SolaceEnvironmentLabel.d.ts +11 -0
  23. package/dist/components/SolaceEnvironmentSelectChip.d.ts +56 -0
  24. package/dist/components/SolaceErrorBox.d.ts +22 -0
  25. package/dist/components/SolaceFeatureTag.d.ts +13 -0
  26. package/dist/components/SolaceHTMLAttributesProps.d.ts +4 -0
  27. package/dist/components/SolaceLearningBanner.d.ts +26 -0
  28. package/dist/components/SolaceLinearProgress.d.ts +3 -0
  29. package/dist/components/SolaceMenu.d.ts +60 -0
  30. package/dist/components/SolaceMenuItem.d.ts +78 -0
  31. package/dist/components/SolaceMessageBox.d.ts +38 -0
  32. package/dist/components/SolaceNotificationCounter.d.ts +38 -0
  33. package/dist/components/SolacePagination.d.ts +38 -0
  34. package/dist/components/SolacePopover.d.ts +7 -0
  35. package/dist/components/SolaceResponsiveItemList.d.ts +80 -0
  36. package/dist/components/SolaceSearchAndFilter.d.ts +69 -0
  37. package/dist/components/SolaceTag.d.ts +39 -0
  38. package/dist/components/SolaceTextDiff.d.ts +40 -0
  39. package/dist/components/SolaceToasts.d.ts +19 -0
  40. package/dist/components/SolaceToolTip.d.ts +63 -0
  41. package/dist/components/SolaceTree.d.ts +45 -0
  42. package/dist/components/SolaceTruncatableLink.d.ts +29 -0
  43. package/dist/components/SolaceTypography.d.ts +3 -0
  44. package/dist/components/dialog/SolaceConfirmationDialog.d.ts +36 -0
  45. package/dist/components/fileuploader/SolaceFileUploader.d.ts +30 -0
  46. package/dist/components/fileuploader/fileUploaderUtils.d.ts +17 -0
  47. package/dist/components/form/Button/SolaceLearningButton.d.ts +4 -0
  48. package/dist/components/form/ErrorText.d.ts +7 -0
  49. package/dist/components/form/FormChildBase.d.ts +68 -0
  50. package/dist/components/form/HelperText.d.ts +7 -0
  51. package/dist/components/form/SolaceAttributeValuePair.d.ts +87 -0
  52. package/dist/components/form/SolaceAttributeValuePairForm.d.ts +109 -0
  53. package/dist/components/form/SolaceAutoCompleteTextField.d.ts +11 -0
  54. package/dist/components/form/SolaceButton.d.ts +23 -0
  55. package/dist/components/form/SolaceCheckBox.d.ts +73 -0
  56. package/dist/components/form/SolaceChipTextArea/SolaceChipTextArea.d.ts +4 -0
  57. package/dist/components/form/SolaceChipTextArea/SolaceChipTextArea.styles.d.ts +9 -0
  58. package/dist/components/form/SolaceCodeEditor.d.ts +56 -0
  59. package/dist/components/form/SolaceLabel.d.ts +33 -0
  60. package/dist/components/form/SolacePicker.d.ts +146 -0
  61. package/dist/components/form/SolaceRadio.d.ts +62 -0
  62. package/dist/components/form/SolaceRadioGroup.d.ts +75 -0
  63. package/dist/components/form/SolaceSelect.d.ts +99 -0
  64. package/dist/components/form/SolaceSelectAutocomplete.d.ts +188 -0
  65. package/dist/components/form/SolaceSelectAutocompleteItem.d.ts +45 -0
  66. package/dist/components/form/SolaceSelectAutocompleteResponsiveTags.d.ts +20 -0
  67. package/dist/components/form/SolaceStackLabel.d.ts +41 -0
  68. package/dist/components/form/SolaceStepper/SolaceStepIcon.d.ts +14 -0
  69. package/dist/components/form/SolaceStepper/SolaceStepper.d.ts +10 -0
  70. package/dist/components/form/SolaceStepper/SolaceStepperFooter.d.ts +3 -0
  71. package/dist/components/form/SolaceTextArea.d.ts +108 -0
  72. package/dist/components/form/SolaceTextField.d.ts +126 -0
  73. package/dist/components/form/SolaceToggle.d.ts +58 -0
  74. package/dist/components/form/SolaceToggleButtonGroup.d.ts +15 -0
  75. package/dist/components/form/WarningText.d.ts +7 -0
  76. package/dist/components/jsonschemaform/SolaceJsonSchemaForm.d.ts +79 -0
  77. package/dist/components/jsonschemaform/jsonSchemaFormUtils.d.ts +11 -0
  78. package/dist/components/layout/SolaceGrid.d.ts +8 -0
  79. package/dist/components/layout/SolaceGridList.d.ts +26 -0
  80. package/dist/components/layout/SolaceGridListMultiSelect.d.ts +26 -0
  81. package/dist/components/layout/SolaceIconTabs.d.ts +30 -0
  82. package/dist/components/layout/SolaceList.d.ts +4 -0
  83. package/dist/components/layout/SolaceListItem.d.ts +4 -0
  84. package/dist/components/layout/SolaceListItemButton.d.ts +4 -0
  85. package/dist/components/layout/SolacePageHeader.d.ts +60 -0
  86. package/dist/components/layout/SolaceSidePanelLayout.d.ts +64 -0
  87. package/dist/components/layout/SolaceSplitPane.d.ts +13 -0
  88. package/dist/components/layout/SolaceStack.d.ts +3 -0
  89. package/dist/components/layout/SolaceTabs.d.ts +53 -0
  90. package/dist/components/table/SolaceTable.d.ts +187 -0
  91. package/dist/components/table/components/ContentControlMenu.d.ts +15 -0
  92. package/dist/components/table/hooks/useClickedOutside.d.ts +1 -0
  93. package/dist/components/table/hooks/useExpandableRows.d.ts +28 -0
  94. package/dist/components/table/hooks/useSolaceTable.d.ts +35 -0
  95. package/dist/components/table/hooks/useTableBodyRenderHelper.d.ts +24 -0
  96. package/dist/components/table/hooks/useTableHeaderRenderHelper.d.ts +28 -0
  97. package/dist/components/table/table-utils.d.ts +51 -0
  98. package/dist/constants.d.ts +10 -0
  99. package/dist/hooks/useScrollIndicator.d.ts +6 -0
  100. package/dist/index.d.ts +141 -0
  101. package/dist/index.js +6 -0
  102. package/dist/index.js.map +1 -0
  103. package/dist/index.modern.mjs +37 -0
  104. package/dist/index.modern.mjs.map +1 -0
  105. package/dist/index.test.d.ts +1 -0
  106. package/dist/resources/icons/ArrowLeft.d.ts +4 -0
  107. package/dist/resources/icons/ArrowRight.d.ts +4 -0
  108. package/dist/resources/icons/CheckBoxIcons.d.ts +4 -0
  109. package/dist/resources/icons/CheckCircleIcon.d.ts +5 -0
  110. package/dist/resources/icons/CheckFilled16Icon.d.ts +3 -0
  111. package/dist/resources/icons/CloseIcon.d.ts +5 -0
  112. package/dist/resources/icons/CollapseIcon.d.ts +4 -0
  113. package/dist/resources/icons/DeleteIcon.d.ts +6 -0
  114. package/dist/resources/icons/EllipsisIcon.d.ts +4 -0
  115. package/dist/resources/icons/Error16Icon.d.ts +3 -0
  116. package/dist/resources/icons/ErrorIcon.d.ts +3 -0
  117. package/dist/resources/icons/ExpandIcon.d.ts +4 -0
  118. package/dist/resources/icons/FilterIcon.d.ts +5 -0
  119. package/dist/resources/icons/IconProps.d.ts +4 -0
  120. package/dist/resources/icons/InfoIcon.d.ts +3 -0
  121. package/dist/resources/icons/MoreHorizOutlinedIcon.d.ts +2 -0
  122. package/dist/resources/icons/MoveIcon.d.ts +6 -0
  123. package/dist/resources/icons/OpenExternalIcon.d.ts +2 -0
  124. package/dist/resources/icons/RadioIcons.d.ts +3 -0
  125. package/dist/resources/icons/SearchIcon.d.ts +5 -0
  126. package/dist/resources/icons/SelectIcons.d.ts +3 -0
  127. package/dist/resources/icons/SortIcons.d.ts +7 -0
  128. package/dist/resources/icons/SuccessIcon.d.ts +3 -0
  129. package/dist/resources/icons/UploadIcon.d.ts +3 -0
  130. package/dist/resources/icons/VerticalDotsIcon.d.ts +4 -0
  131. package/dist/resources/icons/VisibilityHideIcon.d.ts +5 -0
  132. package/dist/resources/icons/VisibilityShowIcon.d.ts +5 -0
  133. package/dist/resources/icons/WarnIcon.d.ts +3 -0
  134. package/dist/resources/theme.d.ts +68 -0
  135. package/dist/resources/trackingapi.d.ts +8 -0
  136. package/dist/resources/typography.d.ts +12 -0
  137. package/dist/theming/base/themeMapping.d.ts +6 -0
  138. package/dist/theming/boomi/themeMapping.d.ts +5 -0
  139. package/dist/theming/sap/themeMapping.d.ts +5 -0
  140. package/dist/theming/solace/themeMapping.d.ts +5 -0
  141. package/dist/theming/themeUtils.d.ts +10 -0
  142. package/dist/types/ThemeMapping.d.ts +224 -0
  143. package/dist/types/fieldTypes.d.ts +5 -0
  144. package/dist/types/index.d.ts +25 -0
  145. package/dist/types/modes.d.ts +4 -0
  146. package/dist/types/numericTypes.d.ts +6 -0
  147. package/dist/types/sizing.d.ts +13 -0
  148. package/dist/types/solaceCard.d.ts +87 -0
  149. package/dist/types/solaceCardHeader.d.ts +36 -0
  150. package/dist/types/solaceCategorizedSearch.d.ts +87 -0
  151. package/dist/types/solaceChip.d.ts +26 -0
  152. package/dist/types/solaceChipTextArea.d.ts +89 -0
  153. package/dist/types/solaceDatePicker.d.ts +16 -0
  154. package/dist/types/solaceEmptyStateBanner.d.ts +18 -0
  155. package/dist/types/solaceGrid.d.ts +9 -0
  156. package/dist/types/solaceLearningButton.d.ts +4 -0
  157. package/dist/types/solaceList.d.ts +130 -0
  158. package/dist/types/solacePageHeader.d.ts +62 -0
  159. package/dist/types/solacePopover.d.ts +71 -0
  160. package/dist/types/solaceProgress.d.ts +22 -0
  161. package/dist/types/solaceStack.d.ts +8 -0
  162. package/dist/types/solaceStepper.d.ts +81 -0
  163. package/dist/types/solaceTooltip.d.ts +8 -0
  164. package/dist/types/solaceTypography.d.ts +10 -0
  165. package/dist/types/solacefileUploader.d.ts +60 -0
  166. package/dist/types/states.d.ts +4 -0
  167. package/dist/types/statuses.d.ts +7 -0
  168. package/dist/types/supportedThemes.d.ts +6 -0
  169. package/dist/types/sx.d.ts +16 -0
  170. package/dist/utils.d.ts +4 -0
  171. package/package.json +113 -0
@@ -0,0 +1,146 @@
1
+ import { PopoverOrigin } from "@mui/material";
2
+ import { ReactNode } from "react";
3
+ import SolaceComponentProps from "../SolaceComponentProps";
4
+ export interface SolaceColors {
5
+ bgColor: string;
6
+ fgColor: string;
7
+ }
8
+ export declare const SolacePickerIconWrapper: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
9
+ export declare const EmptyMessageContainer: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
10
+ export declare type SolacePickerTypes = "colors" | "icons";
11
+ /**
12
+ * Utility function to convert a color object to a value
13
+ * @param param {object}
14
+ * @returns string
15
+ */
16
+ export declare const color2value: ({ fgColor, bgColor }: SolaceColors) => string;
17
+ /**
18
+ *
19
+ * @param value Utility function to convert a string value to object
20
+ * @returns object with fgColor and bgColor
21
+ */
22
+ export declare const value2color: (value: string) => SolaceColors;
23
+ /**
24
+ * Icons are not provided by MRC but maas-icons repo.
25
+ * These are the ones that shoud be used.
26
+ */
27
+ export declare type SolaceEnvironmentIcons = "MAINTENANCE" | "CONSTRUCTION" | "TOOLKIT" | "TERMINAL" | "BUG" | "TEST_TUBE" | "NEW_RELEASE" | "CONTENT_SEARCH" | "BROKER" | "ROCKET_LAUNCH" | "VERIFIED" | "DEPLOYED_CODE";
28
+ export interface SolacePickerChangeEvent {
29
+ name: string;
30
+ value: string;
31
+ }
32
+ export interface SolacePickerProps<T extends string> extends SolaceComponentProps {
33
+ /**
34
+ * Unique identifier ... if `id` is not specified, `name` value will be used in order to make `label` and `helperText` accessible for screen readers
35
+ */
36
+ id?: string;
37
+ /**
38
+ * Type of picker: "colors" or "icons"
39
+ */
40
+ variant: SolacePickerTypes;
41
+ /**
42
+ * Name attribute to assign to the `input` element
43
+ */
44
+ name: string;
45
+ /**
46
+ * When #variant is "icons", you must provide the icons from maas-icons (24px). Also see #SolaceEnvironmentIcons
47
+ */
48
+ icons?: {
49
+ [key in T]: JSX.Element;
50
+ };
51
+ /**
52
+ * When #variant is "icons", you can specify the order of the icons to be displayed
53
+ */
54
+ iconKeyOrderedList?: T[];
55
+ /**
56
+ * the label content to display on the screen
57
+ */
58
+ label?: string | JSX.Element;
59
+ /**
60
+ * The value of the `input` element, required for controlled component
61
+ */
62
+ value?: string;
63
+ /**
64
+ * Content to display as supportive/explanitory text
65
+ */
66
+ helperText?: string | JSX.Element;
67
+ /**
68
+ * The text to display as the tooltip hint
69
+ */
70
+ title?: string;
71
+ /**
72
+ * Boolean flag to mark the `input` in error state
73
+ */
74
+ hasErrors?: boolean;
75
+ /**
76
+ * Boolean flag used to display an indicator of whether or not this `input` is mandatory
77
+ */
78
+ required?: boolean;
79
+ /**
80
+ * Boolean flag to control whether to stack the label on top of the `input` element (false) or place them inline to one another (true)
81
+ */
82
+ inlineLabel?: boolean;
83
+ /**
84
+ * Boolean flag to disable the `input`
85
+ */
86
+ disabled?: boolean;
87
+ /**
88
+ * Boolean flag to set the `input` in a read-only state
89
+ */
90
+ readOnly?: boolean;
91
+ /**
92
+ * Callback function to trigger whenever the value of the `input` is changed
93
+ */
94
+ onChange?: (event: SolacePickerChangeEvent) => void;
95
+ /**
96
+ * Boolean flag to show the select option that has empty value
97
+ */
98
+ displayEmpty?: boolean;
99
+ /**
100
+ * Boolean flag to show the select options
101
+ */
102
+ open?: boolean;
103
+ /**
104
+ * Callback function to trigger whenever the dropdown opens
105
+ */
106
+ onOpen?: () => void;
107
+ /**
108
+ * Callback function to trigger whenever the dropdown closes
109
+ */
110
+ onClose?: () => void;
111
+ /**
112
+ * Custom anchorOrigin of the menu
113
+ */
114
+ menuAnchorOrigin?: PopoverOrigin;
115
+ /**
116
+ * Custom transformOrigin of the menu
117
+ */
118
+ menuTransformOrigin?: PopoverOrigin;
119
+ /**
120
+ * Number of colors or icons to display per row
121
+ */
122
+ numOfItemsPerRow?: number;
123
+ /**
124
+ * Optional flag to specify the number of rows to be displayed, default to 5.
125
+ */
126
+ numOfRowsDisplayed?: number;
127
+ /**
128
+ * Content control panel to be displayed on top of the menu items. Only applicable when variant is "icons".
129
+ * This is useful when you want to provide additional controls to the user, such as search, filter, etc.
130
+ */
131
+ contentControlPanel?: JSX.Element;
132
+ /**
133
+ * Callback function to return option display value based on selected option value
134
+ */
135
+ getOptionDisplayValue?: (value: unknown) => ReactNode;
136
+ /**
137
+ * If true, will focus on the first menuitem
138
+ */
139
+ autoFocusItem?: boolean;
140
+ /**
141
+ * Empty state message
142
+ */
143
+ emptyStateMessage?: string;
144
+ }
145
+ declare function SolacePicker<T extends string>({ id, name, variant, icons, iconKeyOrderedList, label, value, helperText, title, hasErrors, required, disabled, readOnly, inlineLabel, displayEmpty, onChange, dataQa, dataTags, open, onOpen, onClose, menuAnchorOrigin, menuTransformOrigin, numOfItemsPerRow, numOfRowsDisplayed, contentControlPanel, getOptionDisplayValue, autoFocusItem, emptyStateMessage }: SolacePickerProps<T>): JSX.Element;
146
+ export default SolacePicker;
@@ -0,0 +1,62 @@
1
+ /// <reference types="react" />
2
+ import SolaceComponentProps from "../SolaceComponentProps";
3
+ export interface SolaceRadioChangeEvent {
4
+ name: string;
5
+ value: boolean;
6
+ }
7
+ export interface SolaceRadioProps extends SolaceComponentProps {
8
+ /**
9
+ * Unique identifier ... if `id` is not specified, `name` value will be used in order to make `label` accessible for screen readers
10
+ */
11
+ id?: string;
12
+ /**
13
+ * Name attribute to assign to the `radio` element
14
+ */
15
+ name: string;
16
+ /**
17
+ * Value assign to the `radio` element
18
+ */
19
+ value?: string;
20
+ /**
21
+ * the label content to display on the screen
22
+ */
23
+ label?: string | JSX.Element;
24
+ /**
25
+ * The text to display as the tooltip hint
26
+ */
27
+ title?: string;
28
+ /**
29
+ * Content to display as supportive/explanitory text
30
+ */
31
+ subText?: string | JSX.Element;
32
+ /**
33
+ * allow subText to be displayed at 55% black (default to 80%)
34
+ */
35
+ lightSubText?: boolean;
36
+ /**
37
+ * Boolean flag to check or uncheck the `radio`
38
+ */
39
+ checked?: boolean;
40
+ /**
41
+ * Boolean flag used to display an indicator of whether or not this `radio` is mandatory
42
+ */
43
+ required?: boolean;
44
+ /**
45
+ * Boolean flag to disable the `radio`
46
+ */
47
+ disabled?: boolean;
48
+ /**
49
+ * Display the label with a larger font
50
+ */
51
+ largeLabel?: boolean;
52
+ /**
53
+ * Callback function to trigger whenever the value of the `radio` is changed
54
+ */
55
+ onChange?: (event: SolaceRadioChangeEvent) => void;
56
+ /**
57
+ * Boolean flag to set the radio to readOnly
58
+ */
59
+ readOnly?: boolean;
60
+ }
61
+ declare function SolaceRadio({ id, name, label, value, title, subText, lightSubText, checked, required, disabled, largeLabel, onChange, dataQa, dataTags, readOnly }: SolaceRadioProps): JSX.Element;
62
+ export default SolaceRadio;
@@ -0,0 +1,75 @@
1
+ import React from "react";
2
+ import SolaceComponentProps from "../SolaceComponentProps";
3
+ export interface SolaceRadioGroupChangeEvent {
4
+ name: string;
5
+ value: string;
6
+ }
7
+ export interface SolaceRadioGroupProps extends SolaceComponentProps {
8
+ /**
9
+ * Unique identifier ... if `id` is not specified, `name` value will be used in order to make `label` accessible for screen readers
10
+ */
11
+ id?: string;
12
+ /**
13
+ * Name attribute to assign to the `radio group` element
14
+ */
15
+ name: string;
16
+ /**
17
+ * the label content to display on the screen
18
+ */
19
+ label?: string | JSX.Element;
20
+ /**
21
+ * Boolean flag to render stack label for a group of select components
22
+ */
23
+ stackLabel?: boolean;
24
+ /**
25
+ * Boolean flag to allow font size of 16px (default to 14px) for stack label
26
+ */
27
+ large?: boolean;
28
+ /**
29
+ * Boolean flag to allow font weight of medium (default to regular) for stack label
30
+ */
31
+ bold?: boolean;
32
+ /**
33
+ * Content to display as supportive/explanatory text
34
+ */
35
+ helperText?: string | JSX.Element;
36
+ /**
37
+ * Boolean flag to mark the `input` in error state
38
+ */
39
+ hasErrors?: boolean;
40
+ /**
41
+ * The value of the selected 'radio' managed by this group
42
+ */
43
+ value?: string;
44
+ /**
45
+ * Boolean flag to control whether to stack the label on top of the `input` element (false) or place them inline to one another (true)
46
+ */
47
+ inlineLabel?: boolean;
48
+ /**
49
+ * Boolean flag to control whether to arrange the `input` elements horizontally
50
+ */
51
+ inline?: boolean;
52
+ /**
53
+ * Boolean flag used to display an indicator of whether or not this `radio group` is mandatory
54
+ */
55
+ required?: boolean;
56
+ /**
57
+ * Boolean flag to disable the `radio group`
58
+ */
59
+ disabled?: boolean;
60
+ /**
61
+ * Boolean flag to disable the `radio group`
62
+ */
63
+ readOnly?: boolean;
64
+ /**
65
+ * Callback function to trigger whenever the value of the `radio group` is changed
66
+ */
67
+ onChange?: (event: SolaceRadioGroupChangeEvent) => void;
68
+ /**
69
+ * Callback function to trigger whenever the value of the `radio group` is changed
70
+ */
71
+ children: Array<React.ReactNode>;
72
+ }
73
+ declare function SolaceRadioGroup({ id, name, label, stackLabel, // use stack label for radio group
74
+ large, bold, value, helperText, hasErrors, readOnly, required, disabled, inlineLabel, inline, onChange, children }: SolaceRadioGroupProps): JSX.Element;
75
+ export default SolaceRadioGroup;
@@ -0,0 +1,99 @@
1
+ import { PopoverOrigin } from "@mui/material";
2
+ import { ReactNode } from "react";
3
+ import SolaceComponentProps from "../SolaceComponentProps";
4
+ export interface SolaceSelectChangeEvent {
5
+ name: string;
6
+ value: string;
7
+ }
8
+ export interface SolaceSelectProps extends SolaceComponentProps {
9
+ /**
10
+ * Unique identifier ... if `id` is not specified, `name` value will be used in order to make `label` and `helperText` accessible for screen readers
11
+ */
12
+ id?: string;
13
+ /**
14
+ * Name attribute to assign to the `input` element
15
+ */
16
+ name: string;
17
+ /**
18
+ * the label content to display on the screen
19
+ */
20
+ label?: string | JSX.Element;
21
+ /**
22
+ * The value of the `input` element, required for controlled component
23
+ */
24
+ value?: string;
25
+ /**
26
+ * Content to display as supportive/explanitory text
27
+ */
28
+ helperText?: string | JSX.Element;
29
+ /**
30
+ * The text to display as the tooltip hint
31
+ */
32
+ title?: string;
33
+ /**
34
+ * Boolean flag to mark the `input` in error state
35
+ */
36
+ hasErrors?: boolean;
37
+ /**
38
+ * Boolean flag used to display an indicator of whether or not this `input` is mandatory
39
+ */
40
+ required?: boolean;
41
+ /**
42
+ * Boolean flag to control whether to stack the label on top of the `input` element (false) or place them inline to one another (true)
43
+ */
44
+ inlineLabel?: boolean;
45
+ /**
46
+ * Boolean flag to disable the `input`
47
+ */
48
+ disabled?: boolean;
49
+ /**
50
+ * Boolean flag to set the `input` in a read-only state
51
+ */
52
+ readOnly?: boolean;
53
+ /**
54
+ * Callback function to trigger whenever the value of the `input` is changed
55
+ */
56
+ onChange?: (event: SolaceSelectChangeEvent) => void;
57
+ /**
58
+ * Callback function to return option display value based on selected option value
59
+ */
60
+ getOptionDisplayValue?: (value: unknown) => ReactNode;
61
+ /**
62
+ * An array of MenuItems to render as the select options
63
+ */
64
+ children: Array<JSX.Element>;
65
+ /**
66
+ * Custom Width of the component.
67
+ */
68
+ width?: string;
69
+ /**
70
+ * Custom maxHeight of the component.
71
+ */
72
+ maxHeight?: string;
73
+ /**
74
+ * Boolean flag to show the select option that has empty value
75
+ */
76
+ displayEmpty?: boolean;
77
+ /**
78
+ * Boolean flag to show the select options
79
+ */
80
+ open?: boolean;
81
+ /**
82
+ * Callback function to trigger whenever the dropdown opens
83
+ */
84
+ onOpen?: () => void;
85
+ /**
86
+ * Callback function to trigger whenever the dropdown closes
87
+ */
88
+ onClose?: () => void;
89
+ /**
90
+ * Custom anchorOrigin of the menu
91
+ */
92
+ menuAnchorOrigin?: PopoverOrigin;
93
+ /**
94
+ * Custom transformOrigin of the menu
95
+ */
96
+ menuTransformOrigin?: PopoverOrigin;
97
+ }
98
+ declare function SolaceSelect({ id, name, label, value, helperText, title, hasErrors, required, disabled, readOnly, inlineLabel, displayEmpty, onChange, getOptionDisplayValue, dataQa, dataTags, children, width, maxHeight, open, onOpen, onClose, menuAnchorOrigin, menuTransformOrigin }: SolaceSelectProps): JSX.Element;
99
+ export default SolaceSelect;
@@ -0,0 +1,188 @@
1
+ import React from "react";
2
+ import SolaceComponentProps from "../SolaceComponentProps";
3
+ export interface SolaceSelectAutoCompleteProps<T, V> extends SolaceComponentProps {
4
+ /**
5
+ * Unique identifier ... if `id` is not specified, `name` value will be used in order to make `label` and `helperText` accessible for screen readers
6
+ */
7
+ id?: string;
8
+ /**
9
+ * Controls the position of the ellipsis when text overflows
10
+ * @default 'end'
11
+ */
12
+ textEllipsisPosition?: "start" | "middle" | "end";
13
+ /**
14
+ * Name attribute to assign to the `input` element
15
+ */
16
+ name: string;
17
+ /**
18
+ * the label content to display on the screen
19
+ */
20
+ label?: string | JSX.Element;
21
+ /**
22
+ * The value of the autocomplete
23
+ */
24
+ value?: V | V[];
25
+ /**
26
+ * Content to display as supportive/explanatory text
27
+ */
28
+ helperText?: string | JSX.Element;
29
+ /**
30
+ * The text to display as the tooltip hint
31
+ */
32
+ title?: string;
33
+ /**
34
+ * The text to display as the input placeholder
35
+ */
36
+ placeholder?: string;
37
+ /**
38
+ * Boolean flag to mark the `input` in error state
39
+ */
40
+ hasErrors?: boolean;
41
+ /**
42
+ * Boolean flag used to display an indicator of whether or not this `input` is mandatory
43
+ */
44
+ required?: boolean;
45
+ /**
46
+ * Boolean flag to control whether to stack the label on top of the `input` element (false) or place them inline to one another (true)
47
+ */
48
+ inlineLabel?: boolean;
49
+ /**
50
+ * Boolean flag to disable the `input`
51
+ */
52
+ disabled?: boolean;
53
+ /**
54
+ * Boolean flag to set the `input` in a read-only state
55
+ */
56
+ readOnly?: boolean;
57
+ /**
58
+ * allow multiple selection
59
+ */
60
+ multiple?: boolean;
61
+ /**
62
+ * Callback function to trigger whenever the value of the `input` is changed
63
+ */
64
+ onChange?: (event: {
65
+ name: string;
66
+ value: V | V[] | null;
67
+ }) => void;
68
+ /**
69
+ * The component type to use for rendering all option instances
70
+ */
71
+ itemComponent: (item: T) => React.ReactNode;
72
+ /**
73
+ * The mapping callback which will map/translate the original option object to the formatted type required by the itemComponent
74
+ */
75
+ itemMappingCallback: (item: V) => T;
76
+ /**
77
+ * The callback function which generates the display label for the selected option
78
+ */
79
+ optionsLabelCallback: (item: T) => string;
80
+ /**
81
+ * An array of SolaceSelectAutocompleteItems to render as the select options
82
+ */
83
+ options: Array<V>;
84
+ /**
85
+ * Custom renderer for selected values when we have multi-selection
86
+ */
87
+ renderTags?: (value: V[]) => React.ReactNode;
88
+ /**
89
+ * The maximum number of tags that will be visible when not focused. Set -1 to disable the limit.
90
+ */
91
+ limitTags?: number;
92
+ /**
93
+ * The label to display when the tags are truncated by limitTags.
94
+ */
95
+ getLimitTagsText?: (more: number) => string;
96
+ /**
97
+ * Fetch updated list of options
98
+ */
99
+ fetchOptionsCallback: (searchTerm: string) => void;
100
+ /**
101
+ * The callback to notify container that the select closed (can use this to clear fetched options)
102
+ */
103
+ onCloseCallback?: () => void;
104
+ /**
105
+ * Used to determine if the option represents the given value.
106
+ */
107
+ isOptionEqualToValueCallback?: (option: V, value: V) => boolean;
108
+ /**
109
+ * Used to determine the disabled state for a given option.
110
+ */
111
+ getOptionDisabledCallback?: (option: V) => boolean;
112
+ /**
113
+ * Whether there should be a divider after the option
114
+ */
115
+ getShowOptionDividerCallback?: (option: V) => boolean;
116
+ /**
117
+ * Used to determin the key for a given option
118
+ */
119
+ getOptionKeyCallback?: (option: V) => string;
120
+ /**
121
+ * The callback function which generates group heading
122
+ */
123
+ groupByCallback?: (option: V) => string;
124
+ /**
125
+ * Whether to clear search input when the option is selected
126
+ */
127
+ shouldClearSearchOnSelectCallback?: (option: V) => boolean;
128
+ /**
129
+ * Used to determine if an option has validation error, applicable to multiple select
130
+ */
131
+ getOptionValidationErrorCallback?: (option: V) => string | JSX.Element;
132
+ /**
133
+ * Used to validate search input, applicable to multiple select
134
+ */
135
+ validateInputCallback?: (searchTerm: string) => string | JSX.Element;
136
+ /**
137
+ * Whether to show divider between group headings
138
+ */
139
+ showGroupDivider?: boolean;
140
+ /**
141
+ * Custom Width of the component.
142
+ */
143
+ width?: string;
144
+ /**
145
+ * for adding a reference to the TextField component
146
+ */
147
+ inputRef?: (input: HTMLInputElement) => void;
148
+ /**
149
+ * Boolean flag to open the dropdown on focus
150
+ */
151
+ openOnFocus?: boolean;
152
+ /**
153
+ * Boolean flag to disable close on select. It is enabled by default for multiple select
154
+ */
155
+ disableCloseOnSelect?: boolean;
156
+ /**
157
+ * Boolean flag to clear search input on select. It is only applicable to multiple select and is false by default
158
+ */
159
+ clearSearchOnSelect?: boolean;
160
+ /**
161
+ * Custom max-height of the expanded dropdown,
162
+ * MaxHeight supports standard css units (px,rems, etc.)
163
+ */
164
+ maxHeight?: string;
165
+ /**
166
+ * Boolean flag to make the component full width
167
+ */
168
+ fullWidth?: boolean;
169
+ /**
170
+ * Custom min-width of the component
171
+ */
172
+ minWidth?: string;
173
+ /**
174
+ * Maximum width of selected value tag rendered by default renderer, applicable to multiple select
175
+ */
176
+ tagMaxWidth?: string;
177
+ /**
178
+ * Will display supplementalText or secondaryAction icon (used with SolaceSelectAutocompleteItem) inside input box if present in the selected option, not applicable to multiple select.
179
+ */
180
+ showSupplementalTextOrSecondaryAction?: boolean;
181
+ /**
182
+ * Will display left icon (used with SolaceSelectAutocompleteItem) inside input box if present in the selected option, not applicable to multiple select.
183
+ */
184
+ showLeftIcon?: boolean;
185
+ }
186
+ declare function SolaceSelectAutocomplete<T, V>({ id, name, label, value, helperText, title, placeholder, hasErrors, required, inlineLabel, disabled, readOnly, multiple, onChange, itemComponent, itemMappingCallback, optionsLabelCallback, getShowOptionDividerCallback, shouldClearSearchOnSelectCallback, groupByCallback, showGroupDivider, dataQa, dataTags, options, renderTags, limitTags, getLimitTagsText, fetchOptionsCallback, onCloseCallback, isOptionEqualToValueCallback, getOptionDisabledCallback, getOptionKeyCallback, getOptionValidationErrorCallback, validateInputCallback, width, inputRef, openOnFocus, disableCloseOnSelect, clearSearchOnSelect, maxHeight, // default value set by MUI so that dropdown calculation can work if value is omited
187
+ fullWidth, minWidth, tagMaxWidth, showSupplementalTextOrSecondaryAction, showLeftIcon, textEllipsisPosition }: SolaceSelectAutoCompleteProps<T, V>): JSX.Element;
188
+ export default SolaceSelectAutocomplete;
@@ -0,0 +1,45 @@
1
+ /// <reference types="react" />
2
+ export interface SolaceSelectAutocompleteItemProps {
3
+ /**
4
+ * Name attribute to show as menu item label.
5
+ */
6
+ name: string;
7
+ /**
8
+ * The value of the current autocomplete item, must have reference equality with the option value in order to be selected.
9
+ */
10
+ value: string;
11
+ /**
12
+ * Content to display as supportive/explanitory text
13
+ */
14
+ subText?: string;
15
+ /**
16
+ * Content to display as supportive/explanitory text
17
+ */
18
+ supplementalText?: string;
19
+ /**
20
+ * Adds a divider to the bottom of menuItem
21
+ */
22
+ divider?: boolean;
23
+ /**
24
+ * Optional attribute to group Menu items and show categoryHeading
25
+ */
26
+ categoryHeading?: string;
27
+ /**
28
+ * Optional attribute allowing the multiline className to be added to the menu item
29
+ */
30
+ isNew?: boolean;
31
+ /**
32
+ * Adds an Icon to left handside of the menu item name for Supporting visuals and helping differentiate between menu options
33
+ */
34
+ icon?: JSX.Element | HTMLElement;
35
+ /**
36
+ * Adds a secondary action (ex. more info icon button) to the right end of menu item
37
+ */
38
+ secondaryAction?: JSX.Element | HTMLElement;
39
+ }
40
+ export declare const getOptionLabel: (option: SolaceSelectAutocompleteItemProps) => string;
41
+ export declare const getShowOptionDivider: (option: SolaceSelectAutocompleteItemProps) => boolean;
42
+ export declare const isOptionEqual: (option: SolaceSelectAutocompleteItemProps, value: SolaceSelectAutocompleteItemProps) => boolean;
43
+ export declare const getGroupBy: (option: SolaceSelectAutocompleteItemProps) => string;
44
+ declare function SolaceSelectAutocompleteItem({ name, subText, supplementalText, isNew, icon, secondaryAction }: SolaceSelectAutocompleteItemProps): JSX.Element;
45
+ export default SolaceSelectAutocompleteItem;
@@ -0,0 +1,20 @@
1
+ import React from "react";
2
+ export interface SolaceSelectAutocompleteResponsiveTagsProps {
3
+ containerWidth: number | undefined;
4
+ tags: {
5
+ id: string;
6
+ label: string;
7
+ }[];
8
+ tagMaxWidth?: string;
9
+ numOfRowsToShow?: number;
10
+ overflowIndicatorLabel?: string;
11
+ overflowIndicatorLabelSingular?: string;
12
+ overflowIndicatorLabelWidth?: number;
13
+ onDelete?: (id: string) => void;
14
+ dataQa?: string;
15
+ disabled?: boolean;
16
+ readOnly?: boolean;
17
+ }
18
+ declare function SolaceSelectAutocompleteResponsiveTags({ containerWidth, tags, tagMaxWidth, numOfRowsToShow, overflowIndicatorLabel, overflowIndicatorLabelSingular, overflowIndicatorLabelWidth, onDelete, dataQa, disabled, readOnly }: SolaceSelectAutocompleteResponsiveTagsProps): JSX.Element | null;
19
+ declare const _default: React.MemoExoticComponent<typeof SolaceSelectAutocompleteResponsiveTags>;
20
+ export default _default;
@@ -0,0 +1,41 @@
1
+ /// <reference types="react" />
2
+ export interface SolaceStackLabelProps {
3
+ /**
4
+ * Unique identifier of the label
5
+ */
6
+ id: string;
7
+ /**
8
+ * identifier used for specifying which form element this label is bound to
9
+ */
10
+ htmlForId?: string;
11
+ /**
12
+ * Boolean flag used to display an indicator of whether or not this `input` is mandatory
13
+ */
14
+ required?: boolean;
15
+ /**
16
+ * Boolean flag to disable the `input`
17
+ */
18
+ disabled?: boolean;
19
+ /**
20
+ * Boolean flag for readOnly labels, changes font color to 55% black
21
+ */
22
+ readOnly?: boolean;
23
+ /**
24
+ * Boolean flag to allow font size of 16px (default to 14px)
25
+ */
26
+ large?: boolean;
27
+ /**
28
+ * Boolean flag to allow font weight of medium (default to regular)
29
+ */
30
+ bold?: boolean;
31
+ /**
32
+ * Boolean flag to suppress line breaks (text wrapping) within the label
33
+ */
34
+ noWrap?: boolean;
35
+ /**
36
+ *
37
+ */
38
+ children?: React.ReactNode;
39
+ }
40
+ declare function SolaceStackLabel({ id, htmlForId, required, disabled, large, bold, readOnly, noWrap, children }: SolaceStackLabelProps): JSX.Element;
41
+ export default SolaceStackLabel;
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ export declare type SolaceStepIconProps = {
3
+ active?: boolean;
4
+ completed?: boolean;
5
+ icon: React.ReactNode;
6
+ error?: boolean;
7
+ };
8
+ /**
9
+ * Renders a SolaceStepIcon component in a stepper.
10
+ *
11
+ * @param {SolaceStepIconProps} props - The props for the SolaceStepIcon component.
12
+ * @returns {JSX.Element} The rendered SolaceStepIcon component.
13
+ */
14
+ export default function SolaceStepIcon(props: SolaceStepIconProps): JSX.Element;