pge-front-common 14.2.29 → 14.2.30

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 (223) hide show
  1. package/lib/index.d.ts +21 -319
  2. package/lib/index.esm.js +68 -18
  3. package/lib/index.esm.js.map +1 -1
  4. package/lib/index.js +68 -18
  5. package/lib/index.js.map +1 -1
  6. package/package.json +2 -1
  7. package/lib/components/Acordion/accordion.stories.d.ts +0 -12
  8. package/lib/components/Acordion/index.d.ts +0 -16
  9. package/lib/components/Acordion/index.types.d.ts +0 -6
  10. package/lib/components/BasicSelect/basicSelect.stories.d.ts +0 -7
  11. package/lib/components/BasicSelect/index.d.ts +0 -3
  12. package/lib/components/BasicSelect/index.types.d.ts +0 -20
  13. package/lib/components/BoxError/boxError.stories.d.ts +0 -6
  14. package/lib/components/BoxError/index.d.ts +0 -7
  15. package/lib/components/BoxSuccess/boxSuccess.stories.d.ts +0 -6
  16. package/lib/components/BoxSuccess/index.d.ts +0 -7
  17. package/lib/components/Button/Button.d.ts +0 -7
  18. package/lib/components/Button/Button.stories.d.ts +0 -9
  19. package/lib/components/ButtonUser/ButtonUser.d.ts +0 -12
  20. package/lib/components/ButtonUserCasc/ButtonUserCasc.d.ts +0 -14
  21. package/lib/components/CheckBox/CheckBox.stories.d.ts +0 -8
  22. package/lib/components/CheckBox/index.d.ts +0 -3
  23. package/lib/components/CheckBox/index.type.d.ts +0 -5
  24. package/lib/components/Chip/chip.stories.d.ts +0 -32
  25. package/lib/components/Chip/index.d.ts +0 -10
  26. package/lib/components/Chip/index.type.d.ts +0 -12
  27. package/lib/components/DropDown/Dropdown.d.ts +0 -30
  28. package/lib/components/Fieldset/fieldset.stories.d.ts +0 -14
  29. package/lib/components/Fieldset/index.d.ts +0 -3
  30. package/lib/components/Fieldset/index.type.d.ts +0 -6
  31. package/lib/components/FloatingMenu/FloatingMenu.stories.d.ts +0 -14
  32. package/lib/components/FloatingMenu/index.d.ts +0 -3
  33. package/lib/components/FloatingMenu/index.type.d.ts +0 -9
  34. package/lib/components/Footer/Footer.stories.d.ts +0 -6
  35. package/lib/components/Footer/index.d.ts +0 -7
  36. package/lib/components/Form/Form.stories.d.ts +0 -13
  37. package/lib/components/Header/Header.d.ts +0 -25
  38. package/lib/components/Header/Header.stories.d.ts +0 -13
  39. package/lib/components/HeaderPge/Header.d.ts +0 -24
  40. package/lib/components/HeaderPge/Header.stories.d.ts +0 -10
  41. package/lib/components/InformativeBox/InformativeBox.stories.d.ts +0 -12
  42. package/lib/components/InformativeBox/index.d.ts +0 -4
  43. package/lib/components/InformativeBox/index.type.d.ts +0 -10
  44. package/lib/components/InputDate/InputDate.stories.d.ts +0 -20
  45. package/lib/components/InputDate/index.d.ts +0 -6
  46. package/lib/components/InputDate/index.type.d.ts +0 -20
  47. package/lib/components/InputDate/installStyles.d.ts +0 -1
  48. package/lib/components/Loading/index.d.ts +0 -7
  49. package/lib/components/Loading/loading.stories.d.ts +0 -8
  50. package/lib/components/Menu/index.d.ts +0 -9
  51. package/lib/components/MenuAction/index.d.ts +0 -4
  52. package/lib/components/MenuAction/index.types.d.ts +0 -3
  53. package/lib/components/MenuAction/menuaction.stories.d.ts +0 -8
  54. package/lib/components/ModalUI/index.d.ts +0 -12
  55. package/lib/components/ModalUI/index.type.d.ts +0 -9
  56. package/lib/components/ModalUI/modalui.stories.d.ts +0 -7
  57. package/lib/components/MultiSelect/components.d.ts +0 -13
  58. package/lib/components/MultiSelect/icons.d.ts +0 -7
  59. package/lib/components/MultiSelect/index.d.ts +0 -4
  60. package/lib/components/MultiSelect/index.types.d.ts +0 -26
  61. package/lib/components/MultiSelect/multiselect.stories.d.ts +0 -9
  62. package/lib/components/MultiSelect/selectColourStyles.d.ts +0 -13
  63. package/lib/components/OverlayLoading/index.d.ts +0 -8
  64. package/lib/components/OverlayLoading/loading.stories.d.ts +0 -8
  65. package/lib/components/Pagination/index.d.ts +0 -9
  66. package/lib/components/Pagination/pagination.stories.d.ts +0 -9
  67. package/lib/components/PaginationV2/index.d.ts +0 -19
  68. package/lib/components/PaginationV2/pagination.stories.d.ts +0 -12
  69. package/lib/components/PaginationV2/selectPagination.d.ts +0 -13
  70. package/lib/components/PgeButton/PgeButton.stories.d.ts +0 -15
  71. package/lib/components/PgeButton/index.d.ts +0 -10
  72. package/lib/components/PgeButton/index.type.d.ts +0 -12
  73. package/lib/components/ProgressCircle/index.d.ts +0 -4
  74. package/lib/components/ProgressCircle/progressCircle.stories.d.ts +0 -12
  75. package/lib/components/ProgressCircle/progressCircle.types.d.ts +0 -8
  76. package/lib/components/RadioButton/RadioButton.d.ts +0 -3
  77. package/lib/components/RadioButton/RadioButton.stories.d.ts +0 -11
  78. package/lib/components/RadioButton/radioButton.types.d.ts +0 -16
  79. package/lib/components/RadioGroup/RadioGroup.d.ts +0 -4
  80. package/lib/components/RadioGroup/RadioGroup.stories.d.ts +0 -7
  81. package/lib/components/RadioGroup/radioGroup.types.d.ts +0 -19
  82. package/lib/components/Select/index.d.ts +0 -4
  83. package/lib/components/Select/index.types.d.ts +0 -26
  84. package/lib/components/Select/select.stories.d.ts +0 -10
  85. package/lib/components/SkeletonLoader/index.d.ts +0 -6
  86. package/lib/components/SkeletonLoader/skeletonloader.stories.d.ts +0 -8
  87. package/lib/components/Switch/index.d.ts +0 -36
  88. package/lib/components/Switch/index.types.d.ts +0 -7
  89. package/lib/components/Switch/switch.stories.d.ts +0 -9
  90. package/lib/components/Table/index.d.ts +0 -4
  91. package/lib/components/Table/index.types.d.ts +0 -26
  92. package/lib/components/Table/table.stories.d.ts +0 -16
  93. package/lib/components/TableV2/TableHeaderContext.d.ts +0 -2
  94. package/lib/components/TableV2/index.d.ts +0 -8
  95. package/lib/components/TableV2/index.types.d.ts +0 -20
  96. package/lib/components/TableV2/table.stories.d.ts +0 -6
  97. package/lib/components/Textarea/Textarea.d.ts +0 -4
  98. package/lib/components/Textarea/Textarea.stories.d.ts +0 -9
  99. package/lib/components/Textarea/textarea.types.d.ts +0 -16
  100. package/lib/components/Title/index.d.ts +0 -6
  101. package/lib/components/Title/title.stories.d.ts +0 -6
  102. package/lib/components/Tooltip/Tooltip.stories.d.ts +0 -6
  103. package/lib/components/Tooltip/index.d.ts +0 -3
  104. package/lib/components/Tooltip/index.type.d.ts +0 -6
  105. package/lib/components/TooltipWithPortal/TooltipWithPortal.stories.d.ts +0 -7
  106. package/lib/components/TooltipWithPortal/index.d.ts +0 -3
  107. package/lib/components/TooltipWithPortal/index.type.d.ts +0 -7
  108. package/lib/components/TreeSelect/TreeSelect.stories.d.ts +0 -17
  109. package/lib/components/TreeSelect/index.d.ts +0 -7
  110. package/lib/components/TreeSelect/index.type.d.ts +0 -22
  111. package/lib/components/TreeSelect/installStyles.d.ts +0 -1
  112. package/lib/components/Upload/FileUpload.stories.d.ts +0 -7
  113. package/lib/components/Upload/index.d.ts +0 -324
  114. package/lib/components/Upload/index.type.d.ts +0 -22
  115. package/lib/components/inputPassword/Input.stories.d.ts +0 -6
  116. package/lib/components/inputPassword/index.d.ts +0 -8
  117. package/lib/components/inputText/Input.stories.d.ts +0 -12
  118. package/lib/components/inputText/index.d.ts +0 -20
  119. package/lib/components/inputText/index.type.d.ts +0 -10
  120. package/lib/components/modal/Modal.d.ts +0 -3
  121. package/lib/components/modal/ModalBody.d.ts +0 -4
  122. package/lib/components/modal/ModalFooter.d.ts +0 -4
  123. package/lib/components/modal/ModalHeader.d.ts +0 -4
  124. package/lib/components/modal/index.d.ts +0 -5
  125. package/lib/components/modal/index.type.d.ts +0 -21
  126. package/lib/components/modal/modal.stories.d.ts +0 -11
  127. package/lib/components/theme.d.ts +0 -3
  128. package/lib/icons/accordion-chevron-icon.d.ts +0 -6
  129. package/lib/icons/add-cell-icon.d.ts +0 -2
  130. package/lib/icons/add-icon.d.ts +0 -2
  131. package/lib/icons/add-round-icon.d.ts +0 -2
  132. package/lib/icons/alert-icon.d.ts +0 -2
  133. package/lib/icons/alert-info-icon.d.ts +0 -2
  134. package/lib/icons/analyze-document-icon.d.ts +0 -2
  135. package/lib/icons/analyze-icon.d.ts +0 -2
  136. package/lib/icons/arrow-expland-icon.d.ts +0 -2
  137. package/lib/icons/arrow-to-recall-icon.d.ts +0 -2
  138. package/lib/icons/attention-icon.d.ts +0 -2
  139. package/lib/icons/bloco-icon.d.ts +0 -2
  140. package/lib/icons/calculate-icon.d.ts +0 -2
  141. package/lib/icons/calendar-icon.d.ts +0 -2
  142. package/lib/icons/certidao-regularidade-fiscal.d.ts +0 -2
  143. package/lib/icons/check-circle-icon.d.ts +0 -2
  144. package/lib/icons/check-icon.d.ts +0 -2
  145. package/lib/icons/check-success-icon.d.ts +0 -2
  146. package/lib/icons/circle-expland-icon.d.ts +0 -2
  147. package/lib/icons/circle-to-recall-icon.d.ts +0 -2
  148. package/lib/icons/close-icon.d.ts +0 -2
  149. package/lib/icons/common-dot-icon.d.ts +0 -2
  150. package/lib/icons/config-icon.d.ts +0 -2
  151. package/lib/icons/copy-icon.d.ts +0 -2
  152. package/lib/icons/debito-fiscal-icon.d.ts +0 -2
  153. package/lib/icons/delete-icon.d.ts +0 -2
  154. package/lib/icons/documento-icon.d.ts +0 -2
  155. package/lib/icons/dots-vertical.d.ts +0 -2
  156. package/lib/icons/download-icon.d.ts +0 -2
  157. package/lib/icons/edit-icon.d.ts +0 -2
  158. package/lib/icons/emissao-darj-icon.d.ts +0 -2
  159. package/lib/icons/error-icon.d.ts +0 -2
  160. package/lib/icons/event-avaliable-icon.d.ts +0 -2
  161. package/lib/icons/exclude-icon.d.ts +0 -2
  162. package/lib/icons/eye-close-icon.d.ts +0 -2
  163. package/lib/icons/eye-open-icon.d.ts +0 -2
  164. package/lib/icons/facebook-icon.d.ts +0 -5
  165. package/lib/icons/fluxo-icon.d.ts +0 -2
  166. package/lib/icons/footer.d.ts +0 -2
  167. package/lib/icons/footerLight.d.ts +0 -2
  168. package/lib/icons/hour-glass-icon.d.ts +0 -3
  169. package/lib/icons/icons.stories.d.ts +0 -11
  170. package/lib/icons/index.d.ts +0 -81
  171. package/lib/icons/info-round-icon.d.ts +0 -2
  172. package/lib/icons/informative-icon.d.ts +0 -2
  173. package/lib/icons/instagram-icon.d.ts +0 -3
  174. package/lib/icons/invisibility-icon.d.ts +0 -2
  175. package/lib/icons/left-arrow-icon.d.ts +0 -2
  176. package/lib/icons/left-direction-icon.d.ts +0 -2
  177. package/lib/icons/linkedin-icon.d.ts +0 -5
  178. package/lib/icons/lista-icon.d.ts +0 -2
  179. package/lib/icons/loading-progress-icon.d.ts +0 -5
  180. package/lib/icons/logo-casc.d.ts +0 -4
  181. package/lib/icons/logo-divida-ativa.d.ts +0 -3
  182. package/lib/icons/logo-pge-beneficios.d.ts +0 -3
  183. package/lib/icons/logo-pge-rj.d.ts +0 -3
  184. package/lib/icons/logo-rh-digital.d.ts +0 -3
  185. package/lib/icons/logout-icon.d.ts +0 -2
  186. package/lib/icons/mail-icon.d.ts +0 -2
  187. package/lib/icons/medalha-icon.d.ts +0 -2
  188. package/lib/icons/menu-icon.d.ts +0 -3
  189. package/lib/icons/new-tab-icon.d.ts +0 -2
  190. package/lib/icons/parcelamento-icon.d.ts +0 -2
  191. package/lib/icons/payment-icon.d.ts +0 -2
  192. package/lib/icons/pdf-icon.d.ts +0 -2
  193. package/lib/icons/print-icon.d.ts +0 -2
  194. package/lib/icons/profile-icon.d.ts +0 -2
  195. package/lib/icons/question-mark-icon.d.ts +0 -2
  196. package/lib/icons/remove-icon.d.ts +0 -2
  197. package/lib/icons/report-icon.d.ts +0 -2
  198. package/lib/icons/requerimento-adm-icon.d.ts +0 -2
  199. package/lib/icons/right-arrow-icon.d.ts +0 -2
  200. package/lib/icons/right-direction-icon.d.ts +0 -2
  201. package/lib/icons/search-icon.d.ts +0 -2
  202. package/lib/icons/statement-icon.d.ts +0 -2
  203. package/lib/icons/success-icon.d.ts +0 -2
  204. package/lib/icons/swap-icon.d.ts +0 -2
  205. package/lib/icons/triangle-expand-icon.d.ts +0 -2
  206. package/lib/icons/triangle-to-recall-icon.d.ts +0 -2
  207. package/lib/icons/twitter-icon.d.ts +0 -3
  208. package/lib/icons/two-user-icon.d.ts +0 -2
  209. package/lib/icons/two-user-search-icon.d.ts +0 -2
  210. package/lib/icons/up-arrow-icon.d.ts +0 -2
  211. package/lib/icons/up-down-arrow.d.ts +0 -2
  212. package/lib/icons/upload-file-icon.d.ts +0 -2
  213. package/lib/icons/upload-file.d.ts +0 -2
  214. package/lib/icons/upload-icon.d.ts +0 -2
  215. package/lib/icons/upload-iconV2.d.ts +0 -2
  216. package/lib/icons/user-icon.d.ts +0 -2
  217. package/lib/icons/user-logout-icon.d.ts +0 -2
  218. package/lib/icons/value-icon.d.ts +0 -2
  219. package/lib/icons/view-icon.d.ts +0 -2
  220. package/lib/icons/visibility-icon.d.ts +0 -2
  221. package/lib/icons/warning-icon.d.ts +0 -2
  222. package/lib/utils/useDarkMode.d.ts +0 -1
  223. package/lib/utils/useIsMobile.d.ts +0 -1
