@clicoh/orion-library 1.2.0-beta.25 → 1.2.0-beta.27
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/components/01-atoms/FileUpload/FileUpload.d.ts +5 -0
- package/dist/components/01-atoms/FileUpload/FileUpload.d.ts.map +1 -1
- package/dist/components/01-atoms/FileUpload/FileUpload.jsx +48 -13
- package/dist/components/01-atoms/FileUpload/FileUpload.jsx.map +1 -1
- package/dist/components/01-atoms/MultiSelect/MultiSelect.d.ts +33 -4
- package/dist/components/01-atoms/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/dist/components/01-atoms/MultiSelect/MultiSelect.jsx +62 -13
- package/dist/components/01-atoms/MultiSelect/MultiSelect.jsx.map +1 -1
- package/dist/components/01-atoms/MultiSelect/index.d.ts +1 -1
- package/dist/components/01-atoms/MultiSelect/index.d.ts.map +1 -1
- package/dist/components/01-atoms/Select/Select.d.ts +1 -1
- package/dist/components/01-atoms/Select/Select.jsx +1 -1
- package/dist/components/01-atoms/Select/SelectList.d.ts +4 -0
- package/dist/components/01-atoms/Select/SelectList.d.ts.map +1 -1
- package/dist/components/01-atoms/Select/SelectList.jsx +8 -2
- package/dist/components/01-atoms/Select/SelectList.jsx.map +1 -1
- package/dist/components/02-molecules/Accordion/AccordionSection.d.ts +17 -1
- package/dist/components/02-molecules/Accordion/AccordionSection.d.ts.map +1 -1
- package/dist/components/02-molecules/Accordion/AccordionSection.jsx +46 -5
- package/dist/components/02-molecules/Accordion/AccordionSection.jsx.map +1 -1
- package/dist/components/02-molecules/DatePicker/DatePicker.d.ts +14 -1
- package/dist/components/02-molecules/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/components/02-molecules/DatePicker/DatePicker.jsx +18 -5
- package/dist/components/02-molecules/DatePicker/DatePicker.jsx.map +1 -1
- package/dist/components/02-molecules/Filter/Filter.d.ts +10 -2
- package/dist/components/02-molecules/Filter/Filter.d.ts.map +1 -1
- package/dist/components/02-molecules/Filter/Filter.jsx +20 -7
- package/dist/components/02-molecules/Filter/Filter.jsx.map +1 -1
- package/dist/components/02-molecules/Filter/index.d.ts +1 -0
- package/dist/components/02-molecules/Filter/index.d.ts.map +1 -1
- package/dist/components/02-molecules/Filter/index.js +1 -0
- package/dist/components/02-molecules/Filter/index.js.map +1 -1
- package/dist/components/02-molecules/Filter/types.d.ts +8 -0
- package/dist/components/02-molecules/Filter/types.d.ts.map +1 -1
- package/dist/components/02-molecules/Filter/utils/getFilterChips.d.ts +9 -2
- package/dist/components/02-molecules/Filter/utils/getFilterChips.d.ts.map +1 -1
- package/dist/components/02-molecules/Filter/utils/getFilterChips.js +15 -2
- package/dist/components/02-molecules/Filter/utils/getFilterChips.js.map +1 -1
- package/dist/components/02-molecules/Filter/utils/removeFilterChip.d.ts +9 -0
- package/dist/components/02-molecules/Filter/utils/removeFilterChip.d.ts.map +1 -0
- package/dist/components/02-molecules/Filter/utils/removeFilterChip.js +13 -0
- package/dist/components/02-molecules/Filter/utils/removeFilterChip.js.map +1 -0
- package/dist/components/02-molecules/FilterChips/FilterChips.d.ts +21 -5
- package/dist/components/02-molecules/FilterChips/FilterChips.d.ts.map +1 -1
- package/dist/components/02-molecules/FilterChips/FilterChips.jsx +22 -6
- package/dist/components/02-molecules/FilterChips/FilterChips.jsx.map +1 -1
- package/dist/components/02-molecules/ImageViewer/ImageViewer.d.ts +45 -4
- package/dist/components/02-molecules/ImageViewer/ImageViewer.d.ts.map +1 -1
- package/dist/components/02-molecules/ImageViewer/ImageViewer.jsx +106 -52
- package/dist/components/02-molecules/ImageViewer/ImageViewer.jsx.map +1 -1
- package/dist/components/02-molecules/ImageViewer/ImageViewerDocument.d.ts +16 -5
- package/dist/components/02-molecules/ImageViewer/ImageViewerDocument.d.ts.map +1 -1
- package/dist/components/02-molecules/ImageViewer/ImageViewerDocument.jsx +30 -13
- package/dist/components/02-molecules/ImageViewer/ImageViewerDocument.jsx.map +1 -1
- package/dist/components/04-templates/SideFilterTemplate/SideFilterTemplate.d.ts +7 -1
- package/dist/components/04-templates/SideFilterTemplate/SideFilterTemplate.d.ts.map +1 -1
- package/dist/components/04-templates/SideFilterTemplate/SideFilterTemplate.jsx +7 -3
- package/dist/components/04-templates/SideFilterTemplate/SideFilterTemplate.jsx.map +1 -1
- package/package.json +1 -1
|
@@ -24,7 +24,10 @@ type FileUploadRef = {
|
|
|
24
24
|
* @param {string} [props.accept] - Optional string to specify the types of files that the input accepts.
|
|
25
25
|
* @param {boolean} [props.disabled] - Optional boolean to specify whether it is enable or not
|
|
26
26
|
* @param {string} [props.errorText] - Optional string to display when is an error
|
|
27
|
+
* @param {string} [props.supportText] - Accepted formats and limits. Without `instructionText` it replaces the legacy Spanish prompt `Arrastra y suelta el archivo o búscalo`, which stays only for existing consumers (debt: pass `instructionText`).
|
|
28
|
+
* @param {string} [props.instructionText] - What to do with the drop zone. With it, the zone shows this text and `supportText` under it, smaller and gray.
|
|
27
29
|
* @param {string} [props.removeButtonAriaLabel] - Accessible label for the selected file removal button.
|
|
30
|
+
* @param {string} [props.replaceLabel] - With a file selected, adds a text action next to the removal button that opens the file picker again.
|
|
28
31
|
* @param {HTMLAttributes<HTMLDivElement>} restProps - Additional properties for the div element.
|
|
29
32
|
*
|
|
30
33
|
* @returns {ReactNode} The rendered FileUpload component.
|
|
@@ -37,7 +40,9 @@ export declare const FileUpload: import("react").ForwardRefExoticComponent<{
|
|
|
37
40
|
helperText?: string;
|
|
38
41
|
error?: string;
|
|
39
42
|
supportText?: string;
|
|
43
|
+
instructionText?: string;
|
|
40
44
|
removeButtonAriaLabel?: string;
|
|
45
|
+
replaceLabel?: string;
|
|
41
46
|
} & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<FileUploadRef>>;
|
|
42
47
|
export {};
|
|
43
48
|
//# sourceMappingURL=FileUpload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUpload.d.ts","sourceRoot":"","sources":["../../../../src/components/01-atoms/FileUpload/FileUpload.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,iBAAiB,EAGtB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EAOzB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"FileUpload.d.ts","sourceRoot":"","sources":["../../../../src/components/01-atoms/FileUpload/FileUpload.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,iBAAiB,EAGtB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EAOzB,MAAM,OAAO,CAAC;AAyBf,KAAK,aAAa,GAAG;IACnB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,UAAU;YAjDb,MAAM;mBACC,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI;YAClC,IAAI,CACV,iBAAiB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,EAC1E,MAAM,CACP;eACU,OAAO;iBACL,MAAM;YACX,MAAM;kBACA,MAAM;sBACF,MAAM;4BACA,MAAM;mBACf,MAAM;kFA8PtB,CAAC"}
|
|
@@ -30,12 +30,15 @@ import { Paragraph } from '../Paragraph';
|
|
|
30
30
|
* @param {string} [props.accept] - Optional string to specify the types of files that the input accepts.
|
|
31
31
|
* @param {boolean} [props.disabled] - Optional boolean to specify whether it is enable or not
|
|
32
32
|
* @param {string} [props.errorText] - Optional string to display when is an error
|
|
33
|
+
* @param {string} [props.supportText] - Accepted formats and limits. Without `instructionText` it replaces the legacy Spanish prompt `Arrastra y suelta el archivo o búscalo`, which stays only for existing consumers (debt: pass `instructionText`).
|
|
34
|
+
* @param {string} [props.instructionText] - What to do with the drop zone. With it, the zone shows this text and `supportText` under it, smaller and gray.
|
|
33
35
|
* @param {string} [props.removeButtonAriaLabel] - Accessible label for the selected file removal button.
|
|
36
|
+
* @param {string} [props.replaceLabel] - With a file selected, adds a text action next to the removal button that opens the file picker again.
|
|
34
37
|
* @param {HTMLAttributes<HTMLDivElement>} restProps - Additional properties for the div element.
|
|
35
38
|
*
|
|
36
39
|
* @returns {ReactNode} The rendered FileUpload component.
|
|
37
40
|
*/
|
|
38
|
-
export const FileUpload = forwardRef(function ({ onFileSelect, accept, disabled, helperText, error, input, supportText, removeButtonAriaLabel, ...restProps }, ref) {
|
|
41
|
+
export const FileUpload = forwardRef(function ({ onFileSelect, accept, disabled, helperText, error, input, supportText, instructionText, removeButtonAriaLabel, replaceLabel, ...restProps }, ref) {
|
|
39
42
|
const [id, setId] = useState('');
|
|
40
43
|
const [selectedFile, setSelectedFile] = useState(null);
|
|
41
44
|
const fileInputRef = useRef(null);
|
|
@@ -85,7 +88,9 @@ export const FileUpload = forwardRef(function ({ onFileSelect, accept, disabled,
|
|
|
85
88
|
<Show.When isTrue={Boolean(selectedFile)}>
|
|
86
89
|
<div className="flex items-center justify-between gap-2">
|
|
87
90
|
<CiFileOn aria-hidden="true" size={32}/>
|
|
88
|
-
<div className=
|
|
91
|
+
<div className={replaceLabel
|
|
92
|
+
? 'min-w-0 flex-1'
|
|
93
|
+
: 'max-w-[calc(100%-64px-1rem)]'}>
|
|
89
94
|
<Paragraph size="subtitle-1" className="truncate">
|
|
90
95
|
{selectedFile?.name}
|
|
91
96
|
</Paragraph>
|
|
@@ -93,6 +98,16 @@ export const FileUpload = forwardRef(function ({ onFileSelect, accept, disabled,
|
|
|
93
98
|
{calculateFileSize(selectedFile?.size)}
|
|
94
99
|
</Paragraph>
|
|
95
100
|
</div>
|
|
101
|
+
<Show>
|
|
102
|
+
<Show.When isTrue={Boolean(replaceLabel)}>
|
|
103
|
+
<button type="button" className="text-gray-1 dark:text-gray-2 disabled:text-gray-3 shrink-0 cursor-pointer text-sm underline underline-offset-2 transition-colors hover:text-black disabled:cursor-not-allowed dark:hover:text-white" disabled={disabled} onClick={(e) => {
|
|
104
|
+
e.preventDefault();
|
|
105
|
+
fileInputRef.current?.click();
|
|
106
|
+
}}>
|
|
107
|
+
{replaceLabel}
|
|
108
|
+
</button>
|
|
109
|
+
</Show.When>
|
|
110
|
+
</Show>
|
|
96
111
|
<button type="button" aria-label={removeButtonAriaLabel} className="hover:text-error dark:hover:text-error-dark cursor-pointer rounded-full transition-colors" disabled={disabled} onClick={(e) => {
|
|
97
112
|
e.preventDefault();
|
|
98
113
|
clearFile();
|
|
@@ -106,17 +121,37 @@ export const FileUpload = forwardRef(function ({ onFileSelect, accept, disabled,
|
|
|
106
121
|
? 'text-error dark:text-error-dark'
|
|
107
122
|
: disabled && 'text-gray-3 dark:text-gray-2')}>
|
|
108
123
|
<AiOutlineCloudUpload aria-hidden="true" size={32}/>
|
|
109
|
-
<
|
|
110
|
-
<Show>
|
|
111
|
-
<
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
124
|
+
<Show>
|
|
125
|
+
<Show.When isTrue={Boolean(instructionText)}>
|
|
126
|
+
<div className="flex flex-col items-center gap-0.5 text-center">
|
|
127
|
+
<Paragraph size="subtitle-1">
|
|
128
|
+
{instructionText}
|
|
129
|
+
</Paragraph>
|
|
130
|
+
<Show>
|
|
131
|
+
<Show.When isTrue={Boolean(supportText)}>
|
|
132
|
+
<Paragraph size="body-2" className={clsx(!error &&
|
|
133
|
+
!disabled &&
|
|
134
|
+
'text-gray-1 dark:text-gray-2')}>
|
|
135
|
+
{supportText}
|
|
136
|
+
</Paragraph>
|
|
137
|
+
</Show.When>
|
|
138
|
+
</Show>
|
|
139
|
+
</div>
|
|
140
|
+
</Show.When>
|
|
141
|
+
<Show.Else>
|
|
142
|
+
<Paragraph size="subtitle-1" className="text-center">
|
|
143
|
+
<Show>
|
|
144
|
+
<Show.When isTrue={Boolean(supportText)}>
|
|
145
|
+
{supportText}
|
|
146
|
+
</Show.When>
|
|
147
|
+
<Show.Else>
|
|
148
|
+
Arrastra y suelta el archivo o{' '}
|
|
149
|
+
<span className="underline">búscalo</span>
|
|
150
|
+
</Show.Else>
|
|
151
|
+
</Show>
|
|
152
|
+
</Paragraph>
|
|
153
|
+
</Show.Else>
|
|
154
|
+
</Show>
|
|
120
155
|
</div>
|
|
121
156
|
</Show.Else>
|
|
122
157
|
</Show>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUpload.jsx","sourceRoot":"","sources":["../../../../src/components/01-atoms/FileUpload/FileUpload.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAIL,UAAU,EAIV,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"FileUpload.jsx","sourceRoot":"","sources":["../../../../src/components/01-atoms/FileUpload/FileUpload.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ export type OptionType = {
|
|
|
3
3
|
value: number | string;
|
|
4
4
|
label: string;
|
|
5
5
|
};
|
|
6
|
+
export type TMultiSelectSelectionDisplay = 'count' | 'chips';
|
|
6
7
|
type MultiSelectProps = {
|
|
7
8
|
label: string;
|
|
8
9
|
options: OptionType[];
|
|
@@ -13,10 +14,21 @@ type MultiSelectProps = {
|
|
|
13
14
|
error?: string;
|
|
14
15
|
isMutedWhenEmpty?: boolean;
|
|
15
16
|
clearButtonAriaLabel?: string;
|
|
16
|
-
|
|
17
|
+
selectionDisplay?: TMultiSelectSelectionDisplay;
|
|
18
|
+
removeLabel?: string;
|
|
19
|
+
summaryLabel?: (count: number) => string;
|
|
20
|
+
searchPlaceholder?: string;
|
|
21
|
+
emptyText?: string;
|
|
22
|
+
isSearchable?: boolean;
|
|
23
|
+
} & Omit<HTMLAttributes<HTMLDivElement>, 'onClick' | 'onChange'>;
|
|
17
24
|
/**
|
|
18
25
|
* MultiSelect component for rendering a multi-select dropdown.
|
|
19
26
|
*
|
|
27
|
+
* By default the field shows how many options are selected. With
|
|
28
|
+
* `selectionDisplay="chips"` the field stays as the prompt and every selected
|
|
29
|
+
* option sits as a chip under it, in the order it was picked; with
|
|
30
|
+
* `removeLabel`, each chip has a button that removes it.
|
|
31
|
+
*
|
|
20
32
|
* @component
|
|
21
33
|
* @example
|
|
22
34
|
* // Example usage of MultiSelect component
|
|
@@ -36,20 +48,37 @@ type MultiSelectProps = {
|
|
|
36
48
|
* error=""
|
|
37
49
|
* />
|
|
38
50
|
*
|
|
51
|
+
* @example
|
|
52
|
+
* // Selected options as removable chips
|
|
53
|
+
* <MultiSelect
|
|
54
|
+
* label="Countries"
|
|
55
|
+
* options={options}
|
|
56
|
+
* value={selected}
|
|
57
|
+
* onChange={setSelected}
|
|
58
|
+
* selectionDisplay="chips"
|
|
59
|
+
* removeLabel="Remove"
|
|
60
|
+
* />
|
|
61
|
+
*
|
|
39
62
|
* @param {MultiSelectProps} props - The properties of the MultiSelect component.
|
|
40
63
|
* @param {string} props.label - The label for the multi-select input.
|
|
41
64
|
* @param {OptionType[]} props.options - Array of options to be displayed in the dropdown.
|
|
42
65
|
* @param {OptionType[]} [props.value] - Array of selected options.
|
|
43
|
-
* @param {
|
|
66
|
+
* @param {(selectedOptions: OptionType[]) => void} [props.onChange] - Called with every selected option after each change. It replaces the container's HTML `onChange`, which is not forwarded.
|
|
44
67
|
* @param {boolean} [props.disabled] - Boolean to disable the multi-select input.
|
|
45
68
|
* @param {string} [props.helperText] - Helper text to be displayed below the input.
|
|
46
69
|
* @param {string} [props.error] - Error message to be displayed below the input.
|
|
47
70
|
* @param {boolean} [props.isMutedWhenEmpty] - Renders the border and label in gray while nothing is selected.
|
|
48
71
|
* @param {string} [props.clearButtonAriaLabel] - Accessible label for the button that clears the selection.
|
|
49
|
-
* @param {
|
|
72
|
+
* @param {TMultiSelectSelectionDisplay} [props.selectionDisplay='count'] - `count` writes the number of selected options in the field; `chips` lists them as chips under the field instead.
|
|
73
|
+
* @param {string} [props.removeLabel] - Accessible name of each chip's remove button, followed by the option label (`Remove Option 1`). Without it the chips have no remove button and the selection changes from the list only. Only used with `chips`.
|
|
74
|
+
* @param {(count: number) => string} [props.summaryLabel] - Writes the field text for two or more selected options (`count` display). With it, a single selected option shows its own label. Without it, the field falls back to the legacy Spanish `N seleccionado(s)`, kept only for existing consumers (debt: pass it instead).
|
|
75
|
+
* @param {string} [props.searchPlaceholder] - Placeholder of the search box inside the list.
|
|
76
|
+
* @param {string} [props.emptyText] - Text shown when no option matches the search, or when there are no options. Without it, the list falls back to the legacy Spanish `Opción no encontrada` (debt: pass it instead).
|
|
77
|
+
* @param {boolean} [props.isSearchable=true] - Shows the search box at the top of the list. The clear button stays either way.
|
|
78
|
+
* @param {HTMLAttributes<HTMLDivElement>} [props.restProps] - Additional HTML attributes for the container div, except `onClick` and `onChange`.
|
|
50
79
|
*
|
|
51
80
|
* @returns {ReactNode} The rendered MultiSelect component.
|
|
52
81
|
*/
|
|
53
|
-
export declare function MultiSelect({ options, value, onChange, label, disabled, helperText, error, isMutedWhenEmpty, clearButtonAriaLabel, ...restProps }: MultiSelectProps): ReactNode;
|
|
82
|
+
export declare function MultiSelect({ options, value, onChange, label, disabled, helperText, error, isMutedWhenEmpty, clearButtonAriaLabel, selectionDisplay, removeLabel, summaryLabel, searchPlaceholder, emptyText, isSearchable, ...restProps }: MultiSelectProps): ReactNode;
|
|
54
83
|
export {};
|
|
55
84
|
//# sourceMappingURL=MultiSelect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/01-atoms/MultiSelect/MultiSelect.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,cAAc,EAEnB,SAAS,EAIV,MAAM,OAAO,CAAC;AASf,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"MultiSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/01-atoms/MultiSelect/MultiSelect.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,cAAc,EAEnB,SAAS,EAIV,MAAM,OAAO,CAAC;AASf,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,OAAO,GAAG,OAAO,CAAC;AAE7D,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,4BAA4B,CAAC;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC,CAAC;AAIjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,KAAqB,EACrB,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,oBAAoB,EACpB,gBAA0B,EAC1B,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,YAAmB,EACnB,GAAG,SAAS,EACb,EAAE,gBAAgB,GAAG,SAAS,CAgY9B"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import clsx from 'clsx';
|
|
3
3
|
import { useEffect, useRef, useState, } from 'react';
|
|
4
4
|
import { FaSortDown } from 'react-icons/fa';
|
|
5
|
-
import { FiCheck } from 'react-icons/fi';
|
|
5
|
+
import { FiCheck, FiX } from 'react-icons/fi';
|
|
6
6
|
import { IoIosSearch, IoMdCloseCircleOutline } from 'react-icons/io';
|
|
7
7
|
import { generateUniqueId } from '../../../utils';
|
|
8
8
|
import { Each, Show } from '../../00-base';
|
|
@@ -12,6 +12,11 @@ const EMPTY_OPTIONS = [];
|
|
|
12
12
|
/**
|
|
13
13
|
* MultiSelect component for rendering a multi-select dropdown.
|
|
14
14
|
*
|
|
15
|
+
* By default the field shows how many options are selected. With
|
|
16
|
+
* `selectionDisplay="chips"` the field stays as the prompt and every selected
|
|
17
|
+
* option sits as a chip under it, in the order it was picked; with
|
|
18
|
+
* `removeLabel`, each chip has a button that removes it.
|
|
19
|
+
*
|
|
15
20
|
* @component
|
|
16
21
|
* @example
|
|
17
22
|
* // Example usage of MultiSelect component
|
|
@@ -31,21 +36,38 @@ const EMPTY_OPTIONS = [];
|
|
|
31
36
|
* error=""
|
|
32
37
|
* />
|
|
33
38
|
*
|
|
39
|
+
* @example
|
|
40
|
+
* // Selected options as removable chips
|
|
41
|
+
* <MultiSelect
|
|
42
|
+
* label="Countries"
|
|
43
|
+
* options={options}
|
|
44
|
+
* value={selected}
|
|
45
|
+
* onChange={setSelected}
|
|
46
|
+
* selectionDisplay="chips"
|
|
47
|
+
* removeLabel="Remove"
|
|
48
|
+
* />
|
|
49
|
+
*
|
|
34
50
|
* @param {MultiSelectProps} props - The properties of the MultiSelect component.
|
|
35
51
|
* @param {string} props.label - The label for the multi-select input.
|
|
36
52
|
* @param {OptionType[]} props.options - Array of options to be displayed in the dropdown.
|
|
37
53
|
* @param {OptionType[]} [props.value] - Array of selected options.
|
|
38
|
-
* @param {
|
|
54
|
+
* @param {(selectedOptions: OptionType[]) => void} [props.onChange] - Called with every selected option after each change. It replaces the container's HTML `onChange`, which is not forwarded.
|
|
39
55
|
* @param {boolean} [props.disabled] - Boolean to disable the multi-select input.
|
|
40
56
|
* @param {string} [props.helperText] - Helper text to be displayed below the input.
|
|
41
57
|
* @param {string} [props.error] - Error message to be displayed below the input.
|
|
42
58
|
* @param {boolean} [props.isMutedWhenEmpty] - Renders the border and label in gray while nothing is selected.
|
|
43
59
|
* @param {string} [props.clearButtonAriaLabel] - Accessible label for the button that clears the selection.
|
|
44
|
-
* @param {
|
|
60
|
+
* @param {TMultiSelectSelectionDisplay} [props.selectionDisplay='count'] - `count` writes the number of selected options in the field; `chips` lists them as chips under the field instead.
|
|
61
|
+
* @param {string} [props.removeLabel] - Accessible name of each chip's remove button, followed by the option label (`Remove Option 1`). Without it the chips have no remove button and the selection changes from the list only. Only used with `chips`.
|
|
62
|
+
* @param {(count: number) => string} [props.summaryLabel] - Writes the field text for two or more selected options (`count` display). With it, a single selected option shows its own label. Without it, the field falls back to the legacy Spanish `N seleccionado(s)`, kept only for existing consumers (debt: pass it instead).
|
|
63
|
+
* @param {string} [props.searchPlaceholder] - Placeholder of the search box inside the list.
|
|
64
|
+
* @param {string} [props.emptyText] - Text shown when no option matches the search, or when there are no options. Without it, the list falls back to the legacy Spanish `Opción no encontrada` (debt: pass it instead).
|
|
65
|
+
* @param {boolean} [props.isSearchable=true] - Shows the search box at the top of the list. The clear button stays either way.
|
|
66
|
+
* @param {HTMLAttributes<HTMLDivElement>} [props.restProps] - Additional HTML attributes for the container div, except `onClick` and `onChange`.
|
|
45
67
|
*
|
|
46
68
|
* @returns {ReactNode} The rendered MultiSelect component.
|
|
47
69
|
*/
|
|
48
|
-
export function MultiSelect({ options, value = EMPTY_OPTIONS, onChange, label, disabled, helperText, error, isMutedWhenEmpty, clearButtonAriaLabel, ...restProps }) {
|
|
70
|
+
export function MultiSelect({ options, value = EMPTY_OPTIONS, onChange, label, disabled, helperText, error, isMutedWhenEmpty, clearButtonAriaLabel, selectionDisplay = 'count', removeLabel, summaryLabel, searchPlaceholder, emptyText, isSearchable = true, ...restProps }) {
|
|
49
71
|
const [id, setId] = useState('');
|
|
50
72
|
const [filteredOptions, setFilteredOptions] = useState(options);
|
|
51
73
|
const [selectedOptions, setSelectedOptions] = useState(value);
|
|
@@ -68,6 +90,16 @@ export function MultiSelect({ options, value = EMPTY_OPTIONS, onChange, label, d
|
|
|
68
90
|
const feedbackId = `${id}-feedback`;
|
|
69
91
|
const inputClasses = clsx('peer disabled:text-gray-3 dark:disabled:text-gray-2 pointer-events-none h-full w-full rounded-full bg-transparent px-5 text-sm font-normal text-black outline-0 transition-all select-none focus:text-black dark:bg-black dark:text-white dark:focus:text-white');
|
|
70
92
|
const isMuted = Boolean(isMutedWhenEmpty) && !selectedOptions.length;
|
|
93
|
+
const showsChips = selectionDisplay === 'chips';
|
|
94
|
+
const getSummary = () => {
|
|
95
|
+
if (!selectedOptions.length || showsChips)
|
|
96
|
+
return '';
|
|
97
|
+
if (!summaryLabel)
|
|
98
|
+
return `${selectedOptions.length} seleccionado(s)`;
|
|
99
|
+
if (selectedOptions.length === 1)
|
|
100
|
+
return selectedOptions[0].label;
|
|
101
|
+
return summaryLabel(selectedOptions.length);
|
|
102
|
+
};
|
|
71
103
|
const { labelProps, legendClasses, fieldsetClasses } = generateBorder(error, {
|
|
72
104
|
isMuted,
|
|
73
105
|
});
|
|
@@ -85,6 +117,11 @@ export function MultiSelect({ options, value = EMPTY_OPTIONS, onChange, label, d
|
|
|
85
117
|
setSelectedOptions(newSelectedOptions);
|
|
86
118
|
onChange?.(newSelectedOptions);
|
|
87
119
|
};
|
|
120
|
+
const removeOption = (option) => {
|
|
121
|
+
const newSelectedOptions = selectedOptions.filter((selectedOption) => selectedOption.value !== option.value);
|
|
122
|
+
setSelectedOptions(newSelectedOptions);
|
|
123
|
+
onChange?.(newSelectedOptions);
|
|
124
|
+
};
|
|
88
125
|
const handleQueryChange = (e) => {
|
|
89
126
|
const newQuery = e.target.value;
|
|
90
127
|
setQuery(newQuery);
|
|
@@ -172,9 +209,7 @@ export function MultiSelect({ options, value = EMPTY_OPTIONS, onChange, label, d
|
|
|
172
209
|
}, []);
|
|
173
210
|
return (<div {...restProps} className={clsx('relative w-full', restProps.className)} ref={containerRef}>
|
|
174
211
|
<div className={clsx('relative h-9 rounded-full', disabled ? 'pointer-events-none select-none' : 'cursor-pointer')} onClick={handleToggleDropdown}>
|
|
175
|
-
<input ref={triggerRef} id={id} role="combobox" placeholder=" " value={
|
|
176
|
-
? `${selectedOptions.length} seleccionado(s)`
|
|
177
|
-
: ''} readOnly className={inputClasses} disabled={disabled} aria-expanded={isOpen} aria-haspopup="listbox" aria-controls={listboxId} aria-invalid={Boolean(error)} aria-describedby={error || helperText ? feedbackId : undefined} onKeyDown={handleTriggerKeyDown}/>
|
|
212
|
+
<input ref={triggerRef} id={id} role="combobox" placeholder=" " value={getSummary()} readOnly className={inputClasses} disabled={disabled} aria-expanded={isOpen} aria-haspopup="listbox" aria-controls={listboxId} aria-invalid={Boolean(error)} aria-describedby={error || helperText ? feedbackId : undefined} onKeyDown={handleTriggerKeyDown}/>
|
|
178
213
|
<label {...labelProps} htmlFor={id || undefined} className={clsx(labelProps.className, 'dark:peer-disabled:text-gray-2', error
|
|
179
214
|
? 'dark:text-error-dark'
|
|
180
215
|
: isMuted
|
|
@@ -191,15 +226,29 @@ export function MultiSelect({ options, value = EMPTY_OPTIONS, onChange, label, d
|
|
|
191
226
|
<legend className={legendClasses}>{label}</legend>
|
|
192
227
|
</fieldset>
|
|
193
228
|
</div>
|
|
229
|
+
{!!showsChips && selectedOptions.length > 0 && (<ul aria-label={label} className="mt-2 flex flex-wrap gap-1.5">
|
|
230
|
+
<Each of={selectedOptions} render={(option) => (<li key={option.value} className={clsx('bg-lavender-2 dark:bg-lavender-dark-1 inline-flex h-7 max-w-full items-center gap-1 rounded-full pl-3 text-xs font-medium', removeLabel ? 'pr-1' : 'pr-3', disabled
|
|
231
|
+
? 'text-gray-3 dark:text-gray-2'
|
|
232
|
+
: 'text-black dark:text-white')}>
|
|
233
|
+
<span className="truncate">{option.label}</span>
|
|
234
|
+
{!!removeLabel && (<button type="button" aria-label={`${removeLabel} ${option.label}`} disabled={disabled} onClick={() => removeOption(option)} className="text-gray-1 dark:text-gray-2 disabled:text-gray-3 flex size-5 shrink-0 items-center justify-center rounded-full transition-colors not-disabled:hover:bg-black not-disabled:hover:text-white disabled:cursor-not-allowed dark:not-disabled:hover:bg-white dark:not-disabled:hover:text-black">
|
|
235
|
+
<FiX size={12} aria-hidden="true"/>
|
|
236
|
+
</button>)}
|
|
237
|
+
</li>)}/>
|
|
238
|
+
</ul>)}
|
|
194
239
|
<div id={feedbackId}>
|
|
195
240
|
<RenderErrorOrHelperText disabled={disabled} helperText={helperText} error={error} className={clsx('pl-6', error && !disabled ? 'dark:text-error-dark' : 'dark:text-gray-2')}/>
|
|
196
241
|
</div>
|
|
197
242
|
{!!isOpen && (<div className="border-gray-5 dark:border-gray-1 dark:bg-black-1 absolute top-10 z-20 w-full rounded-lg border bg-white px-4 py-2 text-black shadow-lg dark:text-white">
|
|
198
|
-
<div className=
|
|
199
|
-
<
|
|
200
|
-
<
|
|
201
|
-
|
|
202
|
-
|
|
243
|
+
<div className={clsx('mb-2 flex items-center gap-x-2', !isSearchable && 'justify-end')}>
|
|
244
|
+
<Show>
|
|
245
|
+
<Show.When isTrue={isSearchable}>
|
|
246
|
+
<div className="relative flex w-full">
|
|
247
|
+
<input type="text" aria-label={label} aria-controls={listboxId} placeholder={searchPlaceholder} className="peer dark:border-gray-1 dark:bg-black-2 placeholder:text-gray-2 flex-1 rounded-full border px-3 py-1.5 outline-hidden dark:text-white" value={query} onChange={handleQueryChange} onFocus={() => setIsOpen(true)} onKeyDown={handleSearchKeyDown}/>
|
|
248
|
+
<IoIosSearch aria-hidden="true" size={18} className="absolute top-2 right-2"/>
|
|
249
|
+
</div>
|
|
250
|
+
</Show.When>
|
|
251
|
+
</Show>
|
|
203
252
|
<button type="button" aria-label={clearButtonAriaLabel} onClick={handleRemoveItems} className="disabled:text-gray-3 dark:disabled:text-gray-2 size-7 rounded-full p-1 text-xl transition not-disabled:hover:bg-black not-disabled:hover:text-white dark:not-disabled:hover:bg-white dark:not-disabled:hover:text-black">
|
|
204
253
|
<IoMdCloseCircleOutline aria-hidden="true"/>
|
|
205
254
|
</button>
|
|
@@ -229,7 +278,7 @@ export function MultiSelect({ options, value = EMPTY_OPTIONS, onChange, label, d
|
|
|
229
278
|
</Show.When>
|
|
230
279
|
<Show.Else>
|
|
231
280
|
<li role="option" aria-selected={false} aria-disabled="true" className="p-2">
|
|
232
|
-
Opción no encontrada
|
|
281
|
+
{emptyText ?? 'Opción no encontrada'}
|
|
233
282
|
</li>
|
|
234
283
|
</Show.Else>
|
|
235
284
|
</Show>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelect.jsx","sourceRoot":"","sources":["../../../../src/components/01-atoms/MultiSelect/MultiSelect.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MultiSelect.jsx","sourceRoot":"","sources":["../../../../src/components/01-atoms/MultiSelect/MultiSelect.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/01-atoms/MultiSelect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/01-atoms/MultiSelect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,UAAU,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -37,7 +37,7 @@ type SelectProps = {
|
|
|
37
37
|
* @param {boolean} [props.isMutedWhenEmpty] - Renders the border and label in gray while no option is selected.
|
|
38
38
|
* @param {boolean} [props.hideLabel] - Keeps the label for assistive technology only and drops the floating label and its border notch. Use it when a heading outside the field already names it; pair it with `placeholder`.
|
|
39
39
|
* @param {ReactNode} [props.labelAddon] - Element rendered right after the floating label, inside the border notch — typically an info icon wrapped in a `Tooltip`. It stays interactive and is not part of the label's accessible name. Ignored with `hideLabel`.
|
|
40
|
-
* @param {boolean} [props.customList=false] - Opens Orion's own option list instead of the native popup, which each browser and OS paints its own way. Same `options`, `select.value` and `select.onChange`: picking an option fires the native `change` event.
|
|
40
|
+
* @param {boolean} [props.customList=false] - Opens Orion's own option list instead of the native popup, which each browser and OS paints its own way. Same `options`, `select.value` and `select.onChange`: picking an option fires the native `change` event. The list opens under the field, as wide as it, and Escape closes only the list (a surrounding `Modal` stays open). Prefer it inside a `Modal`: the native popup is placed and sized by the browser, outside the dialog.
|
|
41
41
|
* @param {ReactNode} [props.iconL] - Element at the left of the chosen option, as in `Input`: an icon or a `CountryFlag` that follows the value. Decorative: the option text carries the meaning.
|
|
42
42
|
*
|
|
43
43
|
* @returns {ReactNode} The rendered Select component.
|
|
@@ -31,7 +31,7 @@ import { SelectList } from './SelectList';
|
|
|
31
31
|
* @param {boolean} [props.isMutedWhenEmpty] - Renders the border and label in gray while no option is selected.
|
|
32
32
|
* @param {boolean} [props.hideLabel] - Keeps the label for assistive technology only and drops the floating label and its border notch. Use it when a heading outside the field already names it; pair it with `placeholder`.
|
|
33
33
|
* @param {ReactNode} [props.labelAddon] - Element rendered right after the floating label, inside the border notch — typically an info icon wrapped in a `Tooltip`. It stays interactive and is not part of the label's accessible name. Ignored with `hideLabel`.
|
|
34
|
-
* @param {boolean} [props.customList=false] - Opens Orion's own option list instead of the native popup, which each browser and OS paints its own way. Same `options`, `select.value` and `select.onChange`: picking an option fires the native `change` event.
|
|
34
|
+
* @param {boolean} [props.customList=false] - Opens Orion's own option list instead of the native popup, which each browser and OS paints its own way. Same `options`, `select.value` and `select.onChange`: picking an option fires the native `change` event. The list opens under the field, as wide as it, and Escape closes only the list (a surrounding `Modal` stays open). Prefer it inside a `Modal`: the native popup is placed and sized by the browser, outside the dialog.
|
|
35
35
|
* @param {ReactNode} [props.iconL] - Element at the left of the chosen option, as in `Input`: an icon or a `CountryFlag` that follows the value. Decorative: the option text carries the meaning.
|
|
36
36
|
*
|
|
37
37
|
* @returns {ReactNode} The rendered Select component.
|
|
@@ -14,6 +14,10 @@ type SelectListProps = {
|
|
|
14
14
|
* native popup the browser and the OS paint. A transparent button covers the field and
|
|
15
15
|
* owns focus and keyboard; the native `<select>` underneath keeps the value.
|
|
16
16
|
*
|
|
17
|
+
* The list opens right under the field and as wide as it; a long option wraps
|
|
18
|
+
* instead of widening it past the field. Escape closes only the list, so a
|
|
19
|
+
* `Modal` around it stays open.
|
|
20
|
+
*
|
|
17
21
|
* @component
|
|
18
22
|
* @example
|
|
19
23
|
* <SelectList
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectList.d.ts","sourceRoot":"","sources":["../../../../src/components/01-atoms/Select/SelectList.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAGf,KAAK,eAAe,GAAG;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C,CAAC;AAOF
|
|
1
|
+
{"version":3,"file":"SelectList.d.ts","sourceRoot":"","sources":["../../../../src/components/01-atoms/Select/SelectList.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAGf,KAAK,eAAe,GAAG;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C,CAAC;AAOF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,UAAU,CAAC,EACzB,EAAE,EACF,OAAO,EACP,OAAO,EACP,KAAK,EACL,QAAQ,EACR,OAAO,EACP,WAAW,EACX,QAAQ,GACT,EAAE,eAAe,GAAG,SAAS,CAmI7B"}
|
|
@@ -2,12 +2,16 @@
|
|
|
2
2
|
import clsx from 'clsx';
|
|
3
3
|
import { useEffect, useRef, useState, } from 'react';
|
|
4
4
|
import { Each } from '../../00-base';
|
|
5
|
-
const listClasses = clsx('absolute top-full left-0 z-40 mt-1 max-h-[200px]
|
|
5
|
+
const listClasses = clsx('absolute top-full left-0 z-40 mt-1 max-h-[200px] w-full overflow-y-auto rounded-sm border py-1 text-left shadow-md', 'border-gray-5 dark:border-gray-1 dark:bg-black-1 bg-white text-black dark:text-white');
|
|
6
6
|
/**
|
|
7
7
|
* SelectList draws the option list of a `Select` with `customList`, in place of the
|
|
8
8
|
* native popup the browser and the OS paint. A transparent button covers the field and
|
|
9
9
|
* owns focus and keyboard; the native `<select>` underneath keeps the value.
|
|
10
10
|
*
|
|
11
|
+
* The list opens right under the field and as wide as it; a long option wraps
|
|
12
|
+
* instead of widening it past the field. Escape closes only the list, so a
|
|
13
|
+
* `Modal` around it stays open.
|
|
14
|
+
*
|
|
11
15
|
* @component
|
|
12
16
|
* @example
|
|
13
17
|
* <SelectList
|
|
@@ -94,6 +98,8 @@ export function SelectList({ id, labelId, options, value, disabled, invalid, des
|
|
|
94
98
|
}
|
|
95
99
|
else if (event.key === 'Escape') {
|
|
96
100
|
event.preventDefault();
|
|
101
|
+
// Inside a `Modal`, Escape would also reach its document listener and close it.
|
|
102
|
+
event.stopPropagation();
|
|
97
103
|
close();
|
|
98
104
|
}
|
|
99
105
|
else if (event.key === 'Tab') {
|
|
@@ -108,7 +114,7 @@ export function SelectList({ id, labelId, options, value, disabled, invalid, des
|
|
|
108
114
|
</span>
|
|
109
115
|
</button>
|
|
110
116
|
{!!isOpen && (<ul ref={listRef} id={listboxId} role="listbox" aria-labelledby={labelId} className={listClasses}>
|
|
111
|
-
<Each of={options} render={([optionValue, text], index) => (<li key={optionValue} id={`${listboxId}-${index}`} role="option" aria-selected={index === selectedIndex} onMouseEnter={() => setActiveIndex(index)} onMouseDown={(event) => event.preventDefault()} onClick={() => choose(index)} className={clsx('cursor-pointer px-3 py-2 text-sm
|
|
117
|
+
<Each of={options} render={([optionValue, text], index) => (<li key={optionValue} id={`${listboxId}-${index}`} role="option" aria-selected={index === selectedIndex} onMouseEnter={() => setActiveIndex(index)} onMouseDown={(event) => event.preventDefault()} onClick={() => choose(index)} className={clsx('cursor-pointer px-3 py-2 text-sm', index === activeIndex && 'bg-gray-6 dark:bg-gray-1', index === selectedIndex && 'font-semibold')}>
|
|
112
118
|
{text}
|
|
113
119
|
</li>)}/>
|
|
114
120
|
</ul>)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectList.jsx","sourceRoot":"","sources":["../../../../src/components/01-atoms/Select/SelectList.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAGL,SAAS,EACT,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAarC,MAAM,WAAW,GAAG,IAAI,CACtB,
|
|
1
|
+
{"version":3,"file":"SelectList.jsx","sourceRoot":"","sources":["../../../../src/components/01-atoms/Select/SelectList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,17 @@ export type AccordionSectionProps = {
|
|
|
3
3
|
title: string;
|
|
4
4
|
children: ReactNode;
|
|
5
5
|
id: string;
|
|
6
|
+
titleAdornment?: ReactNode;
|
|
6
7
|
};
|
|
7
8
|
/**
|
|
8
9
|
* AccordionSection component for displaying a collapsible section within an Accordion.
|
|
9
10
|
* The header takes the `modifier` of the parent Accordion.
|
|
10
11
|
*
|
|
12
|
+
* A `titleAdornment` sits between the title and the chevron: a count, a status,
|
|
13
|
+
* an action. It lives outside the toggle button, so a click on it does not open
|
|
14
|
+
* or close the section and it may hold its own controls; the rest of the
|
|
15
|
+
* header still toggles.
|
|
16
|
+
*
|
|
11
17
|
* @component
|
|
12
18
|
* @example
|
|
13
19
|
* // Example usage of AccordionSection component
|
|
@@ -15,12 +21,22 @@ export type AccordionSectionProps = {
|
|
|
15
21
|
* Content 1
|
|
16
22
|
* </AccordionSection>
|
|
17
23
|
*
|
|
24
|
+
* @example
|
|
25
|
+
* <AccordionSection
|
|
26
|
+
* title="Documents"
|
|
27
|
+
* id="documents"
|
|
28
|
+
* titleAdornment={<Badge modifier="warning">2 pending</Badge>}
|
|
29
|
+
* >
|
|
30
|
+
* Content
|
|
31
|
+
* </AccordionSection>
|
|
32
|
+
*
|
|
18
33
|
* @param {Object} props - The properties of the AccordionSection component.
|
|
19
34
|
* @param {string} props.title - The title of the section.
|
|
20
35
|
* @param {ReactNode} props.children - The content to be displayed within the section.
|
|
21
36
|
* @param {string} props.id - The unique identifier for the section, also used by the Accordion `defaultActivated` prop.
|
|
37
|
+
* @param {ReactNode} [props.titleAdornment] - Content drawn on the right of the title, before the chevron. Clicking it does not toggle the section. It is not part of the toggle's accessible name, so give an interactive adornment its own.
|
|
22
38
|
*
|
|
23
39
|
* @returns {ReactNode} The rendered AccordionSection component.
|
|
24
40
|
*/
|
|
25
|
-
export declare function AccordionSection({ title, children, id, }: AccordionSectionProps): ReactNode;
|
|
41
|
+
export declare function AccordionSection({ title, children, id, titleAdornment, }: AccordionSectionProps): ReactNode;
|
|
26
42
|
//# sourceMappingURL=AccordionSection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionSection.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/Accordion/AccordionSection.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EAMV,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AccordionSection.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/Accordion/AccordionSection.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EAMV,MAAM,OAAO,CAAC;AAQf,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,CAAC,EAAE,SAAS,CAAC;CAC5B,CAAC;AAgCF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,QAAQ,EACR,EAAE,EACF,cAAc,GACf,EAAE,qBAAqB,GAAG,SAAS,CA8InC"}
|