package/lib/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from 'react';
2
- import React__default, { InputHTMLAttributes, ReactNode, HtmlHTMLAttributes, ChangeEvent, JSX, HTMLAttributes, SVGProps } from 'react';
2
+ import React__default, { InputHTMLAttributes, ReactNode, HtmlHTMLAttributes, ButtonHTMLAttributes, ChangeEvent, JSX, HTMLAttributes, SVGProps } from 'react';
3
3
  import { Control } from 'react-hook-form';
4
4
  import { FormatOptionLabelMeta } from 'react-select';
5
5
  import { TreeSelectSelectionKeysType, TreeSelectChangeEvent } from 'primereact/treeselect';
@@ -76,332 +76,34 @@ declare const PgeButton: React__default.ForwardRefExoticComponent<{
76
76
  widthType?: "full-width" | "fit-content";
77
77
  } & React__default.ButtonHTMLAttributes<HTMLButtonElement> & React__default.RefAttributes<HTMLButtonElement>>;
78
78
 
79
- type FileUploadHandle = {
80
- reset: () => void;
81
- };
82
-
83
- declare const FileUpload: React__default.ForwardRefExoticComponent<{
84
- variant?: "primary" | "secondary";
79
+ type ButtonVariant = "primary" | "secondary";
80
+ type ButtonAttrs = Omit<ButtonHTMLAttributes<HTMLButtonElement>, "title">;
81
+ type UploadFilePropsBase = {
82
+ variant?: ButtonVariant;
85
83
  danger?: boolean;
86
84
  fileTypes: string[];
87
- onFileSelect: (file: File | null) => void;
88
- title?: React__default.ReactNode;
85
+ title?: ReactNode;
89
86
  descricaoLabel?: string;
90
87
  errorText?: string;
91
88
  noSelectedFileText?: string;
92
89
  maxFileSize?: `${number}KB` | `${number}MB` | `${number}GB`;
93
- helperText?: React__default.ReactNode;
94
- rightIcon?: React__default.ReactNode;
90
+ helperText?: ReactNode;
91
+ rightIcon?: React.ReactNode;
95
92
  isDownloadable?: boolean;
96
93
  onDownload?: () => void;
97
- } & {
98
- style?: React__default.CSSProperties | undefined;
99
- disabled?: boolean | undefined | undefined;
100
- className?: string | undefined | undefined;
101
- value?: string | number | readonly string[] | undefined;
102
- form?: string | undefined | undefined;
103
- formAction?: string | ((formData: FormData) => void | Promise<void>) | undefined;
104
- formEncType?: string | undefined | undefined;
105
- formMethod?: string | undefined | undefined;
106
- formNoValidate?: boolean | undefined | undefined;
107
- formTarget?: string | undefined | undefined;
108
- name?: string | undefined | undefined;
109
- type?: "submit" | "reset" | "button" | undefined | undefined;
110
- onChange?: React__default.FormEventHandler<HTMLButtonElement> | undefined;
111
- defaultChecked?: boolean | undefined | undefined;
112
- defaultValue?: string | number | readonly string[] | undefined;
113
- suppressContentEditableWarning?: boolean | undefined | undefined;
114
- suppressHydrationWarning?: boolean | undefined | undefined;
115
- accessKey?: string | undefined | undefined;
116
- autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}) | undefined;
117
- autoFocus?: boolean | undefined | undefined;
118
- contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
119
- contextMenu?: string | undefined | undefined;
120
- dir?: string | undefined | undefined;
121
- draggable?: (boolean | "true" | "false") | undefined;
122
- enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
123
- hidden?: boolean | undefined | undefined;
124
- id?: string | undefined | undefined;
125
- lang?: string | undefined | undefined;
126
- nonce?: string | undefined | undefined;
127
- slot?: string | undefined | undefined;
128
- spellCheck?: (boolean | "true" | "false") | undefined;
129
- tabIndex?: number | undefined | undefined;
130
- translate?: "yes" | "no" | undefined | undefined;
131
- radioGroup?: string | undefined | undefined;
132
- role?: React__default.AriaRole | undefined;
133
- about?: string | undefined | undefined;
134
- content?: string | undefined | undefined;
135
- datatype?: string | undefined | undefined;
136
- inlist?: any;
137
- prefix?: string | undefined | undefined;
138
- property?: string | undefined | undefined;
139
- rel?: string | undefined | undefined;
140
- resource?: string | undefined | undefined;
141
- rev?: string | undefined | undefined;
142
- typeof?: string | undefined | undefined;
143
- vocab?: string | undefined | undefined;
144
- autoCorrect?: string | undefined | undefined;
145
- autoSave?: string | undefined | undefined;
146
- color?: string | undefined | undefined;
147
- itemProp?: string | undefined | undefined;
148
- itemScope?: boolean | undefined | undefined;
149
- itemType?: string | undefined | undefined;
150
- itemID?: string | undefined | undefined;
151
- itemRef?: string | undefined | undefined;
152
- results?: number | undefined | undefined;
153
- security?: string | undefined | undefined;
154
- unselectable?: "on" | "off" | undefined | undefined;
155
- popover?: "" | "auto" | "manual" | "hint" | undefined | undefined;
156
- popoverTargetAction?: "toggle" | "show" | "hide" | undefined | undefined;
157
- popoverTarget?: string | undefined | undefined;
158
- inert?: boolean | undefined | undefined;
159
- inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
160
- is?: string | undefined | undefined;
161
- exportparts?: string | undefined | undefined;
162
- part?: string | undefined | undefined;
163
- "aria-activedescendant"?: string | undefined | undefined;
164
- "aria-atomic"?: (boolean | "true" | "false") | undefined;
165
- "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined | undefined;
166
- "aria-braillelabel"?: string | undefined | undefined;
167
- "aria-brailleroledescription"?: string | undefined | undefined;
168
- "aria-busy"?: (boolean | "true" | "false") | undefined;
169
- "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
170
- "aria-colcount"?: number | undefined | undefined;
171
- "aria-colindex"?: number | undefined | undefined;
172
- "aria-colindextext"?: string | undefined | undefined;
173
- "aria-colspan"?: number | undefined | undefined;
174
- "aria-controls"?: string | undefined | undefined;
175
- "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
176
- "aria-describedby"?: string | undefined | undefined;
177
- "aria-description"?: string | undefined | undefined;
178
- "aria-details"?: string | undefined | undefined;
179
- "aria-disabled"?: (boolean | "true" | "false") | undefined;
180
- "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined;
181
- "aria-errormessage"?: string | undefined | undefined;
182
- "aria-expanded"?: (boolean | "true" | "false") | undefined;
183
- "aria-flowto"?: string | undefined | undefined;
184
- "aria-grabbed"?: (boolean | "true" | "false") | undefined;
185
- "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined | undefined;
186
- "aria-hidden"?: (boolean | "true" | "false") | undefined;
187
- "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined | undefined;
188
- "aria-keyshortcuts"?: string | undefined | undefined;
189
- "aria-label"?: string | undefined | undefined;
190
- "aria-labelledby"?: string | undefined | undefined;
191
- "aria-level"?: number | undefined | undefined;
192
- "aria-live"?: "off" | "assertive" | "polite" | undefined | undefined;
193
- "aria-modal"?: (boolean | "true" | "false") | undefined;
194
- "aria-multiline"?: (boolean | "true" | "false") | undefined;
195
- "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
196
- "aria-orientation"?: "horizontal" | "vertical" | undefined | undefined;
197
- "aria-owns"?: string | undefined | undefined;
198
- "aria-placeholder"?: string | undefined | undefined;
199
- "aria-posinset"?: number | undefined | undefined;
200
- "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
201
- "aria-readonly"?: (boolean | "true" | "false") | undefined;
202
- "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined;
203
- "aria-required"?: (boolean | "true" | "false") | undefined;
204
- "aria-roledescription"?: string | undefined | undefined;
205
- "aria-rowcount"?: number | undefined | undefined;
206
- "aria-rowindex"?: number | undefined | undefined;
207
- "aria-rowindextext"?: string | undefined | undefined;
208
- "aria-rowspan"?: number | undefined | undefined;
209
- "aria-selected"?: (boolean | "true" | "false") | undefined;
210
- "aria-setsize"?: number | undefined | undefined;
211
- "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined | undefined;
212
- "aria-valuemax"?: number | undefined | undefined;
213
- "aria-valuemin"?: number | undefined | undefined;
214
- "aria-valuenow"?: number | undefined | undefined;
215
- "aria-valuetext"?: string | undefined | undefined;
216
- children?: React__default.ReactNode;
217
- dangerouslySetInnerHTML?: {
218
- __html: string | TrustedHTML;
219
- } | undefined | undefined;
220
- onCopy?: React__default.ClipboardEventHandler<HTMLButtonElement> | undefined;
221
- onCopyCapture?: React__default.ClipboardEventHandler<HTMLButtonElement> | undefined;
222
- onCut?: React__default.ClipboardEventHandler<HTMLButtonElement> | undefined;
223
- onCutCapture?: React__default.ClipboardEventHandler<HTMLButtonElement> | undefined;
224
- onPaste?: React__default.ClipboardEventHandler<HTMLButtonElement> | undefined;
225
- onPasteCapture?: React__default.ClipboardEventHandler<HTMLButtonElement> | undefined;
226
- onCompositionEnd?: React__default.CompositionEventHandler<HTMLButtonElement> | undefined;
227
- onCompositionEndCapture?: React__default.CompositionEventHandler<HTMLButtonElement> | undefined;
228
- onCompositionStart?: React__default.CompositionEventHandler<HTMLButtonElement> | undefined;
229
- onCompositionStartCapture?: React__default.CompositionEventHandler<HTMLButtonElement> | undefined;
230
- onCompositionUpdate?: React__default.CompositionEventHandler<HTMLButtonElement> | undefined;
231
- onCompositionUpdateCapture?: React__default.CompositionEventHandler<HTMLButtonElement> | undefined;
232
- onFocus?: React__default.FocusEventHandler<HTMLButtonElement> | undefined;
233
- onFocusCapture?: React__default.FocusEventHandler<HTMLButtonElement> | undefined;
234
- onBlur?: React__default.FocusEventHandler<HTMLButtonElement> | undefined;
235
- onBlurCapture?: React__default.FocusEventHandler<HTMLButtonElement> | undefined;
236
- onChangeCapture?: React__default.FormEventHandler<HTMLButtonElement> | undefined;
237
- onBeforeInput?: React__default.InputEventHandler<HTMLButtonElement> | undefined;
238
- onBeforeInputCapture?: React__default.FormEventHandler<HTMLButtonElement> | undefined;
239
- onInput?: React__default.FormEventHandler<HTMLButtonElement> | undefined;
240
- onInputCapture?: React__default.FormEventHandler<HTMLButtonElement> | undefined;
241
- onReset?: React__default.FormEventHandler<HTMLButtonElement> | undefined;
242
- onResetCapture?: React__default.FormEventHandler<HTMLButtonElement> | undefined;
243
- onSubmit?: React__default.FormEventHandler<HTMLButtonElement> | undefined;
244
- onSubmitCapture?: React__default.FormEventHandler<HTMLButtonElement> | undefined;
245
- onInvalid?: React__default.FormEventHandler<HTMLButtonElement> | undefined;
246
- onInvalidCapture?: React__default.FormEventHandler<HTMLButtonElement> | undefined;
247
- onLoad?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
248
- onLoadCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
249
- onError?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
250
- onErrorCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
251
- onKeyDown?: React__default.KeyboardEventHandler<HTMLButtonElement> | undefined;
252
- onKeyDownCapture?: React__default.KeyboardEventHandler<HTMLButtonElement> | undefined;
253
- onKeyPress?: React__default.KeyboardEventHandler<HTMLButtonElement> | undefined;
254
- onKeyPressCapture?: React__default.KeyboardEventHandler<HTMLButtonElement> | undefined;
255
- onKeyUp?: React__default.KeyboardEventHandler<HTMLButtonElement> | undefined;
256
- onKeyUpCapture?: React__default.KeyboardEventHandler<HTMLButtonElement> | undefined;
257
- onAbort?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
258
- onAbortCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
259
- onCanPlay?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
260
- onCanPlayCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
261
- onCanPlayThrough?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
262
- onCanPlayThroughCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
263
- onDurationChange?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
264
- onDurationChangeCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
265
- onEmptied?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
266
- onEmptiedCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
267
- onEncrypted?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
268
- onEncryptedCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
269
- onEnded?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
270
- onEndedCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
271
- onLoadedData?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
272
- onLoadedDataCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
273
- onLoadedMetadata?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
274
- onLoadedMetadataCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
275
- onLoadStart?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
276
- onLoadStartCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
277
- onPause?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
278
- onPauseCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
279
- onPlay?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
280
- onPlayCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
281
- onPlaying?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
282
- onPlayingCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
283
- onProgress?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
284
- onProgressCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
285
- onRateChange?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
286
- onRateChangeCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
287
- onSeeked?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
288
- onSeekedCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
289
- onSeeking?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
290
- onSeekingCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
291
- onStalled?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
292
- onStalledCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
293
- onSuspend?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
294
- onSuspendCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
295
- onTimeUpdate?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
296
- onTimeUpdateCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
297
- onVolumeChange?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
298
- onVolumeChangeCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
299
- onWaiting?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
300
- onWaitingCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
301
- onAuxClick?: React__default.MouseEventHandler<HTMLButtonElement> | undefined;
302
- onAuxClickCapture?: React__default.MouseEventHandler<HTMLButtonElement> | undefined;
303
- onClick?: React__default.MouseEventHandler<HTMLButtonElement> | undefined;
304
- onClickCapture?: React__default.MouseEventHandler<HTMLButtonElement> | undefined;
305
- onContextMenu?: React__default.MouseEventHandler<HTMLButtonElement> | undefined;
306
- onContextMenuCapture?: React__default.MouseEventHandler<HTMLButtonElement> | undefined;
307
- onDoubleClick?: React__default.MouseEventHandler<HTMLButtonElement> | undefined;
308
- onDoubleClickCapture?: React__default.MouseEventHandler<HTMLButtonElement> | undefined;
309
- onDrag?: React__default.DragEventHandler<HTMLButtonElement> | undefined;
310
- onDragCapture?: React__default.DragEventHandler<HTMLButtonElement> | undefined;
311
- onDragEnd?: React__default.DragEventHandler<HTMLButtonElement> | undefined;
312
- onDragEndCapture?: React__default.DragEventHandler<HTMLButtonElement> | undefined;
313
- onDragEnter?: React__default.DragEventHandler<HTMLButtonElement> | undefined;
314
- onDragEnterCapture?: React__default.DragEventHandler<HTMLButtonElement> | undefined;
315
- onDragExit?: React__default.DragEventHandler<HTMLButtonElement> | undefined;
316
- onDragExitCapture?: React__default.DragEventHandler<HTMLButtonElement> | undefined;
317
- onDragLeave?: React__default.DragEventHandler<HTMLButtonElement> | undefined;
318
- onDragLeaveCapture?: React__default.DragEventHandler<HTMLButtonElement> | undefined;
319
- onDragOver?: React__default.DragEventHandler<HTMLButtonElement> | undefined;
320
- onDragOverCapture?: React__default.DragEventHandler<HTMLButtonElement> | undefined;
321
- onDragStart?: React__default.DragEventHandler<HTMLButtonElement> | undefined;
322
- onDragStartCapture?: React__default.DragEventHandler<HTMLButtonElement> | undefined;
323
- onDrop?: React__default.DragEventHandler<HTMLButtonElement> | undefined;
324
- onDropCapture?: React__default.DragEventHandler<HTMLButtonElement> | undefined;
325
- onMouseDown?: React__default.MouseEventHandler<HTMLButtonElement> | undefined;
326
- onMouseDownCapture?: React__default.MouseEventHandler<HTMLButtonElement> | undefined;
327
- onMouseEnter?: React__default.MouseEventHandler<HTMLButtonElement> | undefined;
328
- onMouseLeave?: React__default.MouseEventHandler<HTMLButtonElement> | undefined;
329
- onMouseMove?: React__default.MouseEventHandler<HTMLButtonElement> | undefined;
330
- onMouseMoveCapture?: React__default.MouseEventHandler<HTMLButtonElement> | undefined;
331
- onMouseOut?: React__default.MouseEventHandler<HTMLButtonElement> | undefined;
332
- onMouseOutCapture?: React__default.MouseEventHandler<HTMLButtonElement> | undefined;
333
- onMouseOver?: React__default.MouseEventHandler<HTMLButtonElement> | undefined;
334
- onMouseOverCapture?: React__default.MouseEventHandler<HTMLButtonElement> | undefined;
335
- onMouseUp?: React__default.MouseEventHandler<HTMLButtonElement> | undefined;
336
- onMouseUpCapture?: React__default.MouseEventHandler<HTMLButtonElement> | undefined;
337
- onSelect?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
338
- onSelectCapture?: React__default.ReactEventHandler<HTMLButtonElement> | undefined;
339
- onTouchCancel?: React__default.TouchEventHandler<HTMLButtonElement> | undefined;
340
- onTouchCancelCapture?: React__default.TouchEventHandler<HTMLButtonElement> | undefined;
341
- onTouchEnd?: React__default.TouchEventHandler<HTMLButtonElement> | undefined;
342
- onTouchEndCapture?: React__default.TouchEventHandler<HTMLButtonElement> | undefined;
343
- onTouchMove?: React__default.TouchEventHandler<HTMLButtonElement> | undefined;
344
- onTouchMoveCapture?: React__default.TouchEventHandler<HTMLButtonElement> | undefined;
345
- onTouchStart?: React__default.TouchEventHandler<HTMLButtonElement> | undefined;
346
- onTouchStartCapture?: React__default.TouchEventHandler<HTMLButtonElement> | undefined;
347
- onPointerDown?: React__default.PointerEventHandler<HTMLButtonElement> | undefined;
348
- onPointerDownCapture?: React__default.PointerEventHandler<HTMLButtonElement> | undefined;
349
- onPointerMove?: React__default.PointerEventHandler<HTMLButtonElement> | undefined;
350
- onPointerMoveCapture?: React__default.PointerEventHandler<HTMLButtonElement> | undefined;
351
- onPointerUp?: React__default.PointerEventHandler<HTMLButtonElement> | undefined;
352
- onPointerUpCapture?: React__default.PointerEventHandler<HTMLButtonElement> | undefined;
353
- onPointerCancel?: React__default.PointerEventHandler<HTMLButtonElement> | undefined;
354
- onPointerCancelCapture?: React__default.PointerEventHandler<HTMLButtonElement> | undefined;
355
- onPointerEnter?: React__default.PointerEventHandler<HTMLButtonElement> | undefined;
356
- onPointerLeave?: React__default.PointerEventHandler<HTMLButtonElement> | undefined;
357
- onPointerOver?: React__default.PointerEventHandler<HTMLButtonElement> | undefined;
358
- onPointerOverCapture?: React__default.PointerEventHandler<HTMLButtonElement> | undefined;
359
- onPointerOut?: React__default.PointerEventHandler<HTMLButtonElement> | undefined;
360
- onPointerOutCapture?: React__default.PointerEventHandler<HTMLButtonElement> | undefined;
361
- onGotPointerCapture?: React__default.PointerEventHandler<HTMLButtonElement> | undefined;
362
- onGotPointerCaptureCapture?: React__default.PointerEventHandler<HTMLButtonElement> | undefined;
363
- onLostPointerCapture?: React__default.PointerEventHandler<HTMLButtonElement> | undefined;
364
- onLostPointerCaptureCapture?: React__default.PointerEventHandler<HTMLButtonElement> | undefined;
365
- onScroll?: React__default.UIEventHandler<HTMLButtonElement> | undefined;
366
- onScrollCapture?: React__default.UIEventHandler<HTMLButtonElement> | undefined;
367
- onScrollEnd?: React__default.UIEventHandler<HTMLButtonElement> | undefined;
368
- onScrollEndCapture?: React__default.UIEventHandler<HTMLButtonElement> | undefined;
369
- onWheel?: React__default.WheelEventHandler<HTMLButtonElement> | undefined;
370
- onWheelCapture?: React__default.WheelEventHandler<HTMLButtonElement> | undefined;
371
- onAnimationStart?: React__default.AnimationEventHandler<HTMLButtonElement> | undefined;
372
- onAnimationStartCapture?: React__default.AnimationEventHandler<HTMLButtonElement> | undefined;
373
- onAnimationEnd?: React__default.AnimationEventHandler<HTMLButtonElement> | undefined;
374
- onAnimationEndCapture?: React__default.AnimationEventHandler<HTMLButtonElement> | undefined;
375
- onAnimationIteration?: React__default.AnimationEventHandler<HTMLButtonElement> | undefined;
376
- onAnimationIterationCapture?: React__default.AnimationEventHandler<HTMLButtonElement> | undefined;
377
- onToggle?: React__default.ToggleEventHandler<HTMLButtonElement> | undefined;
378
- onBeforeToggle?: React__default.ToggleEventHandler<HTMLButtonElement> | undefined;
379
- onTransitionCancel?: React__default.TransitionEventHandler<HTMLButtonElement> | undefined;
380
- onTransitionCancelCapture?: React__default.TransitionEventHandler<HTMLButtonElement> | undefined;
381
- onTransitionEnd?: React__default.TransitionEventHandler<HTMLButtonElement> | undefined;
382
- onTransitionEndCapture?: React__default.TransitionEventHandler<HTMLButtonElement> | undefined;
383
- onTransitionRun?: React__default.TransitionEventHandler<HTMLButtonElement> | undefined;
384
- onTransitionRunCapture?: React__default.TransitionEventHandler<HTMLButtonElement> | undefined;
385
- onTransitionStart?: React__default.TransitionEventHandler<HTMLButtonElement> | undefined;
386
- onTransitionStartCapture?: React__default.TransitionEventHandler<HTMLButtonElement> | undefined;
387
- 'data-pr-tooltip'?: string | undefined | undefined;
388
- 'data-pr-disabled'?: boolean | undefined | undefined;
389
- 'data-pr-classname'?: string | undefined | undefined;
390
- 'data-pr-position'?: "top" | "bottom" | "left" | "right" | "mouse" | undefined | undefined;
391
- 'data-pr-my'?: string | undefined | undefined;
392
- 'data-pr-at'?: string | undefined | undefined;
393
- 'data-pr-event'?: "hover" | "focus" | "both" | undefined | undefined;
394
- 'data-pr-showevent'?: string | undefined | undefined;
395
- 'data-pr-hideevent'?: string | undefined | undefined;
396
- 'data-pr-mousetrack'?: boolean | undefined | undefined;
397
- 'data-pr-mousetracktop'?: number | undefined | undefined;
398
- 'data-pr-mousetrackleft'?: number | undefined | undefined;
399
- 'data-pr-showdelay'?: number | undefined | undefined;
400
- 'data-pr-updatedelay'?: number | undefined | undefined;
401
- 'data-pr-hidedelay'?: number | undefined | undefined;
402
- 'data-pr-autohide'?: boolean | undefined | undefined;
403
- 'data-pr-showondisabled'?: boolean | undefined | undefined;
404
- } & React__default.RefAttributes<FileUploadHandle>>;
94
+ } & ButtonAttrs;
95
+ type UploadFileProps = (UploadFilePropsBase & {
96
+ multiple?: false;
97
+ onFileSelect: (file: File | null) => void;
98
+ }) | (UploadFilePropsBase & {
99
+ multiple: true;
100
+ onFileSelect: (files: File[] | null) => void;
101
+ });
102
+ type FileUploadHandle = {
103
+ reset: () => void;
104
+ };
105
+
106
+ declare const FileUpload: React__default.ForwardRefExoticComponent<UploadFileProps & React__default.RefAttributes<FileUploadHandle>>;
405
107
 
406
108
  interface TooltipProps$1 {
407
109
  text: string;
package/lib/index.esm.js CHANGED
@@ -86,7 +86,7 @@ function styleInject(css, ref) {
86
86
  }
87
87
  }
88
88
 
89
- var css_248z$K = ".button-module__button___JyfZW {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n gap: 4px;\r\n cursor: pointer;\r\n padding: 12px 16px;\r\n border-radius: 8px;\r\n min-width: 70px;\r\n height: 38px;\r\n width: 100%;\r\n}\r\n\r\n.button-module__button___JyfZW.button-module__primary___ggjlO {\r\n border: 1px solid #005a92;\r\n background: #005a92;\r\n color: #ffffff;\r\n font-weight: 400;\r\n}\r\n\r\n.button-module__button___JyfZW.button-module__primary___ggjlO:hover {\r\n opacity: 1;\r\n background-color: rgb(0 67 109);\r\n}\r\n\r\n.button-module__button___JyfZW.button-module__secondary___Q4I1z {\r\n border: 1px solid #005a92;\r\n background: transparent;\r\n color: #005a92;\r\n font-weight: 400;\r\n}\r\n\r\n.button-module__button___JyfZW.button-module__outline-danger___lK8Xt {\r\n border: 1px solid #dc3545;\r\n background: transparent;\r\n color: #dc3545;\r\n font-weight: 400;\r\n}\r\n\r\n.button-module__button___JyfZW.button-module__outline-danger___lK8Xt:hover {\r\n background-color: #dc3545;\r\n color: #ffffff;\r\n}\r\n\r\n.button-module__button___JyfZW:disabled {\r\n cursor: not-allowed;\r\n}\r\n";
89
+ var css_248z$K = ".button-module__button___JyfZW {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n gap: 4px;\r\n cursor: pointer;\r\n padding: 12px 16px;\r\n border-radius: 8px;\r\n min-width: 70px;\r\n height: 38px;\r\n width: 100%;\r\n transition: all 0.2s ease-in-out;\r\n}\r\n\r\n.button-module__button___JyfZW.button-module__primary___ggjlO {\r\n border: 1px solid #005a92;\r\n background: #005a92;\r\n color: #ffffff;\r\n font-weight: 400;\r\n}\r\n\r\n.button-module__button___JyfZW.button-module__primary___ggjlO:hover {\r\n opacity: 1;\r\n background-color: rgb(0 67 109);\r\n}\r\n\r\n.button-module__button___JyfZW.button-module__secondary___Q4I1z {\r\n border: 1px solid #005a92;\r\n background: transparent;\r\n color: #005a92;\r\n font-weight: 400;\r\n}\r\n\r\n.button-module__button___JyfZW.button-module__secondary___Q4I1z:hover {\r\n background: var(--btn-bg-hover-secondary-color);\r\n border: 1px solid var(--btn-border-secondary-color);\r\n color: var(--btn-text-hover-secondary-color);\r\n}\r\n\r\n.button-module__button___JyfZW.button-module__outline-danger___lK8Xt {\r\n border: 1px solid #dc3545;\r\n background: transparent;\r\n color: #dc3545;\r\n font-weight: 400;\r\n}\r\n\r\n.button-module__button___JyfZW.button-module__outline-danger___lK8Xt:hover {\r\n background-color: #dc3545;\r\n color: #ffffff;\r\n}\r\n\r\n.button-module__button___JyfZW:disabled {\r\n cursor: not-allowed;\r\n}\r\n";
90
90
  var styles$G = {"button":"button-module__button___JyfZW","primary":"button-module__primary___ggjlO","secondary":"button-module__secondary___Q4I1z","outline-danger":"button-module__outline-danger___lK8Xt"};
91
91
  styleInject(css_248z$K);
92
92
 
@@ -766,53 +766,101 @@ var parseSizeToBytes = function (size) {
766
766
  return 0;
767
767
  }
768
768
  };
769
+ var formatSelectedFileNames = function (files) {
770
+ if (files.length === 0)
771
+ return "";
772
+ if (files.length === 1)
773
+ return files[0].name;
774
+ var joined = files.map(function (f) { return f.name; }).join(", ");
775
+ var maxLen = 100;
776
+ if (joined.length <= maxLen)
777
+ return joined;
778
+ return "".concat(files[0].name, ", ").concat(files[1].name, "\u2026 (").concat(files.length, " arquivos)");
779
+ };
780
+ var fileHasAllowedExtension = function (file, fileTypes) {
781
+ var _a;
782
+ var fileExtension = (_a = file.name.split(".").pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase();
783
+ return !!(fileExtension && fileTypes.includes(".".concat(fileExtension)));
784
+ };
769
785
  var FileUpload = forwardRef(function (_a, ref) {
770
786
  var _b;
771
- var _c = _a.variant, variant = _c === void 0 ? "primary" : _c, _d = _a.danger, danger = _d === void 0 ? false : _d, fileTypes = _a.fileTypes, onFileSelect = _a.onFileSelect, _e = _a.title, title = _e === void 0 ? React__default.createElement(React__default.Fragment, null, "Upload de Arquivos:") : _e, _f = _a.descricaoLabel, descricaoLabel = _f === void 0 ? "Escolher arquivo" : _f, className = _a.className, _g = _a.errorText, errorText = _g === void 0 ? "" : _g, _h = _a.noSelectedFileText, noSelectedFileText = _h === void 0 ? "Nenhum arquivo selecionado" : _h, _j = _a.helperText, helperText = _j === void 0 ? "" : _j, _k = _a.maxFileSize, maxFileSize = _k === void 0 ? "" : _k, _l = _a.rightIcon, rightIcon = _l === void 0 ? null : _l, _m = _a.isDownloadable, isDownloadable = _m === void 0 ? false : _m, onDownload = _a.onDownload; __rest(_a, ["variant", "danger", "fileTypes", "onFileSelect", "title", "descricaoLabel", "className", "errorText", "noSelectedFileText", "helperText", "maxFileSize", "rightIcon", "isDownloadable", "onDownload"]);
787
+ var _c = _a.variant, variant = _c === void 0 ? "primary" : _c, _d = _a.danger, danger = _d === void 0 ? false : _d, fileTypes = _a.fileTypes, onFileSelect = _a.onFileSelect, _e = _a.title, title = _e === void 0 ? React__default.createElement(React__default.Fragment, null, "Upload de Arquivos:") : _e, _f = _a.descricaoLabel, descricaoLabel = _f === void 0 ? "Escolher arquivo" : _f, className = _a.className, _g = _a.errorText, errorText = _g === void 0 ? "" : _g, _h = _a.noSelectedFileText, noSelectedFileText = _h === void 0 ? "Nenhum arquivo selecionado" : _h, _j = _a.helperText, helperText = _j === void 0 ? "" : _j, _k = _a.maxFileSize, maxFileSize = _k === void 0 ? "" : _k, _l = _a.rightIcon, rightIcon = _l === void 0 ? null : _l, _m = _a.isDownloadable, isDownloadable = _m === void 0 ? false : _m, onDownload = _a.onDownload, _o = _a.multiple, multiple = _o === void 0 ? false : _o; __rest(_a, ["variant", "danger", "fileTypes", "onFileSelect", "title", "descricaoLabel", "className", "errorText", "noSelectedFileText", "helperText", "maxFileSize", "rightIcon", "isDownloadable", "onDownload", "multiple"]);
772
788
  var buttonClass = clsx(styles$A.labelUpload, styles$A.button, styles$A[variant], (_b = {},
773
789
  _b[styles$A.danger] = danger && variant !== "primary",
774
790
  _b), className);
775
791
  var inputId = useId$1();
776
792
  var helperId = useId$1();
777
793
  var errorId = useId$1();
778
- var _o = React__default.useState(""), fileName = _o[0], setFileName = _o[1];
794
+ var _p = React__default.useState(""), fileName = _p[0], setFileName = _p[1];
779
795
  var fileInputRef = useRef(null);
796
+ var clearInputValue = function () {
797
+ if (fileInputRef.current) {
798
+ fileInputRef.current.value = "";
799
+ }
800
+ };
780
801
  var handleFileChange = function (event) {
781
- var _a, _b;
782
- var selectedFile = ((_a = event.target.files) === null || _a === void 0 ? void 0 : _a[0]) || null;
802
+ var filesList = event.target.files;
803
+ if (multiple) {
804
+ if (!(filesList === null || filesList === void 0 ? void 0 : filesList.length)) {
805
+ return;
806
+ }
807
+ var selectedFiles = Array.from(filesList);
808
+ if (maxFileSize) {
809
+ var maxBytes_1 = parseSizeToBytes(maxFileSize);
810
+ var oversized = selectedFiles.find(function (f) { return f.size > maxBytes_1; });
811
+ if (oversized) {
812
+ setFileName("");
813
+ onFileSelect(selectedFiles);
814
+ clearInputValue();
815
+ return;
816
+ }
817
+ }
818
+ var allAllowedExtension = selectedFiles.every(function (f) {
819
+ return fileHasAllowedExtension(f, fileTypes);
820
+ });
821
+ if (allAllowedExtension) {
822
+ setFileName(formatSelectedFileNames(selectedFiles));
823
+ onFileSelect(selectedFiles);
824
+ }
825
+ else {
826
+ setFileName("");
827
+ onFileSelect(selectedFiles);
828
+ clearInputValue();
829
+ }
830
+ return;
831
+ }
832
+ var selectedFile = (filesList === null || filesList === void 0 ? void 0 : filesList[0]) || null;
783
833
  if (selectedFile) {
784
834
  if (maxFileSize) {
785
835
  var maxBytes = parseSizeToBytes(maxFileSize);
786
836
  if (selectedFile.size > maxBytes) {
787
837
  setFileName("");
788
838
  onFileSelect(selectedFile);
789
- if (fileInputRef.current) {
790
- fileInputRef.current.value = "";
791
- }
839
+ clearInputValue();
792
840
  return;
793
841
  }
794
842
  }
795
- var fileExtension = (_b = selectedFile.name.split(".").pop()) === null || _b === void 0 ? void 0 : _b.toLowerCase();
796
- if (fileExtension && fileTypes.includes(".".concat(fileExtension))) {
843
+ if (fileHasAllowedExtension(selectedFile, fileTypes)) {
797
844
  setFileName(selectedFile.name);
798
845
  onFileSelect(selectedFile);
799
846
  }
800
847
  else {
801
848
  setFileName("");
802
849
  onFileSelect(selectedFile);
803
- if (fileInputRef.current) {
804
- fileInputRef.current.value = "";
805
- }
850
+ clearInputValue();
806
851
  }
807
852
  }
808
853
  };
809
854
  useImperativeHandle(ref, function () { return ({
810
855
  reset: function () {
811
856
  setFileName("");
812
- onFileSelect(null);
813
- if (fileInputRef.current) {
814
- fileInputRef.current.value = "";
857
+ if (multiple) {
858
+ onFileSelect(null);
859
+ }
860
+ else {
861
+ onFileSelect(null);
815
862
  }
863
+ clearInputValue();
816
864
  },
817
865
  }); });
818
866
  var openFileDialog = function () { var _a; return (_a = fileInputRef.current) === null || _a === void 0 ? void 0 : _a.click(); };
@@ -824,10 +872,12 @@ var FileUpload = forwardRef(function (_a, ref) {
824
872
  e.preventDefault();
825
873
  openFileDialog();
826
874
  }
827
- }, "aria-label": "".concat(typeof title === "string" ? title : descricaoLabel, ". Tipos permitidos: ").concat(fileTypes.join(", "), ". Tamanho m\u00E1ximo: ").concat(maxFileSize, ".") },
875
+ }, "aria-label": "".concat(typeof title === "string" ? title : descricaoLabel, ". ").concat(multiple ? "Permite vários arquivos. " : "", "Tipos permitidos: ").concat(fileTypes.join(", "), ". Tamanho m\u00E1ximo: ").concat(maxFileSize, ".") },
828
876
  React__default.createElement(IconUploadFile, { "aria-hidden": "true" }),
829
877
  descricaoLabel),
830
- React__default.createElement("input", { id: inputId, type: "file", ref: fileInputRef, className: styles$A.hiddenInput, onChange: handleFileChange, accept: fileTypes.join(","), "aria-describedby": "".concat(helperId, " ").concat(errorText ? errorId : ""), "aria-label": "Campo de input para selecionar arquivo", "aria-invalid": !!errorText }),
878
+ React__default.createElement("input", { id: inputId, type: "file", ref: fileInputRef, className: styles$A.hiddenInput, onChange: handleFileChange, accept: fileTypes.join(","), multiple: multiple || undefined, "aria-describedby": "".concat(helperId, " ").concat(errorText ? errorId : ""), "aria-label": multiple
879
+ ? "Campo de input para selecionar um ou mais arquivos"
880
+ : "Campo de input para selecionar arquivo", "aria-invalid": !!errorText }),
831
881
  React__default.createElement("span", { className: isDownloadable ? styles$A.linkDescription : styles$A.description, onClick: isDownloadable && onDownload ? onDownload : undefined, role: isDownloadable && onDownload ? "button" : undefined, tabIndex: isDownloadable && onDownload ? 0 : undefined, onKeyDown: isDownloadable && onDownload ? function (e) { if (e.key === "Enter" || e.key === " ")
832
882
  onDownload(); } : undefined }, fileName || noSelectedFileText),
833
883
  rightIcon && (React__default.createElement("div", { className: styles$A.rightIcon }, rightIcon))),